@charset "UTF-8";



.pc {display: none !important; }
.sp { display: block !important; }
.sp2 {display: inline-block !important;}







/*------------ヘッダ-------------------*/
.header-inner{
	width: 250px;
	margin-left: auto;
	margin-right: auto;
	display: initial;
padding: 0;

	

}
	

header h1  {
/*	width: 180px;*/
/*width: 220px;*/
	width: 260px;
	padding-top: 13px;
    padding-bottom: 13px;
	padding-left: 10px;
	line-height: 1em;

}




#MMenu{
display: none
}


.BtnSaiyo a {
display: none
	
}








/*------------ヘッダ/-------------------*/




/*ハンバーガー*/

.B-menu{
	position: fixed;
	top: 25px;
	right: 10px;
	font-family: 'Noto Sans JP', sans-serif;
	z-index: 10000;
}


.nav-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
  background: #fff;
  position: relative;
	

}







/* ハンバーガーメニュ */
  

.drawer_hidden {
  display: none;
}


.drawer_open {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 10px;
/*top: -15px;*/
	top: -10px;
  z-index: 10002;
  cursor: pointer;
	
width: 30px;  
  height: 30px;

 
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #004b9b;
  transition: 0.5s;
  position: absolute;
}


.drawer_open span:before {
  bottom: 8px;
}


.drawer_open span:after {
  top: 8px;
}


#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}


#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
	 background: #fff;
}

#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
	background: #fff;
}
  
/* メニュー*/
.nav_content {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0%;
	right: 100%; 
	z-index: 10001;

	background : rgba(6, 23, 61, 0.9);
	transition: .5s;
	padding-top: 0px;

}


#drawer_input:checked ~ .nav_content {
  right: 0;
}


.B-menu-dl {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 10px;
	padding-bottom: 0px;
	color: #fff;
}

.B-menu-dl dt{
	display: inline-block;
	font-weight: bold;
	font-size: 1em;
	position: relative; 
	cursor: pointer;
	padding-right: 40px;
}

.B-menu-dl dt a{
	display: block;
	text-decoration: none;
}



.B-menu-dl dd{
	padding-top: 4px;
	padding-right: 4px;
	padding-left: 1em;
	padding-bottom: 4px;
	margin-bottom: 5px;
	font-size: 0.9em;
		
}
/* 初期状態は非表示 */
.B-menu-dl dd {
    display: none;  
}





.B-menu-dl dd p{
	padding: 4px;

}

.B-menu-dl dt a,
.B-menu-dl dd a {
color: #fff;	
	text-decoration: none;
}


.B-menu-dl .icon {
    position: absolute;
    right: 10px; 
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease; 
}

.B-menu-dl .open .icon {
    transform: translateY(-50%) rotate(180deg); 
}


.header-item-Red a{
	padding: 10px;
	background-color: #ff454d;
	font-size: 0.85em;
	font-weight: bold;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 25px;
	display: block;
	text-align: center;
}


.nav_content h1  {
	width: 180px;

	padding-top: 15px;
    padding-bottom: 15px;
	padding-left: 10px;
	line-height: 1em;

}

/*ハンバーガーend*/

/*フッター*/

footer {
	background-color: #06173d;
	padding-top: 46px;
	padding-bottom: 18px;


}


.footer-inner {
width: 100%;
	margin-left: auto;
	margin-right: auto;
	display: inline-block;
}



.footer-Left {
	width: 80%;

	margin-left: auto;
	margin-right: auto;
	display: block;
	
	text-align: center;
}


.footerLogo{
	max-width: 300px;
	margin-left: auto;
	margin-right: auto;
}



.footer-ADD{
display: inline-block;

	
}

.footer-ADD p,
.footer-ADD p:first-child{
margin-bottom: 1em;
	font-size: 0.9em;
	text-align: left; 
	
}



.fotterSnsZone{
flex-wrap: nowrap;
justify-content: center;
	gap: 15px;
}

.SP-fotterMenuBox{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 0.9em;
	font-weight: bold;
/*	width: 60%;*/
	max-width: 350px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-wrap: nowrap;
	justify-content:center;
	margin-bottom: 26px;
	
		

}

.footer-Inquiry-Wrap{
	width: 300px;
	margin-left: auto;
	margin-right: auto;


}

.SP-fotterMenuBox-2{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 0.8em;
/*	max-width: 250px;*/
	width: 250px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-around;
	margin-bottom: 26px;

}





.SP-fotterMenuBox ul:first-child{
    padding-right: 30px;   /* ← 少し調整 */
    margin-right: 30px;    /* ← 左右対称のため広げる */
    border-right: 1px solid #FFFFFF;
}

