body{
	background-image: url("../img/common/body_bk.png");
	background-position: top right;
	background-repeat: no-repeat;
	background-size: 55% auto;
}
@media screen and (max-width: 768px) {
	body{
	background-position: top left;
	background-size: contain;
}
}
@media screen and (min-width: 1920px) {
	body{
		background-size: auto;
	}
}
#container{
	padding-top: 230px;
	padding-bottom: 190px;
	width: 100%;
	margin: auto;
	font-size: clamp(0.938rem, 0.604rem + 0.69vw, 1.125rem);/*15-18 768-1200*/
}
@media screen and (max-width: 1199px) {
	#container{
		padding-top: 120px;
		padding-bottom: 124px;
	}
}
@media screen and (max-width: 1023px) {
	#container{
		overflow: hidden;
	}
}
#container #pageTitle{
	width: 93%;
	max-width: 1728px;
	padding-left: clamp(0rem, -54rem + 50vw, 6rem);/*0-96 1728-1920*/
	margin: auto;
	position: relative;
	z-index: 100;
}
/*  パンくずリスト
---------------------------------------------------------------------------------------------------------*/
#panNavi ul{
	margin-top:clamp(1.875rem, 1.617rem + 1.1vw, 2.938rem);
    display: flex;
    flex-wrap: wrap;
    color: #35355D;
    padding: 0;
}
.single.news_single #panNavi ul{margin-top:0;}
#panNavi li{
	font-size: 0.81rem;
}
#panNavi li a{
	color: #A2A5A8;
}
#panNavi li:not(:last-child):after{
    content: '';
    display: inline-block;
    left: 3px;
	width: 4px;
	height: 4px;
	border-top: 1px solid #B1B9C2;
	border-right: 1px solid #B1B9C2;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
    margin: 0 1rem;
    vertical-align: middle;
}
.page-archive #panNavi ul{
    color: rgba(255,255,255,0.8);
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 1);
}
.page-archive #panNavi li a{
	color: #FFF;
}
.page-archive #panNavi li:not(:last-child):after{
	border-top: 1px solid #8796A7;
	border-right: 1px solid #8796A7;
}
/*  固定ページ 2カラム
---------------------------------------------------------------------------------------------------------*/
.page #container .column2 .anchor ul li.a_pc{
	display: block;
}
.page #container .column2 .anchor ul li.a_sp{
	display: none;
}
.page #container .column2{
	position: relative;
	width: 93%;
	max-width: 1728px;
	margin: auto;
	display: flex;
	flex-direction : row-reverse;
	padding-left: clamp(0rem, -43.922rem + 46.6vw, 12rem);/*0-192 1508-1920*/
}
.page #container .column2 .anchorWrap{
	width: 192px;
	z-index: 2;
	position: relative;
	font-size: 89%;
}
.page #container .column2 .anchor{
	position: sticky;
	top: 120px;
	right: 0;
	width: 100%;
	z-index: 2;
}
.page #container .column2 .anchor ul li{
	padding-bottom: 2em;
}

