 @charset "UTF-8";

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


/*アニメ*/

@keyframes fadeInLeftSmall {
  0% {
    opacity: 0;
    transform: translateX(-90px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.fadeInLeftSmall {
  animation-name: fadeInLeftSmall;
  animation-duration: 2s;
  animation-fill-mode: both;
}

@keyframes fadeInRightSmall {
  0% {
    opacity: 0;
    transform: translateX(90px); /* 右から30pxだけ動く */
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.fadeInRightSmall {
  animation-name: fadeInRightSmall;
  animation-duration: 2s;
  animation-fill-mode: both;
}

/*アニメここまで*/






#totop {
	position: fixed;
	bottom: 23px;
	right: 20px;
	opacity : 0;
	visibility: hidden;
	transition: 1s;
	transform: translateY(30px);
	z-index: 103;	
}

#totop img{
	width:23px;
}

#totop.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}


body.preload .wow.fadeIn,
body.preload .wow.fadeInRight{
	opacity: 0 !important;
}





.Flex{
	display: flex;
flex-wrap: wrap;
	align-items: stretch; 
}
.Flex-no{
	display: flex;
flex-wrap: nowrap;
	align-items: stretch; 
}

.Btn a{
		font-family: 'Noto Sans JP', sans-serif;
	display: block;
	padding: 30px;
	border: 2px solid #06173D;
	text-align: center;
	line-height: 1em;
	margin-bottom: 30px;

max-width: 180px;
	font-weight: 600;
	margin-top: 20px;
	text-decoration: none;
}


.Btn a:hover,
.btn a:active{
	background-color: #06173D;
	color: #fff;
}

.Btn-c a{
	font-family: 'Noto Sans JP', sans-serif;
	display: block;
	padding: 30px;
	border: 2px solid #06173D;
	text-align: center;
	line-height: 1em;
	margin-bottom: 90px;
	max-width: 260px;
	font-weight: 600;
	margin-top: 20px;
	text-decoration: none;
	margin-left: auto;
	margin-right: auto;
}


.Btn-c a:hover,
.btn-c a:active{
	background-color: #06173D;
	color: #fff;
}




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


/*パンクズ*/


.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}

.breadcrumb li:not(:last-of-type)::after {
  content: "›";
  margin: 0 .6em; /* 記号の左右の余白 */
  color: #777; /* 記号の色 */
}







#header-placeholder{
	position: sticky;
	top: 0;
	overflow: visible !important;
	height: 100px;
	background-color: #fff;
	z-index: 999;
}


.header-wrapper{
	font-family: 'Noto Sans JP', sans-serif;
}

header {
/*	position: relative;*/
}

.header-inner{
/*	max-width: 1790px;*/
	margin-left: auto;
	margin-right: auto;
	height: 100px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	white-space: nowrap;
/*
	padding-left: 60px;
	padding-right: 60px;
*/
	 padding-left: clamp(10px, 3vw, 60px);
  padding-right: clamp(10px, 3vw, 60px);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	
	 align-items: center; 
	

}




header h1  {
	width: 310px;
	flex-shrink: 0; /*縮小しない*/
}


#MMenu {
  display: flex;
  flex-wrap: nowrap;               /* 折り返さない */
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0 clamp(8px, 2vw, 24px);
  box-sizing: border-box;

  /* メニュー間隔を可変にする */
  gap: clamp(4px, 1.2vw, 40px);
}

#MMenu > li {
  flex: 0 1 auto;                  /* 必要に応じて縮む */
  text-align: center;
  white-space: nowrap;             /* 改行しない */
}

#MMenu > li > a {
  display: block;
  padding: .8em clamp(6px, 1vw, 24px);
  font-size: clamp(13px, 0.9vw, 16px);
  text-decoration: none;
  font-weight: bold;
}

/* お問い合わせボタンも1行で維持 */
.header-item-Red {
  flex: 0 0 auto;
  margin-left: auto;               /* 右端固定 */
}

.header-item-Red a {
  white-space: nowrap;
  padding: .8em clamp(12px, 1.2vw, 24px);
}


/*
#MMenu{
	display: flex;
	margin-left: 50px;

}

#MMenu > li > a {
	padding-left: 40px;
	padding-right: 40px;
	font-size: 0.85em;
	display: block;
	font-weight: bold;

	text-indent: 1em;
}

*/


#MMenu > li > a:hover{

	text-decoration: none;
	position: relative;

}





/* グローバルメニュー */

.header-item-Red a {
  position: relative;
/*  padding: 15px;*/
  background-color: #ff454d;
  font-size: 0.85em;
  font-weight: bold;
/*  margin-left: 40px;*/
	margin-left: clamp(6px, 1.5vw, 40px);
  color: #fff;
  text-decoration: none;
  overflow: hidden; 
}

.header-item-Red a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.4) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-25deg);
  animation: shine 4s ease-in-out infinite;
  animation-delay: 1s; /* ← 1秒遅れてスタート */
}

@keyframes shine {
  0% {
    left: -75%;
  }
  20% {
    left: 125%; /* 光が走り終える */
  }
  100% {
    left: 125%; /* ここで残り時間は静止 */
  }
}

.header-item-Red a:hover {
  background-color: #bc161d;
}




/* メニューをhoverした時のスタイル */
.header-item:hover .megaMenu {
  opacity: 1;
  visibility: visible;
}



.header-item {
	position: relative;
		

}

.header-item a:link,
.header-item a:visited{
	color: #000;
	text-decoration: none;	
}
.header-item a:hover,
.header-item a:active{
	color: #06173d;
	text-decoration: none;	
}



.megaMenu {
	background-color: rgba(36, 72, 146, 0.9);
/*	left: 50px;*/
	 left: 50%; /* 横中央に基準点を設定 */
  transform: translateX(-50%); /* 中央に揃える */
	opacity: 0;
	position: absolute;
	text-align: center;
	visibility: hidden;
z-index: 100;
	padding: 30px;
}


.megaMenu-Inner{
	display: flex;
	justify-content: center;
	flex-wrap: nowrap;
	margin-left: auto;
	margin-right: auto;
	
	color: #fff;
}

.megaMenu-Inner2{
	display: flex;
	justify-content: center;
	flex-wrap: nowrap;
	margin-left: auto;
	margin-right: auto;
/*
	padding-top: 30px;
	padding-left: 30px;
	padding-bottom: 10px;
	padding-right: 30px;
*/
		color: #fff;
}


.megaMenu-InnerOther{
	/*	padding: 30px;*/
	color: #fff;
	font-size: 0.8em;
	font-weight: bold;
	text-align: left;
/*
	padding-top: 0px;
	padding-left: 30px;
	padding-bottom: 0px;
	padding-right: 30px;
*/
	
}


.megaMenu-Inner-TitleZone{
	font-size:0.8em;
	font-weight: bold;
	padding-right: 25px;
}

.megaMenu-Inner-BtnZone{
	font-size: 0.8em;
	border-left: 1px solid #fff;
	padding-left: 25px;
	text-align: left;
	
	
}

.header-item .megaMenuBtn div a:link,
.header-item .megaMenuBtn div a:visited,

.megaMenu-Inner-TitleZone a:link,
.megaMenu-Inner-TitleZone a:visited,

.megaMenu-InnerOther a:link,
.megaMenu-InnerOther a:visited{
	color: #fff;
	text-decoration: none;	
}



.header-item .megaMenuBtn div a:hover,
.header-item .megaMenuBtn div a:active,
.megaMenu-Inner-TitleZone a:hover,
.megaMenu-Inner-TitleZone a:active,
.megaMenu-InnerOther a:hover,
.megaMenu-InnerOther a:active{
	color: #BBC6DC;
	text-decoration: none;

}


/*------------footer-------------------*/

footer {
	background-color: #06173d;
	padding-top: 90px;
	padding-bottom: 35px;
	padding-left: 10px;
	padding-right: 10px;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
}
.footer-inner {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 38px;
	
}
.footer-Left {
/*	width: 320px;*/
	width: 278px;
}
.footerLogo{
	margin-bottom: 45px;
}

.footer-ADD{
margin-bottom: 35px;
	font-size: 0.85em;
	
}

.footer-ADD p{
font-size: 1em;
line-height: 1em;	
margin-bottom: 1em;
}
.footer-ADD p:first-child{
margin-bottom: 1.6em;
}





.footer-right {

}


.fotterMenuWrap {
	display: flex;
	flex-wrap: nowrap;

	justify-content: space-between;
	margin-bottom: 95px;

}


.fotterMenuWrap a:link,
.fotterMenuWrap a:visited{
	color: #fff;
	text-decoration: none;	
}
.fotterMenuWrap  a:hover,
.fotterMenuWrap  a:active{
	color: #BBC6DC;
	text-decoration: none;
}

.fotterMenuBox {
	
	margin-right: 28px;
}





.fotterMenuBox dt {
	border-bottom: 1px solid #FFFFFF;
	padding-bottom: 5px;
	margin-bottom: 10px;
	padding-right: 20px;
}
.fotterMenuBox dd {
	font-size: 0.85em;
	line-height: 2.3em;
	position: relative;
	padding-left: 1em;
	font-weight: 200;	
}

.fotterMenuBox dd.dd2nd{
padding-left: 2em; 	
}

.fotterMenuBox dd::before {
	content: "-"; 
    position: absolute;
    left: 0;
}