.SP-fotterMenuBox ul {
	
    text-align: left;

		box-sizing: border-box;
}



.SP-fotterMenuBox li{
	margin-bottom: 1em;
	line-height: 2em;
}

.SP-fotterMenuBox li:last-child{
	margin-bottom: 0em;

}




.footer-InquiryBtn-sp a{
	padding: 10px;
	background-color: #ff454d;
	font-size: 0.85em;
	font-weight: bold;
	display: block;
	max-width: 250px;
/*	max-width: 100%;*/
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 26px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}




.SP-fotterMenuBox a:link,
.SP-fotterMenuBox a:visited,
.SP-fotterMenuBox-2 a:link,
.SP-fotterMenuBox-2 a:visited{
	color: #fff;
	text-decoration: none;	
}
.SP-fotterMenuBox  a:hover,
.SP-fotterMenuBox  a:active,
.SP-fotterMenuBox-2  a:hover,
.SP-fotterMenuBox-2  a:active

{
	color: #BBC6DC;
	text-decoration: none;
}


/*Contents*/


.Open-Btn a,
.Open--Btn a{

	padding: 15px;
	min-width: 180px;

}

.Btn a{

line-height: 1em;
margin-bottom: 15px;
padding: 15px;
max-width: 180px;
display: inline-block
}




.MMovie-wrap{
	margin-bottom: 70px;
}



#MMovie-sp {
  width: 100%;
  position: relative;
  padding-top: 100%; 
  background-color: #EEEAEA;
  overflow: hidden;
}

#MMovie-sp video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; 
}




.top-scroll {

	bottom: -45px;


}

.top-scroll img {
  width: 6vw;       
    max-width: 30px;  

}








#index #sec-1 {
	margin-bottom: 80px;
}




#index #sec-1 .contents-center {
	width: 100vw;        
flex-shrink: 1;
	padding-left: 20px;
	padding-right: 20px;
}


#index #sec-1 h1 {
	max-width: 75.2%;
/*	max-width: 600px;*/
	margin-left: auto;
	margin-right: auto;
	margin-top: 15px;
	margin-bottom: 30px;
	padding-left: 15px;
	padding-right: 15px

}



#index #sec-1 .contents .contents-center h2 {
	font-size: 1.6em;
	line-height: 1.6em;
	margin-bottom: 40px;
	display: inline-block;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}



.sec-1-spImg{
	width: 100vw;          
  margin-left: calc(50% - 50vw);
	margin-bottom: 30px;

}
.sec-1-spImg img{
	width: 100vw;  

	display: block;
}


#index #sec-2  {
	background-position: calc(50% + 50px) center;
	padding-top: 40px;	
		padding-bottom: 15px;	
}

#index #sec-2 .contents{

width: 92%;
}

/*
#index #sec-2 h1
{
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 15px;
	margin-bottom: 30px;

}
*/

#index #sec-2 h1{
	max-width: 75.2%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 15px;
	margin-bottom: 30px;
	padding-left: 15px;
	padding-right: 15px

}



#index #sec-2  h2 {
	font-weight: bold;
	font-size: 1.6em;
	line-height: 1.8em;
	margin-bottom: 50px;
	color: #fff;
	text-align: left;
	
	display: inline-block;
 position: relative;
  left: 50%;
  transform: translateX(-50%);
}


#index #sec-2 .contents p {
	color: #fff;
	text-align: left;

	margin-bottom: 50px;
	
}

#index .LinkZone-1,
#index .LinkZone-2{
	height: 180px;
	border-bottom: 8px solid #FFFFFF;

}




#index .LinkZone-1 .Link-btn a,
#index .LinkZone-2 .Link-btn a{
	width: 80vw;
	height: auto;
	padding-top: 20px;
	padding-bottom: 20px;
	margin-top: 0px;
}

#index #sec-3 {
	background-image: url(../images/index/top-sec-3-bg.jpg);
	padding-top: 35px;
	padding-bottom: 35px;
background-size: auto 100%;
	background-position: left top;
}





#index #sec-3 .contents {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	position: relative;	
	min-height: 200px;
	margin-bottom: 40px;
}


/*

#index #sec-3 h1
{
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 15px;
	margin-bottom: 50px;

}
*/
#index #sec-3 h1{
	max-width: 86.4%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 15px;
	margin-bottom: 30px;
	padding-left: 15px;
	padding-right: 15px

}




#index .sec-3-ImgZone-1sp{
	width: 85vw;
	margin-bottom: 16PX;
}


