@charset "utf-8";
/* ------------------------------
 見出し・テキスト（PC）
------------------------------ */
/* H1 */
.contentsTop h1 {
	position: relative;
	line-height: 1;
}
.contentsTop h1 span.en {
	display: block;
	font-size: 11.5rem;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	margin-bottom: 15px;
	letter-spacing: -0.3rem;
}
.contentsTop h1 span.en > span {
	color: #84929C;
}
.contentsTop h1 span.ja {
	display: block;
	font-weight: 600;
	font-size: 3rem;
}
.contentsTop h1 span.ja::before {
	display: inline-block;
	content: "●";
	color: #233c6e;
	font-size: 40%;
	vertical-align: middle;
	margin-right: 6px;
}
.contents h1 {
	position: relative;
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 1.5;
}
.contents h1 span.ja {
	display: block;
	margin-top: 25px;
	margin-bottom: 10px;
	font-feature-settings: "palt";
}
.contents h1 span.en {
	color: #a89787;
	display: block;
	font-size: 6.8rem;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	line-height: 1;
}
.contents h1::before {
	display: block;
	left: 0;
	top: 0;
	width: 50px;
	height: 4px;
	content: "";
	background: #233c6e;
}

/* H2 */
.contentsTop h2,
.contents h2 {
	position: relative;
	display: block;
	font-size: 3rem;
	font-weight: 600;
	line-height: 1.5;
    padding-bottom: 20px;
	margin-bottom: 40px;
	border-bottom: 4px solid #edf0f5;
}
.contentsTop h2::before,
.contents h2::before  {
	content: "";
	display: block;
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 100px;
	height: 4px;
	background: #233c6e;
}
.contentsTop h2::after,
.contents h2::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -4px;
	left: 100px;
	width: 100px;
	height: 4px;
	background-color: #cbc1b7;
}
/* H3 */
.contentsTop h3,
.contents h3 {
	display: block;
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 1.2;
	padding-left: 15px;
	margin-bottom: 30px;
	border-left: 3px solid #233c6e;
	font-feature-settings: "palt";
	letter-spacing: 0.15rem;
}
/* H4 */
.contentsTop h4,
.contents h4 {
	display: block;
	font-size: 2.3rem;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 15px;
}
.line-title h4 {
	border-bottom: solid 1px #DCDCDC;
	padding-bottom: 10px;
	margin-bottom: 25px;
}
/* H5 */
.contentsTop h5,
.contents h5 {
	display: block;
	font-size: 2.1rem;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 10px;
}
/* H6 */
.contentsTop h6,
.contents h6 {
	display: block;
	font-size: 1.8rem;
	font-weight: 600;
}
/*メインリード*/
.leadText {
	font-size: 4rem;
	font-weight: 600;
	line-height: 1.6;
	position: relative;
	margin-bottom: 30px;
}
/* ------------------------------
 見出し・テキスト（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* H1 */
	.contentsTop h1, 
	.contents h1 {
		padding: 50px 5% 0;
	}
	.contents h1::before {
		display: block;
		width: 40px;
		height: 3px;
	}
	.contents h1 span.ja {
		font-size: 1.7rem;
		margin-top: 20px;
  		margin-bottom: 5px;
	}
	.contents h1 span.en {
		font-size: 2.8rem;
	}
	/* H2 */
	.contentsTop h2,
	.contents h2 {
		font-size: 2.2rem;
		padding-bottom: 14px;
		margin-bottom: 30px;
	}
	.contentsTop h2::before,
	.contents h2::before {
		bottom: -3px;
		width: 60px;
		height: 3px;
		background: #233c6e;
	}
	.contentsTop h2::after,
	.contents h2::after {
		width: 60px;
		height: 3px;
		bottom: -3px;
		left: 60px;
	}
	/* H3 */
	.contentsTop h3,
	.contents h3 {
		font-size: 2rem;
		margin-bottom: 15px;
		padding-left: 10px;
	}
	/* H4 */
	.contentsTop h4,
	.contents h4 {
		font-size: 1.8rem;
		margin-bottom: 15px;
	}
	.line-title h4 {
		margin-bottom: 15px;
	}
	/* H5 */
	.contentsTop h5,
	.contents h5 {
		font-size: 1.7rem;
	}
	/* H6 */
	.contentsTop h6,
	.contents h6 {
		font-size: 1.6rem;
	}
	/*メインリード*/
	.leadText {
		font-size: 2.4rem;
		margin-bottom: 20px;
	}
	.leadText br {
		display: none;
	}
}
/* ------------------------------
 横幅（PC）
------------------------------ */
.w90 img {
	margin-bottom: 20px;
}
.w200 {
	width: 200px;
}
/* その他 */
@media print, screen and (min-width: 768px) {
	/* 1/2 */
	.w1-2 {
		width: 47.89474%;
	}
	.w546 {
		width: 546px;
	}
	/* 1/3 */
	.w1-3 {
		width: 30.70176%;
	}
	.w350 {
		width: 350px;
	}
	.w1-3.cms_fl + .w1-3.cms_fl,
	.w1-3.fl + .w1-3.fl {
		margin-left: 3.94736%;
	}
	.w350.cms_fl + .w350.cms_fl,
	.w350.fl + .w350.fl {
		margin-left: 45px;
	}
	/* 2/3 */
	.w2-3 {
		width: 65.35088%;
	}
	.w745 {
		width: 745px;
	}
	/* 1/4 */
	.w1-4 {
		width: 22.63158%;
	}
	.w258 {
		width: 258px;
	}
	.w1-4.cms_fl + .w1-4.cms_fl,
	.w1-4.fl + .w1-4.fl {
		margin-left: 3.15789%;
	}
	.w258.cms_fl + .w258.cms_fl,
	.w258.fl + .w258.fl {
		margin-left: 36px;
	}
	/* 3/4 */
	.w3-4 {
		width: 74.21052%;
	}
	/* その他 */
	.w250 {
		width: 250px;
	}
	.w260 {
		width: 260px;
	}
	.w305 {
		width: 305px;
	}
	.w390 {
		width: 390px;
	}
	.w405 {
		width: 405px;
	}
	.w410 {
		width: 410px;
	}
	.w420 {
		width: 420px;
	}
	.w500 {
		width: 500px;
	}
	.w532 {
		width: 532px;
	}
	.w553 {
		width: 553px;
	}
	.w720 {
		width: 720px;
	}
	.w860 {
		width: 860px;
	}
	.w980 {
		width: 980px;
	}
	/*背景色の中のブロック*/
	/*.bg-gray .w546 {
		width: 504px;
	} */
	/**/
	.w260.cms_fl + .w260.cms_fl {
		margin-left: 33px;
	}
}
/* ----------------------
 横幅（SP）
---------------------- */
@media screen and (max-width: 767px) {
	.w1-2 + .w1-2:not(.sp_w1-2),
	.w1-3 + .w1-3:not(.sp_w1-3),
	.w1-3 + .w2-3:not(.sp_w2-3),
	.w2-3 + .w1-3:not(.sp_w1-3) {
		margin-top: 20px !important;
	}
	.w1-3 img {
		width: 100%;
	}
	.sp_w1-2 {
		width: 47%;
	}
	.sp_w1-3 {
		width: 30%;
	}
	.sp_w2-3 {
		width: 65%;
	}
	.sp_w1-3.cms_fl + .sp_w1-3.cms_fl,
	.sp_w1-3.fl + .sp_w1-3.fl {
		margin-left: 5%;
	}
	.sp_w1-2.cms_fl,
	.sp_w1-2.fl,
	.sp_w1-3.cms_fl,
	.sp_w1-3.fl,
	.sp_w2-3.cms_fl,
	.sp_w2-3.fl {
		float: left !important;
	}
	.sp_w1-2.cms_fr,
	.sp_w1-2.fr,
	.sp_w1-3.cms_fr,
	.sp_w1-3.fr,
	.sp_w2-3.cms_fr,
	.sp_w2-3.fr {
		float: right !important;
	}
}