.fotterMenuBox dd.dd2nd::before {
	content: none; 

}

.fotterSnsZone{
display: flex;
flex-wrap: wrap;
	 align-items: flex-start; 
	gap: 15px;
}


.Btn-Radius {
	border-style : Solid;
	border-color : #FFFFFF;
	border-width : 1px;
	border-radius : 1.5em;
	padding: 0.3em 1.5em; 

	display: inline-block;
}

.FotterSnsIcon{
	width: 40px;
}

.footer-InquiryBtn a{
	padding: 15px;
	background-color: #ff454d;
	font-size: 0.85em;
	font-weight: bold;
/*	margin-left: 40px;*/
	display: block;
	min-width: 360px;
	text-align: center;
}

.footer-InquiryBtn a:link,
.footer-InquiryBtn a:visited,
.footer-InquiryBtn-sp a:link,
.footer-InquiryBtn-sp a:visited{
	color: #fff;
	text-decoration: none;	
}
.footer-InquiryBtn a:hover,
.footer-InquiryBtn a:active,
.footer-InquiryBtn-sp a:hover,
.footer-InquiryBtn-sp a:active{
	background-color: #bc161d;
	text-decoration: none;	
}





address   {
	text-align: center;
	font-size: 0.7em;
	line-height: 1em;
}



/*------------Contents-------------------*/





.MMovie-wrap{
position: relative;
	margin-bottom: 130px;
	
}


/*
#MMovie {
	width: 100%;
	height: 580px;
	height: 1080px;
	background-color: #EEEAEA;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;

	
}


video {
            object-fit: cover;

        }
*/


#MMovie {
  width: 100vw;
  height: 1080px;
  max-height: 1080px;
  overflow: hidden;
  position: relative;
}

#MMovie video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* 1920px以上のとき：縦は1080維持のまま拡大し上下をカット */
@media (min-width: 1920px) {
  #MMovie {
    width: 100vw;
    height: 1080px;
    overflow: hidden;
  }
  #MMovie video {
    width: 100vw;
    height: auto;
    min-height: 1080px;
    object-fit: cover;
    object-position: center center;
  }
}








.top-scroll {

	position: absolute;
	bottom: -65px;
	left: 50%;
	transform: translateX(-50%);

}

.top-scroll img {
  width: 10vw;       
    max-width: 40px;  
    height: auto;
    display: block;
    margin: 0 auto;
}


section {
	max-width: 1920px;
	margin-left: auto;
	margin-right: auto;

}



#index #sec-1 h1 {
	max-width: 755px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 100px;
	margin-bottom: 100px;
}

#index #sec-1 .contents {
	display: flex;
	flex-wrap: wrap;
	max-width: 1920px; 
	margin-left: auto;
	margin-right: auto;
}

#index #sec-1 .contents p {
	padding-bottom: 2em;
}



#index #sec-1 .contents-left {
	flex: 1;
	max-width: 660px;
	background-image: url(../images/index/sec-1-left.png);
	background-repeat: no-repeat;
	background-size: 660px auto;     /* 幅660pxで固定 */
	background-position: right top; /* 要素中央に固定配置 */
}
#index #sec-1 .contents-center {

	width: 600px;        
	flex-shrink: 0;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding-left: 50px;
	padding-right: 50px;

}
#index #sec-1 .contents .contents-center h2 {
	font-weight: bold;
	font-size: 2.2em;
	line-height: 1.8em;
	margin-bottom: 55px;

}



#index .sec-1-txt p{

	margin-bottom: 1.5em;
}



#index .sec-1-txt2 {
display: none;
  overflow: hidden;
}
#index #sec-1 {
	margin-bottom: 150px;
}


#index #sec-1 .contents-right {
flex: 1;
	max-width: 660px; 
  background-image: url(../images/index/sec-1-right.png);
  background-repeat: no-repeat;
  background-size: 660px auto;     /* 同じく幅660px固定 */
 background-position: left top; /* 要素中央に固定配置 */	
}



.Open-Btn a
{
	font-family: 'Noto Sans JP', sans-serif;
	display: inline-block;
	padding: 30px;
	border: 2px solid #06173D;
	text-align: center;
	line-height: 1em;
	margin-left: auto;
	margin-right: auto;
	min-width: 180px;
	font-weight: 600;
	margin-top: 20px;
	text-decoration: none;
}
.Open--Btn a{
		font-family: 'Noto Sans JP', sans-serif;
	display: block;
	padding: 30px;
	border: 2px solid #06173D;
	text-align: center;
	line-height: 1em;
	margin-left: auto;
	margin-right: auto;
width: 180px;
	font-weight: 600;
	margin-top: 20px;
	text-decoration: none;
}

.Open-Btn a:hover,
.Open-Btn a:active,
.Open--Btn a:hover,
.Open--Btn a:active{
	background-color: #06173D;
	color: #fff;
}







#index #sec-2  {
	background-image: url(../images/common/bg-blue-mix.png);
	background-repeat: repeat-y;
	background-position: calc(50% + 300px) center;
	padding-top: 95px;
	padding-bottom: 35px;	
}


#index #sec-2 .contents{
max-width: 1100px;	
margin-left: auto;
margin-right: auto;	
}

#index #sec-2 h1 {
	max-width: 490px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 110px;

}

#index #sec-2  h2 {
	font-weight: bold;
	font-size: 2em;
	line-height: 1.8em;
	margin-bottom: 50px;
	color: #fff;
	text-align: center;
}
#index #sec-2 .contents p {
	color: #fff;
	text-align: center;

	margin-bottom: 100px;
	
}

#index .LinkZone-1{
	height: 378px;
	background-image: url(../images/index/top-sec-2-bg-1.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center 0%;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: 15px solid #FFFFFF;
}


#index .LinkZone-2{
	height: 378px;
	background-image: url(../images/index/top-sec-2-bg-2.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center 0%;

	margin-left: auto;
	margin-right: auto;
	
	display: flex;
	 justify-content: center;
	align-items: center;
		border-bottom: 15px solid #FFFFFF;
}



#index .LinkZone-1 .Link-btn a,
#index .LinkZone-2 .Link-btn a{
		font-family: 'Noto Sans JP', sans-serif;

	
	border: 2px solid #fff;
	text-align: center;

	margin-left: auto;
	margin-right: auto;
	
	font-weight: 600;
	margin-top: 20px;
	text-decoration: none;
	color: #fff;
/*	font-size: 1.5em;*/
		font-size: 2em;
	width: 780px;
	height: 170px;
	
	display: flex;
	 justify-content: center;
	align-items: center;
}
#index .LinkZone-1 .Link-btn a:hover,
#index .LinkZone-1 .Link-btn a:active,
#index .LinkZone-2 .Link-btn a:hover,
#index .LinkZone-2 .Link-btn a:active{
	background-color: #06173D;
	color: #fff;
	background-size: cover;
}


.title-line {
	display: flex;
	align-items: center;
	margin: 40px 0;
	text-align: center;
	line-height: 1em;
}

.title-line::before,
.title-line::after {
  content: "";
  flex: 1;               
  border-top: 1px solid #001a33; 
}



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

#index .sec-3-txtZone-1{
	width: 500px;
	
}
#index .sec-3-txtZone-2{
	width: 500px;
	margin-left: 620px;	
}

/*
#index #sec-3 {
	background-image: url(../images/index/top-sec-3-bg.jpg);
	background-repeat: repeat-y;
	padding-top: 95px;
	padding-bottom: 35px;
	background-size: cover;
}
*/

#index #sec-3 {
  background-image: url(../images/index/top-sec-3-bg.jpg);
  background-repeat: no-repeat;       
  background-position: center top;      
  background-size: 100% auto;     
  width: 100vw;                     
  overflow: hidden;                   
  padding-top: 95px;
  padding-bottom: 35px;
}


#index #sec-3 h1 {
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 110px;

}

#index .sec-3-ImgZone-1 {
	background-repeat: no-repeat;
	background-image: url(../images/index/top-sec-3-img1.png);
	background-size: auto 100%;
	background-position: left top;
	height: 500px;
	width: 3400px;
	position: absolute;
	left: 573px;
	top: 0px;
}

#index .sec-3-ImgZone-2 {
	background-repeat: no-repeat;
	background-image: url(../images/index/top-sec-3-img2.png);
	background-size: auto 100%;
	background-position: right top;
	height: 500px;
	width: 3400px;
	position: absolute;
	top: 0px;
	right: 570px;
}



#index .sec-3-ImgZone-3 {
	background-repeat: no-repeat;
	background-image: url("../images/index/top-sec-3-img3.png");
	background-size: auto 100%;
	background-position: left top;
	height: 500px;
	width: 3400px;
	position: absolute;
	left: 573px;
	top: 0px;
}





#index #sec-3  h2 {
	font-weight: bold;
	font-size: 2.2em;
	line-height: 1.6em;
	margin-bottom: 1em;
}



#index #sec-3 p {

	margin-bottom: 1em;
	
}



#index #sec-4  {
	background-image: url(../images/common/bg-blue-mix.png);
	background-repeat: repeat-y;
	background-position: calc(50% + -300px) center;
	padding-top: 95px;
	padding-bottom: 35px;	
}

#index #sec-4 .contents{
max-width: 1100px;	
margin-left: auto;
margin-right: auto;	
}



#index #sec-4 h1 {
	max-width: 388px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 100px;

}


