@charset "utf-8";
/* ------------------------------
 見出し・テキスト（PC）
------------------------------ */
/* コンテンツトップ h1 */
.contentsTop h1 {
	min-width: 474px;
	background: #fff;
	color: #004da0;
	padding-top: 60px;
	padding-right: 60px;
	line-height: 1;
	position: absolute;
	left: 0;
	bottom: -1px;
	border-radius: 0 20px 0 0;
	font-size: 1rem;
}
.contentsTop h1 .en {
	display: block;
	font-size: 8rem;
	font-weight: 400;
}
.contentsTop h1 .ja {
	display: block;
	margin-top: 15px;
	font-size: 2.1rem;
	font-weight: bold;
}
.contentsTop h1::after {
	content: "";
	display: block;
	width: 38px;
	height: 10px;
	margin-top: 17px;
	margin-left: 4px;
	background: url("../img/icon_headline.svg") 0px 0px / cover no-repeat;
}
/* コンテンツ h1 */
.contents h1 {
	color: #004da0;
	padding-top: 60px;
	padding-right: 60px;
	line-height: 1;
}
.contents h1 .en {
	display: block;
	font-size: 1.6rem;
	font-weight: 400;
}
.contents h1 .ja {
	display: block;
	margin-top: 15px;
	font-size: 3.6rem;
	font-weight: bold;
	margin-bottom: 15px;
}
.contents h1::after {
	content: "";
	display: block;
	width: 38px;
	height: 10px;
	margin-top: 17px;
	margin-left: 4px;
	background: url("../img/icon_headline.svg") 0px 0px / cover no-repeat;
}
/* 検索詳細ページ h1 */
.contents .detail h1 {
	position: relative;
	font-size: 3.6rem;
	color: #000;
	font-weight: bold;
	line-height: 1.5;
	padding: 15px 0 25px;
	margin-bottom: 80px !important;
}
.contents .detail h1::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: #d7e2e6;
}
.contents .detail h1::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 120px;
	height: 3px;
	margin-left: 0;
	background: url('../img/icon_h2.svg') no-repeat center center;
}
/* お知らせ h1 */
.contents .mainContents h1 {
	position: relative;
	font-size: 2.9rem;
	font-weight: bold;
	line-height: 1.5;
	padding-top: 0;
    padding-bottom: 20px;
	margin-bottom: 40px;
}
.contents .mainContents h1::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: #d7e2e6;
}
.contents .mainContents h1::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 120px;
	height: 3px;
	background: url('../img/icon_h2.svg') no-repeat center center;
	margin-left: 0;
}
/* コンテンツトップ・コンテンツ h2 */
.contentsTop h2,
.contents h2 {
	position: relative;
	font-size: 2.9rem;
	color: #004da0;
	font-weight: bold;
	line-height: 1.5;
    padding-bottom: 20px;
	margin-bottom: 40px;
}
.contentsTop h2::before,
.contents h2::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: #d7e2e6;
}
.contentsTop h2::after,
.contents h2::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 120px;
	height: 3px;
	background: url('../img/icon_h2.svg') no-repeat center center;
}
/* コンテンツトップ・コンテンツ h3 */
.contentsTop h3,
.contents h3 {
	margin-bottom: 25px;
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: bold;
}
.cms_caption_b h3 {
	margin-top: 20px;
	margin-bottom: 15px;
}
/* コンテンツトップ・コンテンツ h4 */
.contentsTop h4,
.contents h4 {
	position: relative;
	margin-bottom: 20px;
	padding-left: 16px;
	font-size: 2.4rem;
	line-height: 1.25;
	font-weight: bold;
	border-left: 3px solid #004da0;
}
/* コンテンツトップ・コンテンツ h5 */
.contentsTop h5,
.contents h5 {
	margin-bottom: 15px;
	padding-left: 20px;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: bold;
	position: relative;
}
.contentsTop h5::before,
.contents h5::before {
	content: "";
	position: absolute;
	top: .4em;
	left: 0;
	background-color: #004da0;
	height: 12px;
	width: 12px;
	border-radius: 50%;
}
/* コンテンツトップ・コンテンツ h6 */
.contentsTop h6,
.contents h6 {
	margin-bottom: 10px;
	font-size: 2rem;
	line-height: 1.3;
	font-weight: bold;
}
.cms_caption_b h6 {
	margin-top: 20px;
}
/* メインリード */
.mainLead {
	font-size: 3.6rem;
	font-weight: bold;
}
/* 英語 */
.en {
	font-family: "Poppins", sans-serif;
	font-weight: 400;
}
strong .en {
	font-weight: 500;
}
.emphasis {
	font-size: 8rem;
	font-family: "Poppins", sans-serif;
	font-weight: 600;
	line-height: 1;
}
@media print, screen and (min-width: 768px) {
}
/* ------------------------------
 見出し・テキスト（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* コンテンツトップ h1 */
	.contentsTop h1 {
		min-width: fit-content;
		padding: 30px 30px 0 5%;
	}
	.contentsTop h1 .en {
		font-size: 3.8rem;
	}
	.contentsTop h1 .ja {
		font-size: 1.6rem;
		margin-top: 5px;
	}
	.contentsTop h1::after {
		position: absolute;
		bottom: -30px;
	}
	/* コンテンツ h1 */
	.contents h1 {
		width: 100%;
		margin-bottom: 30px;
		padding: 30px 0 0;
		font-size: 2.8rem;
		line-height: 1.4;
	}
	.contents h1 .ja {
		font-size: 2.4rem;
		margin-top: 10px;
    	margin-bottom: 2px;
	}
	.contents h1 .en {
		font-size: 1.1rem;
	}
	.contents h1::after {
		margin-top: 15px;
		margin-left: 0;
	}
	/* 検索詳細ページ h1 */
	.contents .detail h1 {
		font-size: 2rem;
		padding: 5px 0 20px;
		margin-bottom: 40px !important;
	}
	.contents .detail h1::after {
		width: 65px;
	}
	/* コンテンツトップ・コンテンツ h2 */
	.contentsTop h2,
	.contents h2 {
		font-size: 2rem;
		margin-bottom: 30px;
	}
	.contentsTop h2::before,
	.contents h2::before {
		height: 2px;
		background: #d7e2e6;
	}
	.contentsTop h2::after,
	.contents h2::after {
		width: 90px;
		height: 2px;
		background: url('../img/icon_h2_sp.svg') no-repeat center center;
	}
	/* コンテンツトップ・コンテンツ h3 */
	.contentsTop h3,
	.contents h3 {
		margin-bottom: 15px;
		font-size: 1.8rem;
	}
	/* コンテンツトップ・コンテンツ h4 */
	.contentsTop h4,
	.contents h4 {
		margin-bottom: 20px;
		padding-left: 15px;
		font-size: 2rem;
	}
	/* コンテンツトップ・コンテンツ h5 */
	.contentsTop h5,
	.contents h5 {
		margin-bottom: 15px;
		padding-left: 18px;
		font-size: 1.8rem;
	}
	.contentsTop h5::before,
	.contents h5::before {
		height: 10px;
  		width: 10px;
	}
	/* コンテンツトップ・コンテンツ h6 */
	.contentsTop h6,
	.contents h6 {
		margin-bottom: 10px;
		font-size: 1.7rem;
	}
	/* メインリード */
	.mainLead {
		font-size: 2.6rem;
	}
	.contents .mainLead {
		font-size: 2.2rem;
		margin-bottom: 15px;
	}
	.emphasis {
		font-size: 3rem;
	}
}