#index .sec-3-ImgZone-2sp {
	width: 100%;
margin-bottom: 16PX;
	text-align: right;
	padding-left: 70px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


#index .sec-3-txtZone-1 h2,
#index .sec-3-txtZone-1 p{
	width: 92%;
	margin-left: auto;
	margin-right: auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

}


#index .sec-3-txtZone-2 h2,
#index .sec-3-txtZone-2 p
 {
	width: 92%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 60px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}



#index #sec-3  h2
{
	font-size: 1.6em;
	line-height: 1.6em;
	
}


#index .sec-3-txtZone-1,
#index .sec-3-txtZone-2{
	width:initial;
	margin-left:initial;}


.sec-3-ImgZone-1,
.sec-3-ImgZone-2,
.sec-3-ImgZone-3{
	display: none;	
}

#index #sec-4  {
	background-position: calc(50% + -50px) center;
	padding-top: 40px;	
		padding-bottom: 15px;	
}

/*
#index #sec-4 h1 {
	max-width: 50%;
	margin-bottom: 50px;

}
*/

#index #sec-4 h1 {
	
	max-width: 40%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
	padding-left: 15px;
	padding-right: 15px

}

#index #sec-5 .img-1 {
    content: url("../images/index/top-sec-5-img-sp.png");
  }


#index #sec-5  {
background-position: calc(50% + -50px) center;
	padding-top: 40px;	
		padding-bottom: 15px;	
}



#index .sec-5-imag-box {
	padding: 20px;
width: 100%;
	margin-left: auto;
	margin-right: auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


/*
#index #sec-6 h1 {
	padding-bottom: 65px;

}
*/
#index #sec-6 h1 {
	max-width: 88.53%;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 30px;
	padding-left: 15px;
	padding-right: 15px
}



#index #sec-6 .contents {
	max-width: 92%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 30px;
	padding-bottom: 30px;
}
#index .sec-6-sponsorZone {
margin-bottom: 20px;
}


#index #sec-6  h2 {
	font-size: 1.3em;
	line-height: 1.6em;


}

#index .sec-6-sponsorZone-L {
	width: 240px;
	text-align: center;
	padding-left: 20px;
	padding-right: 20px;
}


#ourfeatures .Main-tit{

	max-width: 1920px;
	height: 86px;
	background-repeat: no-repeat;
	background-position: center 0%;
	background-size: cover;

}



#ourfeatures .Main-Link-Zone .img-1 {
    content: url("../images/ourfeatures/main-Link-1-sp.png");
  }
#ourfeatures .Main-Link-Zone .img-2 {
    content: url("../images/ourfeatures/main-Link-2-sp.png");
  }
#ourfeatures .Main-Link-Zone .img-3 {
    content: url("../images/ourfeatures/main-Link-3-sp.png");
  }

#ourfeatures .sec-1-imgSP{
    content: url("../images/ourfeatures/sec-1-img-sp.png");	
}

#ourfeatures .sec-3-imgSP{
    content: url("../images/ourfeatures/sec-3-img-sp.png");	
}






#ourfeatures .Main-tit h1{
	width: 290px;

}









#ourfeatures #sec-1 h2,
#ourfeatures #sec-2 h2,
#ourfeatures #sec-3 h2,
#aboutus #sec-1 h2,
#aboutus #sec-2 h2,
#aboutus #sec-3 h2,

#products #sec-1 h2,
#products #sec-5 h2,
#products #sec-6 h2,
#products #sec-7 h2,
#recruit #sec-2 h2,
#recruit #sec-3 h2,
#recruit #sec-4 h2

{
	padding-top: 40px;
	padding-bottom: 40px;
	max-width: 75%;

}


#ourfeatures ul.Main-Link-Zone,
#aboutus  ul.Main-Link-Zone,
#products  ul.Main-Link-Zone
{
	background-position: calc(50% + 50px) center;
	padding: 9px 0;
	  gap: 5px;    
}


#ourfeatures #sec-1 ul.NumberZone {
    display: block;
    width: fit-content;         
    margin-left: auto;          
    margin-right: auto;
    padding-left: 0;
    text-align: left;   
	margin-bottom: 70px; 
}






/* 各 li は縦並び、幅は ul に合わせる */
#ourfeatures #sec-1 ul.NumberZone li {
    width: 100%;                 /* ul の幅をそのまま受け取る */
    margin-bottom: 1em;
}

/* dl 行を左揃えのまま使用 */
#ourfeatures #sec-1 ul.NumberZone li dl {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
}