.News-Zone{
width: 85%;
	margin-left: auto;
	margin-right: auto;	
	
}


.News-Zone dl:first-child{

	border-top: 1px dotted #FFFFFF;
	border-bottom: 1px dotted #FFFFFF;

}
.News-Zone dl{
	font-family: 'Noto Sans JP', sans-serif;
	display: flex;
	flex-wrap: wrap;
	color: #FFFFFF;
	border-top: 0px dotted #FFFFFF;
	border-bottom: 1px dotted #FFFFFF;
	padding-top: 30px;
	padding-bottom: 30px;
}

.News-Zone dt{
display: flex;
flex-wrap: nowrap;	
	min-width: 310px;
}

.News-Zone dt .NewsDate{
margin-right: 30px;
	line-height: 1.5em;
	
}

.News-Zone dt .News-Mark{
	color: #000;
	margin-right: 20px;
	background-color: #FFFFFF;
	line-height: 1.5em;
	padding-left: 5px;
	padding-right: 5px;
}
.News-Zone dt .News-MarkNew{
	color: #fff;
	margin-right: 30px;
	background-color: #ff454d;
	line-height: 1.5em;
	padding-left: 5px;
	padding-right: 5px;

}

.News-Zone dd{

}


.News-Zone a:link,
.News-Zone a:visited{
	color: #CAC8C8;
	text-decoration: none;
}
.News-Zone a:hover,
.News-Zone a:active{
	color: #fff;
	text-decoration: none;
}





#index #sec-4 .Link-btn {
	text-align: center;
}

#index #sec-4 .Link-btn a
{
	font-family: 'Noto Sans JP', sans-serif;
	border: 2px solid #fff;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	text-decoration: none;
	color: #fff;
	font-size: 1em;
	display: inline-block;
	padding: 10px;
	min-width: 100px;
	width: auto;
}


#index  #sec-4 .Link-btn a:hover,
#index  #sec-4 .Link-btn a:active
{
	background-color: #06173D;
	color: #fff;
	background-size: cover;
}



#index #sec-5  {
	background-image: url(../images/common/bg-blue-mix.png);
	background-repeat: repeat-y;
	background-position: calc(50% + -300px) center;

	padding-bottom: 35px;	
}



#index .sec-5-imag-box {
	padding: 55px;
	text-align: center;
	background-color: #FFFFFF;
}
#index .sec-5-imag-box-inner{
	max-width: 1740px;
	margin-left: auto;
	margin-right: auto;
}




#index #sec-6 {
	background-color: #FFFFFF;
	background-image: url(../images/index/top-sec-6-bg.png);
	background-repeat: no-repeat;
	background-size: cover;
}

#index #sec-6 .contents {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 140px;
	padding-bottom: 140px;
}



#index #sec-6 h1 {
	max-width: 950px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 130px;

}



#index .sec-6-sponsorZone {
	display: flex;
flex-wrap: nowrap;
}


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



#index .sec-6-sponsorZone-R {
	width: 730px;
	
}

#index #sec-6  h2 {
	font-weight: bold;
	font-size: 2.5em;
	line-height: 1.6em;
margin-bottom: 1em;
	font-family: "Noto Serif JP", serif;
}


#index #sec-6 p {

	margin-bottom: 1em;
	
}

#index #sec-6 .Link-btn {

}

#index #sec-6 .Link-btn a
{
	font-family: "Noto Serif JP", serif;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	text-decoration: none;
	color: #fff;
	font-size: 1em;
	display: inline-block;
	padding: 20px;
	min-width: 100px;
	width: auto;
	background-color: #06173D;
}


#index  #sec-6 .Link-btn a:hover,
#index  #sec-6 .Link-btn a:active
{
	background-color: #0052a5;
	color: #fff;
	background-size: cover;
}





/*ourfeatures*/


#ourfeatures .Main-tit {
	background-image: url(../images/ourfeatures/head-bg-big.png);
/*	max-width: 1920px;*/
/*	height: 500px;*/
	height: 350px;
	background-repeat: no-repeat;
	background-position: center 0%;
	background-size: cover;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
}


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


#ourfeatures .Main-Link-Zone-Wrap,
#aboutus .Main-Link-Zone-Wrap,
#products .Main-Link-Zone-Wrap{
   background-image: url(../images/common/bg-blue-mix.png);
  background-repeat: repeat-y;
  background-position: calc(50% + 300px) center;

  margin: 0 auto;

}




#ourfeatures ul.Main-Link-Zone,
#aboutus ul.Main-Link-Zone,
#products ul.Main-Link-Zone{
   background-image: url(../images/common/bg-blue-mix.png);
  background-repeat: repeat-y;
  background-position: calc(50% + 300px) center;
  padding: 45px 0;            
  max-width: 1920px;
  margin: 0 auto;

  display: flex;
  justify-content: space-between;     
  gap: 10px;                
  flex-wrap: wrap;          
  list-style: none;           
  padding-left: 0;           
  box-sizing: border-box;
}




#ourfeatures ul.Main-Link-Zone li,
#aboutus ul.Main-Link-Zone li{
 flex: 0 0 calc((100% - 20px) / 3); 
}

#products ul.Main-Link-Zone li{
 flex: 0 0 calc((100% - 10px) / 2); 
}




#ourfeatures #sec-1 h2 {
	padding-top: 95px;
	padding-bottom: 75px;
	max-width: 675px;
	margin-left: auto;
	margin-right: auto;
}

#ourfeatures #sec-1 ul.NumberZone {
	display: flex;
	flex-wrap: wrap;
	justify-content: center; 
	gap: 20px; 
	max-width: 620px;
	margin-top: 0;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 150px; 
	padding: 0;
	list-style: none;
}

#ourfeatures #sec-1 ul.NumberZone li {
  flex: 0 0 calc(50% - 10px); 
  box-sizing: border-box;
}



#ourfeatures #sec-1 ul.NumberZone li dl {
display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	
/*	padding: 15px 0;*/

}

#ourfeatures #sec-1 ul.NumberZone li dl dt {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2em;
	font-weight: bold;
	padding: 0 25px;
  line-height: 1;
		margin-top: 10px;   
  margin-bottom: 10px; 


}
#ourfeatures #sec-1 ul.NumberZone li dl dd {
	padding-left: 25px;
	border-left: 1px solid #000000;
min-height: 50px;
	display: flex;              /* ← これで中の要素をflexに */
  align-items: center;  
	font-family: "Noto Serif JP", serif;
}
#ourfeatures #sec-1 .sec-1-img {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 200px;
	text-align: center;
}


#ourfeatures #sec-2,
#aboutus #sec-2,
#products #sec-5,
#recruit #sec-2

{
	background-image: url(../images/common/bg-blue-mix.png);
	background-repeat: repeat-y;
	background-position: calc(50% + 300px) center;
	padding-top: 30px;
	padding-bottom: 30px;		
	
}

/*#ourfeatures #sec-2 .sec-2-inner,*/
#aboutus #sec-2 .sec-2-inner,
#products #sec-5 .sec-5-inner,
#recruit #sec-2 .sec-2-inner,
#recruit #sec-4 .sec-4-inner
{
	background-image: url(../images/common/gray-bg.png);
	background-repeat: repeat-y;
	background-position: center top;
	background-size: contain;
}



#ourfeatures #sec-2 .sec-2-inner
{
background-color: #fff;
}




#recruit #sec-4{
	background-image: url(../images/common/bg-blue-mix.png);
	background-repeat: repeat-y;
	background-position: calc(50% + 300px) center;
	padding-top: 30px;
	padding-bottom: 0px;	
}




#ourfeatures #sec-2 .contents{
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	color: #717171;
}

#ourfeatures #sec-2 h2 {
	padding-top: 120px;
	padding-bottom: 90px;
	max-width: 675px;
	margin-left: auto;
	margin-right: auto;
}



/*

#ourfeatures #sec-2 h3{
	background-image: url(../images/common/bg-blue-mix.png);
	background-repeat: repeat-y;
	background-position: calc(50% + 300px) center;
	line-height: 1em;
	text-align: left;
	padding-left: 25px;
	padding-right: 25px;
	padding-top: 10px;
	padding-bottom: 10px;
	color: #FFFFFF;
	margin-bottom: 30px;
}
*/


#ourfeatures .CoLogo{
	background-image: url(../images/ourfeatures/h3-bg.png);
	background-repeat: repeat-x;
	line-height: 1em;
	text-align: left;
	padding-left: 15px;
	margin-bottom: 30px;
	background-position: 0% bottom;
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
}


#ourfeatures #sec-2 h3{
background-color: #fff;	
		padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 15px;
}




#ourfeatures .CoLogo-img-1{
	width: 220px;
    display: block;
    image-rendering: auto; 
}
#ourfeatures .CoLogo-img-2{
	width: 150px;
    display: block;
    image-rendering: auto; 
}
#ourfeatures .CoLogo-img-3{
	width: 185px;
    display: block;
    image-rendering: auto; 
}

#ourfeatures .CoLogo-img-4{
	width: 208px;
    display: block;
    image-rendering: auto; 
}

#ourfeatures .CoLogo-img-5{
	width: 240px;
    display: block;
    image-rendering: auto; 
}










#ourfeatures .sec-2-copWrap{
	display: flex;
	flex-wrap: wrap;
	font-family: 'Noto Sans JP', sans-serif;
	padding-left: 25px;
	padding-right: 25px;

}