/* ------------------------------
 横幅（PC）
------------------------------ */
@media print, screen and (min-width: 768px) {
	/* 1/2 */
	.w1-2,
	.w546 {
		width: 47.895%;
	}
	/* ローカルメニューあり1/2 */
	.mainContents .w392,
	.mainContents .w1-2 {
		width: 47.805%;
	}
	/* 1/3 */
	.w1-3,
	.w350 {
		width: 30.702%;
	}
	.w1-3.cms_fl + .w1-3.cms_fl:not(.cms_clear_before),
	.w1-3.fl + .w1-3.fl:not(.cms_clear_before),
	.w350.cms_fl + .w350.cms_fl:not(.cms_clear_before),
	.w350.fl + .w350.fl:not(.cms_clear_before) {
		margin-left: 3.947%;
	}
	.w350.cms_fl + .w350.cms_fl.ml0 {
		margin-left: 0;
	}
	/* ローカルメニューあり1/3 */
	.mainContents .w350,
	.mainContents .w1-3 {
		width: 31.22%;
	}
	.mainContents .w350.cms_fl + .w350.cms_fl:not(.cms_clear_before),
	.mainContents .w350.fl + .w350.fl:not(.cms_clear_before),
	.mainContents .w1-3.cms_fl + .w1-3.cms_fl:not(.cms_clear_before),
	.mainContents .w1-3.fl + .w1-3.fl:not(.cms_clear_before) {
		margin-left: 3.17%;
	}
	/* 2/3 */
	.w2-3,
	.w745 {
		width: 65.351%;
	}
	/* ローカルメニューあり2/3 */
	.mainContents .w745,
	.mainContents .w2-3 {
		width: 65.61%;
	}
	/* 1/4 */
	.w258,
	.w1-4 {
		width: 22.632%;
	}
	.w258.cms_fl + .w258.cms_fl,
	.w258.fl + .w258.fl,
	.w1-4.cms_fl + .w1-4.cms_fl,
	.w1-4.fl + .w1-4.fl {
		margin-left: 3.157%;
	}
	/* 3/4 */
	.w846,
	.w3-4 {
		width: 74.211%;
	}
	/* 1/5 */
	.w210,
	.w1-5 {
		width: 18.422%;
	}
	.w210.cms_fl + .w210.cms_fl,
	.w210.fl + .w210.fl,
	.w1-5.cms_fl + .w1-5.cms_fl,
	.w1-5.fl + .w1-5.fl {
		margin-left: 0.60875%;
	}
	.w890,
	.w4-5 {
		width: 78.071%;
	}
	/* その他 */
	.w980 {
		width: 980px;
	}
	
}
/* ----------------------
 横幅（SP）
---------------------- */
@media screen and (max-width: 767px) {
	.w258,
	.w1-4,
	.w1-5 {
		width: 47.25%;
	}
	.w258.cms_fl,
	.w1-4.cms_fl,
	.w1-5.cms_fl {
		float: none;
	}
	.w258.cms_fl + .w258.cms_fl,
	.w1-4.cms_fl + .w1-4.cms_fl,
	.w1-5.cms_fl + .w1-5.cms_fl {
		margin-left: 5.5%;
	}
	.w258.cms_fl + .w258.cms_fl + .w258.cms_fl,
	.w1-4.cms_fl + .w1-4.cms_fl + .w1-4.cms_fl,
	.w1-5.cms_fl + .w1-5.cms_fl + .w1-5.cms_fl {
		margin-bottom: 0;
		margin-left: 0;
	}
}