#ourfeatures #sec-1 ul.NumberZone li dl dt {
    padding-right: 15px;
}

#ourfeatures #sec-1 ul.NumberZone li dl dd {
    border-left: 1px solid #000;
    padding-left: 15px;
}






#ourfeatures #sec-1 .sec-1-img,
#ourfeatures #sec-3 .sec-3-img,
#ourfeatures #sec-3 .contents{
	max-width: 92%;
	margin-bottom: 5px;
	margin-left: auto;
	margin-right: auto;
}

#ourfeatures #sec-2,
#aboutus #sec-2,
#recruit #sec-2,
#products #sec-5 {
background-position: calc(50% + 50px) center;
	padding-top: 10px;
	padding-bottom: 10px;	

}



#ourfeatures #sec-2 .contents{
max-width: 92%;
	margin-bottom: 5px;
	margin-left: auto;
	margin-right: auto;
}

#ourfeatures .sec-2-copBox {
	margin-bottom: 20px;
	width: 100%;
}


#ourfeatures #sec-2 h3{
background-position: calc(50% + 50px) center;
}
#ourfeatures #sec-3 p {
	margin-bottom: 40px;
	font-size: 1.2em;
}

#ourfeatures .sec-2-copWrap{
	display: flex;
	flex-direction: column;

}

#ourfeatures .sec-2-HokenBox {
	margin-bottom: 20px;
	width: 100%;

}

/*aboutus*/



#aboutus  .img-1 {
    content: url("../images/aboutus/main-Link-1-sp.png");
  }
#aboutus  .img-2 {
    content: url("../images/aboutus/main-Link-2-sp.png");
  }
#aboutus  .img-3 {
    content: url("../images/aboutus/main-Link-3-sp.png");
  }





#aboutus .Main-tit{
	max-width: 1920px;
	height: 86px;
	background-repeat: no-repeat;
	background-position: center 0;
	background-size: cover;
}

 #aboutus .Main-tit h1{
	 width: 206px;
}


 #aboutus #sec-1 .contents{
	max-width: 92%;
	margin-bottom: 20px;
	margin-left: auto;
	margin-right: auto;
}

 #aboutus #sec-1 .president {
        flex-direction: column;
         row-gap: 20px;  
    }


    #aboutus #sec-1 .president-pic {
        max-width: 60%;
     
		margin: 0 auto; 
    }


#aboutus #sec-1  .president-txt .txt-right-name {
	width: 48%;

}


#aboutus #sec-2 .contents,
#aboutus #sec-3 .contents{
	max-width: 92%;
	padding-bottom: 30px;

}
#aboutus .sec-2-overview dt {
	width: 160px;
	padding-left: 0px;
}

#aboutus .sec-2-overview dd .inte {
  padding-left: 1em;   


}


#aboutus .historyBox dt {
  width: 110px;

}

#aboutus .historyBox dd {
  flex: 1;
}



#aboutus dt .historyNum {

	font-size: 0.8em;

}
#aboutus .historyBox dd p {
	font-size: 0.8em;
	line-height: 1.4em;

	padding-bottom: 10px;
	padding-left: 0.5em;

}














/*products*/


#products .dot-list li {
  display: flex;
  flex-wrap: wrap;          
  align-items: flex-start;
  position: relative;
  width: 100%;
  padding: 0.3em 0;
}

/* 左側（タイトル＋JIS） */
#products .dot-list .dot-list-T-label,
#products .dot-list .dot-list-label {
  display: inline-block;
  background: #fff;
  padding: 0 .4em 0 0;
  min-width: 0;              
  white-space: normal;      
  word-break: break-all;    
}


#products .dot-list .dot-list-value {
  display: inline-block;
  margin-left: auto;       
  background: #fff;
  padding: 0 .4em;
  min-width: 0;
  white-space: normal;       
  word-break: break-all;    
}


#products .dot-list li::before {
  top: 1.1em;
}


#products .Main-Link-Zone .img-1 {
    content: url("../images/products/main-Link-1sp.png");
  }
 #products  .Main-Link-Zone .img-2 {
    content: url("../images/products/main-Link-2sp.png");
  }
 #products  .Main-Link-Zone .img-3 {
    content: url("../images/products/main-Link-3sp.png");
  }
 #products  .Main-Link-Zone .img-4 {
    content: url("../images/products/main-Link-4sp.png");
  }



#products .Main-tit{
	max-width: 1920px;
	height: 86px;
	background-repeat: no-repeat;
	background-position: center 0;
	background-size: cover;
}


 #products .Main-tit h1{
	 width: 232px;
}