.page #container .column2 .anchor ul li a{
	display: block;
}
.page #container .column2 .contents{
	position: relative;
	z-index: 1;
	width: calc(100% - 260px);
	max-width: 1248px;
	margin-right: auto;
	padding-top: 36px;
}
.page #container .column2 .contents section.section{
	clear: both;
	padding-bottom: clamp(6.25rem, -0.417rem + 13.89vw, 10rem);/*100-160 768-1200*/
}
.page .contents .entry .bk_gray{
	position: relative;
	background: linear-gradient(to right,  #ffffff 0%,#ffffff 30%,#f4f7f8 30%,#f4f7f8 100%);
	padding-top: 2em;
}
.page .contents .entry .bk_gray::before{
	position: absolute;
	content: '';
	background-color: #F4F7F8;
	width:50vw;
	height: 100%;
	z-index: -1;
	top: 0;
	right: calc(50% - calc(50vw + calc(130px - calc(clamp(0rem, -43.922rem + 46.6vw, 12rem) / 2))));*//* ローカルナビ260/2 - 左余白（clamp(0rem, -43.922rem + 46.6vw, 12rem);/*0-192 1508-1920*/）/2 */
}
.page .contents .entry .clm2.leftWide .wrap:first-of-type{
	margin-left: calc(clamp(6rem, -42rem + 50vw, 18rem) * -1);/*96-288 1536-1920*/
	position: relative;
}
.page .contents .entry .clm2.rightWide .wrap:nth-of-type(2){
	margin-right: calc(-288px - 14%);
	position: relative;
}
@media screen and (max-width: 1919px) {
	.page .contents .entry .clm2.rightWide .wrap:nth-of-type(2){
		margin-right: calc(-260px - clamp(1.875rem, 1.496rem + 1.62vw, 3.438rem));/*30-55 375-1920*/
	}
}
@media screen and (max-width: 1800px) {
	.page .contents .entry .bk_gray::before{
		right:calc(50% - calc(50vw + calc(130px - calc(clamp(0rem, -43.922rem + 46.6vw, 12rem) / 2) - 1.35%)));
	}
}
@media screen and (max-width: 1279px) {
	.page .contents .entry .clm2.rightWide .wrap:nth-of-type(2){
		margin-right: calc(-260px - calc(clamp(1.875rem, 1.496rem + 1.62vw, 3.438rem)/2));/*30-55 375-1920*/
	}
}
@media screen and (max-width: 1199px) {
	.page .contents .entry .clm2.rightWide .wrap:nth-of-type(2){
		margin-right: -7%;
	}
}
@media screen and (max-width: 1023px) {
	.page #container .column2 .anchor ul li.a_pc{
		display: none;
	}
	.page #container .column2 .anchor ul li.a_sp{
		display: block;
	}
	.page #container .column2{
		display: block;
	}
	.page #container .column2 .anchorWrap,
	.page #container .column2 .anchor,
	.page #container .column2 .contents{
		position: relative;
		width: 100%;
		margin: auto;
	}
	.page #container .column2 .anchorWrap{
		padding-top: 40px;
	}
	.page #container .column2 .anchor{
		top: inherit;
	}
	.page #container .column2 .anchor ul{
		display: flex;
		flex-wrap: wrap;
	}
	.page #container .column2 .anchor ul li{
		border-bottom: solid 1px #A1C6DF;
		padding: 0 1em 0.5em;
		margin:0 2% 2em;
		width: 46%;
	}
	.page #container .column2 .anchor ul li a::before{
		content: '';
		width: 6px;
		height: 6px;
		border-top: 1px solid #0070BD;
		border-right: 1px solid #0070BD;
		transform: rotate(135deg);
		display: inline-block;
		margin-right: 0.8em;
		vertical-align: middle;
		margin-bottom: 0.3em;
	}
	.page .contents .entry .clm2.leftWide,
	.page .contents .entry .clm2.rightWide{
		display: block !important;
		margin-top: 70px !important;
	}
	.page .contents .entry .clm2.leftWide .wrap:first-of-type,
	.page .contents .entry .clm2.rightWide .wrap:nth-of-type(2){
		margin: auto;
	}	
	.page .contents .entry .clm2.leftWide .wrap:nth-of-type(2),
	.page .contents .entry .clm2.rightWide .wrap:nth-of-type(2){
		margin-top:30px !important;
	}
}
@media screen and (min-width: 1024px) {
	.page #container .column2 .anchor ul li a.active{
		color: #0070BD;
	}
	.page #container .column2 .anchor ul li a.active::before{
		content: '';
		display: inline-block;
		width: 8px;
		height: 8px;
		background-color: #0070BD;
		border-radius: 50%;
		vertical-align: middle;
		margin-right: 1em;
	}
}
/*  　固定ページ親（アーカイブ）
---------------------------------------------------------------------------------------------------------*/
.page-archive #container{
	padding-top: 0;
}
.page-archive #container #pageTitleWrap{
	width: 100%;
	height: 760px;
	margin: auto;
	padding-top: 230px;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	position: relative;
	z-index: 0;
}
.page-archive #container #pageTitleWrap::after{
	content: '';
	width: 100%;
	height: 100%;
	display: block;
	background-color: rgba(0,0,0,0.3);
	top: 0;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	position: absolute;
	z-index: 1;
}
.page-archive.page #container .column2{
	margin-top: -280px;
}
.page-archive.page #container .column2 .contents{
	background-color: #FFF;
	margin-top: 200px;
	position: relative;
	z-index: 1;
	padding-top: 100px;
}
.page-archive.page #container .column2 .contents::before{
	content: '';
	display: block;
	background-color: #FFF;
	position: absolute;
	top: 0;
	right: -5%;
	width: 100vw;
	height: 100%;
	z-index: -1;
}
@media screen and (max-width: 1199px) {
	.page-archive #container #pageTitleWrap{
		height: 540px;
		padding-top: 120px;
	}
	.page-archive.page #container .column2{
		margin-top: -200px;
	}
	.page-archive.page #container .column2 .anchorWrap{
		padding-top: 30px;
		margin-top: -100px;
	}
	.page-archive.page #container .column2 .contents{
		margin-top: 100px;
	}
}
@media screen and (max-width: 1023px) {
	.page-archive.page #container .column2{
		margin-top: -240px;
	}
	.page-archive.page #container .column2 .anchorWrap{
		padding-top: 15px;
		margin-top: 0;
	}
	.page-archive.page #container .column2 .anchor,
	.page-archive.page #container .column2 .anchor a{
		color: #FFF;
		text-shadow: 0px 0px 5px rgba(0, 0, 0, 1);
	}
	.page-archive.page #container .column2 .contents{
		margin-top: 0;
		padding-top: 60px;
	}
	.page-archive.page #container .column2 .anchor ul li{
		border-bottom: solid 1px #FFF;
	}
	.page-archive.page #container .column2 .anchor ul li a::before{
		border-top: 1px solid #FFF;
		border-right: 1px solid #FFF;
	}
}
@media screen and (min-width: 1024px) {
	.page-archive.page:not(.fixedNavi) #container .column2 .anchor,
	.page-archive.page:not(.fixedNavi) #container .column2 .anchor a{
		color: #FFF;
		text-shadow: 0px 0px 5px rgba(0, 0, 0, 1);
	}
	.fixedNavi.page-archive.page #container .column2 .anchor{
		background-color: rgba(255,255,255,0.8);
	}
	.page-archive.page #container .column2 .anchor ul{
		padding: 0 1em 1em;
	}
	.fixedNavi.page-archive.page #container .column2 .anchor ul{
		padding: 1em;
	}
	.page-archive.page:not(.fixedNavi) #container .column2 .anchor ul li a.active::before{
		background-color: #FFF;
	}
}
/*  固定ページ下層
---------------------------------------------------------------------------------------------------------*/
/*ページタイトル*/
.page-child #container #pageTitle h2{
	color: #273C53;
}
.page-child #container #pageTitle h2 span{
	display: block;
	line-height: 1.2;
}
.page-child #container #pageTitle h2 span.pageTitle{
	font-size:clamp(2rem, -1.556rem + 7.41vw, 4rem);/*32-64 768-1200*/
	font-weight: bold;
}
.page-child #container #pageTitle h2 span.pageTitle::first-letter{
    color: #0070BD;
}
.page-child #container #pageTitle h2 .parentTitle{
	font-size: clamp(1.063rem, 0.84rem + 0.46vw, 1.188rem);/*17-19 768-1200*/
}
.page-child #container #pageTitle h2 .parentTitle::before{
    content:'';
    transform: skewX(-45deg);
    display: inline-block;
    width: 18px;
    height: 4px;
    background-color: #0068B6;
	vertical-align: middle;
	margin-right: 10px;
}
.page-child #container #pageTitle .enTitle {
    font-family: "Roboto", sans-serif;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: end; 
    color: #0070BD;
  }