/* ------------------------------
 ボックス（PC）
------------------------------ */
/* 背景 */
.bgBox {
	padding: 40px;
	border-radius: 10px;
	background-color: #edf3f8;
}
.bgBox_b {
	padding: 40px;
	border-radius: 10px;
	background-color: #edf3f8;
	border: solid 1px #cddbe0;
}
/* 横並び */
.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 45px;
	}
	.flexBox.div3 > * {
		width: 350px;
		margin-bottom: 0;
	}

	/* 横並び4列（SP横並び2列） */
	.flexBox.div4 {
		gap: 40px 36px;
	}
	.flexBox.div4 > * {
		width: 258px;
		margin-bottom: 0;
	}

	.order1 { order: 1;}
	.order2 { order: 2;}
	.order3 { order: 3;}
}
/* ------------------------------
 角丸PC
------------------------------ */
.r10,
.r10 img {
	border-radius: 10px;
}
.r15,
.r15 img {
	border-radius: 15px;
}
.r20,
.r20 img {
	border-radius: 20px;
}
.r25,
.r25 img {
	border-radius: 25px;
}
.nor,
.cms_image.nor img,
.cms_block > .cms_image.nor img {
	border-radius: 0 !important;
}
/* ------------------------------
 隗剃ｸｸ��SP��
------------------------------ */
@media screen and (max-width: 767px) {
	.r15,
	.r15 img {
		border-radius: 8px;
	}
	.r20,
	.r20 img,
	.r25,
	.r25 img {
		border-radius: 8px;
	}
}
/* ------------------------------
 ボックス（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* 背景 */
	.bgBox {
		padding: 25px 25px 25px 30px;
	}
	/* 横並び2列・横並び3列 */
	.flexBox.div2,
	.flexBox.div3 {
		display: block !important;
	}
	/* 横並び4列（SP横並び2列） */
	.flexBox.div4 > * {
		width: 47.895%;
	}
	.flexBox.div4 {
		gap: 0 4.21%;
	}
}