#ourfeatures #sec-2  h4 {

	background-color: #fff;
	border: 1px solid #00469B;
	color:#00469B; 
	padding-left: 1em;
	padding-right: 1em;
	margin-bottom: 15px;
	
	display: flex;      
  align-items: center;    
  justify-content: center;
  box-sizing: border-box; 
	
	white-space: nowrap;
}

#ourfeatures .map-Link {
	margin-left: 0.5em;
	margin-bottom: 15px;
}

#ourfeatures .Unsou-txt-Blue {
	margin-left: 0.5em;
	margin-bottom: 15px;
	color:#00469B; 
}


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


#ourfeatures .map-Link a:link,
#ourfeatures .map-Link a:visited{
	text-decoration: underline;
	color: #00469B;
	font-weight: bold;
} 
#ourfeatures .map-Link a:hover{
	text-decoration: none;
	color: #00469B;
} 

#ourfeatures .sec-2-UnsouBox {
	margin-bottom: 40px;

}



#ourfeatures .Unsou {
	border-left: 1px solid #717171;
	border-right: 1px solid #717171;
	padding: 1em;

	line-height: 1.3em;
	
	
	display: flex;      
  align-items: center;    
  justify-content: center;
  box-sizing: border-box; 
}


#ourfeatures .Unsou-txt {
	padding-top: 0.5em;
	padding-right: 0.5em;
	padding-left: 1em;
	padding-bottom: 0.5em;
	flex: 1;
}







#ourfeatures .sec-2-HokenBox {
	margin-bottom: 40px;
	width: 50%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}








#ourfeatures .Hoken {
	border-left: 1px solid #717171;
	border-right: 1px solid #717171;
	padding: 1em;
	line-height: 1.3em;
	
display: flex;      
  align-items: center;    
  justify-content: center;
  box-sizing: border-box; 
}


#ourfeatures .Hoken-txt {
	padding-top: 0.5em;
	padding-right: 0.5em;
	padding-left: 1.3em;
	padding-bottom: 0.5em;
	flex: 1;
	line-height: 1.3em;
	
	min-height: 110px;
	box-sizing: border-box;
}



#ourfeatures .Hoken-txt-2 {
	padding-top: 0.5em;
	padding-right: 0.5em;
	padding-left: 1.3em;
	padding-bottom: 0.5em;
	flex: 1;
	line-height: 1.3em;
	
	display: flex;      
  align-items: center;    
  box-sizing: border-box; 
	
	min-height: 110px;
	
	
}


#ourfeatures .Hoken-txt span {
	border: 1px solid #717171;
	padding: 2px;
	display: inline-block;
	margin-bottom: 3px;
}

















#ourfeatures #sec-3 h2 {
	padding-top: 120px;
	padding-bottom: 120px;
	max-width: 675px;
	margin-left: auto;
	margin-right: auto;
}

#ourfeatures #sec-3 .contents{
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	text-align: center; 
}



p.Txt-match{
	display: inline-block;
	text-align: left;


}


#ourfeatures #sec-3 p {
	margin-bottom: 100px;
	font-size: 1.1em;
	line-height: 1.6em
}





#ourfeatures #sec-3 .sec-3-img {
	margin-bottom: 200px;
	text-align: center;
}

/*aboutus*/

#aboutus .Main-tit {
	background-image: url(../images/aboutus/head-bg-big.png);
/*	max-width: 1920px;*/
/*	height: 500px;*/
		height: 350px;
	background-repeat: no-repeat;
	background-position: center 0%;
	background-size: cover;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
}

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

}

#aboutus #sec-1 .contents{
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 100px;
}



#aboutus #sec-1 h2 {
	padding-top: 95px;
	padding-bottom: 95px;
	max-width: 675px;
	margin-left: auto;
	margin-right: auto;
}

#aboutus #sec-1 .president {
	display: flex;
flex-wrap: wrap;
gap: 55px; 	
	
}
#aboutus #sec-1  .president-pic {
	max-width: 250px;
/*		max-width: 378px;*/
}

#aboutus #sec-1  .president-txt {
flex: 1;
	font-family: "Noto Serif JP", serif;
}
#aboutus #sec-1  .president-txt p {
	margin-bottom: 1em;
}
/*
#aboutus #sec-1  .president-txt p.txt-right {
	font-size: 1.15em;
}
*/
#aboutus #sec-1  .president-txt .txt-right-name {
	width: 224px;
	margin-left: auto;
}


#aboutus #sec-2 .contents{
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 130px;
font-family: 'Noto Sans JP', sans-serif;
}


#aboutus #sec-2 h2 {
	padding-top: 120px;
	padding-bottom: 90px;
	max-width: 675px;
	margin-left: auto;
	margin-right: auto;
}
#aboutus .sec-2-overview {
 display: block;
}
#aboutus .sec-2-overview > div {
	display: flex;
flex-wrap: nowrap;
	border-bottom: 1px solid #717171;
	margin-bottom: 1em;
	padding-bottom: 1em;
}
#aboutus .sec-2-overview dt {
	width: 160px;
	padding-left: 264px;
}
#aboutus .sec-2-overview dd {	
	flex: 1;
}

#aboutus .sec-2-overview dd .inte {
	padding: 3px;
	text-indent: -1em;
}


#aboutus .sec-2-other {
	padding: 50px;
	background-color: #FFFFFF;

}

#aboutus .sec-2-other h3{
	color: #00469b;
	font-weight: bold;
/*	border-bottom: 3px solid #00469b;*/
	display: inline-block;
	margin-bottom: 1em;
	
	 position: relative; 
  padding-bottom: 10px; 
}
#aboutus .sec-2-other h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;        
  height: 3px;
  background-color: #00469b;
}



#aboutus #sec-3 .contents{
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 110px;
	
font-family: 'Noto Sans JP', sans-serif;
}
#aboutus #sec-3 h2 {
	padding-top: 130px;
	padding-bottom: 95px;
	max-width: 675px;
	margin-left: auto;
	margin-right: auto;
}




/**/

#aboutus .historyBox {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  border-left: 3px solid #7fa8d2; /* ← ここに移動！ */
  position: relative;
  padding-left: 0px; 
}

#aboutus .historyBox dt {
  padding-top: 5px;
  padding-bottom: 5px;
  position: relative;
  width: 160px;

}

#aboutus .historyBox dd {
  flex: 1;
}

/* アイコンは同じままでOK */
#aboutus .historyBox dt::after {
  content: "";
  background-image: url(../images/aboutus/sec-3-history.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 65px;
  height: 11px;
  position: absolute;
  left: -7px;
  top: 50%;
  transform: translateY(-50%);
}



/**/




#aboutus dt .historyNum {
	font-family: 'Noto Sans JP', sans-serif;
	background-color: #06173d;
	line-height: 1em;
	font-size: 1em;
	text-align: center;
	display: inline-block;
	border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	padding-top: 3px;
	padding-right: 5px;
	padding-left: 5px;
	padding-bottom: 3px;
	color: #fff;
	margin-left: 60px;
}
#aboutus .historyBox dd p {
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.4em;
	margin: 0;
	border-bottom: 1px solid #717171;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 1em;
}

#aboutus .historyBox dd p span{
	width: 3em;
	display: inline-block;	
}



/*products*/

#products .Main-tit {
	background-image: url(../images/products/head-bg-big.png);
/*	max-width: 1920px;*/
/*	height: 500px;*/
	height: 350px;
	background-repeat: no-repeat;
	background-position: center 0%;
	background-size: cover;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
}

#products .Main-tit h1{
	width: 509px;
}
#products #sec-0 {
	background-image: url(../images/products/sec-0-img.png);
	background-repeat: no-repeat;
	background-size: contain;
	aspect-ratio: 3839 / 2046;
	background-position: center 0%;

	margin-bottom: 130px;	
}

#products #sec-0 .contents{
	font-family: 'Noto Sans JP', sans-serif;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 60px;
	text-align: center;
	font-size: 1.5em;
	line-height: 2em;
	font-weight: 600;
	color: #fff;
}


#products #sec-1 h2 {
	padding-top: 0px;
	padding-bottom: 95px;
	max-width: 787px;
	margin-left: auto;
	margin-right: auto;
}

#products #sec-1.contents,
#products #sec-2.contents,
#products #sec-4.contents

{
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 110px;
}




#products #sec-1 p {
	padding-bottom: 2em;
	font-family: "Noto Serif JP", serif;
}
#products .img-block {
display: flex;
flex-wrap: wrap;
	gap:10px;
}

#products #sec-1 .img-block li{
	width: calc(50% - 10px);
}






#products h4{
	background-color: #06173d;
/*	font-size: 1.3em;*/
/*	font-family: "Hina Mincho", serif;*/
		font-size: 1.5em;
	color: #FFFFFF;
	padding-top: 15px;
	padding-right: 20px;
	padding-left: 20px;
	padding-bottom: 15px;
	line-height: 1em;
/*	margin-bottom: 50px;*/
		margin-bottom: 35px;
}

#products h5{
	color: #0052a5;
	font-size: 1.3em;
	line-height: 1.6em;
/*	font-family: "Hina Mincho", serif;*/
/*		margin-bottom: 50px;*/
		margin-bottom: 35px;
}
#products h5.Blk{
color: #000;
font-size: 1.7em;

}