/* ------------------------------
 ボックス（PC）
------------------------------ */
/* 横並び */
.flexBox {
	display: flex !important;
	flex-wrap: wrap;
}
.cms_block.flexBox::after {
	content: none;
}
/* 横並び センター揃え */
.flexBox.jc-c {
	justify-content: center;
}
/* 横並び 端揃え */
.flexBox.jc-sb {
	justify-content: space-between;
}
/* 横並び 縦センター揃え */
.flexBox.ai-c {
	align-items: center;
}
/* 横並び4列（SP横並び2列） */
.flexBox.div4 {
	flex-wrap: wrap;
}
/* 横並びで写真キャプションが上 */
.flexBox.capTop > * {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
@media print, screen and (min-width: 768px) {
	/* 横並び2列 */
	.flexBox.div2 {
		flex-wrap: wrap;
		gap: 40px 48px;
	}
	.flexBox.div2 > * {
		width: 546px;
		margin-bottom: 0;
	}

	/* 横並び3列 */
	.flexBox.div3 {
		flex-wrap: wrap;
		gap: 40px 30px;
	}
	.flexBox.div3 > * {
		width: 360px;
		margin-bottom: 0;
	}
	
	/* 横並び4列（SP横並び2列） */
	.flexBox.div4 {
		gap: 40px 36px;
	}
	.flexBox.div4 > * {
		width: 258px;
		margin-bottom: 0;
	}
	
}
/* ------------------------------
 ボックス（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* グラデ枠ボックス */
	.borderBox {
		padding: 17px 27px 27px;
	}
	/* 横並び2列・横並び3列 */
	.flexBox.div2,
	.flexBox.div3 {
		display: block !important;
	}
	/* 横並び4列（SP横並び2列） */
	.flexBox.div4 > * {
		width: 47.895%;
	}
	.flexBox.div4 {
		gap: 0 4.21%;
	}
}
/* ------------------------------
 グリッド
------------------------------ */
@media print, screen and (min-width: 768px) {
	.grid-box2{
	  	display: grid;
	  	grid-template-columns: 546px 546px;
	  	column-gap: 48px;
	  	row-gap: 48px;
	}
	.grid-box3{
	  	display: grid;
	  	grid-template-columns: 350px 350px 350px;
	  	column-gap: 48px;
	  	row-gap: 20px;
	}
	.grid-box4{
	  	display: grid;
	  	grid-template-columns: 258px 258px 258px 258px;
	  	column-gap: calc((100% - 1032px) / 3);
	  	row-gap: 20px;
	}
	/* 順番 */
	.order1 { order: 1;}
	.order2 { order: 2;}
	.order3 { order: 3;}
}
@media screen and (max-width: 767px) {
	.grid-box2 a{
	  	margin-bottom: 40px;
	}
	.grid-box3 img{
	  	width: 100%;
	}
	.grid-box4{
	  	display: grid;
	  	grid-template-columns: 47.5% 47.5%;
	  	column-gap: 5%;
	  	row-gap: 20px;
	}
}
/* hover画像拡大 */
a .img-hover {
	overflow: hidden;
	display: block;
	position: relative;
}
a .img-hover img {
	display: block;
	transition-duration: 0.3s;
	overflow: hidden;
	display: block;
	width: 100%;
}
a:hover .img-hover img, a:focus .img-hover img {
	opacity: 1;
	overflow: hidden;
	transform: scale(1.1);
	transition-duration: 0.3s;
}
/* ------------------------------
 下線
------------------------------ */
.border_b {
	border-bottom: 1px solid #d0d0d1;
	padding-bottom: 30px;
	margin-bottom: 30px;
}
/* ------------------------------
 テーブル（PC）
------------------------------ */
/* デフォルト */
.contents .wp-block-table thead {
	border-bottom: inherit;
}
.contentsTop table,
.contents table {
	width: 100%;
	border-collapse: collapse;
	overflow: hidden;
}
.contentsTop table th,
.contents table th {
	padding: 15px 15px 15px 0;
	font-weight: 600;
}
.contentsTop table td,
.contents table td {
	padding: 15px 15px 15px 20px;
}