/* ------------------------------
 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 #ddd;
	padding-bottom: 30px;
	margin-bottom: 30px;
}

/* ------------------------------
 テーブル（PC）
------------------------------ */
/* デフォルト */
.contentsTop table,
.contents table {
	width: 100%;
	border-collapse: collapse;
	overflow: hidden;
	border-top: solid 1px #cddbe0;
}
.contentsTop table th,
.contents table th {
	padding: 20px 25px 20px 0;
}
.contentsTop table td,
.contents table td {
	padding: 20px 25px 20px 30px;
}
.contentsTop table th,
.contents table th {
	font-weight: bold;
}
.contentsTop table th,
.contents table th {
	border-bottom: solid 1px #cddbe0;
}
.contentsTop table td,
.contents table td {
	border-bottom: solid 1px #cddbe0;
}
/* ノーマルテーブル */
.contents .nomal table {
	border: solid 1px #c1c9cf;
}
.contents .nomal table th {
	background-color: #edf3f8;
}
.contents .nomal table th,
.contents .nomal table td {
  padding: 20px;
  border-bottom: solid 1px #c1c9cf;
}
.contents .nomal table tr:not(:last-child) th,
.contents .nomal table tr:not(:last-child) td {
	border-bottom: solid 1px #c1c9cf;
}
.contents .nomal table th:not(:last-child),
.contents .nomal table td:not(:last-child) {
	border-right: solid 1px #c1c9cf;
}
@media print, screen and (min-width: 768px) {
	.contentsTop table th,
	.contents table th {
		width: 20%;
	}
}
/* ------------------------------
 テーブル（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.contentsTop table th,
	.contents table th {
		padding: 16px 20px 16px 0;
	}
	.contentsTop table td,
	.contents table td {
		padding: 16px 20px 16px 25px;
	}
	/* レスポンシブ */
	.contentsTop .res table,
	.contents .res table {
		display: block;
        width: 100%;
        box-sizing: border-box;
		word-break: break-all;
        overflow-wrap: break-word;
	}
	.contentsTop .res table th,
	.contentsTop .res table td,
	.contents .res table th,
	.contents .res table td{
		display: block;
		width: 100%;
		border-bottom: none;
		border-left: none;
	}
	.contents .res table th {
		padding: 16px 0 5px 0;
	}
	.contents .res table td {
		position: relative;
		padding: 2px 0 16px 0;
		border-bottom: 1px solid #ddd;
	}
	/* スクロール */
	.cms_text.scroller table {
		width: 1140px !important;
	}
	/* ノーマルテーブル */
	.contents .nomal.res table {
		display: table;
	}
	.contents .nomal.res table th {
		border-bottom: solid 1px #c1c9cf;
	}
	.contents .nomal.res table td {
		border-bottom: none;
	}
	.contents .nomal.res table th,
	.contents .nomal.res table td {
		padding: 10px 15px;
	}
	.contents .nomal.res table th:not(:last-child),
	.contents .nomal.res table td:not(:last-child) {
		border-right: none;
	}
}