#products h5{
	font-size: 1.1em;
	line-height: 1.6em;
}

#products #sec-0 {
	background-image: url(../images/products/sec-0-img-sp.png);
	margin-bottom: 20px;
	
	background-size: contain;
	aspect-ratio: 1202 / 1538;
}

#products #sec-0 .contents{
	max-width: 92%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 30px;
	text-align: left;
	font-size: 1em;
	line-height: 2em;
}

#products #sec-1.contents,
#products #sec-2.contents,
#products #sec-4.contents,
#products #sec-5 .contents,
#products #sec-6.contents,
#products #sec-7 .contents
{
	max-width: 92%;
	padding-bottom: 20px;
	margin-bottom: 0px;
}

#products h3{
	margin-bottom: 25px;
	width: 80%;
	font-size: 1.3em;
}


#products h3::after {

  height: 8px; 

}



#products h4{
	margin-bottom: 25px;
}


#products .contents-inner {
	padding-left: 0px;
	padding-right: 0px;
}
#products #sec-2 .sec-2-txt-zone-1 {
	flex-direction: column-reverse; /* ← 上下を逆にする */
	margin-bottom: 30px;
  }

  #products #sec-2 .sec-2-txt-zone-1 .sec-2-txt-zone-1-L,
  #products #sec-2 .sec-2-txt-zone-1 .sec-2-txt-zone-1-R {
    flex: 0 0 100%;
 
  }

  #products #sec-2 .sec-2-txt-zone-1 .sec-2-txt-zone-1-R img {
    max-width: 100%; 
    height: auto;
  }
#products #sec-2 .sec-2-txt-zone-2 {
    flex-direction: column;
  }
  #products #sec-2 .sec-2-txt-zone-2::before {
    display: none; /* 線を消す */
  }
  #products #sec-2 .sec-2-txt-zone-2-L,
  #products #sec-2 .sec-2-txt-zone-2-R

{
    flex: 0 0 100%;
    padding: 0;
  }


#products .sec-4-P,
#products .sec-5-P{ 
margin-bottom: 20px;	
}



#products #sec-4 .sec-4-txt-zone {
	display: block;
	margin-bottom: 20px;
  }



#products #sec-4 .sec-4-txt-zone-L-Img {
  float: right;
  width: 45%;
  margin: 0 0 10px 20px; /* 左に20pxの余白・下に少し余白 */
}

#products #sec-4 .sec-4-txt-zone-L-Img img {
  display: block;
  width: 100%;
  height: auto;
}

/* 回り込み下にある要素をクリア */
#products #sec-4 .sec-4-txt-zone-L::after {
  content: "";
  display: block;
  clear: both;
}

#products #sec-4 .sec-4-txt-zone .sec-4-txt-zone-L {
flex: 1;
box-sizing: border-box;
 padding-right: 0;
}



#products .sec-5-zone-1,
#products .sec-5-zone-2,
#products .sec-5-zone-3{
	display: block;
 margin-bottom: 20px !important; /* ← PCの90pxを上書き */
  padding-bottom: 20px;  

}



#products h5.Blk{
margin-bottom: 0px;
font-size: 1.1em;
}



#products .sec-5-zone-1 .sec-5-zone-1-L,
#products .sec-5-zone-3 .sec-5-zone-3-L{
width: 100%;
 padding-bottom: 20px;
}


#products .sec-5-zone-1 .sec-5-zone-1-R,
#products .sec-5-zone-3 .sec-5-zone-3-R{
flex: initial;
width: 100%;
 padding-bottom: 20px;
}


.sec-6-spTxtBox{
padding-bottom: 30px;	
}

#products #sec-6 .sec-6-inner,
#products #sec-7 .sec-7-innerCon{
    gap: 20px; 
		padding-bottom: 20px;
  }



/**/

#products #sec-6 .sec-6-inner {
    display: flex;         
    flex-wrap: nowrap;
    gap: 16px;
    padding-top: 0;
    padding-right: 15px;
    padding-left: 15px;
    padding-bottom: 20px;
  }

  /* 左：画像カラム → 幅130px固定 */
  #products #sec-6 .sec-6-inner-L {
    flex: 0 0 150px;         
/*    max-width: 150px;*/
    min-width: 150px;
  }

  #products #sec-6 .sec-6-inner-L img {
    width: 150px;            
    height: auto;
    display: block;
  }


  #products #sec-6 .sec-6-inner-R {
    flex: 1 1 auto;
    min-width: 0;
    box-sizing: border-box;
  }


