/*!
Theme Name: ishinomaki
Theme URI: https://ishinomaki-sc.jp/
Author: BCI
Author URI: https://ishinomaki-sc.jp/
Description: Description
Version: 1.0.0
Text Domain: Ishinomaki
*/

/* Normalize
--------------------------------------------- */
html {
  margin-top: 0px !important;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
border: none;
}
body{font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN W5","メイリオ",sans-serif;
font-size: 16px;
color:#fff;
margin: 0;
background: #000;
}
h1 {max-width:1220px;}
pre {width:80%;margin:0 auto 2rem;line-height:1.5rem;white-space: pre-wrap;}
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
}
b,
strong {
font-weight: bolder;
}
small {
font-size: 80%;
}
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
img {
border-style: none;
}
button,
input,
optgroup,
select,
textarea {
font-family: inherit;
font-size: 100%;
line-height: 1.15;
margin: 0;
}
ul{margin-left:1.5rem}
p{word-break: auto-phrase;}
/* --------------------------------------------- */
pre > pre {width:100%;margin:0;}


#wrap{position:relative}
#wrap img{width:100%;}
main, .content{	max-width:1220px;
width: 100%;box-sizing: border-box;margin:0 auto 2rem auto;
padding:10px;position: static;display: block;}

a{text-decoration: none;color:#fff;}
a:hover{text-decoration: underline;}

h2, h3, h4{font-family:"Hiragino Kaku Gothic Std";font-weight: normal;}
h2{font-size: 32px;}
small{font-size: 70%;}
.center{text-align: center;}
.left{text-align: left;}
.right{text-align: right;}
.en{
font-family: "Hiragino Kaku Gothic ProN W5";
font-size: 24px;
color: #868686;
}
section{margin-top:3rem;margin-bottom:7rem;}
section, article{}
.flex{display:flex;justify-content: space-between;flex-wrap: wrap;}
.flex2{display:flex;flex-wrap: wrap;margin-top:1rem;}
.flex3{display:flex;flex-wrap: wrap;justify-content: space-between;}
.w50{width:50%;}


/* TOP */
.top_image{ position: relative;  width:100%;  margin-top:-10px;}
.top_image img{width:100%;}
.top_logo{position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
img{max-width:355.05px;}
}
.top_image #title{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width:100%;
text-align:center;
font-size: 32px;
}
article{position: relative;width:100%;}
.top_txt0{max-width:837px;margin:1rem 0 1rem auto;}
article img{max-width: 717px;}
article .top_txt{
width: 600px;
height: 284px;
border-radius: 30px;
background: #000; 
padding:1.5rem;
text-align: center;
.ttl{font-size: 24px;}
.ttl_sub{font-size: 18px;margin:10px 0;}
p{font-size: 14px;}
}
article .top_txt.r{position: absolute;top:82px;right:0;}
article .top_txt.l{position: absolute;top:82px;left:0;}
.pare .btn-box{margin-right: 0;}
.news{display:flex;
.btn-box{width:130px;}
}
.news_l{margin-right:60px;}
.news_row{display:block;padding: 1rem 0;width:100%;
.date, .cont{display:inline-block}
.date{width:110px;vertical-align:top;}
.cont{width: calc(100% - 110px);}
}
.news_item{margin:3rem 0 2rem 10%;}

/* HEADER */
header{position: relative;box-sizing: border-box;padding-top:10px;
.content{margin:0 auto;}
}
#menu{
position:absolute;
top:5px;
right:5px;
cursor: pointer;
z-index: 9999;
}
/* MENU */
.btn-menu{position:absolute;top:0;right:0;width:58px;}
.menutop{width:289px;margin-top:-40px;margin-left:1rem;z-index:9999;}
h1.menutop{margin-top:0;}
nav {
background:#000;
position: absolute;
z-index: 1;
top: 0;padding-top: 40px;
right: 0;
overflow-x: hidden;
width: 0;
transition: .5s;
}
nav.open-menu {
width: 100%;
.content{height:100%}
}
nav a{
font-size: 18px;
text-align: center; 
}
.menu{
	margin-top: 1rem;;
	text-align: center;
	div{margin:2.5rem 0;}
	div:last-child{margin-top: 4rem;margin-bottom:100%;}
	.btn-box{width:190px;
	a{font-size: 14px;}}
	.center{width:190px;margin:0 auto;}
}
.btn-box{width:150px;}
.btn-box{
	text-align: center;
	padding: 5px;
	font-size: 12px;
	border: solid 1px #fff;
	border-radius: 20px;
	margin:2rem auto;
	user-select: none;
	cursor: pointer;
}
.btn-box a{display: block;}
.btn-box:hover {background: rgb(0, 58, 58);a{text-decoration: none;}}
.menu .btn-box.info{
	        margin-top: 0;
}
.menu .center.menuSub{
	margin-top: 0;
}
/*menu sns*/
nav .m_sns{
	display:flex;
  justify-content: center;
  align-items: center;
	margin:0 0 30px;
}
nav .m_sns div:last-child {
        margin-top:0;
        margin-bottom:0;
    }