/* ------------------------------
 リスト（PC）
------------------------------ */
/* ノーマルリスト●付き */
.cms_text ul > li,
.cms_image ul > li {
	position: relative;
	padding-left: 1em;
}
.cms_text.list-no_bold ul > li,
.cms_image.list-no_bold ul > li {
	font-weight: 500;
}
.cms_text ul > li::before,
.cms_image ul > li::before {
	content: "●";
	position: absolute;
	top: .7em;
	left: 0;
	color: #004da0;
	font-size: 60%;
}
/* 横並び */
.inline ul li {
	display: inline-block;
	margin-right: 2em;
}
/* 数字 */
.cms_text ol > li {
	counter-increment: count 1;
	position: relative;
	padding-left: 2em;
	margin-bottom: 8px;
}
.cms_text ol > li:before {
	content: counter(count);
	position: absolute;
	top: 2px;
	left: 0;
	height: 24px;
	width: 24px;
	background: #004da0;
	color: #fff;
	font-weight: bold;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
}
/*checkアイコン*/
.checklist ul li {
	font-weight: bold;
	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列 */
	.div3 ul,
	.div4 ul {
		display: flex;
		flex-wrap: wrap;
	}
	.div2 ul li {
		padding-right: 1em;
		width: 100%;
	}
	.div3 ul li,
	.div4 ul li {
		padding-right: 1em;
		width: 50%;
	}
}