/**/
#products .sec-6-InfoArea {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 40px;
	padding-top: 20px;
	padding-right: 20px;
	padding-left: 20px;
	padding-bottom: 20px;
	box-sizing: border-box;
}

/* タイトル：上下に線＆センターテキスト */
#products .sec-6-InfoTit {
    font-size: 0.9em;
    font-weight: bold;
    color: #000;
    text-align: center;
    display: block;
    padding: 12px 5px;
    margin: 0 0 25px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}

/* PC用の右側だけの罫線を消す */
#products .sec-6-InfoTit::after {
    content: none;
}

/* 中身は縦並び＋センター */
#products .sec-6-InfoZone {
    display: block;      /* ← flex をやめて縦並び */
    width: 100%;
    text-align: center;
}

/* ロゴ */
#products .sec-6-InfoZone-L img {
/*    max-width: 260px;   */
	width:auto;
    max-height: 100px;
    display: block;
    margin: 0 auto 10px;
}

/* テキスト部分 */
#products .sec-6-InfoZone-R {
    margin-top: 10px;
}

#products .sec-6-InfoZone-R-tit {

    font-weight: bold;
    color: #1b2d6b;
    margin-bottom: 15px;
    text-align: center;
}

#products .sec-6-InfoZone-R p {
    text-align: center;
    line-height: 1.6;
}
/**/







#products #sec-7 {
background-position: calc(50% + 50px) center;
	padding-top: 10px;


}

#products #sec-7 .sec-7-innerCon-R {
    display: flex;
    flex-direction: column; /* 縦並びにする */
    justify-content: space-between; /* 上と下に分ける */
  }

  #products #sec-7 .sec-7-innerCon-R .Btn {
    margin-top: auto; /* 下に押し下げる */
  }


/*branches*/

#branches .Main-tit{
	max-width: 1920px;
	height: 86px;
	background-repeat: no-repeat;
	background-position: center 0;
	background-size: cover;
}
#branches .Main-tit h1{
	 width: 206px;
}

#branches .Main-tit-wrap{
	background-position: calc(50% + 50px) center;
	padding-bottom: 15px;
	margin-bottom: 50px;
}


#branches .contents{
/*	padding-top: 60px;*/
	padding-bottom: 0px;
max-width: 92%;
	margin-bottom: 20px;
	margin-left: auto;
	margin-right: auto;

}

.RegionZone {
  padding-bottom: 40px;
}



#branches .contents h2 {
	text-align: center;
	line-height: 1.6em;
	font-size: 1.4em;
	padding: 10px;
	display: block;
}
#branches .Main-Txt{
max-width: 100%;		
}

#branches  .contents .Map-img-All {
	position: static;
	margin-top: 0px;
	
}

#branches .contents .Map-img-All img {

	height: initial;
}


#branches .YoutubeZone-InnerWrap {
	gap: 0px;
	display: block;
}


#branches li:first-child .YT-thum{
	margin-top: 0px;
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
	padding-top: 5px;
	padding-bottom: 5px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 0.8em;
}
#branches li .YT-thum{
	margin-top: 0px;
	border-top: 0px solid #fff;
	border-bottom: 1px solid #000000;
	padding-top: 5px;
	padding-bottom: 5px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 0.8em;
}

#branches .YoutubeZone {
	padding-bottom: 40px;
max-width: 92%;

}

.RegionZone li {
    flex: 0 0 calc(50% - 10px);
  }

#branches .YoutubeZone .YoutubeZone-tit img {
  width: 35%;

}



#branches .Map-img-All .img-1{
 content: url("../images/branches/map-all-sp.png");
}

#branches .Map-Zone {
	text-align: center;
	padding-left: 10px;
	padding-right: 10px;
	margin-bottom: 40px;
	margin-left: auto;
	margin-right: auto;
}


#branches .PointAddZone-wrap{
    flex-basis: 100%;
    justify-content: center;
    padding: 24px 0;
    margin-bottom: 24px;
  }


  #branches .PointAddZone-wrap:nth-child(4n+2),
  #branches .PointAddZone-wrap:nth-child(4n+3){
    background-color: transparent; 
  }

  /* たがい違い */
  #branches .PointAddZone-wrap:nth-child(odd){
    background-color:#fff;
  }
  #branches .PointAddZone-wrap:nth-child(even){
    background-color:#f6f6f6;
  }


  #branches .PointAddZone{
/*
    width: 100%;
    max-width: 500px;
*/
	  flex-basis: 100%;
	  width: min(100%, 500px);
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px;
  }


#branches .PointAddZone img {
	padding-top: 0px; 

}