#products .contents-inner {
		padding-left: 30px;
	padding-right: 30px;
}


#products #sec-2 .sec-2-txt-zone-1 {
	display: flex;
	flex-wrap: nowrap;
	gap: 20px;
	margin-bottom: 30px;
}

#sec-2 .sec-2-txt-zone-1 .sec-2-txt-zone-1-L {
flex: 0 0 60%;
box-sizing: border-box;
}

#sec-2 .sec-2-txt-zone-1 .sec-2-txt-zone-1-L p{
text-indent: 1em;
}

#sec-2 .sec-2-txt-zone-1 .sec-2-txt-zone-1-R {
flex: 0 0 40%;
	box-sizing: border-box;

}


#products #sec-2 .sec-2-txt-zone-2 {
	display: flex;
	align-items: stretch;     
	justify-content: space-between;
	position: relative;
	margin-bottom: 30px;
}


#products #sec-2 .sec-2-txt-zone-2-L,
#products #sec-2 .sec-2-txt-zone-2-R {
  flex: 0 0 50%;
  box-sizing: border-box;
}


#products #sec-2 .sec-2-txt-zone-2::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background-color: #717171; 
  transform: translateX(-50%);
}

/* 線の両側に40pxの余白 */
#products #sec-2 .sec-2-txt-zone-2-L {
  padding-right: 40px;
}

#products #sec-2 .sec-2-txt-zone-2-R {
  padding-left: 40px;
}


#products h7{
	color: #00469b;
/*	font-family: "Hina Mincho", serif;*/
	font-weight: bold;
	display: block;         
	position: relative;    
	margin-bottom: 20px;
	padding-bottom: 15px;  
		font-size: 1.1em;
}

#products h7::after{
	content: "";
	position: absolute;
	left: 0;               
	bottom: 0;
	width: 70px;           
	height: 3px;
	background-color: #00469b;
	
}

/*
.dot-list li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  column-gap: .5em;
  align-items: start;    
  width: 100%;
  font-size: 1em;
  line-height: 1.6;
  position: relative;      
  padding: 0.3em 0;       
}

.dot-list li::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 1.2em; 
  height: 1px;
  background: repeating-linear-gradient(
    to right,
    #000 0 1px,
    transparent 1px 5px
  );
  z-index: 0;
}


.dot-list .dot-list-label,
.dot-list .dot-list-value {
  background: #fff;
  position: relative;
  z-index: 1;
}

.dot-list .dot-list-label {
  grid-column: 1;
  padding-right: .4em;
}

.dot-list .dot-list-value {
  grid-column: 3;
  justify-self: end;
  padding-left: .4em;
}
*/

.dot-list li {
  display: grid;
  grid-template-columns: max-content max-content 1fr max-content;
  column-gap: 0; /* ← ギャップを無くす */
  align-items: start;
  width: 100%;
  font-size: 1em;
  line-height: 1.6;
  position: relative;
  padding: 0.3em 0;
}

/* ドット線 */
.dot-list li::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 1.2em;
  height: 1px;
  background: repeating-linear-gradient(
    to right,
    #000 0 1px,
    transparent 1px 5px
  );
  z-index: 0;
}






/* すべて前面へ */
.dot-list span {
  position: relative;
  z-index: 2;
}

/* タイトル：白背景＋右パディングで余白を作る */
.dot-list .dot-list-T-label {
  grid-column: 1;
  white-space: nowrap;
  background: #fff;
  padding: 0 .6em 0 .3em; /* ← 余白はこちらで */
  min-width: 10em;
}

/* JIS番号：#666背景＋右パディングで余白を作る */
.dot-list .dot-list-label {
  grid-column: 2;
  white-space: nowrap;
  background-color: #fff;
  padding: 0 .6em 0 .3em; /* ← 余白はこちらで */
}

/* 右端の値：白背景＋左パディング */
.dot-list .dot-list-value {
  grid-column: 4;
  justify-self: end;
  white-space: nowrap;
  background: #fff;
  padding: 0 .3em;
}





.sec-4-txt-zone .sec-4-txt-zone-L h6 {
	border-bottom: 1px solid #1F24A8;
	border-top: 1px solid #1F24A8;
	padding-top: 15px;
	padding-bottom: 15px;
	margin-bottom: 30px;
	color: #00469b;
/*	font-family: "Hina Mincho", serif;*/
	font-size: 1.1em;
}

#products .sec-4-P{ 
margin-bottom: 30px;	
}


#products #sec-4 .sec-4-txt-zone {
	display: flex; 
	justify-content: space-between;
	margin-bottom: 30px;
}


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

.sec-4-txt-zone-L-Inner{
	margin-bottom: 60px;
}



#products #sec-4 .sec-4-txt-zone .sec-4-txt-zone-L p{
text-indent: 1em;
font-family: "Noto Serif JP", serif;
}

#products #sec-4 .sec-4-txt-zone .sec-4-txt-zone-R {

	box-sizing: border-box;
	width: 200px;

}
#products #sec-4 .sec-4-txt-zone2 {

	margin-top: 30px;
}

#products #sec-5  h2 {
	padding-top: 120px;
	padding-bottom: 90px;
	max-width: 787px;
	margin-left: auto;
	margin-right: auto;
}


#products h3 {
  position: relative;
  font-size: 2em;
font-family: "Noto Serif JP", serif;
  text-align: left;
  width: 40%;
  margin-bottom: 50px;
  line-height: 1.2;
  padding-bottom: 25px;
}

#products h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 15px; /* 下線帯の高さ */
  background-image: url(../images/common/bg-blue-mix-left.png);
  background-repeat: repeat-x;
  background-size: cover;
}

#products #sec-5 .contents{
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;

}


#products .sec-5-zone-1 {
	display: flex;
	flex-wrap: nowrap;
	gap: 20px;
	margin-bottom: 90px;

}

#products .sec-5-zone-1 .sec-5-zone-1-L {
max-width: 415px;
box-sizing: border-box;
}


#products .sec-5-zone-1 .sec-5-zone-1-R {
flex: 1;
	box-sizing: border-box;

}


#products .sec-5-P{ 
margin-bottom: 50px;
	font-family: "Noto Serif JP", serif;
}


#products .sec-5-zone-2 {

	padding-bottom:  90px;
	

}

#products .sec-5-zone-3 {
	display: flex;
	flex-wrap: nowrap;
	gap: 20px;
	padding-bottom:  90px;

}

#products .sec-5-zone-3 .sec-5-zone-3-L {
width: 50%;
box-sizing: border-box;
}


#products .sec-5-zone-3 .sec-5-zone-3-R {
width: 50%;
	box-sizing: border-box;

}

#products .sec-5-zone-3-R .sec-5-zone-Btn a {
  position: relative;
  display: block;
  color: #fff;
  padding: 15px;
  background-color: #ff454d;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  font-family: 'Noto Sans JP', sans-serif;
  overflow: hidden; /* 光が外に出ないように */
}

/* 光の筋を作る */
#products .sec-5-zone-3-R .sec-5-zone-Btn a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.4) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-25deg);
  animation: shineBtn 4s ease-in-out infinite;
  animation-delay: 1s; /* ← 1秒遅れてスタート */
}

/* 光の動き（ゆっくり＋間隔あり） */
@keyframes shineBtn {
  0% {
    left: -75%;
  }
  20% {
    left: 125%; /* 光が走り終える */
  }
  100% {
    left: 125%; /* 残りの時間は静止 */
  }
}

/* ホバー時の背景色 */
#products .sec-5-zone-3-R .sec-5-zone-Btn a:hover,
#products .sec-5-zone-3-R .sec-5-zone-Btn a:active {
  background-color: #bc161d;
}


/*
#products .sec-5-zone-3-R .sec-5-zone-Btn a {
	display: block;
	color: #fff;
	padding: 15px;
	background-color: #ff454d;

	font-weight: bold;
	text-align: center;
	text-decoration: none;
	font-family: 'Noto Sans JP', sans-serif;
}
#products .sec-5-zone-3-R .sec-5-zone-Btn a:hover,
#products .sec-5-zone-3-R .sec-5-zone-Btn a:active{
	background-color: #bc161d;
}
*/




#products #sec-6.contents
{
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
}






#products #sec-6  h2 {
	padding-top: 120px;
	padding-bottom: 90px;
	max-width: 787px;
	margin-left: auto;
	margin-right: auto;
}


#products #sec-6 .sec-6-inner {
	display: flex;
	flex-wrap: nowrap; 
	gap: 68px;         
	padding-top: 0;
	padding-right: 30px;
	padding-left: 30px;
	padding-bottom: 100px;
}

/*
#products #sec-6 .sec-6-inner-L {
  flex: 0 0 calc((327 / (327 + 645)) * 100%); 
		min-width: 0;
	box-sizing: border-box;
}

#products #sec-6 .sec-6-inner-R {
  flex: 0 0 calc((645 / (327 + 645)) * 100%); 
		min-width: 0;
	box-sizing: border-box;
}

*/





#products #sec-6 .sec-6-inner-L {
  flex: 0 1 40%;       
  max-width: 415px;    
  min-width: 0;
  box-sizing: border-box;
}

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


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



/**/

#products .sec-6-InfoArea {
	width: fit-content;    /* ← 中身（sec-6-InfoZone）に幅を合わせる */
	margin-left: auto;     /* ← センター */
	margin-right: auto;    /* ← センター */
	margin-bottom: 50px;
}