/* ------------------------------
 ボタン（PC）
------------------------------ */
.btn a,
a .btn {
	display: inline-block;
	position: relative;
	min-width: 200px;
	padding: 10px 40px 10px 25px;
	border-radius: 30px;
	background: #004da0;
	font-family: "Poppins", sans-serif;
	font-size: 1.5rem;
	font-weight: 600;
	text-align: left;
	text-decoration: none;
	color: #fff;
	transition: opacity .3s ease-in-out;
}
.btn a::after,
a .btn::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	width: 6px;
	height: 6px;
	margin: auto 0;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
}
.btn.all a::after,
a .btn.all::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	width: 15px;
	height: 15px;
	margin: auto 0;
	border: none;
	background: url(../img/icon_all.svg) no-repeat 0 0 / cover;
	transform: none;
}
.btn.btn-large a,
a .btn.btn-large {
	font-size: 1.6rem;
	min-width: 300px;
	padding: 10px 40px 10px 25px;
	text-align: center;
}
.btn-blue a {
	position: relative;
	font-size: 2.8rem;
	min-width: 100%;
	padding: 45px 40px 45px 25px;
	text-align: center;
	color: #fff;
	background: #004da0;
	border-radius: 10px;
}
.btn-blue a[target="_blank"]::after {
	display: block;
	content: "";
	position: absolute;
	right: 50px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 45px !important;
	height: 45px !important;
	background: url(/shared/img/icon_blank_circle_w.svg) no-repeat right top / cover !important;
}
@media print, screen and (min-width: 768px) {
	.btn a:hover,
	a .btn:hover {
		opacity: .7;
		color: #fff;
	}
	.btn-blue a:hover,
	a .btn-blue:hover {
		color: #fff;
	}
}
/* ------------------------------
 ボタン（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.btn a,
	a .btn {
		min-width: 184px;
		padding: 14px 35px 13px 20px;
		border-radius: 24px;
		font-size: 1.3rem;
		text-decoration: none !important;
	}
	.btn a::after,
	a .btn::after {
		right: 16px;
		width: 6px;
		height: 6px;
	}
	.btn.all a::after,
	a .btn.all::after {
		right: 15px;
		width: 10px;
		height: 10px;
	}
	.btn-blue a {
		font-size: 1.7rem;
		padding: 20px 50px 20px 20px;
	}
	.btn-blue a[target="_blank"]::after {
		right: 20px;
		width: 28px !important;
		height: 28px !important;
		background: url(/shared/img/icon_blank_circle_w.svg) no-repeat right top / cover !important;
	}
}

/* ------------------------------
 ページ内リンク（PC）
------------------------------ */
.pageLink {
	display: flex;
	background-color: #f4f4f4;
	padding: 29px 50px 27px;
}
.cms_block.pageLink::after {
	content: none;
}
@media print, screen and (min-width: 768px) {
	.pageLink {
		flex-wrap: wrap;
		row-gap: 15px;
	}
	.cms_block.pageLink .cms_link:not(:last-child):after {
		content: "";
		display: inline-block;
		width: 1px;
		height: 20px;
		margin: 0 38px 6px;
		background-color: #1a1a1a;
		vertical-align: middle;
	}
}
/* ------------------------------
 ページ内リンク（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.pageLink {
		flex-direction: column;
		row-gap: 10px;
		padding: 20px;
	}
	.pageLink .cms_link a {
		font-size: 1.6rem;
		text-decoration: none !important;
	}
	.cms_block.pageLink:not(.btn) .cms_link:not(.btn) a:not([target="_blank"])::after {
		width: 18px;
		height: 18px;
	}
}
/* ------------------------------
 下層ブロック
------------------------------ */
.lowerBlock {
    display: flex;
    flex-wrap: wrap;
    gap: 48px;
}
.lowerBlock li a {
	position: relative;
	display: block;
	border-radius: 10px;
	overflow: hidden;
}
.lowerBlock li a p {
	position: absolute;
	bottom: 20px;
	left: 0;
	font-size: 2rem;
	color: #fff;
	font-weight: bold;
	z-index: 2;
	width: 100%;
	padding: 0 65px 0 25px;
}
.lowerBlock li a p::before {
	display: block;
	content: "";
	position: absolute;
	right: 25px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 36px;
	height: 36px;
	background: #004da0;
	border-radius: 50%;
}
.lowerBlock li a p::after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 40px;
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
}
/* 第三階層 下層ブロック */
.lowerArea .lowerBlock {
    gap: 44px;
}
.lowerArea .lowerBlock li a {
	color: #1a1a1a;
}
.lowerArea .lowerBlock li a:hover {
	opacity: 1;
}
.lowerArea .lowerBlock li a .img_hover {
	border-radius: 10px;
}
.lowerArea .lowerBlock li a img {
	border-radius: 10px;
}
.lowerArea .lowerBlock li a p {
	position: relative;
	color: #1a1a1a;
	bottom: 0;
	padding: 25px 36px 20px 0;
	width: fit-content;
	line-height: 1;
}
.lowerArea .lowerBlock li a:hover p {
	color: #004da0;
}
.lowerArea .lowerBlock li a p::before {
	top: 5px;
	right: 0;
	width: 25px;
	height: 25px;
}
.lowerArea .lowerBlock li a p::after {
	top: 5px;
	right: 10px;
	width: 4px;
	height: 4px;
}
/* テキスト 下層ブロック */
.textLink .lowerBlock li a {
	background-color: #edf3f8;
	border-radius: 10px;
}
.textLink .lowerBlock li a p {
	position: relative;
	color: #1a1a1a;
	top: auto;
  	bottom: auto;
	padding: 30px 65px 30px 25px;
	transition: 0.3s ease-in-out;
}
@media print, screen and (min-width: 768px) {
	.lowerBlock li {
		width: 47.89474%;
	}
	.lowerArea .lowerBlock li {
		width: 30.702%;
	}
	/* テキスト 下層ブロック */
	.textLink .lowerBlock li a:hover p {
		color: #004da0;
	}
}
/* ------------------------------
 下層ブロック（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.lowerBlock li a p {
		bottom: 15px;
		font-size: 1.8rem;
		padding: 0 50px 0 20px;
	}
	.lowerBlock li a p::before {
		right: 20px;
		width: 30px;
		height: 30px;
	}
	.lowerBlock li a p::after {
		right: 32px;
	}
	/* テキスト 下層ブロック */
	.textLink .lowerBlock {
		display: block;
	}
	.textLink .lowerBlock li {
		margin-bottom: 20px;
	}
	.textLink .lowerBlock li a {
		width: 100%;
	}
	.textLink .lowerBlock li a p {
		padding: 20px 55px 20px 25px;
	}
}
/* ------------------------------
 ニュース（PC）
------------------------------ */
.newsList {
	border-top: solid 1px #cddbe0;
}
.newsList li {
	padding: 20px 0;
	border-bottom: solid 1px #cddbe0;
	display: flex;
	flex-wrap: wrap;
}
.newsList li a,
.newsList li div {
	color: #1a1a1a;
}
.date {
	width: 100px;
	margin-top: 2px;
	line-height: 23px;
	font-size: 1.7rem;
	color: #666666;
}
.cate {
	width: 120px;
	height: 24px;
	margin: 1px 15px 0 0;
	background-color: #fff;
	color: #004da0;
	border: solid 1px #6694c6;
	border-radius: 3px;
	font-size: 1.2rem;
	line-height: 24px;
	text-align: center;
	font-weight: bold;
}
.newsList li .headline {
	width: calc(100% - 245px);
	font-size: 1.6rem;
}
.newsList li a:hover .headline {
	color: #004da0;
}
.newsList li.new .headline::after {
	content: "NEW";
	display: inline-block;
	width: 40px;
	margin: 0 12px 3px 5px;
	border-radius: 3px;
	background-color: #ff0000;
	color: #fff;
	font-family: "Poppins", sans-serif;
	font-size: 1.2rem;
	height: 16px;
	line-height: 16px;
	font-weight: 600;
	text-align: center;
	vertical-align: middle;
}
.newsList li a[target="_blank"] .headline span::after {
	content: "";
	display: inline-block;
	width: 11px;
	height: 11px;
	margin: 0 10px 4px 5px;
	background: url(../img/icon_blank_b.svg) no-repeat 0 0 / cover;
	vertical-align: middle;
}