#branches  .AccessZone dt {
	padding-left: 20px;
	padding-right: 20px;

}





#branches .YoutubeZone-InnerWrap{
    /* flexのままでOK。縦積みにしたいなら direction変えずに幅指定だけで十分 */
    gap: 20px; /* 縦の隙間も20pxに */
  }
  #branches .YoutubeZone-InnerWrap li{
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }

#branches .Map-img-All .img-1 {
	 content: url("../images/branches/map-all-sp.png");
}


#branches .map-1 .img-1{
 content: url("../images/branches/map-1-sp.png");
}
#branches .map-2 .img-1{
 content: url("../images/branches/map-2-sp.png");
}
#branches .map-3 .img-1{
 content: url("../images/branches/map-3-sp.png");
}
#branches .map-4 .img-1{
 content: url("../images/branches/map-4-sp.png");
}
#branches .map-5 .img-1{
 content: url("../images/branches/map-5-sp.png");
}
#branches .map-6 .img-1{
 content: url("../images/branches/map-6-sp.png");
}
#branches .map-7 .img-1{
 content: url("../images/branches/map-7-sp.png");
}
img-1z

/*recruit*/



#recruit .recruit-main {
	padding-top: 70px;
	width: 96%;
	padding-left: auto;
	padding-right: auto;
}
#recruit .contents {
padding-left: 0px;
	padding-right: 0px;
	width: 96%;
	padding-bottom: 30px;
}


#recruit .recruit-main-wrap {
		padding-bottom: 40px;
}



#recruit .recruit-main h2 {
	font-size: 1.4em;

	text-align: left;
}


#recruit .recruit-main p,
#recruit #sec-4 p{
text-align: left;

}
#recruit .recruit-main p:last-child,
#recruit #sec-4 p:last-child
{
	margin-bottom: initial;
}

#recruit #sec-2 h2,
#recruit #sec-3 h2,
#recruit #sec-4 h2{
	padding-top: 40px;
	padding-bottom: 30px;

}

#recruit #sec-2 h3,
#recruit #sec-3 h3{
	margin-bottom: 25px;
	text-align: left;
}

#recruit #sec-3 h3{
	max-width: 92%;
	margin-left: auto;
	margin-right: auto;
}














/*
#recruit .recruit-sec2-ImgArea {
    display: block; 
  }

  #recruit .recruit-sec2-ImgArea li {
    margin: 0 0 40px 0;
  }

  #recruit .recruit-sec2-ImgArea::before,
  #recruit .recruit-sec2-ImgArea::after {
    display: none; 
  }


  .recruit-sec2-Img-1,
  .recruit-sec2-Img-2,
  .recruit-sec2-Img-3,
  .recruit-sec2-Img-4 {
    margin: 0 0 40px 0;
  }

  #recruit .recruit-sec2-ImgArea li:last-child {
    margin-bottom: 0;
  }


  
*/


#recruit .recruit-sec2-ImgArea img {
    width: 100%;
    max-width: none; 
    height: auto;
  }


 #recruit .recruit-sec2-ImgArea li p {
    width: 100%;
    margin-top: 10px;
    padding: 0 15px; 
    box-sizing: border-box;
	 font-size: 1em;
  }

#recruit .recruit-sec2-ImgArea li p {

}

#recruit .recruit-sec3-ImgArea{
    grid-template-columns: 1fr;
	margin-bottom: 60px;
  }





/**/




.sec-4-infoZone {
    display: block;           
    width: 100%;   
		margin-bottom: 40px;

  }
#recruit .sec-4TxtZone{
	margin-bottom: 70px;
}

/*
  .sec-4-infoZone > dt {
    margin: 0 0 0.8em 0;       
    text-align: center; 
	  font-weight: 700; 
  }

 
  .sec-4-infoZone > dd {
    margin: 0;               
    padding: 0;              
  }


  .sec-4-infoZone > dd::before {
    content: none;
  }


  .sec-4-infoZone-Inner {
    display: block;          
    border-bottom: 1px solid #eee;
    padding: 10px 0;
  }

  .sec-4-infoZone-Inner > dt {
    margin-bottom: .3em;
    font-weight: 700;
	   min-width: initial;
  }

  .sec-4-infoZone-Inner > dd {
    margin: 0;
	  min-width: initial;
  }

*/


/* recruit sec-4-infoZone のスマホ整列 */
#recruit .sec-4-infoZone-Inner {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	padding-top: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid #ccc; /* 下に罫線 */

}

/* dt（左） */
#recruit .sec-4-infoZone-Inner > dt {
  width: 120px;        /* ラベル幅を固定 */
  font-weight: bold;
  padding-right: 10px; 
  flex-shrink: 0;      /* 縮ませない */
}