.contentsTop table th,
.contents table th,
.contentsTop table td,
.contents table td {
	padding: 15px 20px;
	border: 1px solid #d0d0d1;
	vertical-align: top;
}
.contentsTop table th,
.contents table th {
	background-color: #f2f3f4;
}

/* 下線テーブル */
.contentsTop .lineTB table tr th,
.contents .lineTB table tr th { 
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid #d0d0d1;
	background: none;
	width: 22%;
	padding: 15px 10px;
}
.contentsTop .lineTB table tr td,
.contents .lineTB table tr td {
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid #d0d0d1;
	padding: 15px 10px;
}

/* ------------------------------
 テーブル（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.contentsTop table th,
	.contentsTop table td,
	.contents table th,
	.contents table td {
		padding: 15px 15px 10px 15px;
	}
	/* レスポンシブ */
	.contentsTop .res table th,
	.contentsTop .res table td,
	.contents .res table th,
	.contents .res table td{
		display: block;
		width: auto !important;
		border-bottom: none !important;
		border-left: none !important;
	}
	/* 下線テーブル */
	.contentsTop .lineTB table tr th,
	.contents .lineTB table tr th { 
		display: block;
		width: 100%;
		padding: 15px 0 0;
		border-bottom: none;
	}
	.contentsTop .lineTB table tr td,
	.contents .lineTB table tr td {
		display: block;
		width: 100%;
		padding: 0 0 15px;
	}

	/* スクロール */
	.scroller table {
		width: 768px !important;
		max-width: 768px !important;
	}
	.scroller table th,
	.scroller table td {
		padding: 10px;
	}
}