nav .m_snsBox{
	margin:0;
}
nav .m_sns .m_snsBox img{
	width:60%;
}
/* PAGE */
.inqitem{
	border:solid 1.5px #fff;
	border-radius:20px;
	width:214px;height:214px;
	text-align:center;
	font-size:15px;
	padding:20px 13px;
	margin-bottom:1rem;
	div{margin-bottom:10px;font-size:20px;font-weight:bold}
	p{text-align:left;}
}
.inqarrow{margin-top:90px;padding:2px;}
.inqarrow::before{content:"▶";}
.traininginfo{border:solid 1px #fff;}
.traininglist{
	border:solid 1px #fff;
	border-radius:20px;
	padding:2rem;
	font-size:20px;
	.flex3 div{
		margin-right:2rem;
		padding:5px;
		line-height:2;
	}
	.flex3 div:nth-of-type(1){
		width:350px;
	}
}
.training_ttl0{font-size:26px;margin:1rem 0 0.5rem 0;}
.line{border-bottom:solid 1px #999;margin-bottom:1.5rem;}
.ac_contents{
	.training_ttl{font-size:20px;margin-left:1rem;}
	img{max-width:560px;margin:0 1rem 1rem;}
	.flex{margin:1rem 0;}
}
.flex2 .btn-box{
	margin:4px 0 0 10px !important;
	font-size:12px;
	width:100px;
	padding:0;
	border-radius:10px;
	height:20px;
}
/*
.training_t{display:block;}
.training_ttl1{font-size:26px;margin:1rem 0;display:table-cell}
.training_web{display:table-cell;vertical-align:middle}
.btn-box2{
	border: solid 1px #fff;
	font-size:12px;
	width:100px;
	border-radius:10px;
	height:20px;
	vertical-align:text-top;
	margin-left:1rem;
	a{padding-left:10px;}
}*/
.flex2 .btn-box.tl{margin-top:25px !important;}

.m_txt{margin-top:2rem;}
#news{
	max-width: 998px;margin:5rem auto;
	li {margin:1rem 0; list-style:none;}
	a{margin-left:1rem;}
	/*a:after{
		content:" ▶";
	}*/
	a{text-decoration: underline;}
}
.v_txt{font-size: 24px;}
a.pdf{vertical-align: middle;}
.btn-box{position:relative;}
a.pdf{padding-top:5px;padding-left:2px;}
a.pdf::before{
	content:url(image/pdf2.png);
	display: inline-block;
	height:20px;
	vertical-align: middle;
	transform: scale(0.5);
	position:absolute;
	top:1px;
	left:5px;
}

/* 支援実績 */
.support{
	h2,h2{margin:2rem 0 1rem;}
	.flex img{max-width:560px;margin:1rem 1rem 1rem 0;}
	dl { display: flex;}
	dl dt { width: 68px;}
	dl dd { width: calc(100%-58px) !important;}
	.flex2 div{padding:1rem 1rem 1rem 0;}

}


.ac br.mb{display:none;}

/* アコーディオン */
.ac {
  cursor: pointer;
  user-select: none;
	border-radius: 20px;
	border: #fff solid 1px;
	padding:10px;
	position:relative;
	font-size:30px;
	margin-bottom:3rem;
	transition-duration: 0.8s;align-content;
	span{font-size:20px;}
}
.ac:hover, .ac.is-active:hover{
	border: #ccc solid 1px;
}
.ac.is-active {
	border: #FFF solid 1px;
	transition-duration: 0.8s;align-content;
}
.ac_contents {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition-duration: 0.8s;
}
.ac_contents.is-open {
  height: auto;
  opacity: 1;
}
.link a{display:block;text-decoration: none;}
.js-ac::before, .link::before{
	content: "";
	position: absolute;
	right: 5px;
	width: 0;
	height: 0;
	margin-top: 5px;
	margin-left: -8px;
	border: 16px solid transparent;        /*top right bottom を透明化 */ 
	border-left: 20px solid #fff;
}
.js-ac.is-active::before{
	margin-top: 14px;
	margin-right: 10px;
	transform: rotate(90deg);
	transition-duration: .3s;
}


/* INQUIRY */
.center_block {
  display: block;
  margin: 2rem auto;
  text-align-last: center;
}
.inq.btn-box{font-size:14px}
.bl_box {
  display: inline-block;
  border: 1px solid #555;
  padding: 1rem;
  text-align-last: left;
}
.fa{margin-right:5px;}

/* FOOTER */
footer{font-size: 14px;;
width:100%;
text-align: center;
}
#foot_in div{display: inline-block;margin: 0 .5rem;line-height:2rem;}
#Copyright{
font-size:12px ;margin:2rem auto;
}
footer .btn-box{width:190px;}
footer .m_sns{
	display:flex;
  justify-content: center;
  align-items: center;
}
footer .m_sns .m_snsBox{
    margin: 15px 0 0;
}
footer .m_sns .m_snsBox img{
	width:60%;
}
.space{height:6rem;}
@media only screen and (max-width:980px) {
	.w50{width:100%;margin-bottom:1rem;}
}
@media only screen and (max-width:860px) {
	.btn-menu{margin-top:0;}
	.menutop{width:50%;margin-left:5px;}
	.menu div{margin:2rem 0;}
	.top_image{margin-top:-10px;}
	img{width:100%;}
	section{}
	article{text-align:center;
	  img {width: 100%;max-width: 100%;}
	}
	article.right{text-align:center;}
	article .top_txt{
	  padding:10px;
	  font-size:98%;
	  width: 90%;height:auto;
	  .ttl, .ttl_sub{font-size:108%;}
	  .ttl_sub{text-align:left;}
	}
	article .top_txt.r, article .top_txt.l {
	  top:85%;
	  margin: 0 auto 0 auto;
	  left:0;right:0;
	  display:block;
	}
	h2{font-size:19px;}
	.en, .v_txt{font-size:98%;line-height:1.5rem;}
	.news{display:block;
	.btn-box{margin-top:-30px}
	}
	.pare{width:140px;margin:1rem auto;text-align:center}
	.btn-box{margin:0 auto;}
	.flex{display:block;
	  img{margin-top:1rem;}
	}
	.top_image #title{font-size:20px;
		top: 50%;
		left: 0;right:0;
		transform: translate(0, 0);
	}
	#title{text-align:center;}
	pre {width:100%;margin:0 auto;}
	.ac br.mb{display:block;}
	.m5{margin-top:1rem;}
}