/* ------------------------------
 ニュース（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.date {
		font-size: 1.5rem;
		width: 90px;
	}
	.newsList li {
		padding: 26px 0 21px;
	}
	.newsList li a,
	.newsList li div {
		flex-wrap: wrap;
	}
	.newsList li .headline {
		width: 100%;
		margin-top: 12px;
	}
}

/* ------------------------------
 メインイメージ（PC）
------------------------------ */
/* コンテンツトップ */
.contentsTop .headline {
	position: relative;
}
.contentsTop .headline .mainimg {
	margin-bottom: 100px;
}
.contentsTop .headline .mainimg img {
	width: 100%;
	height: auto;
}
@media print, screen and (min-width:768px) {
	.contentsTop .headline {
		margin: 0 70px;
		padding-top: 50px;
	}
	.contentsTop .headline .mainimg {
		border-radius: 20px;
		overflow: hidden;
	}
}
/* ------------------------------
 メインイメージ（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.contentsTop .headline .mainimg {
		margin-bottom: 60px;
	}
	/* コンテンツ */
	.contents .mainimg {
		margin-bottom: 40px;
	}
}

/* ------------------------------
 フェードイン
------------------------------ */
.fadein {
	opacity : 0;
	transform : translate(0, 100px);
	transition : all 1.5s;
}
.fadein.active{
	opacity : 1;
	transform : translate(0, 0);
	transition-delay: 0s;
}
.fade2.fadein.active {
	animation-delay: 0.2s;
	transition-delay: 0.2s;
}
.fade3.fadein.active {
	animation-delay: 0.4s;
	transition-delay: 0.4s;
}
.fade4.fadein.active {
	animation-delay: 0.6s;
	transition-delay: 0.6s;
}
.fade5.fadein.active {
	animation-delay: 0.8s;
	transition-delay: 0.8s;
}
.fade6.fadein.active {
	animation-delay: 1s;
	transition-delay: 1s;
}
.fade7.fadein.active {
	animation-delay: 1.2s;
	transition-delay: 1.2s;
}
.fade8.fadein.active {
	animation-delay: 1.4s;
	transition-delay: 1.4s;
}
.fade9.fadein.active {
	animation-delay: 1.6s;
	transition-delay: 1.6s;
}
/* ------------------------------
 ハーフブロック
------------------------------ */