.sec-6-InfoTit {
    font-size: 0.9em;
    font-weight: bold;
    color: #000;

    display: flex;
    align-items: center;
    gap: 16px;

    width: 100%;      /* 親の幅 = InfoArea の成り行き幅にぴったり */
    margin: 0 0 15px;
	font-family: "Noto Serif JP", serif;
}

.sec-6-InfoTit::after {
    content: "";
    flex: 1;
    height: 1px;
    background-color: #1b2d6b;
    opacity: 0.5;
}


.sec-6-InfoZone {
    display: flex;
    align-items: flex-start; 
   gap: 30px;
    width: 100%;      
}

.sec-6-InfoZone-L {
	flex: 0 0 auto;
	display: flex;
	align-items: center;

}

.sec-6-InfoZone-L img {
/*    max-height: 180px;  */
    height: auto;
    width: auto;
    display: block;
}

.sec-6-InfoZone-L img {
    width: 78px;
  }

.sec-6-InfoZone-R {
    flex: 1;
}


.sec-6-InfoZone-R-tit {
    font-size: 1.1em;
    font-weight: bold;
 color: #181959;
    margin-bottom: 10px;
}






#products #sec-7 .contents{
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

#products #sec-7
{
	background-image: url(../images/common/bg-blue-mix.png);
	background-repeat: repeat-y;
	background-position: calc(50% + 300px) center;
	padding-top: 30px;
	
	
}

#products #sec-7 .sec-7-inner{
	background-image: url(../images/common/gray-bg.png);
	background-repeat: repeat-y;
	background-position: center top;
	background-size: contain;
}

#products #sec-7  h2 {
	padding-top: 135px;
	padding-bottom: 160px;
	max-width: 787px;
	margin-left: auto;
	margin-right: auto;
}


#products #sec-7 .sec-7-innerCon {
	display: flex;
	flex-wrap: nowrap; 
	gap: 68px;         
	padding-top: 0;
	padding-right: 30px;
	padding-left: 30px;
	padding-bottom: 100px;
}



#products #sec-7 .sec-7-innerCon-L { flex: 327 1 0; min-width: 0; box-sizing: border-box; }
#products #sec-7 .sec-7-innerCon-R { flex: 645 1 0; min-width: 0; box-sizing: border-box; }




#products #sec-7 .sec-7-innerCon-L img {
	max-width: 225px;
	width: 100%;        
  height: auto;
}




/*branches*/



#branches .Main-tit {
	background-image: url(../images/branches/head-bg-big.png);
/*	max-width: 1920px;*/
/*	height: 500px;*/
		height: 350px;
	background-repeat: no-repeat;
	background-position: center 0%;
	background-size: cover;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
	

}

#branches .Main-tit h1{
	width: 418px;
}


#branches .Main-tit-wrap{
	background-image: url(../images/common/bg-blue-mix.png);
	background-repeat: repeat-y;
	background-position: calc(50% + 300px) center;
/*	max-width: 1920px;*/
	padding-bottom: 45px;
	margin-bottom: 100px;
	margin-left: auto;
	margin-right: auto;
}

	
#branches .contents{
/*	padding-top: 130px;*/
	padding-bottom: 250px;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	padding-left: 20px;
	padding-right: 20px;

}



#branches .contents h2 {
font-family: "Noto Serif JP", serif;
	color: #06173d;
	padding: 20px;
	text-align: left;
	border-top: 1px solid #06173d;
	border-bottom: 1px solid #06173d;
	font-size: 1.8em;
	display: inline-block;
	margin-bottom: 35px;		
}


#branches .Main-Txt{
max-width: 70%;		
}

.PinMark {
  position: relative;
  padding-left: 26px;
  line-height: 1.5;
font-family: 'Noto Sans JP', sans-serif;
	font-size: 0.9em;
}


.PinMark::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  background-image: url(../images/branches/map-point.png);
  background-repeat: no-repeat;
  background-size: contain; /* 自動で縦横比維持 */
}

#branches  .contents .Map-img-All {
	position: absolute;
	right: 0px;
	top: 0px;
	padding-bottom: 10px;/*	margin-top: 130px;*/

}

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

	height: 500px;
}




.RegionZone {
  display: flex;
  flex-wrap: wrap;          /* 折り返し */
  justify-content: flex-start; /* 左寄せ（← これがポイント） */
  gap: 20px;                /* ボックス間の余白 */

  padding-bottom: 100px;

  max-width: 1100px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;

}

.RegionZone li {
  flex: 0 0 calc(25% - 15px); /* 4列（gap考慮） */
  box-sizing: border-box;
}

.RegionZone li a {
	padding: 20px;
	display: block;
	text-align: center;
	border: 2px solid #000000;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.2em;
	line-height: 1em;
	text-decoration: none;
}

.RegionZone li a:hover,
.RegionZone li a:active
{
	background-color: #06173D;
	color: #fff;

}

.RegionZone li.current a
{
	background-color: #06173D;
	color: #fff ;

}




#branches .YoutubeZone {
	padding-bottom: 100px;

  max-width: 1100px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}




#branches .YoutubeZone .YoutubeZone-tit {
	position: relative;
	margin-bottom: 40px;
}

#branches .YoutubeZone .YoutubeZone-tit::before {
  content: "";
  position: absolute;
  top: 50%;               /* 天地の中央 */
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #000; /* 線の色 */
  transform: translateY(-50%);
  z-index: 0;
}

#branches .YoutubeZone .YoutubeZone-tit img {
  width: 240px;
  position: relative;
  z-index: 1;             /* 線の上に表示 */
  background: #fff;       /* 線が透けないようにする場合 */
  padding-right: 10px;    /* 線との間に少し余白 */
  display: inline-block;  /* 左寄せを維持 */
}


/*
#branches .YoutubeZone-InnerWrap{
display: flex;
flex-wrap: wrap;
}

#branches .YoutubeZone-InnerWrap li{
	
}
*/
#branches .YoutubeZone-InnerWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; 
  gap: 20px; 
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 1100px; 
}

#branches .YoutubeZone-InnerWrap li {
	flex: 0 0 calc((100% - 60px) / 4);
	/* 横4つで隙間20px×3本分を引いて4等分 */
	box-sizing: border-box;
	
}


#branches .YT-thum{
	margin-top: 10px;
	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 .YT-thum a{
	text-decoration: none;	
}
#branches .YT-thum a:hover{
	text-decoration:underline;
}



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


#branches  .Map-Zone.map-1 img {
	width: 710px;	
}
#branches  .Map-Zone.map-2 img {
	width: 850px;	
}
#branches  .Map-Zone.map-3 img {
	width: 891px;	
}

#branches  .Map-Zone.map-4 img {
	width: 817px;	
}

#branches  .Map-Zone.map-5 img {
	width: 747px;	
}
#branches  .Map-Zone.map-6 img {
	width: 734px;	
}
#branches  .Map-Zone.map-7 img {
	width: 436px;	
}












#branches .PointAdd-Area {
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 0px;
}

/* 各ボックス共通設定 */
#branches .PointAddZone-wrap {
	flex: 0 0 50%;   /* 2列 */
	box-sizing: border-box;
	padding: 24px;
	display: flex;
	justify-content: center;
	margin-bottom: 24px;
}

/* --- チェッカーパターン背景 --- */
#branches .PointAddZone-wrap:nth-child(4n+1),
#branches .PointAddZone-wrap:nth-child(4n+4) {
  background-color: #fff;     
}
#branches .PointAddZone-wrap:nth-child(4n+2),
#branches .PointAddZone-wrap:nth-child(4n+3) {
  background-color: #f6f6f6;    
}

/* 中のボックスサイズと寄せ */
#branches .PointAddZone {
  width: 425px;
/*	width: 500px;*/
  max-width: 100%;
/*	font-family: "Hina Mincho", serif;*/
}
#branches .PointAddZone img {
	padding-top: 50px; 

}





/* 右寄せ・左寄せ交互 */
#branches .PointAddZone-wrap:nth-child(odd) {
  justify-content: flex-end;  /* 奇数=右寄せ */
}
#branches .PointAddZone-wrap:nth-child(even) {
  justify-content: flex-start; /* 偶数=左寄せ */
}




#branches  .PointAddZone h3 {
font-family: "Noto Serif JP", serif;
	font-size: 1.8em;
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid #06173d;
}
#branches  .PointAddZone p {
	margin-bottom: 1.5em;
	font-size: 0.9em;
	font-family: "Noto Serif JP", serif;
}



#branches  .AccessZone{
	display: flex;
flex-wrap: nowrap;
	margin-bottom: 1.5em;
	align-items: flex-start;
}

#branches  .AccessZone dt {
	padding-left: 20px;
	padding-right: 20px;
	background-color: #06173d;
	display: inline-block;
	color: #fff;
	border-left: 20px solid #0052a5;
	margin-right: 20px;
	font-size: 0.9em;
	line-height: 1.6em;
	
	white-space: nowrap;      
  flex-shrink: 0; 
}

#branches  .AccessZone dd {
	font-size: 0.8em;
	line-height: 1.6em;
	margin: 0;  
	font-family: "Noto Serif JP", serif;
}


#branches .Btn a{
	max-width: 180px;
	padding-top: 15px;
	padding-right: 15px;
	padding-left: 15px;
	padding-bottom: 15px;
	font-size: 0.8em;
	margin-top: 0px;
	margin-bottom: 0px;
}