@media only screen and (max-width:480px) {
	img{width:100%;}
	#news a {margin-left: 0;}
	.news_row{.date, .cont{display:block;width:100%;}}
	section{margin-bottom:4rem}
	.inqitem{margin:0 auto;}
	.inqarrow{margin-top:0;padding:2px;width:100%;text-align:center;}
	.inqarrow::before{content:"▼";}
	.ac_contents img{max-width:427px;margin:0;}
	.flex2 .btn-box.tl{margin-top:25px !important;}
	h3.ac {font-size:27px;line-height:1.1;}
	.ac_contents .training_ttl{margin-left:0;}
	.js-ac::before{margin-top:-2px;}
	.js-ac.is-active::before{margin-top:6px;}
}


/* TOPボタン */
html {
scroll-behavior: smooth;
}
.pagetop {
height: 50px;
width: 50px;
position: fixed;
right: 30px;
bottom: 30px;
border: solid 2px #fff;
border-radius: 50%;
box-shadow: 0 4px 6px rgba(22, 22, 22, 0.3);
display: flex;
justify-content: center;
align-items: center;
z-index: 9999;
}
.pagetop__arrow {
height: 10px;
width: 10px;
border-top: 3px solid #3FA9F5;
border-right: 3px solid #3FA9F5;
transform: translateY(20%) rotate(-45deg);
}
.triangle {
background: #ffffff;
height: calc(tan(60deg) * 25px / 2);
width: 15px;
clip-path: polygon(0 0, 100% 50%, 0 100%);
}

/* Google Map アスペクト比（縦横比）を指定 */
.map {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	overflow: hidden;
}
.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% + 180px);
	margin-top: -50px;
}
.i4ewOd-pzNkMb-haAclf{display:none !important;}
/*iframe {
  width: 100%;
  aspect-ratio: 16/9;
}*/