/* ------------------------------
 ハーフブロック（PC）
------------------------------ */
@media print, screen and (min-width: 768px) {
	.halfBox {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.halfBox img {
		width: 47.255%;
	}
    .halfBox .cms_caption_b {
		width: 47.255%;
		margin-top: 0;
	}
	.halfBox .cms_caption_b h6 {
		margin-top: 0;
	}
}
/* ------------------------------
 ハーフブロック（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.cms_image.halfBox {
		text-align: center;
		margin-bottom: 40px;
	}
    .halfBox img {
		width: 200px;
	}
	.halfBox .cms_caption_b {
		text-align: left;
	}
}
/* ------------------------------
 同階層リンク（PC）
------------------------------ */
.localnavi {
	background-color: #edf3f8;
	border-radius: 10px;
	padding: 30px 35px 35px;
	margin-top: 130px;
}
/* -- 親ページタイトル -- */
.localnavi p {
	margin-bottom: 20px;
}
.localnavi p a {
	font-size: 2rem;
	font-weight: bold;
}
.localnavi p a::after {
	content: "";
	display: inline-block;
	width: 25px;
	height: 25px;
	background: url(../img/icon_arrow_circle.svg) no-repeat center / cover;
	vertical-align: middle;
	margin-left: 10px;
 	margin-bottom: 5px;
}
/* -- リンク -- */
.localnavi a {
	text-decoration: none;
	color: #1a1a1a;
}
.localnavi ul {
	display: flex;
	flex-flow: row wrap;
	gap: 15px 40px;
}
.localnavi ul li {
	position: relative;
	padding-left: 0 !important;
	margin-bottom: 0 !important;
}
.localnavi ul li:not(:last-child)::before {
	content: "";
	width: 1px;
	height: 20px;
	background-color: #bfbfbf;
	position: absolute;
	left: auto;
	right: -20px;
	top: 0;
	bottom: 0;
	margin: auto;
}
.localnavi ul li a {
	display: block;
	font-size: 1.8rem;
	line-height: 1.5;
}
/* 現在表示しているページ */
.localnavi ul > li.on a {
	color:#004da0;
	text-decoration: underline;
}
@media print, screen and (min-width: 768px) {
	.localnavi ul > li.on a:hover {
		opacity: 1;
	}
}
/* ------------------------------
 同階層リンク（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.localnavi {
		padding: 20px 5%;
		margin-top: 60px;
		border-radius: 8px;
	}
	/* -- 親ページタイトル -- */
	.localnavi p {
		margin-bottom: 10px;
	}
	.localnavi p a {
		font-size: 1.8rem;
	}
	.localnavi p a::after {
		width: 22px;
		height: 22px;
		margin-left: 10px;
		margin-bottom: 3px;
	}
	/* -- リンク -- */
	.localnavi ul {
		gap: 8px 20px;
	}
	.localnavi ul li a {
		font-size: 1.6rem;
	}
	.localnavi ul li:not(:last-child)::before {
		right: -10px;
	}
}