#branches .PointAddZone-badgeZone {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 15px;
}
#branches .yt-Btn {
	display: inline-block;
	margin-left: 10px;
	margin-bottom: 16px;
}

#branches .PointAddZone-badgeZone li{
	font-family: 'Noto Sans JP', sans-serif;
	background-color: #0052a5;
	text-align: center;
	font-size: 0.7em;
	padding: 5px;
	line-height: 1em;
	color: #FFFFFF;
}
#branches .yt-Btn img{
padding: 0;
height: 46px;
}

/*recruit*/

#recruit .recruit-main {
	padding-top: 30px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 10px;
	padding-right: 10px;
}
#recruit .recruit-main-wrap {
	width: 100%;
	position: relative;
		padding-bottom: 80px;
}



#recruit .recruit-main-img img{
	width: 100%;
}

#recruit .recruit-main-txt{
	width: 45.57%;
	position: absolute;
	left: 44.315%;
	top: 13.54%;
}

#recruit .contents

{
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 110px;
	padding-left: 10px;
	padding-right: 10px;
}

#recruit .recruit-main h2,
#interview .contents h2{
	font-size: 1.6em;
font-family: "Noto Serif JP", serif;
	margin-bottom: 1.5em;
	text-align: center;
	line-height: 1.6em;	
}


#recruit .recruit-main p,
#recruit #sec-4 p {
text-align: center;
	margin-bottom: 1.5em;
	font-family: "Noto Serif JP", serif;
}

#recruit #sec-2 h2 {
	padding-top: 90px;
	padding-bottom: 90px;
	max-width: 675px;
	margin-left: auto;
	margin-right: auto;
}

#recruit #sec-2 h3{
	font-size: 1.4em;
	line-height: 1.4em;
font-family: "Noto Serif JP", serif;
	margin-bottom: 50px;
	text-align: center;
}







#recruit .recruit-sec2-ImgArea {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  position: relative;
  max-width: 900px; /* 任意調整 */
  margin: 0 auto;
  list-style: none;
  padding: 0;
  text-align: center;
}


#recruit .recruit-sec2-ImgArea li {
  display: flex;
  flex-direction: column;  /* ← 縦並び（画像→テキスト） */
  align-items: center;
  justify-content: flex-start;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.6;
}


#recruit .recruit-sec2-ImgArea li div {
  width: 100%;
  display: flex;
  justify-content: center;
}

#recruit .recruit-sec2-ImgArea img {
  width: 100%;
  height: auto;
  display: block;
/*  max-width: 200px; */
}


#recruit .recruit-sec2-ImgArea li p {
	margin-top: 15px;
	font-size: 0.8em;
	color: #333;
	width: 90%; /* テキスト幅を少し内側に */
	text-align: left;
}


#recruit .recruit-sec2-ImgArea::before,
#recruit .recruit-sec2-ImgArea::after {
  content: "";
  position: absolute;
  background: #717171; /* グレー線 */
  z-index: 1;
}

/* 縦線 */
#recruit .recruit-sec2-ImgArea::before {
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
}

/* 横線 */
#recruit .recruit-sec2-ImgArea::after {
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
}

/* 交点（30px空白） */
.recruit-sec2-ImgArea::before,
.recruit-sec2-ImgArea::after {
  mask: radial-gradient(circle 15px at center, transparent 14px, black 15px);
  -webkit-mask: radial-gradient(circle 15px at center, transparent 14px, black 15px);
}


.recruit-sec2-Img-1 { margin-right: 30px; margin-bottom: 30px; }
.recruit-sec2-Img-2 { margin-left: 30px;  margin-bottom: 30px; }
.recruit-sec2-Img-3 { margin-right: 30px; margin-top: 30px; }
.recruit-sec2-Img-4 { margin-left: 30px;  margin-top: 30px; }



#recruit #sec-3 h2,
#recruit #sec-4 h2{
	padding-top: 90px;
	padding-bottom: 90px;
	max-width: 675px;
	margin-left: auto;
	margin-right: auto;
}

#recruit #sec-3 h3{
	font-size: 1.4em;
	line-height: 1.4em;
font-family: "Noto Serif JP", serif;
	margin-bottom: 50px;
	text-align: center;
}

#recruit .recruit-sec3-ImgArea{
	list-style: none;
	margin-top: 0;
	margin-right: 0;
	margin-left: 0;
	margin-bottom: 140px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;                
}

#recruit .recruit-sec3-ImgArea li img{
  display: block;
  width: 100%;
  height: auto;
}

/**/


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

 .sec-4-infoZone {
	display: flex;
	align-items: flex-start;
	justify-content: center;  
	margin-left: auto;       
	margin-right: auto;
	width: fit-content;       
	position: relative;
	font-family: 'Noto Sans JP', sans-serif;
	margin-bottom: 100px;
}


.sec-4-infoZone > dt {
	flex: 0 0 auto;     
	font-weight: 700;
	margin-right: 30px; 
	position: relative;
	white-space: nowrap; 
	background-color: #06173d;
	padding-top: 10px;
	padding-right: 15px;
	padding-left: 15px;
	padding-bottom: 10px;
	color: #fff;
	font-size: 1.1em;
	line-height: 1em;
}


 .sec-4-infoZone > dd {
	flex: 1 1 auto;
	position: relative;
	padding-left: 30px;  
	margin: 0;

	
}


.sec-4-infoZone > dd::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #717171;
}


.sec-4-infoZone-Inner {
	display: flex;
	align-items: flex-start;
	gap: 20px;

	padding-right: 0;
	padding-left: 0;
	padding-bottom: 10px;
	font-size: 0.9em;

}
.sec-4-infoZone-Inner:first-child {
  margin-top: 0;          
}


#recruit #sec-4 .sec-4-infoZone-Inner > dt {
	flex: 0 0 auto;     
	min-width: 6em;
	line-height: 1.4;
	white-space: nowrap; 
		font-family: "Noto Serif JP", serif;
}

/* 内側本文 */
#recruit #sec-4 .sec-4-infoZone-Inner > dd{
  flex: 1 1 auto;
  line-height: 1.4;
	min-width: 520px;
}

/* pの余白微調整 */
#recruit #sec-4 .sec-4-infoZone-Inner > dd p{
	margin: 0 0 .4em;
	text-align: left;

}





#recruit .recruit-Btn a {
  position: relative;
  display: block;
  color: #fff;
  padding: 15px;
  background-color: #ff454d;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  font-family: 'Noto Sans JP', sans-serif;
  overflow: hidden; /* 光をボタン外に出さない */
  margin-left: auto;
  margin-right: auto;
  max-width: 400px;
}

/* 光の筋を作成 */
#recruit .recruit-Btn a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.4) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-25deg);
  animation: shineRecruit 4s ease-in-out infinite;
  animation-delay: 1s; /* ← スタートを1秒遅らせる */
}

/* 光の動き（最初の20%だけ動かし、残りで間を置く） */
@keyframes shineRecruit {
  0% {
    left: -75%;
  }
  20% {
    left: 125%; /* 光が右端へ走り切る */
  }
  100% {
    left: 125%; /* 残り80%は停止して間隔を空ける */
  }
}

/* ホバー時の背景色 */
#recruit .recruit-Btn a:hover,
#recruit .recruit-Btn a:active {
  background-color: #bc161d;
}





/*interview*/

#interview .interview-main {
	padding-top: 30px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 10px;
	padding-right: 10px;
	/*	max-width: 1745px;*/
	padding-bottom: 80px
}
#interview .interview-main-wrap {
	width: 100%;
	aspect-ratio: 1745 / 905;
	position: relative;

	
}


#interview .interview-main-txt-1{
	width: 38.28%;
	position: absolute;
	left: 48%;
	top: 13.17%;
}


#interview .interview-main-txt-2{
	width: 17.19%;
	position: absolute;
	left: 60.17%;
	top: 56.35%;
}


#interview .contents
{
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	/* [disabled]padding-bottom: 90px; */
}

#interview .contents h4 {
	background-color: #1b4997;
	padding-top: 15px;
	padding-bottom: 15px;
	padding-right: 100px;
	padding-left: 80px;
	text-align: left;
	line-height: 1em;
	font-size: 1.2em;
	color: #fff;
	display: inline-block;
	position: relative;
	margin-left: 90px;
	margin-bottom: 40px;
}

#interview .contents h4::before {
	content: "";
	position: absolute;
	left: -90px; /* h4の左側に配置 */
	top: 50%; /* 縦センター */
	transform: translateY(-50%);
	width: 90px; /* 線の長さ */
	height: 1px; /* 線の太さ */
	background-color: #000; /* 黒線 */
}
#interview .contents h4::after {
	content: "";
	position: absolute;
	left: 0; /* h4の左端から開始 */
	top: 50%;
	transform: translateY(-50%);
	width: 50px; /* 白ラインの長さ */
	height: 1px;
	background-color: #fff; /* 白ライン */
}
#interview section .contents .interview-txt-zone {
	margin-left: 300px;
	margin-right: 200px;
		margin-bottom: 40px;
}

/**/

/*
#interview .interview-bg2 {
	background-repeat: repeat-x;
	background-image: url(../images/recruit/interview-img-bg2.png);
	padding-top: 110px; 
	margin-bottom: 100px;
	background-position: 0% bottom;
}
*/