.page-child #container #pageTitle .enTitle:before {
    margin-right: 15px;
    border-top: 1px solid;
    border-color: #0070BD;
    content: "";
    width: 3em;
  }
.page-child #container #pageTitle .enTitle:after {
    margin-left: 1em;
  }

/*コンテンツ大枠*/
.page-child #container .mainImg_sp{
	display: none;
}
.page-child #container .column2 .mainImg_pc{
	display: block;
	margin-left: calc(clamp(6rem, -42rem + 50vw, 18rem) * -1);/*96-288 1536-1920*/
	position: relative;
	padding-bottom: 100px;
}
@media screen and (max-width: 1023px) {
	.page-child #container .column2 .mainImg_pc{
		display: none;
	}
	.page-child #container .mainImg_sp{
		display: block;
		padding-top: 36px;
		width: 100%;
		height: clamp(21.375rem, 15.188rem + 12.89vw, 23.438rem);/*342-375 768-1024*/	
	}
	.page-child #container .mainImg_sp img{
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
}
.js-scrollable{
	overflow-y: hidden !important;
}
@media screen and (max-width: 768px){
	.js-scrollable th,
	.js-scrollable td{ white-space: nowrap; }
}
/* お知らせ・その他ページ（ローカルナビなし）と固定ページ親（アーカイブ）のタイトル
---------------------------------------------------------------------------------------------------------*/
.page-other #container .contents,
#news #container .contents,
#recruit #container .contents{
	width: 93%;
	max-width: 1344px;
	margin: auto;
}
.page-other #container .contents{
	margin-top: 90px;
}
.page-archive #container #pageTitle h2,
.page-other #container #pageTitle h2,
.news_archive #container #pageTitle h2,
.job_offer #container #pageTitle h2{
    position: relative;
	font-family: "Roboto", sans-serif;
	font-weight: 700;
	font-style: normal;
    font-size:clamp(4.125rem, 0.125rem + 8.33vw, 6.375rem);/*66-102 768-1200*/
	color: #273C53;
	line-height: 1;
}
.page-other #pageTitle h2::first-letter,
.news_archive #pageTitle h2::first-letter,
.job_offer #pageTitle h2::first-letter{
    color: #0070BD;
}
.page-archive #pageTitle h2 span,
.page-other #pageTitle h2 span,
.news_archive #pageTitle h2 span,
.job_offer #pageTitle h2 span{
    color: #0070BD;
    display: block;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp(1.188rem, 1.112rem + 0.32vw, 1.5rem);
	margin-top: 1em;
}
.page-archive #container #pageTitle h2,
.page-archive #pageTitle h2 span{
    color: #FFF;
	text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
}
.page-archive #pageTitle h2 ::before,
.page-other #pageTitle h2 ::before,
.news_archive #pageTitle h2 ::before,
.job_offer #pageTitle h2 ::before{
    content:'';
    transform: skewX(-45deg);
    position: absolute;
    top: 0;
    display: inline-block;
    width: 16px;
    height: 4px;
    background-image: linear-gradient(
      90deg, 
      #DE0024 0 50%, 
      #00A7EB 50%
    );
}
.page-archive #pageTitle h2 span:after,
.page-other #pageTitle h2 span:after,
.news_archive #pageTitle h2 span:after,
.job_offer #pageTitle h2 span:after {
    content: '';
    display: inline-block;
    background: #0070BD;
    height: 1px;
    width: 100px;
    margin-left: 15px;
    vertical-align: middle;
}
.page-archive #pageTitle h2 span:after{
    background: #FFF;
}
/*  固定ページ　フッタ部　お問い合わせ
---------------------------------------------------------------------------------------------------------*/
.page #container .contents #contact{
	width: 100%;
	margin: auto auto 70px;
	padding: 3em 1em 3em 0;
	position: relative;
	background-color: #F4F7F8;
}
.page #container .contents #contact:before{
	content: '';
	position: absolute;
	top: 0;
	right: -192px;
	width: calc(100vw + 192px);
	height: 100%;
	z-index: -1;
	background-color: #F4F7F8;
}
.page #container .contents #contact .contactTitle{
	display: flex;
	padding-bottom: 2em;
}
.page #container .contents #contact .contactTitle p{
	margin-left: auto;
	text-align: right;
}
.page #container .contents #contact .clm2{
	margin: 0 auto;
}
.page #container .contents #contact .clm3{
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}
.page #container .contents #contact .clm2 .wrap{
	margin-top: 0;
}
.page #container .contents #contact .clm3 .wrap{
	margin-top: 0;
	margin-bottom: 2em;
}
.page #container .contents #contact .telWrap{
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
}
.page #container .contents #contact .telWrap .fax{
	padding: 0 2em;
}
.page #container .contents #contact .tel,
.page #container .contents #contact .fax{
	font-family: "Roboto", sans-serif;
	font-weight: 700;
	text-align: center;
	margin-bottom: 0;
	white-space: nowrap;
}
.page #container .contents #contact .tel,
.page #container .contents #contact .fax,
.page #container .contents #contact .tel a,
.page #container .contents #contact .fax a{
	color: #273C53;
	letter-spacing: 0;
}
.page #container .contents #contact .tel::before{
	content: '';
	display: inline-block;
	width: 0.6em;
	height:  0.6em;
	vertical-align: middle;
	background-image: url("../img/common/icon_tel_black.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	margin-right: 0.3em;
}
.page #container .contents #contact .tel{
	font-size: clamp(2.188rem, 1.188rem + 2.08vw, 2.75rem);/*35-44 768-1200*/
}
.page #container .contents #contact .fax{
	font-size: 111%;
}
.page #container .contents #contact .btnWrap{
	text-align: center;
	padding-top: 2em;
	font-weight: 700;
}
.page #container .contents #contact .btnWrap,
.page #container .contents #contact .btnWrap a{
	color: #273C53;
}
.page #container .contents #contact .btnWrap a{
	display: block;
	width: 100%;
	max-width: 510px;
	background-color: #FFF;
	border-radius: 100vh;
	text-align: center;
	line-height: 1;
	padding:1em;
	margin: auto;
	border: solid 1px #273C53;
}
.page #container .contents #contact .btnWrap a::before{
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	background-image: url("../img/common/icon_mail_black.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin-right: 0.5em;
}
@media screen and (max-width: 1023px) {
.page #container .contents #contact:before{
	top: 0;
	right:0;
	left: 0;
	width: 93%;
	margin-left: calc(50% - 50vw);
	margin-right: auto;
}
}
@media screen and (max-width: 768px) {
	.page #container .contents #contact .contactTitle{
		display: block;
	}
	.page #container .contents #contact .contactTitle p{
		text-align: left;
		padding: 2em 0 0;
	}
	.page #container .contents #contact .contactTitle p br{
		display: none;
	}
	.page #container .contents #contact .fax{
		font-size: 133%;
	}
}
@media (hover: hover) {
	.page #container .contents #contact .btnWrap a:hover{
		color: #FFF;
		background-color: #273C53;
	}
	.page #container .contents #contact .btnWrap a:hover::before{
		background-image: url("../img/common/icon_mail_white.svg");
	}
}
/*  固定ページ　フッタ部　関連リンク
---------------------------------------------------------------------------------------------------------*/
h2.related{
	margin-bottom: 2em;
	font-size: 122%;
	font-weight: bold;
}
h2.related a{
	display: flex;	
}
h2.related a::before{
	display: inline-block;
	content: "";
	width: 60px;
	height: 60px;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(../img/common/icon_arrow_white.svg);
	border: solid thin #0070BD;
	background-color: #0070BD;
	border-radius: 50%;
	transform: rotate(3.142rad);
	margin-right: 0.5em;
}
h2.related span{
	display: block;
}
h2.related .jp{
	color:#273C53;
}
h2.related .en{
	color:#0070BD;
	font-size: 72%;
	font-family: "Roboto", sans-serif;
}
.child-pages li a{
	display: flex;
}
.child-pages{
	columns: 2;
	column-gap: 5%;
}
.child-pages li{
		columns: unset;
		break-inside: avoid;
	margin-bottom: 20px;
}
.child-pages li a{
	align-items: center;
	background-image: url("../img/common/icon_arrow_blue.svg");
	background-repeat: no-repeat;
	background-position: right 0.5em center;
	background-size: 1em auto;
	padding-right: 2em;
}
.child-pages li.active a{
	pointer-events: none;
	background-color: #F8F8F8;
	background-image: none;
}
.child-pages li h3 {
	width: calc(100% - 200px);
	margin-left: auto;
	font-weight: bold;
}
.child-pages li h3 span{
	display: block;
}
.child-pages li h3 span.jp{
	color:#273C53;
	font-size: 122%;
}
.child-pages li h3 span.en{
	color:#0070BD;
	font-size: 72%;
	font-family: "Roboto", sans-serif;
}
.child-pages li .photoWrap{
	width: 180px;
	height: 100%;
	aspect-ratio: 10 / 7;;
	padding: 0;
	margin: 0;
	overflow: hidden;
}
.child-pages li img{
	height: 100%;
	width: 100%;
	object-fit: cover;
	padding: 0;
	margin: 0;
	vertical-align: bottom;
}
@media screen and (max-width: 768px){
	.child-pages{
		columns: initial;
	}
	.child-pages li,
	.child-pages li:nth-child(even){
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 20px;
	}
	.child-pages li h3 {
		width: calc(100% - 130px);
	}
	.child-pages li h3 span.jp{
		font-size: 107%;
	}
	.child-pages li h3 span.en{
		font-size: 73%;
	}
	.child-pages li .photoWrap{
		width: 110px;
		aspect-ratio: 55 / 42;
	}
}
@media (hover: hover) {
	h2.related a:hover::before{
		background-image: url(../img/common/icon_arrow_blue.svg);
		background-color: #FFF;
	}
	h2.related a:hover .jp{
		color:#0070BD;
	}
	.child-pages li a:hover{
		box-shadow: 0px 6px 14px rgba(0, 0, 0, 0.1);
	}
	.child-pages li a:hover .photoWrap img{
		transform:scale(1.2,1.2);
		transition:1s all;
	}
}