/* dd（右側） */
#recruit .sec-4-infoZone-Inner > dd {
  flex: 1;
  margin: 0;
  padding-left: 0;
	
}


#recruit .sec-4-infoZone-Inner > dd p {
  margin-bottom: 0.5em;
}

#recruit .sec-4-infoZone > dd {
  margin: 0;
  padding-left: 0;   
}

#recruit #sec-4 .sec-4-infoZone-Inner > dd {
  flex: 1 1 auto;  
  margin: 0;
  min-width: 0;    
  box-sizing: border-box;
  word-break: break-word; 
}

#recruit .sec-4-infoZone > dt {

	margin-right: 0; 

}




  .sec-4-infoZone > dd::before {
    content: none;
  }




/**/



#recruit .recruit-main-txt .img-1 {
	   content: url("../images/recruit/recruit-main-txt-sp.png");
}

#recruit .recruit-main-img .img-2{
 content: url("../images/recruit/recruit-main-img-sp.png");
}



#recruit .recruit-Btn a {

	max-width: 70%;
}

#recruit .recruit-main {
padding-top: 0px;
	padding-bottom: 20px
}


#interview .interview-main {
	padding-top: 0px;
	padding-bottom: 20px
}

#interview .interview-main-txt-1{
	width: 46%;
}


#interview .interview-main-txt-2{
/*		width: 30%;*/
		width: 33%;
}



#interview .contents
{
	max-width: 96%;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 0px;
}

#interview .contents h2 {
	font-size: 1.4em;
	text-align: left;
}


#interview .contents h4 {
	line-height: 1.4em;
	margin-left: 0px;
	margin-bottom: 30px;
	padding: 15px;
	display: block;
	font-size: 1.1em;
}

#interview .contents h4::before,
	#interview .contents h4::after {
		content: none; /* 疑似要素を削除 */
	}



#interview section .contents .interview-txt-zone {
	margin-left: 0px;
	margin-right: 0px;
		margin-bottom: 20px;
}

/**/


#interview .interview-bg,
#interview .interview-bg2{
    padding: 0; /* 上下に10pxずつ */
    background-position: center; /* 背景画像も中央に */
	margin-bottom: 40px;
	 padding-top: 20px; 
  }

  #interview .interview-img-1,
  #interview .interview-img-2,
  #interview .interview-img-3{
    width: 100%;        /* スマホ時にやや小さくする（例） */
    margin: 0 auto;    /* 中央寄せ */
  }


/*news*/

#news .Main-tit{
	max-width: 1920px;
	height: 86px;
	background-repeat: no-repeat;
	background-position: center 0;
	background-size: cover;
}
#news .Main-tit h1{
	 width: 206px;
}

#news .Main-tit-wrap{
	background-position: calc(50% + 50px) center;
	padding-bottom: 15px;
	margin-bottom: 50px;
}


#news .contents{
	padding-bottom: 0px;
max-width: 92%;
	margin-bottom: 20px;
	margin-left: auto;
	margin-right: auto;

}

.News-Cont-Zone dd{

	padding-bottom: 20px;
	margin-bottom: 20px;
}


.News-Img-Area {
  grid-template-columns: 1fr; 
  gap: 15px;                 
}

.News-Cont-Zone-Img{	
	margin-bottom: 10px;
}





.News-Cont-Zone-Txt{
margin-bottom: 40px;
}



/*contact*/

#contact .Main-tit,
#apply .Main-tit,
#a-contact .Main-tit{
	max-width: 1920px;
	height: 86px;
	background-repeat: no-repeat;
	background-position: center 0;
	background-size: cover;
}
#contact .Main-tit h1,
#a-contact .Main-tit h1{
	 width: 206px;
}


#apply .Main-tit h1{
	 width: 150px;
}

#contact .Main-tit-wrap,
#apply  .Main-tit-wrap,
#a-contact .Main-tit-wrap{
	background-position: calc(50% + 50px) center;
	padding-bottom: 15px;
	margin-bottom: 50px;
}


#contact .contents,
#apply  .contents,
#a-contact .contents{
	padding-bottom: 0px;
max-width: 92%;
	margin-bottom: 20px;
	margin-left: auto;
	margin-right: auto;

}


.contact-readBox{
	/* [disabled]padding-bottom: 40px; */
}
.contact-readBox p{
	text-align: left;
}	




#site .contents,
#pp .contents{
margin-bottom: 40px;
padding-top: 60px;
width: 92%;
}