#interview .interview-bg {
  background-repeat: repeat-x;
  background-image: url(../images/recruit/interview-img-bg.png);
  padding-top: 110px; /* 上の余白＝以前の top:110px 相当 */
	margin-bottom: 100px;
}

#interview .interview-bg2 {
	background-repeat: repeat-x;
	background-image: url(../images/recruit/interview-img-bg2.png);
	background-position: 0% bottom;

	margin-bottom: 100px;
	padding-bottom: 120px;
	background-color: #000;
}


.interview-img-wrap {
/*  max-width: 1920px;*/
  margin: 0 auto;
	width: 100%;
}


/* ここを変更：固定幅/固定高をやめて相対縮小＋右寄せに */
#interview .interview-img-1 {
  width: calc(1200 / 1920 * 100%); /* = 62.5%（1920px基準で縮む）*/
  margin-left: auto;               /* 右寄せ（不要なら削除） */
}

#interview .interview-img-2 {
  width: calc(1200 / 1920 * 100%); /* = 62.5%（1920px基準で縮む）*/
  margin-right: auto;               /* 右寄せ（不要なら削除） */
}

#interview .interview-img-3 {
  width: calc(1200 / 1920 * 100%); /* = 62.5%（1920px基準で縮む）*/
  margin-right: auto;               /* 右寄せ（不要なら削除） */
}

#interview .interview-img-1 img,
#interview .interview-img-3 img {
  width: 100%;
  height: auto;     /* 比率維持で縮小 */
  display: block;   /* 余計な隙間防止 */
}

/*news*/

#news .Main-tit {
	background-image: url(../images/news/head-bg-big.png);
/*	max-width: 1920px;*/
/*	height: 500px;*/
	height: 350px;
	background-repeat: no-repeat;
	background-position: center 0%;
	background-size: cover;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
}

#news .Main-tit h1{
	width: 331px;
}


#news .Main-tit-wrap{
	background-image: url(../images/common/bg-blue-mix.png);
	background-repeat: repeat-y;
	background-position: calc(50% + 300px) center;
/*	max-width: 1920px;*/
	padding-bottom: 45px;
	margin-bottom: 100px;
	margin-left: auto;
	margin-right: auto;
}
	
#news .contents{

/*	padding-bottom: 250px;*/
		padding-bottom: 50px;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	padding-left: 20px;
	padding-right: 20px;

}



#news .News-Zone dl:first-child{

	border-top: 1px solid #06173d;
	border-bottom: 1px solid #06173d;

}
#news .News-Zone dl{

	color: #06173d;
	border-top: 0px solid #06173d;
	border-bottom: 1px solid #06173d;

}



#news .News-Zone dt .News-Mark{
	color: #06173d;
	background-color: #FFFFFF;
	border: 1px solid #06173d;
}
#news .News-Zone dt .News-MarkNew{
	color: #fff;
	background-color: #ff454d;

}

#news .News-Zone a:link,
#news .News-Zone a:visited{
	color: #0052a5;
	text-decoration: none;
}
#news .News-Zone a:hover,
#news .News-Zone a:active{
	color: #06173d;
	text-decoration: none;
}


.News-Cont-Zone{
	font-family: 'Noto Sans JP', sans-serif;
}


.News-Cont-Zone dl{
	padding-top: 30px;
	/* [disabled]padding-bottom: 30px; */
}

.News-Cont-Zone dt{
	display: flex;
	flex-wrap: nowrap;
	margin-bottom: 20px;
}

.News-Cont-Zone dt .NewsDate{
margin-right: 30px;
	line-height: 1em;
	color: #06173d;
	
}

.News-Cont-Zone dt .News-Mark{
color: #06173d;
	margin-right: 10px;
	background-color: #FFFFFF;
	border: 1px solid #06173d;
	line-height: 1em;
	padding-left: 3px;
	padding-right: 3px;
	font-size: 0.8em;
}
.News-Cont-Zone dt .News-MarkNew{
	color: #fff;
	background-color: #ff454d;
	line-height: 1em;
	padding-left: 3px;
	padding-right: 3px;
	font-size: 0.8em;

}

.News-Cont-Zone dd{
	color: #06173d;
	font-size: 1.3em;
	border-bottom: 1px solid #000000;
	padding-bottom: 20px;
	margin-bottom: 40px;
}


.News-Cont-Zone-Txt{
margin-bottom: 80px;
}
.News-Cont-Zone dd{
	color: #06173d;
	font-size: 1.3em;
	border-bottom: 1px solid #000000;
	padding-bottom: 15px;
	margin-bottom: 15px;
}

.News-Img-Area {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	gap: 20px;
/*	margin-top: 10px;*/
	margin-bottom: 20px;
}

.News-Cont-Zone-Img{
	width: 100%;
	margin-bottom: 15px;
}
.News-Cont-Zone-Img img {
  width: 100%;
  height: auto;
  display: block;
}



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


.News-Cont-Zone-Link-wrap{
	margin-bottom: 20px;
	border-top: 1px dotted #979595;
	border-bottom: 1px dotted #979595;
	padding-top: 10px;
	padding-bottom: 10px;

}
.News-Cont-Zone-Link{
	margin-bottom: 5px;
	font-size: 0.8em;
}




.News-Cont-Zone-Link a:link,
.News-Cont-Zone-Link a:visited{
	color: #5C5959;
	text-decoration: none;
}
.News-Cont-Zone-Link a:hover,
.News-Cont-Zone-Link a:active{
	border-bottom: 1px dashed #5C5959;
	text-decoration: none;
}





/*contact*/

#contact .Main-tit {
	background-image: url(../images/contact/head-bg-big.png);
/*	max-width: 1920px;*/
/*	height: 500px;*/
		height: 350px;
	background-repeat: no-repeat;
	background-position: center 0%;
	background-size: cover;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
}

#apply  .Main-tit {
	background-image: url(../images/apply/head-bg-big.png);
/*	max-width: 1920px;*/
/*	height: 500px;*/
	height: 350px;
	background-repeat: no-repeat;
	background-position: center 0%;
	background-size: cover;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
}

#a-contact .Main-tit {
	background-image: url(../images/a-contact/head-bg-big.png);
/*	max-width: 1920px;*/
/*	height: 500px;*/
	height: 350px;
	background-repeat: no-repeat;
	background-position: center 0%;
	background-size: cover;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
}

#contact .Main-tit h1{
	width: 455px;
}
#apply .Main-tit h1{
	width: 248px;
}
#a-contact .Main-tit h1{
	width: 537px;
}



#contact .Main-tit-wrap,
#apply .Main-tit-wrap,
#a-contact .Main-tit-wrap{
	background-image: url(../images/common/bg-blue-mix.png);
	background-repeat: repeat-y;
	background-position: calc(50% + 300px) center;
/*	max-width: 1920px;*/
	padding-bottom: 45px;
	margin-bottom: 100px;
	margin-left: auto;
	margin-right: auto;
}
	
#contact .contents,
#apply .contents,
#a-contact .contents{

	padding-bottom: 250px;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	padding-left: 20px;
	padding-right: 20px;

}
.contact-readBox{
	/* [disabled]padding-bottom: 40px; */
	font-family: "Noto Serif JP", serif;
}
.contact-readBox p{
	margin-bottom: 1em;
	text-align: center;
}	

/*サイトポリシー*/

#site .contents,
#pp .contents {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 70px;
	padding-top: 150px;
}
#site .contents h1,
#pp .contents h1{
	border-left: 25px solid #000000;
	padding-left: 25px;
	text-align: left;
	font-size: 1.4em;
	margin-bottom: 70px;
	padding-bottom: 20px;
	padding-top: 20px;
}

#site .contents h2,
#pp .contents h2{
	font-size: 1.1em;
	margin-bottom: 1em;
}
#site .contents p,
#pp .contents p{
	margin-bottom: 1em;
}

#site .contents ul,
#pp .contents ul{
	margin-bottom: 1em;
}



/*後勝ちCSS*/


.MMovie-wrap.pc {
    position: relative;
    margin-bottom: 130px;   
    overflow: visible;     
  }


  #MMovie {
    width: 100%;
    height: calc(100vh - 100px);
    max-height: calc(100vh - 100px);
    position: relative;
    overflow: hidden;      
  }

  /* videoタグの調整（フルサイズ＋トリミング） */
  #MMovie video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }


  .top-scroll {
    position: absolute;
    bottom: -65px;     
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    pointer-events: none;
  }



/*追加修正*/
#index .open-txt p,
#index #sec-2 .contents p,
#index .sec-3-txtZone-2 p,
.sec-4-txt-zone2 .dot-list li ,
.NFJ

{
	font-family: "Noto Serif JP", serif;
}

i {
	padding-right: 5px;
}





.pagination {
  display: flex;
  justify-content: center; 
  align-items: center;
  gap: 8px; 
  margin: 20px 0;
  padding: 10px;
	font-size: 0.8em;

}

.pagination a {
  display: inline-block;
  padding: 6px 12px;
  text-decoration: none;
  color: #06173d;

  transition: background-color 0.3s, color 0.3s;

}

.pagination a:hover {

	 background-color: #06173d;
  color: #fff;

}

.pagination a.active {
  background-color: #06173d;
  color: #fff;

  pointer-events: none; 
}

.pagination a.prev,
.pagination a.next {
/*  font-weight: bold;*/
}