/* ------------------------------
 リスト（PC）
------------------------------ */
/* シンプルリスト・付き */
.list-simple ul > li,
ul.list-simple > li {
	position: relative;
	padding-left: 1em;
}
.list-simple ul > li::before,
ul.list-simple > li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
/* ノーマルリスト●付き */
.icon_list ul > li,
ul.icon_list > li {
	position: relative;
	padding-left: 1.25em;
	line-height: 1.5;
	margin-bottom: 5px;
}
.icon_list ul > li::before,
ul.icon_list > li::before {
	content: "●";
	position: absolute;
	top: .6em;
	left: 0;
	color: #092e5a;
	font-size: 60%;
}
/* 横並び */
.inline ul li {
	display: inline-block;
	margin-right: 2em;
}
/* 数字 */
.icon_list ol > li,
ol.icon_list > li {
	counter-increment: count 1;
	position: relative;
	padding-left: 2.5em;
	margin-bottom: 20px;
	line-height: 1.5;
	padding-top: 1px;
}
.icon_list ol > li:before,
ol.icon_list > li:before {
	content: counter(count)"";
	position: absolute;
	top: 0;
	left: 0;
	font-size: 2rem;
	color: rgb(255, 255, 255);
	font-family: "Montserrat", sans-serif;
	background: rgb(35, 60, 110);
	width: 32px;
	height: 32px;
	border-radius: 3px;
	display: inline-block;
	margin-right: 10px;
	text-align: center;
	line-height: 32px;
	vertical-align: 2px;
	font-weight: 600;
}
ol.icon_list > li ul {
	margin-top: 10px;
}
/*checkアイコン*/
.checklist ul li {
	font-weight: 600;
	line-height: 2.1;
	padding-left: 2em;
}
.checklist ul li::before {
	content: "";
	width: 23px;
	height: 23px;
	background: url('../img/icon_checklist.svg') no-repeat center / 23px;
	color: transparent;
}
/* 横並び2列・3列 */
@media print, screen and (min-width: 768px) {
	.div2 > ul,
	.div3 > ul,
	.div4 > ul {
		display: flex;
		flex-wrap: wrap;
	}
	.div2.gap-m ul,
	.div3.gap-m ul,
	.div4.gap-m ul {
		gap: 25px 0;
	}
	.gap-m:not(.div2):not(.div3):not(.div4) ul li:not(:last-child) {
		margin-bottom: 25px;
	}
	.div2 > ul li,
	.div3 > ul li,
	.div4 > ul li {
		padding-right: 1em;
	}
	.div2 > ul li {
		width: 50%;
	}
	.div3 > ul li {
		width: calc(100% / 3);
	}
	.div4 > ul li {
		width: calc(100% / 4);
	}
}
/* fire fox 調整 */
@-moz-document url-prefix(){
	.cms_text ul > li::before,
	.cms_image ul > li::before {
		top: 6px;
	}
}
/* ------------------------------
 リスト（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* 横並び */
	.inline ul li {
		margin-right: 1em;
	}
	.gap-m:not(.div2):not(.div3) ul li:not(:last-child) {
		margin-bottom: 15px;
	}
	/* 横並び2列・3列 */
	.div2 ul,
	.div3 ul,
	.div4 ul {
		display: flex;
		flex-wrap: wrap;
	}
	.div2 > ul li,
	.div3 > ul li,
	.div4 > ul li {
		padding-right: 1em;
		width: 50%;
	}
}
/* ------------------------------
 PDF
------------------------------ */
.link_pdf a {
	text-decoration: underline;
}
.link_pdf a::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 22px;
	background: url(../img/icon_pdf.svg) no-repeat;
	vertical-align: middle;
	margin: 0 10px 0.3em 0;
}
/* ------------------------------
 ボタン（PC）
------------------------------ */
.btn a,
a .btn {
	position: relative;
	display: inline-block;
	font-weight: 600 !important;
	min-width: 260px;
	font-size: 1.8rem !important;
	text-align: left;
	text-decoration: none;
	color: #fff;
	background: #233c6e;
	border-radius: 80px;
	padding: 22px 40px;
	text-align: center;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	line-height: 1.2;
}
.btn a::after,
a .btn::after {
	content: "";
	position: absolute;
	display: inline-block;
	width: 15px;
	height: 11px;
	right: 25px;
	top: 0;
	bottom: 0;
	margin: auto;
	background: url('../img/icon_arrow_w.svg') no-repeat center / 100%;
	-webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
.btn a:hover {
	opacity: 1;
	background: #325fc8;
}
.btn.under_btn a::after {
	transform: rotate(90deg);
}
.btn.blank a::after,
a .btn.blank::after {
	display: block;
	content: "";
	position: absolute;
	right: 30px;
	width: 11px;
	height: 11px;
	background: url('../img/icon_blank_w.svg') no-repeat;
	border: none;
	transform: rotate(0deg);
	margin-left: 8px;
}
/* ------------------------------
 PC用限定CSS
------------------------------ */
@media print, screen and (min-width: 768px) {

}
/* ----------------------
 スマホ用コード
---------------------- */
@media screen and (max-width: 767px) {
	.btn a,
	a .btn {
		min-width: 230px;
		font-size: 1.6rem !important;
		padding: 20px 30px;
	}
	.btn a::after, a .btn::after {
		width: 16px;
		right: 15px;
	}
}
@media screen and (max-width: 374px) {
	.btn a,
	a .btn {
		min-width: 100%;
	}
}

/* ------------------------------
 背景
------------------------------ */
.colorBox-a {
	border-radius: 15px;
	padding: 70px 60px;
	background-color: #F2F2F2;
}
/* ----------------------
 スマホ用コード
---------------------- */
@media screen and (max-width: 767px) {
	.colorBox-a {
		padding: 35px 20px;
	}
}
/* ------------------------------
 youtube埋め込み
------------------------------ */
.movie {
	position: relative;
	/* width: 100%; */
}
.movie:before {
	content:"";
	display: block;
	padding-top: 57.6923%;
}
.movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.movie.r20 iframe {
	border-radius: 20px;
}
@media screen and (max-width: 767px) {
	.movie.r20 iframe {
		border-radius: 15px;
	}
}
/* ------------------------------
 角R（PC）
------------------------------ */
.r10,
.r10 img {
	border-radius: 10px;
}
.r15,
.r15 img {
	border-radius: 15px;
}
.r20,
.r20 img {
	border-radius: 20px;
}
.r35,
.r35 img {
	border-radius: 35px;
}
.r0,
.r0 img {
	border-radius: 0 !important;
}
/* ------------------------------
 角R（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.r10,
	.r10 img {
		border-radius: 6px;
	}
	.r15,
	.r15 img {
		border-radius: 10px;
	}
	.r20,
	.r20 img {
		border-radius: 15px;
	}
	.r35,
	.r35 img {
		border-radius: 20px;
	}
}
/* ------------------------------
 ページ内リンク
------------------------------ */
.page-link {
	display: flex;
	background-color: #F1F1F1;
}
.page-link > * {
	margin: 0 !important;
}
.page-link a,
.page-link .cms_link a {
	font-size: 1.8rem;
	font-weight: 600;
}
.page-link a::after,
.page-link .cms_link a::after {
	content: "";
	width: 20px !important;
	height: 20px !important;
	transform: rotate(90deg);
	background: url(../img/icon_arrow.svg) no-repeat 0 0 / cover !important;
}
/* ------------------------------
 PC用限定
------------------------------ */
@media print, screen and (min-width: 768px) {
	.page-link {
		align-items: center;
		justify-content: center;
		flex-flow: row wrap;
		padding: 20px 40px;
		gap: 20px 40px;
		border-radius: 80px;
		margin-top: 150px;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.page-link {
		flex-flow: wrap;
		padding: 25px 30px;
		border-radius: 10px;
		gap: 10px 0;
	}
	.page-link > * {
		width: 100%;
	}
}
/* ------------------------------
 リンクボックス
------------------------------ */
.menu-link {
	position: relative;
}
.menu-link.w1-3 {
	width: 359px;
	height: 242px;
}
.menu-link a:hover {
	opacity: 1;
}
.menu-link a .img_hover {
	border-radius: 16px;
}
.menu-link .textBox {
	position: absolute;
	bottom: 25px;
	left: 30px;
	right: 0;
	margin: auto;
	color: #fff;
	font-size: 2.8rem;
	font-weight: 600;
}
.menu-link .textBox p::after {
	content: "";
	position: absolute;
	display: inline-block;
	width: 30px;
  	height: 30px;
	right: 30px;
	top: 0;
	bottom: 0;
	margin: auto;
	background: url('../img/icon_arrow_circle_w.svg') no-repeat center / 100%;
}
.menu-link h3 {
  position: absolute;
  left: 35px;
  top: 45px;
  z-index: 2;
  border-left: none;
  padding-left: 0;
  letter-spacing: normal;
  line-height: 1.4;
}
.menu-link h3 .ja {
  font-size: 11rem !important;
  font-weight: normal !important;
  color: #fff;
  font-family: "Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1;
}
.menu-link h3 .en {
  font-size: 1.81rem !important;
  font-weight: 300 !important;
  color: #fff !important;
  margin-left: 8px;
  display: block;
  font-family: "Montserrat", sans-serif;
}
/* ------------------------------
 リンクボックス（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.menu-link.w1-3 {
		width: 100%;
		height: auto;
	}
	.menu-link .textBox {
		padding-right: 60px;
		left: 5%;
		font-size: 1.8rem;
	}
	.menu-link .textBox p::after {
		right: 5%;
	}
	.menu-link h3 {
		left: 5%;
		top: 25px;
	}
	.menu-link h3 .ja {
		font-size: 5.2rem !important;
	}
	.menu-link h3 .en {
		font-size: 1.2rem !important;
		margin-left: 5px;
		margin-top: 2px;
	}
}
/* ------------------------------
 リンク一覧
------------------------------ */


/* ------------------------------
 お知らせ
------------------------------ */
.newsTab {
	margin-bottom: 60px;
}
/* -- お知らせタブ -- */
.newsTab input {
	display: none;
}
.newsTab .tab_item {
	font-weight: 600;
	display: block;
	width: fit-content;
	font-size: 1.6rem;
	color: #233c6e;
	background: #fff;
	cursor: pointer;
	border: solid 1px #fff;
	border-radius: 50px;
	padding: 1px 15px;
	margin-bottom: 10px;
	transition: background-color 0.3s;
}
/* タブ選択時 */
input:checked + .tab_item {
	color: #fff;
	background: #233c6e;
	border: solid 1px #233c6e;
}
input:checked + .tab_item span::before {
	display: inline-block;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	content: "";
	background: #fff;
	vertical-align: middle;
	margin-right: 6px;
}
/* -- お知らせリスト -- */
.newsList {
	border-top: solid 1px #d0d0d1;
	background: #fff;
}
.newsList li {
	padding: 30px 0;
  	border-bottom: solid 1px #d0d0d1;
}
.newsList li a {
	color: #1A1A1A;
}
.newsList li .title {
	font-size: 1.8rem;
}
.newsList li a:hover {
	opacity: 1;
}
.newsList li .title a:hover {
	color: #233c6e;
}
.newsList li.new .title::after {
	display: inline-block;
	content: "New";
	background: #f1363a;
	width: 40px;
	height: 18px;
	color: #fff;
	font-size: 1.1rem;
	font-family: "Montserrat", sans-serif;
	text-align: center;
	vertical-align: baseline;
	line-height: 18px;
	font-weight: 600;
	border-radius: 3px;
}
.date {
	width: fit-content;
	display: inline-block;
	font-size: 1.8rem;
}
.newsData {
	width: 210px;
}
.cate {
	font-size: 1.3rem;
	color: #fff;
	background-color: #62686D;
	width: fit-content;
	height: 24px;
	padding: 0 12px;
	line-height: 24px;
	min-width: 80px;
	text-align: center;
	display: inline-block;
	vertical-align: text-bottom;
	margin-left: 15px;
	border-radius: 30px;
}
.cate1 .cate,
.is-whatsnew .cate {
	background-color: #405fb9;
}
.cate2 .cate,
.is-recruit .cate {
	background-color: #8bb730;
}
.cate3 .cate,
.is-csr .cate {
	background-color: #29a0ae;
}
.number {
	font-size: 2rem;
	color: #233c6e;
	display: block;
	font-weight: 600;
	margin-bottom: 20px;
}
.number strong {
	font-size: 12rem;
	color: #eeeae7;
	display: block;
	font-family: "Inter", sans-serif;
	font-weight: 600;
  	line-height: 1;
	margin-bottom: -30px;
}

/* ------------------------------
 PC用
------------------------------ */
@media print, screen and (min-width:768px){
	.newsBlock {
		padding: 60px 0 120px;
	}
	.newsBlock .inBlock {
		display: flex;
		justify-content: space-between;
	}
	.contentsHome .newsBlock h2 {
		margin-bottom: 80px;
	}
	.contentsHome .newsBlock h2 .en {
		font-size: 2rem;
		margin-bottom: 5px;
	}
	.contentsHome .newsBlock h2 .ja {
		font-size: 3.6rem;
	}

	.newsBlock .inBlock::before,
	.newsBlock .inBlock::after {
		width: 95px;
		height: 95px;
	}
	.newsBlock .inBlock::before {
		left: -30px;
		bottom: -30px;
	}
	.newsBlock .inBlock::after {
		top: -40px;
		right: -110px;
	}
	.newsBox {
		display: flex;
	}
	.newsList li .title {
		width: calc(100% - 210px);
	}
	/* -- お知らせタブ -- */
	.newsBlock .newsTab .newsContents {
		width: 830px;
	}
	.newsTab .tab_item {
		height: 34px;
		min-width: 110px;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
  	.newsBlock {
		padding: 80px 5% ;
	}
	.newsBlock .inBlock::before {
		left: 0;
		bottom: -60px;
	}
	.newsBlock .inBlock::after {
		top: -30px;
		right: 0;
	}
	.contentsHome .newsBlock h2 .en {
		font-size: 1.6rem;
		margin-bottom: 0;
	}
	.contentsHome .newsBlock h2 .ja {
		font-size: 2.3rem;
	}
	.newsList li .title {
		font-size: 1.6rem;
	}
	.date {
		font-size: 1.6rem;
	}

	/* -- お知らせタブ -- */
	.newsTab .tab_item {
		font-size: 1.4rem;
		display: inline-block;
	}
	/* タブ選択時 */
	input:checked + .tab_item::before {
		height: 4px;
	}

	/* -- お知らせリスト -- */
	.newsList {
		margin-bottom: 40px;
	}
	.newsList li {
		padding: 15px 0;
	}
	.newsList li a .text {
		font-size: 1.3rem;
	}
	.number {
		font-size: 1.8rem;
		margin-bottom: 0;
	}
	.number strong {
		font-size: 7rem;
		margin-bottom: -25px;
	}
}
/* ------------------------------
 見出し1（PC）
------------------------------ */
.headingBlock {
	padding: 95px 0px 388px;
	background: url("../img/header_bg.jpg") center top / cover no-repeat;
	position: relative;
}

.mainimg {
	margin-left: calc(50% - 50vw);
}
.headingBlock.noImg {
	padding: 130px 0px 130px;
	background: url("../img/header_bg.jpg") center top / cover no-repeat;
	position: relative;
	margin-bottom: 90px;
}
.contents .headingBlock.noImg h1 {
	text-align: center;
}
.contents .headingBlock.noImg h1::before {
	left: 0;
	right: 0;
	margin: auto;
}
.contents .headingBlock.noImg h1 span.ja {
	font-size: 4rem;
	font-feature-settings: initial;
	margin-top: 30px;
}
.contents .headingBlock.noImg h1 span.en {
	font-size: 1.4rem;
}
@media print, screen and (min-width:768px){
	.heading {
		padding: 70px 0 0;
		width: 1140px;
		margin-left: auto;
		margin-right: auto;
	}
	.mainimg {
		margin-top: -335px;
	}
	.mainimg img {
		width: 100%;
		object-fit: cover;
		height: 850px;
		overflow: hidden;
		border-radius: 0 40px 40px 0;
		display: flex;
		align-items: center;
		min-width: 100%;
		margin-bottom: 90px !important;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.headingBlock {
		padding: 60px 0px 100px;
	}
	.mainimg {
		margin-top: -70px;
		margin-bottom: 40px !important;
	}
	.mainimg img {
		border-radius: 0 10px 10px 0;
	}
	.headingBlock.noImg {
		padding: 60px 0px 60px;
		margin-bottom: 40px;
	}
	.contents .headingBlock.noImg h1 span.ja {
		font-size: 2.4rem;
		margin-top: 15px;
		margin-bottom: 8px;
	}
	.contents .headingBlock.noImg h1 span.en {
		font-size: 1.1rem;
	}
}
/* ------------------------------
 リンクブロック
------------------------------ */
.linkBlock ul li {
	margin-bottom: 50px;
}
.linkBlock ul li img {
	border-radius: 15px;
}
.linkBlock ul li a {
	position: relative;
	display: block;
}
.linkBlock ul li a:hover {
	opacity: 1;
}
.linkBlock ul li a .img_hover {
	height: fit-content;
	border-radius: 15px;
	margin-bottom: 20px;
}
.linkBlock ul li a .img_hover::after {
	display: block;
	content: "";
	background: linear-gradient(rgba(35, 48, 58, 0) 0, rgba(35, 48, 58, 0.3) 33%, rgba(35, 48, 58, 0.6) 66%, rgba(35, 48, 58, 0.9) 100%);
	height: 100px;
	position: absolute;
	bottom: 0;
	width: 100%;
	mix-blend-mode: multiply;
}
.linkBlock ul li a p.title {
	position: absolute;
	bottom: 20px;
	left: 0;
	font-size: 2.2rem;
	color: #fff;
	font-weight: 600;
	z-index: 2;
	width: 100%;
	padding: 0 25px;
}
.linkBlock ul li a p.title::after {
	content: "";
	position: absolute;
	display: inline-block;
	width: 40px;
	height: 40px;
	right: 25px;
	top: 0;
	bottom: 0;
	margin: auto;
	background: url('../img/icon_arrow.svg') no-repeat center / 100%;
}
/* --- 横幅wideリンクブロック --- */
.wide .linkBlock ul li {
	margin-bottom: 0;
}
.wide .linkBlock ul li img {
	border-radius: 0;
}
.wide .linkBlock ul li a .img_hover {
	border-radius: 0;
	margin-bottom: 0;
}
.wide .linkBlock ul li a p.title {
	bottom: 45px;
	font-size: 2.4rem;
	width: fit-content;
	right: 0;
	margin: auto;
}
.wide .linkBlock ul li a p.title::after {
	right: -30px;
}

@media print, screen and (min-width:768px) {
	.linkBlock ul {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.linkBlock ul li {
		width: 47.89474%;
	}
	/* --- 横幅wideリンクブロック --- */
	.wide .linkBlock ul li {
		width: 50%;
	}
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.linkBlock ul li {
		margin-bottom: 20px;
	}
	.linkBlock ul li a .img_hover {
		margin-bottom: 10px;
	}
	.linkBlock ul li a p.title {
		font-size: 1.8rem;
		padding: 0 15% 0 5%;
	}
	.linkBlock ul li a p.title::after {
		width: 30px;
		height: 30px;
		right: 5%;
	}
	.wide .linkBlock ul li a p.title {
		bottom: 20px;
		font-size: 1.8rem;
		right: 0;
		margin: auto;
	}
	.wide .linkBlock ul li a p.title::after {
		right: -20px;
	}
	
}
/* ------------------------------
 主要設備
------------------------------ */
.equipmentBox {
	display: flex;
	justify-content: space-between;
	align-items:flex-start;
}
.equipmentBox img {
	width: 258px !important;
  	border-radius: 10px !important;
}
.equipmentBox .wp-element-caption {
	width: 258px;
	margin-top: 0;
}
.equipmentBox .wp-element-caption strong {
	font-size: 2.2rem;
}

/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	.equipmentBox img {
		width: 42% !important;
	}
	.equipmentBox .wp-element-caption {
		width: 55%;
		margin-top: 0;
		line-height: 1.5;
		font-size: 1.5rem;
	}
	.equipmentBox .wp-element-caption strong {
		font-size: 1.8rem;
		line-height: 1;
	}
}
/* ------------------------------
 サービスフロー
------------------------------ */
.flowBox {
	gap: 0;
	margin-bottom: 50px !important;
}
.flowBox .textBox .headline {
	font-size: 2.2rem;
	font-weight: 600;
	margin-bottom: 10px;
	text-indent: -42px;
    padding-left: 42px;
}
.flowBox .textBox .headline strong {
	font-size: 2rem;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	background: #233c6e;
	width: 32px;
	height: 32px;
	border-radius: 3px;
	display: inline-block;
	margin-right: 10px;
	text-align: center;
	line-height: 32px;
	vertical-align: 2px;
	text-indent: initial;
}
.flowBox .textBox a {
	text-decoration: underline;
	position: relative;
	padding-left: 30px;
	margin-top: 5px;
	display: inline-block;
}
.flowBox .textBox a::before {
	content: "";
	position: absolute;
	display: inline-block;
	width: 22px;
	height: 22px;
	left: 0;
	top: 4px;
	bottom: 0;
	margin: auto;
	background: url('../img/icon_circle_arrow.svg') no-repeat center / 100%;
}
.flow_arrow {
	position: relative;
}
.flow_arrow::after {
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 16px solid transparent;
	border-left: 16px solid transparent;
	border-top: 14px solid #cbc1b7;
	border-bottom: 0;
	display: block;
	content: "";
	left: 0;
	right: 0;
	margin: auto;
	bottom: -33px;
}
@media print, screen and (min-width:768px) {
	.flowBox .imgBox {
		width: 400px;
	}
	.flowBox .imgBox img {
		border-radius: 15px 0 0 15px !important;
	}
	.flowBox .textBox {
		width: 740px;
		border-top: 4px solid #edf0f5;
		border-bottom: 4px solid #edf0f5;
		border-right: 4px solid #edf0f5;
		border-radius: 0 15px 15px 0;
		padding: 32px 50px;
	}
}
@media screen and (max-width: 767px) {
	.flowBox .imgBox img {
		border-radius: 15px 15px 0 0 !important;
	}
	.flowBox .textBox {
		border-left: 4px solid #edf0f5;
		border-bottom: 4px solid #edf0f5;
		border-right: 4px solid #edf0f5;
		border-radius: 0 0 15px 15px;
		padding: 30px 5%;
	}
	.flowBox .textBox .headline {
		font-size: 2rem;
		margin-bottom: 10px;
	}
}
.half_bg {
	position: relative;
}
.half_bg::before {
	content: "";
    display: block;
    position: absolute;
    width: 50%;
    height: 1450px;
    right: -65px;
  	top: 460px;
    background-color: #f2f3f4;
    border-radius: 15px;
	z-index: -1;
}
@media screen and (max-width: 767px) {
	.half_bg::before {
		width: 56%;
		height: 1550px;
		right: -6%;
		top: 100px;
		border-radius: 15px 0 0 15px;
	}
}
