@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200&family=Poppins:wght@200&family=Noto+Sans+JP:wght@100;200;400;500;700&display=swap");
* {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
}

html {
	font-size: 17px;
	overflow-y: scroll;
	scroll-behavior: smooth;
}
@media screen and (max-width: 767px) {
	html {
		font-size: 16px !important;
	}
}

:target {
	scroll-margin-top: 120px;
}

body, th, td, input, select, textarea {
	font-size: min(1.328125vw, 17px);
	font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 959px) {
	body, th, td, input, select, textarea {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	body, th, td, input, select, textarea {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}

body {
	margin: 0px auto;
	color: #000000;
	background: #ffffff;
	overflow: clip;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
	border: 0px;
}

a {
	text-decoration: none;
}

dl, ul, ol {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

p, dt, dd, h1, h2, h3, h4, h5, h6 {
	margin: 0px;
	padding: 0px;
}

.clear {
	clear: both;
}

@media screen and (max-width: 767px) {
	.view_pc {
		display: none !important;
	}
}

.view_sp {
	display: none !important;
}
@media screen and (max-width: 767px) {
	.view_sp {
		display: block !important;
	}
}

.contents .text p:not(.image):not(.caption) a:after, .contents > div > p:not(.image):not(.caption) a:after, .contents .imagebox > *:not(.image) > p:not(.image):not(.caption) a:after, .contents .column > * > p:not(.image):not(.caption) a:after, .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption) a:after, .contents .table > table > tbody > tr > td > p:not(.image):not(.caption) a:after, .contents .box > p:not(.image):not(.caption) a:after, .contents .form > dl > dd > p:not(.image):not(.caption) a:after, .message .body > p:not(.image):not(.caption) a:after, .pagesplit .body > p:not(.image):not(.caption) a:after, .contents .text ul > li a:after, .contents > div > ul > li a:after, .contents .imagebox > *:not(.image) > ul > li a:after, .contents .column > * > ul > li a:after, .contents .table > table > tr > td:not(.d) > ul > li a:after, .contents .table > table > tbody > tr > td > ul > li a:after, .contents .box > ul > li a:after, .contents .form > dl > dd > ul > li a:after, .message .body > ul > li a:after, .pagesplit .body > ul > li a:after, .contents .text ol > li a:after, .contents > div > ol > li a:after, .contents .imagebox > *:not(.image) > ol > li a:after, .contents .column > * > ol > li a:after, .contents .table > table > tr > td:not(.d) > ol > li a:after, .contents .table > table > tbody > tr > td > ol > li a:after, .contents .box > ol > li a:after, .contents .form > dl > dd > ol > li a:after, .message .body > ol > li a:after, .pagesplit .body > ol > li a:after, .contents > div:not(.image) > a:after, .contents .imagebox > *:not(.image):not(.image) > a:after, .contents .column > *:not(.image) > a:after, .contents .table > table > tr > td:not(.d):not(.image) > a:after, .contents .table > table > tbody > tr > td:not(.image) > a:after, .contents .box:not(.image) > a:after, .contents .form > dl > dd:not(.image) > a:after, .message .body:not(.image) > a:after, .pagesplit .body:not(.image) > a:after {
	display: inline-block;
	width: 25px;
	height: 16px;
	margin-left: 5px;
	margin-top: -4px;
	vertical-align: middle;
	background: none no-repeat center center;
	background-size: 16px auto;
}
.contents .text p:not(.image):not(.caption) a[target="_blank"]:after, .contents > div > p:not(.image):not(.caption) a[target="_blank"]:after, .contents .imagebox > *:not(.image) > p:not(.image):not(.caption) a[target="_blank"]:after, .contents .column > * > p:not(.image):not(.caption) a[target="_blank"]:after, .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption) a[target="_blank"]:after, .contents .table > table > tbody > tr > td > p:not(.image):not(.caption) a[target="_blank"]:after, .contents .box > p:not(.image):not(.caption) a[target="_blank"]:after, .contents .form > dl > dd > p:not(.image):not(.caption) a[target="_blank"]:after, .message .body > p:not(.image):not(.caption) a[target="_blank"]:after, .pagesplit .body > p:not(.image):not(.caption) a[target="_blank"]:after, .contents .text ul > li a[target="_blank"]:after, .contents > div > ul > li a[target="_blank"]:after, .contents .imagebox > *:not(.image) > ul > li a[target="_blank"]:after, .contents .column > * > ul > li a[target="_blank"]:after, .contents .table > table > tr > td:not(.d) > ul > li a[target="_blank"]:after, .contents .table > table > tbody > tr > td > ul > li a[target="_blank"]:after, .contents .box > ul > li a[target="_blank"]:after, .contents .form > dl > dd > ul > li a[target="_blank"]:after, .message .body > ul > li a[target="_blank"]:after, .pagesplit .body > ul > li a[target="_blank"]:after, .contents .text ol > li a[target="_blank"]:after, .contents > div > ol > li a[target="_blank"]:after, .contents .imagebox > *:not(.image) > ol > li a[target="_blank"]:after, .contents .column > * > ol > li a[target="_blank"]:after, .contents .table > table > tr > td:not(.d) > ol > li a[target="_blank"]:after, .contents .table > table > tbody > tr > td > ol > li a[target="_blank"]:after, .contents .box > ol > li a[target="_blank"]:after, .contents .form > dl > dd > ol > li a[target="_blank"]:after, .message .body > ol > li a[target="_blank"]:after, .pagesplit .body > ol > li a[target="_blank"]:after, .contents > div:not(.image) > a[target="_blank"]:after, .contents .imagebox > *:not(.image):not(.image) > a[target="_blank"]:after, .contents .column > *:not(.image) > a[target="_blank"]:after, .contents .table > table > tr > td:not(.d):not(.image) > a[target="_blank"]:after, .contents .table > table > tbody > tr > td:not(.image) > a[target="_blank"]:after, .contents .box:not(.image) > a[target="_blank"]:after, .contents .form > dl > dd:not(.image) > a[target="_blank"]:after, .message .body:not(.image) > a[target="_blank"]:after, .pagesplit .body:not(.image) > a[target="_blank"]:after {
	content: "";
	background-image: url(../images/blankb.svg);
}
.contents .text p:not(.image):not(.caption) a[href$=".pdf"]:after, .contents > div > p:not(.image):not(.caption) a[href$=".pdf"]:after, .contents .imagebox > *:not(.image) > p:not(.image):not(.caption) a[href$=".pdf"]:after, .contents .column > * > p:not(.image):not(.caption) a[href$=".pdf"]:after, .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption) a[href$=".pdf"]:after, .contents .table > table > tbody > tr > td > p:not(.image):not(.caption) a[href$=".pdf"]:after, .contents .box > p:not(.image):not(.caption) a[href$=".pdf"]:after, .contents .form > dl > dd > p:not(.image):not(.caption) a[href$=".pdf"]:after, .message .body > p:not(.image):not(.caption) a[href$=".pdf"]:after, .pagesplit .body > p:not(.image):not(.caption) a[href$=".pdf"]:after, .contents .text ul > li a[href$=".pdf"]:after, .contents > div > ul > li a[href$=".pdf"]:after, .contents .imagebox > *:not(.image) > ul > li a[href$=".pdf"]:after, .contents .column > * > ul > li a[href$=".pdf"]:after, .contents .table > table > tr > td:not(.d) > ul > li a[href$=".pdf"]:after, .contents .table > table > tbody > tr > td > ul > li a[href$=".pdf"]:after, .contents .box > ul > li a[href$=".pdf"]:after, .contents .form > dl > dd > ul > li a[href$=".pdf"]:after, .message .body > ul > li a[href$=".pdf"]:after, .pagesplit .body > ul > li a[href$=".pdf"]:after, .contents .text ol > li a[href$=".pdf"]:after, .contents > div > ol > li a[href$=".pdf"]:after, .contents .imagebox > *:not(.image) > ol > li a[href$=".pdf"]:after, .contents .column > * > ol > li a[href$=".pdf"]:after, .contents .table > table > tr > td:not(.d) > ol > li a[href$=".pdf"]:after, .contents .table > table > tbody > tr > td > ol > li a[href$=".pdf"]:after, .contents .box > ol > li a[href$=".pdf"]:after, .contents .form > dl > dd > ol > li a[href$=".pdf"]:after, .message .body > ol > li a[href$=".pdf"]:after, .pagesplit .body > ol > li a[href$=".pdf"]:after, .contents > div:not(.image) > a[href$=".pdf"]:after, .contents .imagebox > *:not(.image):not(.image) > a[href$=".pdf"]:after, .contents .column > *:not(.image) > a[href$=".pdf"]:after, .contents .table > table > tr > td:not(.d):not(.image) > a[href$=".pdf"]:after, .contents .table > table > tbody > tr > td:not(.image) > a[href$=".pdf"]:after, .contents .box:not(.image) > a[href$=".pdf"]:after, .contents .form > dl > dd:not(.image) > a[href$=".pdf"]:after, .message .body:not(.image) > a[href$=".pdf"]:after, .pagesplit .body:not(.image) > a[href$=".pdf"]:after {
	content: "";
	background-image: url(../images/pdf.svg);
	background-size: auto 100%;
}
.contents .text p:not(.image):not(.caption) a[href$=".doc"]:after, .contents > div > p:not(.image):not(.caption) a[href$=".doc"]:after, .contents .imagebox > *:not(.image) > p:not(.image):not(.caption) a[href$=".doc"]:after, .contents .column > * > p:not(.image):not(.caption) a[href$=".doc"]:after, .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption) a[href$=".doc"]:after, .contents .table > table > tbody > tr > td > p:not(.image):not(.caption) a[href$=".doc"]:after, .contents .box > p:not(.image):not(.caption) a[href$=".doc"]:after, .contents .form > dl > dd > p:not(.image):not(.caption) a[href$=".doc"]:after, .message .body > p:not(.image):not(.caption) a[href$=".doc"]:after, .pagesplit .body > p:not(.image):not(.caption) a[href$=".doc"]:after, .contents .text ul > li a[href$=".doc"]:after, .contents > div > ul > li a[href$=".doc"]:after, .contents .imagebox > *:not(.image) > ul > li a[href$=".doc"]:after, .contents .column > * > ul > li a[href$=".doc"]:after, .contents .table > table > tr > td:not(.d) > ul > li a[href$=".doc"]:after, .contents .table > table > tbody > tr > td > ul > li a[href$=".doc"]:after, .contents .box > ul > li a[href$=".doc"]:after, .contents .form > dl > dd > ul > li a[href$=".doc"]:after, .message .body > ul > li a[href$=".doc"]:after, .pagesplit .body > ul > li a[href$=".doc"]:after, .contents .text ol > li a[href$=".doc"]:after, .contents > div > ol > li a[href$=".doc"]:after, .contents .imagebox > *:not(.image) > ol > li a[href$=".doc"]:after, .contents .column > * > ol > li a[href$=".doc"]:after, .contents .table > table > tr > td:not(.d) > ol > li a[href$=".doc"]:after, .contents .table > table > tbody > tr > td > ol > li a[href$=".doc"]:after, .contents .box > ol > li a[href$=".doc"]:after, .contents .form > dl > dd > ol > li a[href$=".doc"]:after, .message .body > ol > li a[href$=".doc"]:after, .pagesplit .body > ol > li a[href$=".doc"]:after, .contents > div:not(.image) > a[href$=".doc"]:after, .contents .imagebox > *:not(.image):not(.image) > a[href$=".doc"]:after, .contents .column > *:not(.image) > a[href$=".doc"]:after, .contents .table > table > tr > td:not(.d):not(.image) > a[href$=".doc"]:after, .contents .table > table > tbody > tr > td:not(.image) > a[href$=".doc"]:after, .contents .box:not(.image) > a[href$=".doc"]:after, .contents .form > dl > dd:not(.image) > a[href$=".doc"]:after, .message .body:not(.image) > a[href$=".doc"]:after, .pagesplit .body:not(.image) > a[href$=".doc"]:after, .contents .text p:not(.image):not(.caption) a[href$=".docx"]:after, .contents > div > p:not(.image):not(.caption) a[href$=".docx"]:after, .contents .imagebox > *:not(.image) > p:not(.image):not(.caption) a[href$=".docx"]:after, .contents .column > * > p:not(.image):not(.caption) a[href$=".docx"]:after, .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption) a[href$=".docx"]:after, .contents .table > table > tbody > tr > td > p:not(.image):not(.caption) a[href$=".docx"]:after, .contents .box > p:not(.image):not(.caption) a[href$=".docx"]:after, .contents .form > dl > dd > p:not(.image):not(.caption) a[href$=".docx"]:after, .message .body > p:not(.image):not(.caption) a[href$=".docx"]:after, .pagesplit .body > p:not(.image):not(.caption) a[href$=".docx"]:after, .contents .text ul > li a[href$=".docx"]:after, .contents > div > ul > li a[href$=".docx"]:after, .contents .imagebox > *:not(.image) > ul > li a[href$=".docx"]:after, .contents .column > * > ul > li a[href$=".docx"]:after, .contents .table > table > tr > td:not(.d) > ul > li a[href$=".docx"]:after, .contents .table > table > tbody > tr > td > ul > li a[href$=".docx"]:after, .contents .box > ul > li a[href$=".docx"]:after, .contents .form > dl > dd > ul > li a[href$=".docx"]:after, .message .body > ul > li a[href$=".docx"]:after, .pagesplit .body > ul > li a[href$=".docx"]:after, .contents .text ol > li a[href$=".docx"]:after, .contents > div > ol > li a[href$=".docx"]:after, .contents .imagebox > *:not(.image) > ol > li a[href$=".docx"]:after, .contents .column > * > ol > li a[href$=".docx"]:after, .contents .table > table > tr > td:not(.d) > ol > li a[href$=".docx"]:after, .contents .table > table > tbody > tr > td > ol > li a[href$=".docx"]:after, .contents .box > ol > li a[href$=".docx"]:after, .contents .form > dl > dd > ol > li a[href$=".docx"]:after, .message .body > ol > li a[href$=".docx"]:after, .pagesplit .body > ol > li a[href$=".docx"]:after, .contents > div:not(.image) > a[href$=".docx"]:after, .contents .imagebox > *:not(.image):not(.image) > a[href$=".docx"]:after, .contents .column > *:not(.image) > a[href$=".docx"]:after, .contents .table > table > tr > td:not(.d):not(.image) > a[href$=".docx"]:after, .contents .table > table > tbody > tr > td:not(.image) > a[href$=".docx"]:after, .contents .box:not(.image) > a[href$=".docx"]:after, .contents .form > dl > dd:not(.image) > a[href$=".docx"]:after, .message .body:not(.image) > a[href$=".docx"]:after, .pagesplit .body:not(.image) > a[href$=".docx"]:after {
	content: "";
	height: 18px;
	background-image: url(../images/doc.svg);
	background-size: auto 100%;
}
.contents .text p:not(.image):not(.caption) a[href$=".ppt"]:after, .contents > div > p:not(.image):not(.caption) a[href$=".ppt"]:after, .contents .imagebox > *:not(.image) > p:not(.image):not(.caption) a[href$=".ppt"]:after, .contents .column > * > p:not(.image):not(.caption) a[href$=".ppt"]:after, .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption) a[href$=".ppt"]:after, .contents .table > table > tbody > tr > td > p:not(.image):not(.caption) a[href$=".ppt"]:after, .contents .box > p:not(.image):not(.caption) a[href$=".ppt"]:after, .contents .form > dl > dd > p:not(.image):not(.caption) a[href$=".ppt"]:after, .message .body > p:not(.image):not(.caption) a[href$=".ppt"]:after, .pagesplit .body > p:not(.image):not(.caption) a[href$=".ppt"]:after, .contents .text ul > li a[href$=".ppt"]:after, .contents > div > ul > li a[href$=".ppt"]:after, .contents .imagebox > *:not(.image) > ul > li a[href$=".ppt"]:after, .contents .column > * > ul > li a[href$=".ppt"]:after, .contents .table > table > tr > td:not(.d) > ul > li a[href$=".ppt"]:after, .contents .table > table > tbody > tr > td > ul > li a[href$=".ppt"]:after, .contents .box > ul > li a[href$=".ppt"]:after, .contents .form > dl > dd > ul > li a[href$=".ppt"]:after, .message .body > ul > li a[href$=".ppt"]:after, .pagesplit .body > ul > li a[href$=".ppt"]:after, .contents .text ol > li a[href$=".ppt"]:after, .contents > div > ol > li a[href$=".ppt"]:after, .contents .imagebox > *:not(.image) > ol > li a[href$=".ppt"]:after, .contents .column > * > ol > li a[href$=".ppt"]:after, .contents .table > table > tr > td:not(.d) > ol > li a[href$=".ppt"]:after, .contents .table > table > tbody > tr > td > ol > li a[href$=".ppt"]:after, .contents .box > ol > li a[href$=".ppt"]:after, .contents .form > dl > dd > ol > li a[href$=".ppt"]:after, .message .body > ol > li a[href$=".ppt"]:after, .pagesplit .body > ol > li a[href$=".ppt"]:after, .contents > div:not(.image) > a[href$=".ppt"]:after, .contents .imagebox > *:not(.image):not(.image) > a[href$=".ppt"]:after, .contents .column > *:not(.image) > a[href$=".ppt"]:after, .contents .table > table > tr > td:not(.d):not(.image) > a[href$=".ppt"]:after, .contents .table > table > tbody > tr > td:not(.image) > a[href$=".ppt"]:after, .contents .box:not(.image) > a[href$=".ppt"]:after, .contents .form > dl > dd:not(.image) > a[href$=".ppt"]:after, .message .body:not(.image) > a[href$=".ppt"]:after, .pagesplit .body:not(.image) > a[href$=".ppt"]:after, .contents .text p:not(.image):not(.caption) a[href$=".pptx"]:after, .contents > div > p:not(.image):not(.caption) a[href$=".pptx"]:after, .contents .imagebox > *:not(.image) > p:not(.image):not(.caption) a[href$=".pptx"]:after, .contents .column > * > p:not(.image):not(.caption) a[href$=".pptx"]:after, .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption) a[href$=".pptx"]:after, .contents .table > table > tbody > tr > td > p:not(.image):not(.caption) a[href$=".pptx"]:after, .contents .box > p:not(.image):not(.caption) a[href$=".pptx"]:after, .contents .form > dl > dd > p:not(.image):not(.caption) a[href$=".pptx"]:after, .message .body > p:not(.image):not(.caption) a[href$=".pptx"]:after, .pagesplit .body > p:not(.image):not(.caption) a[href$=".pptx"]:after, .contents .text ul > li a[href$=".pptx"]:after, .contents > div > ul > li a[href$=".pptx"]:after, .contents .imagebox > *:not(.image) > ul > li a[href$=".pptx"]:after, .contents .column > * > ul > li a[href$=".pptx"]:after, .contents .table > table > tr > td:not(.d) > ul > li a[href$=".pptx"]:after, .contents .table > table > tbody > tr > td > ul > li a[href$=".pptx"]:after, .contents .box > ul > li a[href$=".pptx"]:after, .contents .form > dl > dd > ul > li a[href$=".pptx"]:after, .message .body > ul > li a[href$=".pptx"]:after, .pagesplit .body > ul > li a[href$=".pptx"]:after, .contents .text ol > li a[href$=".pptx"]:after, .contents > div > ol > li a[href$=".pptx"]:after, .contents .imagebox > *:not(.image) > ol > li a[href$=".pptx"]:after, .contents .column > * > ol > li a[href$=".pptx"]:after, .contents .table > table > tr > td:not(.d) > ol > li a[href$=".pptx"]:after, .contents .table > table > tbody > tr > td > ol > li a[href$=".pptx"]:after, .contents .box > ol > li a[href$=".pptx"]:after, .contents .form > dl > dd > ol > li a[href$=".pptx"]:after, .message .body > ol > li a[href$=".pptx"]:after, .pagesplit .body > ol > li a[href$=".pptx"]:after, .contents > div:not(.image) > a[href$=".pptx"]:after, .contents .imagebox > *:not(.image):not(.image) > a[href$=".pptx"]:after, .contents .column > *:not(.image) > a[href$=".pptx"]:after, .contents .table > table > tr > td:not(.d):not(.image) > a[href$=".pptx"]:after, .contents .table > table > tbody > tr > td:not(.image) > a[href$=".pptx"]:after, .contents .box:not(.image) > a[href$=".pptx"]:after, .contents .form > dl > dd:not(.image) > a[href$=".pptx"]:after, .message .body:not(.image) > a[href$=".pptx"]:after, .pagesplit .body:not(.image) > a[href$=".pptx"]:after {
	content: "";
	height: 18px;
	background-image: url(../images/ppt.svg);
	background-size: auto 100%;
}
.contents .text p:not(.image):not(.caption) a[href$=".xls"]:after, .contents > div > p:not(.image):not(.caption) a[href$=".xls"]:after, .contents .imagebox > *:not(.image) > p:not(.image):not(.caption) a[href$=".xls"]:after, .contents .column > * > p:not(.image):not(.caption) a[href$=".xls"]:after, .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption) a[href$=".xls"]:after, .contents .table > table > tbody > tr > td > p:not(.image):not(.caption) a[href$=".xls"]:after, .contents .box > p:not(.image):not(.caption) a[href$=".xls"]:after, .contents .form > dl > dd > p:not(.image):not(.caption) a[href$=".xls"]:after, .message .body > p:not(.image):not(.caption) a[href$=".xls"]:after, .pagesplit .body > p:not(.image):not(.caption) a[href$=".xls"]:after, .contents .text ul > li a[href$=".xls"]:after, .contents > div > ul > li a[href$=".xls"]:after, .contents .imagebox > *:not(.image) > ul > li a[href$=".xls"]:after, .contents .column > * > ul > li a[href$=".xls"]:after, .contents .table > table > tr > td:not(.d) > ul > li a[href$=".xls"]:after, .contents .table > table > tbody > tr > td > ul > li a[href$=".xls"]:after, .contents .box > ul > li a[href$=".xls"]:after, .contents .form > dl > dd > ul > li a[href$=".xls"]:after, .message .body > ul > li a[href$=".xls"]:after, .pagesplit .body > ul > li a[href$=".xls"]:after, .contents .text ol > li a[href$=".xls"]:after, .contents > div > ol > li a[href$=".xls"]:after, .contents .imagebox > *:not(.image) > ol > li a[href$=".xls"]:after, .contents .column > * > ol > li a[href$=".xls"]:after, .contents .table > table > tr > td:not(.d) > ol > li a[href$=".xls"]:after, .contents .table > table > tbody > tr > td > ol > li a[href$=".xls"]:after, .contents .box > ol > li a[href$=".xls"]:after, .contents .form > dl > dd > ol > li a[href$=".xls"]:after, .message .body > ol > li a[href$=".xls"]:after, .pagesplit .body > ol > li a[href$=".xls"]:after, .contents > div:not(.image) > a[href$=".xls"]:after, .contents .imagebox > *:not(.image):not(.image) > a[href$=".xls"]:after, .contents .column > *:not(.image) > a[href$=".xls"]:after, .contents .table > table > tr > td:not(.d):not(.image) > a[href$=".xls"]:after, .contents .table > table > tbody > tr > td:not(.image) > a[href$=".xls"]:after, .contents .box:not(.image) > a[href$=".xls"]:after, .contents .form > dl > dd:not(.image) > a[href$=".xls"]:after, .message .body:not(.image) > a[href$=".xls"]:after, .pagesplit .body:not(.image) > a[href$=".xls"]:after, .contents .text p:not(.image):not(.caption) a[href$=".xlsx"]:after, .contents > div > p:not(.image):not(.caption) a[href$=".xlsx"]:after, .contents .imagebox > *:not(.image) > p:not(.image):not(.caption) a[href$=".xlsx"]:after, .contents .column > * > p:not(.image):not(.caption) a[href$=".xlsx"]:after, .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption) a[href$=".xlsx"]:after, .contents .table > table > tbody > tr > td > p:not(.image):not(.caption) a[href$=".xlsx"]:after, .contents .box > p:not(.image):not(.caption) a[href$=".xlsx"]:after, .contents .form > dl > dd > p:not(.image):not(.caption) a[href$=".xlsx"]:after, .message .body > p:not(.image):not(.caption) a[href$=".xlsx"]:after, .pagesplit .body > p:not(.image):not(.caption) a[href$=".xlsx"]:after, .contents .text ul > li a[href$=".xlsx"]:after, .contents > div > ul > li a[href$=".xlsx"]:after, .contents .imagebox > *:not(.image) > ul > li a[href$=".xlsx"]:after, .contents .column > * > ul > li a[href$=".xlsx"]:after, .contents .table > table > tr > td:not(.d) > ul > li a[href$=".xlsx"]:after, .contents .table > table > tbody > tr > td > ul > li a[href$=".xlsx"]:after, .contents .box > ul > li a[href$=".xlsx"]:after, .contents .form > dl > dd > ul > li a[href$=".xlsx"]:after, .message .body > ul > li a[href$=".xlsx"]:after, .pagesplit .body > ul > li a[href$=".xlsx"]:after, .contents .text ol > li a[href$=".xlsx"]:after, .contents > div > ol > li a[href$=".xlsx"]:after, .contents .imagebox > *:not(.image) > ol > li a[href$=".xlsx"]:after, .contents .column > * > ol > li a[href$=".xlsx"]:after, .contents .table > table > tr > td:not(.d) > ol > li a[href$=".xlsx"]:after, .contents .table > table > tbody > tr > td > ol > li a[href$=".xlsx"]:after, .contents .box > ol > li a[href$=".xlsx"]:after, .contents .form > dl > dd > ol > li a[href$=".xlsx"]:after, .message .body > ol > li a[href$=".xlsx"]:after, .pagesplit .body > ol > li a[href$=".xlsx"]:after, .contents > div:not(.image) > a[href$=".xlsx"]:after, .contents .imagebox > *:not(.image):not(.image) > a[href$=".xlsx"]:after, .contents .column > *:not(.image) > a[href$=".xlsx"]:after, .contents .table > table > tr > td:not(.d):not(.image) > a[href$=".xlsx"]:after, .contents .table > table > tbody > tr > td:not(.image) > a[href$=".xlsx"]:after, .contents .box:not(.image) > a[href$=".xlsx"]:after, .contents .form > dl > dd:not(.image) > a[href$=".xlsx"]:after, .message .body:not(.image) > a[href$=".xlsx"]:after, .pagesplit .body:not(.image) > a[href$=".xlsx"]:after {
	content: "";
	height: 18px;
	background-image: url(../images/xls.svg);
	background-size: auto 100%;
}

.contents .text p:not(.image):not(.caption), .contents > div > p:not(.image):not(.caption), .contents .imagebox > *:not(.image) > p:not(.image):not(.caption), .contents .column > * > p:not(.image):not(.caption), .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption), .contents .table > table > tbody > tr > td > p:not(.image):not(.caption), .contents .box > p:not(.image):not(.caption), .contents .form > dl > dd > p:not(.image):not(.caption), .contents .form > form > dl > dd > p:not(.image):not(.caption), .message .body > p:not(.image):not(.caption), .pagesplit .body > p:not(.image):not(.caption) {
	font-size: min(1.328125vw, 17px);
	line-height: 1.7;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	.contents .text p:not(.image):not(.caption), .contents > div > p:not(.image):not(.caption), .contents .imagebox > *:not(.image) > p:not(.image):not(.caption), .contents .column > * > p:not(.image):not(.caption), .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption), .contents .table > table > tbody > tr > td > p:not(.image):not(.caption), .contents .box > p:not(.image):not(.caption), .contents .form > dl > dd > p:not(.image):not(.caption), .contents .form > form > dl > dd > p:not(.image):not(.caption), .message .body > p:not(.image):not(.caption), .pagesplit .body > p:not(.image):not(.caption) {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .text p:not(.image):not(.caption), .contents > div > p:not(.image):not(.caption), .contents .imagebox > *:not(.image) > p:not(.image):not(.caption), .contents .column > * > p:not(.image):not(.caption), .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption), .contents .table > table > tbody > tr > td > p:not(.image):not(.caption), .contents .box > p:not(.image):not(.caption), .contents .form > dl > dd > p:not(.image):not(.caption), .contents .form > form > dl > dd > p:not(.image):not(.caption), .message .body > p:not(.image):not(.caption), .pagesplit .body > p:not(.image):not(.caption) {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents .text p:not(.image):not(.caption) a, .contents > div > p:not(.image):not(.caption) a, .contents .imagebox > *:not(.image) > p:not(.image):not(.caption) a, .contents .column > * > p:not(.image):not(.caption) a, .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption) a, .contents .table > table > tbody > tr > td > p:not(.image):not(.caption) a, .contents .box > p:not(.image):not(.caption) a, .contents .form > dl > dd > p:not(.image):not(.caption) a, .message .body > p:not(.image):not(.caption) a, .pagesplit .body > p:not(.image):not(.caption) a {
	color: #004898;
	position: relative;
	display: inline-block;
}
.contents .text p:not(.image):not(.caption) a:before, .contents > div > p:not(.image):not(.caption) a:before, .contents .imagebox > *:not(.image) > p:not(.image):not(.caption) a:before, .contents .column > * > p:not(.image):not(.caption) a:before, .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption) a:before, .contents .table > table > tbody > tr > td > p:not(.image):not(.caption) a:before, .contents .box > p:not(.image):not(.caption) a:before, .contents .form > dl > dd > p:not(.image):not(.caption) a:before, .message .body > p:not(.image):not(.caption) a:before, .pagesplit .body > p:not(.image):not(.caption) a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #000000;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.contents .text p:not(.image):not(.caption) a:hover:before, .contents > div > p:not(.image):not(.caption) a:hover:before, .contents .imagebox > *:not(.image) > p:not(.image):not(.caption) a:hover:before, .contents .column > * > p:not(.image):not(.caption) a:hover:before, .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption) a:hover:before, .contents .table > table > tbody > tr > td > p:not(.image):not(.caption) a:hover:before, .contents .box > p:not(.image):not(.caption) a:hover:before, .contents .form > dl > dd > p:not(.image):not(.caption) a:hover:before, .message .body > p:not(.image):not(.caption) a:hover:before, .pagesplit .body > p:not(.image):not(.caption) a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.35em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
.contents .text p.xlarge:not(.image):not(.caption), .contents > div > p.xlarge:not(.image):not(.caption), .contents .imagebox > *:not(.image) > p.xlarge:not(.image):not(.caption), .contents .column > * > p.xlarge:not(.image):not(.caption), .contents .table > table > tr > td:not(.d) > p.xlarge:not(.image):not(.caption), .contents .table > table > tbody > tr > td > p.xlarge:not(.image):not(.caption), .contents .box > p.xlarge:not(.image):not(.caption), .contents .form > dl > dd > p.xlarge:not(.image):not(.caption), .message .body > p.xlarge:not(.image):not(.caption), .pagesplit .body > p.xlarge:not(.image):not(.caption) {
	font-size: min(1.71875vw, 22px);
}
@media screen and (max-width: 959px) {
	.contents .text p.xlarge:not(.image):not(.caption), .contents > div > p.xlarge:not(.image):not(.caption), .contents .imagebox > *:not(.image) > p.xlarge:not(.image):not(.caption), .contents .column > * > p.xlarge:not(.image):not(.caption), .contents .table > table > tr > td:not(.d) > p.xlarge:not(.image):not(.caption), .contents .table > table > tbody > tr > td > p.xlarge:not(.image):not(.caption), .contents .box > p.xlarge:not(.image):not(.caption), .contents .form > dl > dd > p.xlarge:not(.image):not(.caption), .message .body > p.xlarge:not(.image):not(.caption), .pagesplit .body > p.xlarge:not(.image):not(.caption) {
		font-size: min(2.1463414634vw, 17.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .text p.xlarge:not(.image):not(.caption), .contents > div > p.xlarge:not(.image):not(.caption), .contents .imagebox > *:not(.image) > p.xlarge:not(.image):not(.caption), .contents .column > * > p.xlarge:not(.image):not(.caption), .contents .table > table > tr > td:not(.d) > p.xlarge:not(.image):not(.caption), .contents .table > table > tbody > tr > td > p.xlarge:not(.image):not(.caption), .contents .box > p.xlarge:not(.image):not(.caption), .contents .form > dl > dd > p.xlarge:not(.image):not(.caption), .message .body > p.xlarge:not(.image):not(.caption), .pagesplit .body > p.xlarge:not(.image):not(.caption) {
		font-size: min(4.1614104683vw, 15.6052892562px);
	}
}
.contents .text p.large:not(.image):not(.caption), .contents > div > p.large:not(.image):not(.caption), .contents .imagebox > *:not(.image) > p.large:not(.image):not(.caption), .contents .column > * > p.large:not(.image):not(.caption), .contents .table > table > tr > td:not(.d) > p.large:not(.image):not(.caption), .contents .table > table > tbody > tr > td > p.large:not(.image):not(.caption), .contents .box > p.large:not(.image):not(.caption), .contents .form > dl > dd > p.large:not(.image):not(.caption), .message .body > p.large:not(.image):not(.caption), .pagesplit .body > p.large:not(.image):not(.caption) {
	font-size: min(1.5625vw, 20px);
}
@media screen and (max-width: 959px) {
	.contents .text p.large:not(.image):not(.caption), .contents > div > p.large:not(.image):not(.caption), .contents .imagebox > *:not(.image) > p.large:not(.image):not(.caption), .contents .column > * > p.large:not(.image):not(.caption), .contents .table > table > tr > td:not(.d) > p.large:not(.image):not(.caption), .contents .table > table > tbody > tr > td > p.large:not(.image):not(.caption), .contents .box > p.large:not(.image):not(.caption), .contents .form > dl > dd > p.large:not(.image):not(.caption), .message .body > p.large:not(.image):not(.caption), .pagesplit .body > p.large:not(.image):not(.caption) {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.contents .text p.large:not(.image):not(.caption), .contents > div > p.large:not(.image):not(.caption), .contents .imagebox > *:not(.image) > p.large:not(.image):not(.caption), .contents .column > * > p.large:not(.image):not(.caption), .contents .table > table > tr > td:not(.d) > p.large:not(.image):not(.caption), .contents .table > table > tbody > tr > td > p.large:not(.image):not(.caption), .contents .box > p.large:not(.image):not(.caption), .contents .form > dl > dd > p.large:not(.image):not(.caption), .message .body > p.large:not(.image):not(.caption), .pagesplit .body > p.large:not(.image):not(.caption) {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}
.contents .text p.center:not(.image):not(.caption), .contents > div > p.center:not(.image):not(.caption), .contents .imagebox > *:not(.image) > p.center:not(.image):not(.caption), .contents .column > * > p.center:not(.image):not(.caption), .contents .table > table > tr > td:not(.d) > p.center:not(.image):not(.caption), .contents .table > table > tbody > tr > td > p.center:not(.image):not(.caption), .contents .box > p.center:not(.image):not(.caption), .contents .form > dl > dd > p.center:not(.image):not(.caption), .message .body > p.center:not(.image):not(.caption), .pagesplit .body > p.center:not(.image):not(.caption) {
	text-align: center;
}
.contents .text p.right:not(.image):not(.caption), .contents > div > p.right:not(.image):not(.caption), .contents .imagebox > *:not(.image) > p.right:not(.image):not(.caption), .contents .column > * > p.right:not(.image):not(.caption), .contents .table > table > tr > td:not(.d) > p.right:not(.image):not(.caption), .contents .table > table > tbody > tr > td > p.right:not(.image):not(.caption), .contents .box > p.right:not(.image):not(.caption), .contents .form > dl > dd > p.right:not(.image):not(.caption), .message .body > p.right:not(.image):not(.caption), .pagesplit .body > p.right:not(.image):not(.caption) {
	text-align: right;
}

.contents .text ul.col2, .contents > div > ul.col2, .contents .imagebox > *:not(.image) > ul.col2, .contents .column > * > ul.col2, .contents .table > table > tr > td:not(.d) > ul.col2, .contents .table > table > tbody > tr > td > ul.col2, .contents .box > ul.col2, .contents .form > dl > dd > ul.col2, .message .body > ul.col2, .pagesplit .body > ul.col2 {
	columns: 2;
	gap: min(40px, 3.125vw);
}
.contents .text ul > li, .contents > div > ul > li, .contents .imagebox > *:not(.image) > ul > li, .contents .column > * > ul > li, .contents .table > table > tr > td:not(.d) > ul > li, .contents .table > table > tbody > tr > td > ul > li, .contents .box > ul > li, .contents .form > dl > dd > ul > li, .message .body > ul > li, .pagesplit .body > ul > li {
	position: relative;
	padding-left: 1em;
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	.contents .text ul > li, .contents > div > ul > li, .contents .imagebox > *:not(.image) > ul > li, .contents .column > * > ul > li, .contents .table > table > tr > td:not(.d) > ul > li, .contents .table > table > tbody > tr > td > ul > li, .contents .box > ul > li, .contents .form > dl > dd > ul > li, .message .body > ul > li, .pagesplit .body > ul > li {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .text ul > li, .contents > div > ul > li, .contents .imagebox > *:not(.image) > ul > li, .contents .column > * > ul > li, .contents .table > table > tr > td:not(.d) > ul > li, .contents .table > table > tbody > tr > td > ul > li, .contents .box > ul > li, .contents .form > dl > dd > ul > li, .message .body > ul > li, .pagesplit .body > ul > li {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents .text ul > li:before, .contents > div > ul > li:before, .contents .imagebox > *:not(.image) > ul > li:before, .contents .column > * > ul > li:before, .contents .table > table > tr > td:not(.d) > ul > li:before, .contents .table > table > tbody > tr > td > ul > li:before, .contents .box > ul > li:before, .contents .form > dl > dd > ul > li:before, .message .body > ul > li:before, .pagesplit .body > ul > li:before {
	position: absolute;
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	vertical-align: middle;
	top: 0.77em;
	left: 0px;
	margin-top: -3px;
	background: #000000;
	border-radius: 50%;
}
.contents .text ul > li + li, .contents > div > ul > li + li, .contents .imagebox > *:not(.image) > ul > li + li, .contents .column > * > ul > li + li, .contents .table > table > tr > td:not(.d) > ul > li + li, .contents .table > table > tbody > tr > td > ul > li + li, .contents .box > ul > li + li, .contents .form > dl > dd > ul > li + li, .message .body > ul > li + li, .pagesplit .body > ul > li + li {
	margin-top: 8px;
}
.contents .text ul > li a, .contents > div > ul > li a, .contents .imagebox > *:not(.image) > ul > li a, .contents .column > * > ul > li a, .contents .table > table > tr > td:not(.d) > ul > li a, .contents .table > table > tbody > tr > td > ul > li a, .contents .box > ul > li a, .contents .form > dl > dd > ul > li a, .message .body > ul > li a, .pagesplit .body > ul > li a {
	vertical-align: top;
	color: #004898;
	position: relative;
	display: inline-block;
}
.contents .text ul > li a:before, .contents > div > ul > li a:before, .contents .imagebox > *:not(.image) > ul > li a:before, .contents .column > * > ul > li a:before, .contents .table > table > tr > td:not(.d) > ul > li a:before, .contents .table > table > tbody > tr > td > ul > li a:before, .contents .box > ul > li a:before, .contents .form > dl > dd > ul > li a:before, .message .body > ul > li a:before, .pagesplit .body > ul > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.25em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.contents .text ul > li a:hover:before, .contents > div > ul > li a:hover:before, .contents .imagebox > *:not(.image) > ul > li a:hover:before, .contents .column > * > ul > li a:hover:before, .contents .table > table > tr > td:not(.d) > ul > li a:hover:before, .contents .table > table > tbody > tr > td > ul > li a:hover:before, .contents .box > ul > li a:hover:before, .contents .form > dl > dd > ul > li a:hover:before, .message .body > ul > li a:hover:before, .pagesplit .body > ul > li a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.25em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
.contents .text ul > li ul, .contents > div > ul > li ul, .contents .imagebox > *:not(.image) > ul > li ul, .contents .column > * > ul > li ul, .contents .table > table > tr > td:not(.d) > ul > li ul, .contents .table > table > tbody > tr > td > ul > li ul, .contents .box > ul > li ul, .contents .form > dl > dd > ul > li ul, .message .body > ul > li ul, .pagesplit .body > ul > li ul, .contents .text ul > li ol, .contents > div > ul > li ol, .contents .imagebox > *:not(.image) > ul > li ol, .contents .column > * > ul > li ol, .contents .table > table > tr > td:not(.d) > ul > li ol, .contents .table > table > tbody > tr > td > ul > li ol, .contents .box > ul > li ol, .contents .form > dl > dd > ul > li ol, .message .body > ul > li ol, .pagesplit .body > ul > li ol {
	margin-top: 4px;
	margin-right: 0px;
}

.contents .text ol, .contents > div > ol, .contents .imagebox > *:not(.image) > ol, .contents .column > * > ol, .contents .table > table > tr > td:not(.d) > ol, .contents .table > table > tbody > tr > td > ol, .contents .box > ol, .contents .form > dl > dd > ol, .contents .form > form > dl > dd > ol, .message .body > ol, .pagesplit .body > ol {
	counter-reset: number;
}
.contents .text ol > li, .contents > div > ol > li, .contents .imagebox > *:not(.image) > ol > li, .contents .column > * > ol > li, .contents .table > table > tr > td:not(.d) > ol > li, .contents .table > table > tbody > tr > td > ol > li, .contents .box > ol > li, .contents .form > dl > dd > ol > li, .message .body > ol > li, .pagesplit .body > ol > li {
	position: relative;
	padding-left: 2.5em;
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	.contents .text ol > li, .contents > div > ol > li, .contents .imagebox > *:not(.image) > ol > li, .contents .column > * > ol > li, .contents .table > table > tr > td:not(.d) > ol > li, .contents .table > table > tbody > tr > td > ol > li, .contents .box > ol > li, .contents .form > dl > dd > ol > li, .message .body > ol > li, .pagesplit .body > ol > li {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .text ol > li, .contents > div > ol > li, .contents .imagebox > *:not(.image) > ol > li, .contents .column > * > ol > li, .contents .table > table > tr > td:not(.d) > ol > li, .contents .table > table > tbody > tr > td > ol > li, .contents .box > ol > li, .contents .form > dl > dd > ol > li, .message .body > ol > li, .pagesplit .body > ol > li {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents .text ol > li:before, .contents > div > ol > li:before, .contents .imagebox > *:not(.image) > ol > li:before, .contents .column > * > ol > li:before, .contents .table > table > tr > td:not(.d) > ol > li:before, .contents .table > table > tbody > tr > td > ol > li:before, .contents .box > ol > li:before, .contents .form > dl > dd > ol > li:before, .message .body > ol > li:before, .pagesplit .body > ol > li:before {
	position: absolute;
	display: inline-block;
	counter-increment: number;
	content: "(" counter(number) ")";
	min-width: 2em;
	text-align: right;
	left: 0;
}
.contents .text ol > li + li, .contents > div > ol > li + li, .contents .imagebox > *:not(.image) > ol > li + li, .contents .column > * > ol > li + li, .contents .table > table > tr > td:not(.d) > ol > li + li, .contents .table > table > tbody > tr > td > ol > li + li, .contents .box > ol > li + li, .contents .form > dl > dd > ol > li + li, .message .body > ol > li + li, .pagesplit .body > ol > li + li {
	margin-top: 8px;
}
.contents .text ol > li a, .contents > div > ol > li a, .contents .imagebox > *:not(.image) > ol > li a, .contents .column > * > ol > li a, .contents .table > table > tr > td:not(.d) > ol > li a, .contents .table > table > tbody > tr > td > ol > li a, .contents .box > ol > li a, .contents .form > dl > dd > ol > li a, .message .body > ol > li a, .pagesplit .body > ol > li a {
	vertical-align: top;
	color: #004898;
	position: relative;
	display: inline-block;
}
.contents .text ol > li a:before, .contents > div > ol > li a:before, .contents .imagebox > *:not(.image) > ol > li a:before, .contents .column > * > ol > li a:before, .contents .table > table > tr > td:not(.d) > ol > li a:before, .contents .table > table > tbody > tr > td > ol > li a:before, .contents .box > ol > li a:before, .contents .form > dl > dd > ol > li a:before, .message .body > ol > li a:before, .pagesplit .body > ol > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.25em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.contents .text ol > li a:hover:before, .contents > div > ol > li a:hover:before, .contents .imagebox > *:not(.image) > ol > li a:hover:before, .contents .column > * > ol > li a:hover:before, .contents .table > table > tr > td:not(.d) > ol > li a:hover:before, .contents .table > table > tbody > tr > td > ol > li a:hover:before, .contents .box > ol > li a:hover:before, .contents .form > dl > dd > ol > li a:hover:before, .message .body > ol > li a:hover:before, .pagesplit .body > ol > li a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.25em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
.contents .text ol > li ul, .contents > div > ol > li ul, .contents .imagebox > *:not(.image) > ol > li ul, .contents .column > * > ol > li ul, .contents .table > table > tr > td:not(.d) > ol > li ul, .contents .table > table > tbody > tr > td > ol > li ul, .contents .box > ol > li ul, .contents .form > dl > dd > ol > li ul, .message .body > ol > li ul, .pagesplit .body > ol > li ul, .contents .text ol > li ol, .contents > div > ol > li ol, .contents .imagebox > *:not(.image) > ol > li ol, .contents .column > * > ol > li ol, .contents .table > table > tr > td:not(.d) > ol > li ol, .contents .table > table > tbody > tr > td > ol > li ol, .contents .box > ol > li ol, .contents .form > dl > dd > ol > li ol, .message .body > ol > li ol, .pagesplit .body > ol > li ol {
	margin-top: 4px;
	margin-right: 0px;
}

.loading * {
	transition: 0ms !important;
}
.loading *:before, .loading *:after {
	transition: 0ms !important;
}

footer *:not(h1, h2, h3, h4, h5, h6) + .copyright, .contents *:not(h1, h2, h3, h4, h5, h6) + .column, .contents *:not(h1, h2, h3, h4, h5, h6) + .selector, .contents *:not(h1, h2, h3, h4, h5, h6) + .form, *:not(h1, h2, h3, h4, h5, h6) + .tab, *:not(h1, h2, h3, h4, h5, h6) + .newscategory, *:not(h1, h2, h3, h4, h5, h6) + .banners, *:not(h1, h2, h3, h4, h5, h6) + .contentsmenu, *:not(h1, h2, h3, h4, h5, h6) + .featurelist, *:not(h1, h2, h3, h4, h5, h6) + .businessactivities, *:not(h1, h2, h3, h4, h5, h6) + .esgblock, *:not(h1, h2, h3, h4, h5, h6) + .peoplelink, *:not(h1, h2, h3, h4, h5, h6) + .iconlink, .pagesplit > *:not(h1, h2, h3, h4, h5, h6) + div, *:not(h1, h2, h3, h4, h5, h6) + .anchorlink, *:not(h1, h2, h3, h4, h5, h6) + .historyanchorlink {
	margin-top: 80px;
}
@media screen and (max-width: 767px) {
	footer *:not(h1, h2, h3, h4, h5, h6) + .copyright, .contents *:not(h1, h2, h3, h4, h5, h6) + .column, .contents *:not(h1, h2, h3, h4, h5, h6) + .selector, .contents *:not(h1, h2, h3, h4, h5, h6) + .form, *:not(h1, h2, h3, h4, h5, h6) + .tab, *:not(h1, h2, h3, h4, h5, h6) + .newscategory, *:not(h1, h2, h3, h4, h5, h6) + .banners, *:not(h1, h2, h3, h4, h5, h6) + .contentsmenu, *:not(h1, h2, h3, h4, h5, h6) + .featurelist, *:not(h1, h2, h3, h4, h5, h6) + .businessactivities, *:not(h1, h2, h3, h4, h5, h6) + .esgblock, *:not(h1, h2, h3, h4, h5, h6) + .peoplelink, *:not(h1, h2, h3, h4, h5, h6) + .iconlink, .pagesplit > *:not(h1, h2, h3, h4, h5, h6) + div, *:not(h1, h2, h3, h4, h5, h6) + .anchorlink, *:not(h1, h2, h3, h4, h5, h6) + .historyanchorlink {
		margin-top: 60px;
	}
}

#fullmenu .sublink *:not(h1, h2, h3, h4, h5, h6) + ul, footer .body *:not(h1, h2, h3, h4, h5, h6) + ul, .contents *:not(h1, h2, h3, h4, h5, h6) + .text, .contents *:not(h1, h2, h3, h4, h5, h6) + figure,
.contents *:not(h1, h2, h3, h4, h5, h6) + .image, .contents *:not(h1, h2, h3, h4, h5, h6) + .imagebox, .contents *:not(h1, h2, h3, h4, h5, h6) + .table, .contents *:not(h1, h2, h3, h4, h5, h6) + .box, .contents *:not(h1, h2, h3, h4, h5, h6) + .button, .contents *:not(h1, h2, h3, h4, h5, h6) + .datelist, .contents *:not(h1, h2, h3, h4, h5, h6) + .googlemap, *:not(h1, h2, h3, h4, h5, h6) + .message, *:not(h1, h2, h3, h4, h5, h6) + .historytable {
	margin-top: 60px;
}
@media screen and (max-width: 767px) {
	#fullmenu .sublink *:not(h1, h2, h3, h4, h5, h6) + ul, footer .body *:not(h1, h2, h3, h4, h5, h6) + ul, .contents *:not(h1, h2, h3, h4, h5, h6) + .text, .contents *:not(h1, h2, h3, h4, h5, h6) + figure,
	.contents *:not(h1, h2, h3, h4, h5, h6) + .image, .contents *:not(h1, h2, h3, h4, h5, h6) + .imagebox, .contents *:not(h1, h2, h3, h4, h5, h6) + .table, .contents *:not(h1, h2, h3, h4, h5, h6) + .box, .contents *:not(h1, h2, h3, h4, h5, h6) + .button, .contents *:not(h1, h2, h3, h4, h5, h6) + .datelist, .contents *:not(h1, h2, h3, h4, h5, h6) + .googlemap, *:not(h1, h2, h3, h4, h5, h6) + .message, *:not(h1, h2, h3, h4, h5, h6) + .historytable {
		margin-top: 45px;
	}
}

.contents .text *:not(h1, h2, h3, h4, h5, h6) + p:not(.image):not(.caption), .contents > div > *:not(h1, h2, h3, h4, h5, h6) + p:not(.image):not(.caption), .contents .imagebox > *:not(.image) > *:not(h1, h2, h3, h4, h5, h6) + p:not(.image):not(.caption), .contents .column > * > *:not(h1, h2, h3, h4, h5, h6) + p:not(.image):not(.caption), .contents .table > table > tr > td:not(.d) > *:not(h1, h2, h3, h4, h5, h6) + p:not(.image):not(.caption), .contents .table > table > tbody > tr > td > *:not(h1, h2, h3, h4, h5, h6) + p:not(.image):not(.caption), .contents .box > *:not(h1, h2, h3, h4, h5, h6) + p:not(.image):not(.caption), .contents .form > dl > dd > *:not(h1, h2, h3, h4, h5, h6) + p:not(.image):not(.caption), .message .body > *:not(h1, h2, h3, h4, h5, h6) + p:not(.image):not(.caption), .pagesplit .body > *:not(h1, h2, h3, h4, h5, h6) + p:not(.image):not(.caption), .contents .text *:not(h1, h2, h3, h4, h5, h6) + ul, .contents > div > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .imagebox > *:not(.image) > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .column > * > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .table > table > tr > td:not(.d) > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .table > table > tbody > tr > td > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .box > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .form > dl > dd > *:not(h1, h2, h3, h4, h5, h6) + ul, .message .body > *:not(h1, h2, h3, h4, h5, h6) + ul, .pagesplit .body > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .text *:not(h1, h2, h3, h4, h5, h6) + ol, .contents > div > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .imagebox > *:not(.image) > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .column > * > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .table > table > tr > td:not(.d) > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .table > table > tbody > tr > td > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .box > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .form > dl > dd > *:not(h1, h2, h3, h4, h5, h6) + ol, .message .body > *:not(h1, h2, h3, h4, h5, h6) + ol, .pagesplit .body > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .imagebox > .image > *:not(h1, h2, h3, h4, h5, h6) + img,
.contents .imagebox > .image > *:not(h1, h2, h3, h4, h5, h6) + a, .contents .form *:not(h1, h2, h3, h4, h5, h6) + textarea, .contentsmenu > ul > li:not(.col):not(.border) > div.info *:not(h1, h2, h3, h4, h5, h6) + p, .contentsmenu > ul > li:not(.col):not(.border) > div.info *:not(h1, h2, h3, h4, h5, h6) + ul, *:not(h1, h2, h3, h4, h5, h6) + .morelink {
	margin-top: 20px;
}

header {
	display: block;
	position: fixed;
	width: 100%;
	height: 100px;
	top: 0px;
	background: #fff;
	z-index: 1000;
	transition: top 600ms;
}
.hideheader header {
	top: -50px;
}
@media screen and (max-width: 959px) {
	header {
		top: -50px;
	}
}
@media screen and (max-width: 767px) {
	header {
		box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.16);
	}
}

#logo {
	position: fixed;
	top: 50px;
	left: 40px;
	transform: translateY(-50%);
	transition: top 600ms;
}
.hideheader #logo {
	top: 25px;
}
@media screen and (max-width: 1279px) {
	.hideheader #logo {
		top: -25px;
	}
}
@media screen and (max-width: 959px) {
	.hideheader #logo {
		top: 25px;
	}
}
@media screen and (max-width: 959px) {
	#logo {
		top: 25px;
		left: 20px;
	}
}
@media screen and (max-width: 767px) {
	#logo {
		left: 15px;
	}
}
#logo.en a {
	width: 312px;
	background-image: url(../images/logo_en.svg);
}
@media screen and (max-width: 1279px) {
	#logo.en a {
		width: 276px;
	}
}
.hideheader #logo.en a {
	width: 204px;
}
@media screen and (max-width: 959px) {
	#logo.en a {
		width: 204px;
	}
}
#logo a {
	display: block;
	width: 282px;
	height: 52px;
	background: url(../images/logo.svg) no-repeat center center;
	background-size: 100%;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	transition: width 600ms, height 600ms, opacity 200ms;
}
#logo a:hover {
	opacity: 0.7;
}
.recruit #logo a {
	width: 249px;
	height: 37px;
	background-image: url(../images/grouplogo.png);
}
.recruit #logo a div {
	position: absolute;
	display: flex;
	align-items: flex-end;
	left: calc(100% + min(20px, 20/1280*100vw));
	top: 0;
	height: 78.4%;
	white-space: nowrap;
	font-size: min(1.5625vw, 20px);
	line-height: 1;
	font-weight: 500;
	color: #000000;
}
@media screen and (max-width: 959px) {
	.recruit #logo a div {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.recruit #logo a div {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}
@media screen and (max-width: 1279px) {
	.recruit #logo a {
		width: 249px;
		height: 37px;
	}
}
.hideheader .recruit #logo a {
	width: 180px;
	height: 27px;
}
@media screen and (max-width: 959px) {
	.recruit #logo a {
		width: 180px;
		height: 27px;
	}
}
@media screen and (max-width: 1279px) {
	#logo a {
		width: 250px;
		height: 46px;
	}
}
.hideheader #logo a {
	width: 183px;
	height: 34px;
}
@media screen and (max-width: 959px) {
	#logo a {
		width: 183px;
		height: 34px;
	}
}
#logo a span {
	position: absolute;
	left: -10000px;
}

#utility {
	position: fixed;
	display: flex;
	align-items: flex-end;
	gap: 20px;
	top: 0px;
	right: 90px;
	height: 39px;
	transition: right 600ms, top 600ms;
	z-index: 1;
}
.hideheader #utility {
	top: -39px;
}
@media screen and (max-width: 959px) {
	.hideheader #utility {
		top: 0px;
	}
}
@media screen and (max-width: 959px) {
	#utility {
		right: 70px;
	}
}
@media screen and (max-width: 767px) {
	#utility {
		display: none;
	}
}
#utility .med {
	position: absolute;
	display: flex;
	align-items: flex-end;
	top: 0px;
	right: calc(var(--uw, 313px) + 20px);
	height: 100%;
	z-index: 1;
	transition: top 600ms, right 600ms;
}
.hideheader #utility .med {
	right: 0px;
	top: 34px;
}
@media screen and (max-width: 959px) {
	.hideheader #utility .med {
		right: calc(var(--uw, 275px) + 20px);
		top: 0;
	}
}
@media screen and (max-width: 959px) {
	#utility .med {
		right: calc(var(--uw, 275px) + 20px);
	}
}
#utility .med > a {
	position: relative;
	display: flex;
	align-items: center;
	height: 20px;
	padding: 0px 10px 0px 30px;
	font-size: min(1.015625vw, 13px);
	line-height: 1;
	font-weight: 500;
	color: #fff;
	transition: opacity 0.2s, background 0.2s, color 400ms;
	cursor: pointer;
	z-index: 1;
}
@media screen and (max-width: 959px) {
	#utility .med > a {
		font-size: min(1.2682926829vw, 10.4px);
	}
}
@media screen and (max-width: 767px) {
	#utility .med > a {
		font-size: min(3.0546336088vw, 11.4548760331px);
	}
}
#utility .med > a:hover {
	opacity: 0.7;
}
#utility .med > a span {
	display: block;
	white-space: nowrap;
}
#utility .med > a span:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 12px;
	width: 14px;
	height: 14px;
	margin-top: -6px;
	background: url(../images/icon01.svg) no-repeat center center;
	background-size: auto 100%;
	transition: opacity 400ms;
}
#utility .med > a span:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 12px;
	width: 14px;
	height: 14px;
	margin-top: -6px;
	background: url(../images/icon01b.svg) no-repeat center center;
	background-size: auto 100%;
	opacity: 0;
	transition: opacity 400ms;
}
#utility .med > a:after {
	content: "";
	display: block;
	position: absolute;
	bottom: -4px;
	left: 0px;
	width: 100%;
	height: 43px;
	background: #004898;
	border-radius: 0px 0px 5px 5px;
	overflow: hidden;
	transition: background 400ms;
	z-index: -1;
}
#utility .med:hover > a {
	color: #004898;
}
#utility .med:hover > a:after {
	background: #fff;
}
#utility .med:hover > a span:before {
	opacity: 0;
}
#utility .med:hover > a span:after {
	opacity: 1;
}
#utility .med:hover ul {
	transform: translate(-50%, 0%);
}
#utility .med ul {
	position: absolute;
	display: flex;
	left: 50%;
	top: -3px;
	z-index: 0;
	transform: translate(-50%, -100%);
	transition: transform 400ms;
}
#utility .med ul li {
	width: 180px;
	height: 180px;
	background: #fff;
}
#utility .med ul a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: min(1.25vw, 16px);
	line-height: 1.5;
	font-weight: 500;
	color: #fff;
	text-align: center;
	background: url(../images/arroww.svg) no-repeat center bottom 25px;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	#utility .med ul a {
		font-size: min(1.5609756098vw, 12.8px);
	}
}
@media screen and (max-width: 767px) {
	#utility .med ul a {
		font-size: min(3.4330798898vw, 12.8740495868px);
	}
}
#utility .med ul a:hover {
	opacity: 0.7;
}
#utility .med ul li:nth-child(1) a {
	background-color: #006998;
}
#utility .med ul li:nth-child(2) a {
	background-color: #008698;
}
#utility .news a {
	align-items: center;
	height: 20px;
	padding-left: 18px;
	font-size: min(1.015625vw, 13px);
	line-height: 1;
	font-weight: 500;
	color: #000;
	position: relative;
	display: inline-block;
	display: flex;
}
@media screen and (max-width: 959px) {
	#utility .news a {
		font-size: min(1.2682926829vw, 10.4px);
	}
}
@media screen and (max-width: 767px) {
	#utility .news a {
		font-size: min(3.0546336088vw, 11.4548760331px);
	}
}
#utility .news a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
#utility .news a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.05em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
#utility .news a:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0px;
	width: 12px;
	height: 10px;
	margin-top: -4px;
	background: url(../images/news.svg) no-repeat center center;
	background-size: auto 100%;
}
#utility .contact a {
	align-items: center;
	height: 20px;
	padding-left: 18px;
	font-size: min(1.015625vw, 13px);
	line-height: 1;
	font-weight: 500;
	color: #000;
	position: relative;
	display: inline-block;
	display: flex;
}
@media screen and (max-width: 959px) {
	#utility .contact a {
		font-size: min(1.2682926829vw, 10.4px);
	}
}
@media screen and (max-width: 767px) {
	#utility .contact a {
		font-size: min(3.0546336088vw, 11.4548760331px);
	}
}
#utility .contact a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
#utility .contact a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.05em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
#utility .contact a:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0px;
	width: 13px;
	height: 10px;
	margin-top: -4px;
	background: url(../images/contact.svg) no-repeat center center;
	background-size: auto 100%;
}
#utility .language ul {
	display: flex;
	gap: 12px;
	align-items: center;
	height: 20px;
	font-size: min(1.09375vw, 14px);
	line-height: 1;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	#utility .language ul {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	#utility .language ul {
		font-size: min(3.1818402204vw, 11.9319008264px);
	}
}
#utility .language a {
	color: #004898;
	position: relative;
	display: inline-block;
}
#utility .language a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
#utility .language a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.05em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
#utility .language li + li {
	position: relative;
}
#utility .language li + li:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 0.8em;
	left: -6px;
	top: 0.15em;
	background: #CDD6DD;
	transform: skew(-20deg);
}
#utility .search a {
	position: relative;
	display: block;
	width: 15px;
	height: 15px;
	top: -3px;
	text-indent: -100000px;
	background: url(../images/search.svg) no-repeat center center;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#utility .search a:hover {
	opacity: 0.7;
}

#navigation {
	position: absolute;
	bottom: 0px;
	right: 16px;
	transition: visibility 600ms, right 600ms, opacity 600ms;
}
.hideheader #navigation {
	right: calc(86px + var(--mw) + 8px);
}
@media screen and (max-width: 959px) {
	.hideheader #navigation {
		opacity: 0;
		pointer-events: none;
		visibility: hidden;
	}
}
@media screen and (max-width: 1279px) {
	#navigation {
		right: 28px;
	}
}
@media screen and (max-width: 959px) {
	#navigation {
		display: none;
	}
}
#navigation > ul {
	display: flex;
	gap: 0px;
	align-items: center;
	height: 54px;
	transition: height 600ms;
}
.hideheader #navigation > ul {
	height: 50px;
}
#navigation > ul > li {
	position: relative;
	overflow: hidden;
}
#navigation > ul > li a {
	display: flex;
	align-items: center;
	padding: 0px 24px;
	height: 54px;
	font-size: min(1.328125vw, 17px);
	line-height: 1;
	font-weight: 500;
	color: #000;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	transition: opacity 0.2s, height 600ms, padding 600ms;
}
@media screen and (max-width: 959px) {
	#navigation > ul > li a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	#navigation > ul > li a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
#navigation > ul > li a:hover {
	opacity: 0.7;
}
.hideheader #navigation > ul > li a {
	height: 50px;
}
@media screen and (max-width: 1599px) {
	.hideheader #navigation > ul > li a {
		padding: 0px 12px;
	}
}
@media screen and (max-width: 1279px) {
	#navigation > ul > li a {
		padding: 0px 12px;
	}
}
#navigation > ul > li:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -6px;
	border: 6px solid transparent;
	border-top: 0;
	border-bottom: 10px solid #004898;
	transform: translateY(100%);
	transition: 400ms;
}
.megamenuopen #navigation > ul > li.mmcurrent:after {
	transform: translateY(0);
}
#navigation > ul > li + li:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 16px;
	top: 50%;
	margin-top: -6px;
	background: #CDD6DD;
}

#menu {
	display: block;
	position: fixed;
	top: 0px;
	right: 28px;
	transition: right 600ms;
}
@media screen and (max-width: 959px) {
	#menu {
		right: 8px;
	}
}
@media screen and (max-width: 767px) {
	#menu {
		right: 0px;
	}
}
#menu a {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	text-indent: -10000px;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#menu a:hover {
	opacity: 0.7;
}
#menu a:before {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: url(../images/menu.svg) no-repeat center center;
	opacity: 1;
	transition: 400ms;
}
#menu a:after {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: url(../images/close.svg) no-repeat center center;
	opacity: 0;
	transition: 400ms;
}
.menuopen #menu a:before {
	opacity: 0;
}
.menuopen #menu a:after {
	opacity: 1;
}

header.recruit .home {
	position: absolute;
	display: flex;
	align-items: center;
	gap: 20px;
	top: 50px;
	right: 290px;
	transform: translateY(-50%);
	transition: top 600ms, right 600ms;
}
header.recruit .home a {
	display: flex;
	align-items: center;
	height: 28px;
	padding: 5px 13px 5px 30px;
	font-size: min(1.015625vw, 13px);
	line-height: 1;
	font-weight: 500;
	color: #000000;
	background: url(../images/home.svg) no-repeat 11px center;
	border: 1px solid #004898;
	border-radius: 15px;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	header.recruit .home a {
		font-size: min(1.2682926829vw, 10.4px);
	}
}
@media screen and (max-width: 767px) {
	header.recruit .home a {
		font-size: min(3.0546336088vw, 11.4548760331px);
	}
}
header.recruit .home a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	header.recruit .home a {
		display: none;
	}
}
.hideheader header.recruit .home {
	top: 75px;
}
@media screen and (max-width: 959px) {
	header.recruit .home {
		top: 75px;
		right: 190px;
	}
}
@media screen and (max-width: 767px) {
	header.recruit .home {
		display: none;
	}
}
header.recruit .career {
	position: absolute;
	bottom: 0;
	right: 0;
}
header.recruit .career a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	min-width: 240px;
	height: 100px;
	padding: 10px 20px;
	font-size: min(1.5625vw, 20px);
	line-height: 1.5;
	font-weight: 500;
	color: #fff;
	text-align: center;
	background: #000;
	background: radial-gradient(95% 228% at left top, rgba(7, 7, 7, 0.36) 0%, rgba(38, 38, 38, 0.78) 30%, black 100%);
	transition: opacity 0.2s, background 0.2s, height 600ms;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	header.recruit .career a {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	header.recruit .career a {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}
header.recruit .career a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	header.recruit .career a {
		padding: 5px 15px;
		min-width: 100px;
	}
}
header.recruit .career a span {
	padding-top: 5px;
	font-size: min(1.09375vw, 14px);
	transition: height 600ms, padding 600ms;
	height: calc(5px + 1.5em);
	overflow: hidden;
}
@media screen and (max-width: 959px) {
	header.recruit .career a span {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	header.recruit .career a span {
		font-size: min(3.1818402204vw, 11.9319008264px);
	}
}
@media screen and (max-width: 959px) {
	header.recruit .career a span {
		display: none;
	}
}
.hideheader header.recruit .career a {
	height: 50px;
}
.hideheader header.recruit .career a span {
	height: 0;
	padding-top: 0px;
}
@media screen and (max-width: 959px) {
	header.recruit .career a {
		height: 50px;
		min-width: 160px;
	}
	header.recruit .career a span {
		height: 0;
		padding-top: 0px;
	}
}
@media screen and (max-width: 767px) {
	header.recruit .career a {
		display: none;
	}
}
@media screen and (max-width: 1279px) {
	.hideheader header.recruit #logo {
		top: 25px;
	}
}
header.recruit #menu {
	display: none;
}
@media screen and (max-width: 767px) {
	header.recruit #menu {
		display: block;
	}
}

#megamenu {
	position: fixed;
	top: 100px;
	width: 100%;
	background: #004898;
	z-index: 45;
	transform: translateY(-50%);
	transition: 400ms;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}
.hideheader #megamenu {
	top: 50px;
}
@media screen and (max-width: 959px) {
	#megamenu {
		display: none;
	}
}
#megamenu > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 0px 40px 60px;
	transition: height 400ms;
}
@media screen and (max-width: 959px) {
	#megamenu > div {
		padding: 0px 20px 30px;
	}
}
@media screen and (max-width: 767px) {
	#megamenu > div {
		padding: 0px 15px 30px;
	}
}
.megamenuopen #megamenu {
	transform: translateY(0%);
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}
#megamenu .mm {
	position: absolute;
	width: calc(100% - 80px);
	max-width: 1280px;
	margin: auto;
	left: 50%;
	top: 0px;
	transform: translateX(-50%);
	transition: visibility 200ms, opacity 200ms;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}
#megamenu .mm.show {
	transition: visibility 0ms, opacity 400ms 200ms;
	z-index: 10;
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}
#megamenu .mm .block {
	display: flex;
	gap: min(40px, 3.125vw);
	padding-top: 60px;
}
#megamenu .mm .head {
	margin-bottom: 40px;
	padding-bottom: 20px;
	font-size: min(1.40625vw, 18px);
	line-height: 1.3;
	font-weight: 500;
	border-bottom: 1px solid #fff;
}
@media screen and (max-width: 959px) {
	#megamenu .mm .head {
		font-size: min(1.756097561vw, 14.4px);
	}
}
@media screen and (max-width: 767px) {
	#megamenu .mm .head {
		font-size: min(3.6800881543vw, 13.8003305785px);
	}
}
#megamenu .mm .body {
	width: 100%;
}
#megamenu .mm .body ul {
	display: flex;
	flex-wrap: wrap;
	gap: min(30px, 2.34375vw) min(40px, 3.125vw);
	font-size: min(1.25vw, 16px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
}
@media screen and (max-width: 959px) {
	#megamenu .mm .body ul {
		font-size: min(1.5609756098vw, 12.8px);
	}
}
@media screen and (max-width: 767px) {
	#megamenu .mm .body ul {
		font-size: min(3.4330798898vw, 12.8740495868px);
	}
}
#megamenu .mm .body li {
	width: calc((100% - min(40px, 40/1280*100vw) * 3) / 4);
}
#megamenu .mm .body a {
	color: #fff;
	position: relative;
	display: inline-block;
}
#megamenu .mm .body a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #fff;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
#megamenu .mm .body a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.15em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
#megamenu .mm .body .col {
	display: flex;
}
#megamenu .mm .body .col > div {
	width: 25%;
}
#megamenu .mm .body .col > div ul {
	flex-direction: column;
}
#megamenu .mm .body .col > div ul.narrow {
	gap: 15px;
}
#megamenu .mm .body .col > div ul + ul {
	margin-top: 30px;
}
#megamenu .mm .body .col > div ul li {
	width: auto;
}
#megamenu .mm .body .col > div ul li.child {
	font-weight: 300;
	padding-left: 20px;
}

#fullmenu {
	position: fixed;
	top: 100px;
	right: 0px;
	width: 70%;
	height: calc(100% - 100px);
	color: #fff;
	z-index: 999;
	transform: translateX(40%);
	transition: visibility 600ms, opacity 600ms, transform 600ms, top 600ms, height 600ms, margin-top 600ms;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}
.hideheader #fullmenu {
	top: 50px;
	height: calc(100% - 50px);
}
@media screen and (max-width: 959px) {
	#fullmenu {
		top: 50px;
		height: calc(100% - 50px);
	}
}
@media screen and (max-width: 767px) {
	#fullmenu {
		width: 100%;
		background: #004898;
		overflow-y: auto;
		overflow-x: hidden;
	}
}
.menuopen #fullmenu {
	transform: translateX(0%);
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}
#fullmenu .panel {
	position: absolute;
	width: calc(30vw + 10px);
	height: 100%;
	right: 80%;
	top: 0px;
	padding: 0;
	transition: right 0ms 600ms;
	z-index: -1;
}
@media screen and (max-width: 767px) {
	#fullmenu .panel {
		position: static;
		width: 100%;
		height: auto;
	}
}
.menuopen #fullmenu .panel {
	right: 100%;
	transition: right linear 500ms;
}
#fullmenu .panel:before {
	content: "";
	display: block;
	position: fixed;
	width: 35vw;
	height: 100%;
	top: 0px;
	left: -35vw;
	background: url(../images/fullmenu.jpg) no-repeat right center;
	background-size: cover;
	z-index: -1;
}
@media screen and (max-width: 767px) {
	#fullmenu .panel:before {
		display: none;
	}
}
#fullmenu .panel:after {
	content: "";
	display: block;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: -50vw;
	background: rgba(0, 72, 152, 0.6);
	z-index: -1;
}
@media screen and (max-width: 767px) {
	#fullmenu .panel:after {
		display: none;
	}
}
#fullmenu .panel > div:not(.med) {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding-top: min(40px, 3.125vw);
	padding-bottom: calc(130px + min(40px, 40/1280*100vw) * 2);
}
@media screen and (max-width: 767px) {
	#fullmenu .panel > div:not(.med) {
		display: none;
	}
}
#fullmenu .panel > div:not(.med) img {
	width: 85%;
	max-width: 474px;
	object-fit: contain;
}
#fullmenu .panel .med {
	position: absolute;
	left: 50%;
	bottom: min(40px, 3.125vw);
	max-width: calc(100% - 40px);
	margin-left: 5px;
	transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
	#fullmenu .panel .med {
		display: none;
	}
}
#fullmenu .panel .med p {
	font-size: min(1.5625vw, 20px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	margin-bottom: 20px;
}
@media screen and (max-width: 959px) {
	#fullmenu .panel .med p {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	#fullmenu .panel .med p {
		font-size: min(4.2666666667vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	#fullmenu .panel .med p {
		margin-bottom: 15px;
		text-align: center;
	}
}
#fullmenu .panel .med ul {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
@media screen and (max-width: 767px) {
	#fullmenu .panel .med ul {
		gap: 0px;
		flex-direction: row;
	}
}
#fullmenu .panel .med ul li {
	width: 290px;
	max-width: 100%;
}
@media screen and (max-width: 767px) {
	#fullmenu .panel .med ul li {
		width: 100%;
		flex: 1;
	}
}
#fullmenu .panel .med ul a {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 60px;
	padding: 5px 55px 5px 20px;
	font-size: min(1.09375vw, 14px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	background: url(../images/arroww.svg) no-repeat right 20px center;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	#fullmenu .panel .med ul a {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	#fullmenu .panel .med ul a {
		font-size: min(3.7333333333vw, 14px);
	}
}
#fullmenu .panel .med ul a:hover {
	opacity: 0.7;
}
#fullmenu .panel .med ul li:nth-child(1) a {
	background-color: #006998;
}
#fullmenu .panel .med ul li:nth-child(2) a {
	background-color: #008698;
}
#fullmenu .body {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 30px 40px 25px 30px;
	background: #004898;
	overflow-y: auto;
	overflow-x: hidden;
	z-index: 5;
}
@media screen and (max-width: 767px) {
	#fullmenu .body {
		height: auto;
		padding: 0px 15px 40px;
	}
}
#fullmenu .search {
	position: relative;
	display: none;
	width: 100%;
	padding: 30px 15px 20px;
	background: #CDD6DD;
}
@media screen and (max-width: 767px) {
	#fullmenu .search {
		display: block;
	}
}
#fullmenu .search .title {
	margin-bottom: 10px;
	font-size: min(6.4vw, 24px);
	line-height: 1;
	font-weight: 100;
	color: #1E2C58;
	font-family: 'Montserrat', sans-serif;
}
#fullmenu .search .gsc-control,
#fullmenu .search .gsc-control-cse {
	position: relative;
	width: auto;
	padding: 0;
	background: transparent;
	border: 0;
}
#fullmenu .search .gsc-control form.gsc-search-box,
#fullmenu .search .gsc-control-cse form.gsc-search-box {
	margin: 0;
}
#fullmenu .search .gsc-control table.gsc-search-box,
#fullmenu .search .gsc-control-cse table.gsc-search-box {
	margin: 0;
}
#fullmenu .search .gsc-control table.gsc-search-box td.gsc-input,
#fullmenu .search .gsc-control-cse table.gsc-search-box td.gsc-input {
	width: 100%;
	padding: 0;
}
#fullmenu .search .gsc-control .input.gsc-input, #fullmenu .search .gsc-control .gsc-input-box, #fullmenu .search .gsc-control .gsc-input-box-hover, #fullmenu .search .gsc-control .gsc-input-box-focus,
#fullmenu .search .gsc-control-cse .input.gsc-input,
#fullmenu .search .gsc-control-cse .gsc-input-box,
#fullmenu .search .gsc-control-cse .gsc-input-box-hover,
#fullmenu .search .gsc-control-cse .gsc-input-box-focus {
	padding: 0;
	background: transparent;
	border: 0;
}
#fullmenu .search .gsc-control .gsib_a,
#fullmenu .search .gsc-control-cse .gsib_a {
	padding: 0;
}
#fullmenu .search .gsc-control .gsst_b,
#fullmenu .search .gsc-control-cse .gsst_b {
	display: none;
}
#fullmenu .search .gsc-control .gsc-clear-button,
#fullmenu .search .gsc-control-cse .gsc-clear-button {
	display: none !important;
}
#fullmenu .search .input {
	position: relative;
	background: #ffffff;
}
#fullmenu .search input {
	width: 100%;
	height: 60px !important;
	padding: 0px 70px 0px 10px !important;
	font-size: min(4.8vw, 18px);
	line-height: 60px;
	font-weight: 500;
	background: #fff !important;
	border: 1px solid #B5B6B6 !important;
}
#fullmenu .search input::placeholder {
	color: #707F89;
}
#fullmenu .search input:-ms-input-placeholder {
	color: #707F89;
}
#fullmenu .search input::-ms-input-placeholder {
	color: #707F89;
}
#fullmenu .search button {
	position: absolute;
	width: 60px;
	height: 60px;
	right: 0px;
	top: 0px;
	text-indent: -10000px;
	background: url(../images/search.svg) no-repeat center center;
	background-size: 16px;
	border: 0px;
	cursor: pointer;
}
#fullmenu .menu {
	position: relative;
	width: 28%;
	flex-shrink: 0;
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	#fullmenu .menu {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	#fullmenu .menu {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
#fullmenu .menu:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -40px;
	left: 0px;
	width: calc(100% - 40px);
	height: 1px;
	background: #fff;
}
@media screen and (max-width: 767px) {
	#fullmenu .menu:before {
		bottom: -15px;
	}
}
@media screen and (max-width: 767px) {
	#fullmenu .menu {
		width: 100%;
		margin-top: 10px;
	}
}
#fullmenu .menu a {
	display: inline-block;
	color: #fff;
}
#fullmenu .menu div:not(.med) {
	display: flex;
}
#fullmenu .menu div:not(.med) .sw {
	display: none;
}
@media screen and (max-width: 767px) {
	#fullmenu .menu div:not(.med) {
		align-items: center;
		margin: 0px -15px;
		height: 50px;
	}
	#fullmenu .menu div:not(.med) .sw {
		position: relative;
		flex-shrink: 0;
		display: block;
		width: 70px;
		height: 100%;
		cursor: pointer;
		overflow: hidden;
	}
	#fullmenu .menu div:not(.med) .sw:before {
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0%;
		background: url(../images/plus.svg) no-repeat center center;
		transition: top 400ms;
	}
	#fullmenu .menu div:not(.med) .sw:after {
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		top: -100%;
		background: url(../images/minus.svg) no-repeat center center;
		transition: top 400ms;
	}
	#fullmenu .menu div:not(.med) .sw.open:before {
		top: 100%;
	}
	#fullmenu .menu div:not(.med) .sw.open:after {
		top: 0%;
	}
}
#fullmenu .menu div:not(.med) a:not(.sw) {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: min(57px, 4.453125vw);
	align-items: flex-start;
}
@media screen and (max-width: 767px) {
	#fullmenu .menu div:not(.med) a:not(.sw) {
		padding: 10px 15px;
		height: 50px;
	}
}
#fullmenu .menu div:not(.med) a:not(.sw):before {
	content: "";
	display: block;
	position: absolute;
	width: 0px;
	height: 100%;
	top: 0px;
	left: -30px;
	background: rgba(255, 255, 255, 0.2);
	opacity: 0;
	transition: width 0ms 300ms, opacity 300ms;
	z-index: -1;
	mix-blend-mode: screen;
}
@media screen and (max-width: 767px) {
	#fullmenu .menu div:not(.med) a:not(.sw):before {
		display: none;
	}
}
#fullmenu .menu div:not(.med).open a:not(.sw):before {
	width: calc(100% + 30px);
	opacity: 1;
}
#fullmenu .menu div:not(.med).separate {
	position: relative;
	margin-top: min(40px, 3.125vw);
	margin-bottom: min(40px, 3.125vw);
}
@media screen and (max-width: 767px) {
	#fullmenu .menu div:not(.med).separate {
		margin-top: 40px;
	}
}
#fullmenu .menu div:not(.med).separate:before {
	content: "";
	display: block;
	position: absolute;
	width: calc(100% - 15px);
	height: 1px;
	top: -10px;
	left: 0px;
	background: #fff;
}
@media screen and (max-width: 767px) {
	#fullmenu .menu div:not(.med).separate:before {
		width: calc(100% - 30px);
		left: 15px;
		top: -20px;
	}
}
#fullmenu .menu ul {
	display: block;
	position: absolute;
	width: 100%;
	top: 0px;
	left: calc(100% + 0px);
	z-index: 10;
	transition: visibility 300ms, opacity 300ms, left 0ms 300ms;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}
@media screen and (min-width: 768px) {
	#fullmenu .menu ul {
		display: block !important;
	}
}
@media screen and (max-width: 767px) {
	#fullmenu .menu ul {
		display: none;
		position: static;
		margin: 0px -15px;
		width: auto;
		background: rgba(0, 0, 0, 0.2);
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
	}
}
#fullmenu .menu ul ul {
	width: 35vw;
}
#fullmenu .menu ul ul li {
	width: 25vw;
}
.sp #fullmenu .menu ul ul {
	display: none;
}
#fullmenu .menu ul ul:before {
	background: #CDD6DD;
}
#fullmenu .menu ul ul a {
	color: #000;
}
#fullmenu .menu ul ul a:before {
	background: rgba(255, 255, 255, 0.5);
	mix-blend-mode: screen;
}
#fullmenu .menu ul:before {
	content: "";
	display: block;
	position: fixed;
	width: 100vw;
	height: calc(100vh - 50px);
	background: #055CBE;
	top: 0px;
	margin-left: -30px;
	z-index: -1;
}
.hideheader #fullmenu .menu ul:before {
	height: calc(100vh - 50px);
}
@media screen and (max-width: 959px) {
	#fullmenu .menu ul:before {
		height: calc(100vh - 50px);
	}
}
@media screen and (max-width: 767px) {
	#fullmenu .menu ul:before {
		display: none;
	}
}
#fullmenu .menu ul li.open > a:before {
	width: calc(100% + 30px);
	opacity: 1;
}
#fullmenu .menu ul li li a:hover:before {
	width: 35vw;
	transition: width 600ms, opacity 0ms;
}
#fullmenu .menu ul a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: min(57px, 4.453125vw);
	padding: 10px 0px;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
	#fullmenu .menu ul a {
		min-height: 50px;
		padding: 10px 15px 10px 35px;
	}
}
#fullmenu .menu ul a:before {
	content: "";
	display: block;
	position: absolute;
	width: 0px;
	height: 100%;
	top: 0px;
	left: -30px;
	background: rgba(0, 72, 152, 0.8);
	opacity: 0;
	transition: width 0ms 300ms, opacity 300ms;
	z-index: -1;
}
.sp #fullmenu .menu ul a:before {
	display: none;
}
#fullmenu .menu ul a:hover:before {
	width: calc(100% + 30px);
	opacity: 1;
	transition: width 400ms, opacity 0ms;
}
#fullmenu .menu div.open + ul {
	opacity: 1;
	left: calc(100% + 30px);
	transition: visibility 0ms, opacity 400ms 250ms, left 400ms 250ms;
}
.menuopen #fullmenu .menu div.open + ul {
	visibility: visible;
	pointer-events: auto;
}
#fullmenu .menu div.open + ul li.open ul {
	opacity: 1;
	left: calc(100% + 30px);
	transition: visibility 0ms, opacity 400ms 250ms, left 400ms 250ms;
}
.menuopen #fullmenu .menu div.open + ul li.open ul {
	visibility: visible;
	pointer-events: auto;
}
#fullmenu .menu div a:not(.sw):hover:before {
	width: calc(100% + 30px);
	opacity: 1;
	transition: width 400ms, opacity 0ms;
}
#fullmenu .menu .med {
	display: none;
	padding: 20px 0px 0;
}
@media screen and (max-width: 767px) {
	#fullmenu .menu .med {
		display: block;
	}
}
#fullmenu .menu .med p {
	font-size: min(1.5625vw, 20px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	margin-bottom: 15px;
	text-align: center;
}
@media screen and (max-width: 959px) {
	#fullmenu .menu .med p {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	#fullmenu .menu .med p {
		font-size: min(4.2666666667vw, 16px);
	}
}
#fullmenu .menu .med ul {
	display: flex;
	align-items: center;
	gap: 0px;
}
#fullmenu .menu .med ul li {
	width: 290px;
	max-width: 100%;
}
@media screen and (max-width: 767px) {
	#fullmenu .menu .med ul li {
		width: 100%;
		flex: 1;
	}
}
#fullmenu .menu .med ul a {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 60px;
	padding: 5px 55px 5px 20px;
	font-size: min(1.09375vw, 14px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	background: url(../images/arroww.svg) no-repeat right 20px center;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	#fullmenu .menu .med ul a {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	#fullmenu .menu .med ul a {
		font-size: min(3.7333333333vw, 14px);
	}
}
#fullmenu .menu .med ul a:hover {
	opacity: 0.7;
}
#fullmenu .menu .med ul a:before {
	display: none;
}
#fullmenu .menu .med ul li:nth-child(1) a {
	background-color: #006998;
}
#fullmenu .menu .med ul li:nth-child(2) a {
	background-color: #008698;
}
#fullmenu .sublink {
	padding-top: min(80px, 6.25vw);
	margin-top: auto;
}
@media screen and (max-width: 767px) {
	#fullmenu .sublink {
		padding-top: 35px;
	}
}
#fullmenu .sublink ul {
	display: flex;
	gap: 10px;
	flex-direction: column;
}
@media screen and (max-width: 767px) {
	#fullmenu .sublink ul {
		align-items: center;
	}
}
#fullmenu .sublink a {
	font-size: min(1.09375vw, 14px);
	line-height: 1;
	font-weight: 500;
	color: #fff;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	#fullmenu .sublink a {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	#fullmenu .sublink a {
		font-size: min(3.1818402204vw, 11.9319008264px);
	}
}
#fullmenu .sublink a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #fff;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
#fullmenu .sublink a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.05em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
#fullmenu .sublink .inews a {
	padding-left: 18px;
}
#fullmenu .sublink .inews a:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0px;
	width: 12px;
	height: 10px;
	margin-top: -4px;
	background: url(../images/newsw.svg) no-repeat center center;
	background-size: auto 100%;
}
@media screen and (max-width: 767px) {
	#fullmenu .sublink .isearch {
		display: none;
	}
}
#fullmenu .sublink .isearch a {
	padding-left: 18px;
}
#fullmenu .sublink .isearch a:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0px;
	width: 12px;
	height: 12px;
	margin-top: -5px;
	background: url(../images/searchw.svg) no-repeat center center;
	background-size: auto 100%;
}
#fullmenu .sublink .language {
	margin-top: 5px;
}
#fullmenu .sublink .language ul {
	gap: 15px;
	align-items: center;
	flex-direction: row;
	font-size: min(1.09375vw, 14px);
	line-height: 1;
	font-weight: 700;
	color: #fff;
}
@media screen and (max-width: 959px) {
	#fullmenu .sublink .language ul {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	#fullmenu .sublink .language ul {
		font-size: min(3.1818402204vw, 11.9319008264px);
	}
}
@media screen and (max-width: 767px) {
	#fullmenu .sublink .language ul {
		justify-content: center;
	}
}
#fullmenu .sublink .language a {
	font-weight: 400;
}
#fullmenu .copyright {
	position: relative;
	margin-top: auto;
	padding-top: min(25px, 1.953125vw);
	z-index: 0;
	font-size: min(1.25vw, 16px);
	line-height: 1.3;
	font-weight: 400;
	color: #fff;
}
@media screen and (max-width: 959px) {
	#fullmenu .copyright {
		font-size: min(1.5609756098vw, 12.8px);
	}
}
@media screen and (max-width: 767px) {
	#fullmenu .copyright {
		font-size: min(3.4330798898vw, 12.8740495868px);
	}
}
@media screen and (max-width: 767px) {
	#fullmenu .copyright {
		padding-top: 30px;
		text-align: center;
	}
}

#searchpanel {
	position: fixed;
	display: flex;
	top: 50px;
	right: 0px;
	width: 100%;
	height: calc(100% - 50px);
	background: rgba(0, 72, 152, 0.85);
	z-index: 30;
	transform: scale(1.1);
	transition: 600ms;
	overflow: auto;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}
.searchopen #searchpanel {
	transform: scale(1);
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}
@media screen and (max-width: 767px) {
	#searchpanel {
		display: none;
	}
}
#searchpanel > div:not(.close) {
	position: relative;
	width: 100%;
	max-width: 700px;
	margin: auto;
	padding: 100px 40px 50px;
}
@media screen and (max-width: 959px) {
	#searchpanel > div:not(.close) {
		padding: 50px 20px 25px;
	}
}
@media screen and (max-width: 767px) {
	#searchpanel > div:not(.close) {
		padding: 50px 15px 25px;
	}
}
#searchpanel > div:not(.close) .search {
	position: relative;
}
#searchpanel > div:not(.close) .search .title {
	position: relative;
	margin: 0px 0px 40px;
	padding: 0px;
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
}
@media screen and (max-width: 959px) {
	#searchpanel > div:not(.close) .search .title {
		font-size: min(2.3414634146vw, 19.2px);
	}
}
@media screen and (max-width: 767px) {
	#searchpanel > div:not(.close) .search .title {
		font-size: min(4.3957245179vw, 16.4839669421px);
	}
}
#searchpanel > div:not(.close) .search .title:before {
	content: attr(data-sub);
	display: block;
	margin-bottom: 15px;
	font-size: min(7.5vw, 96px);
	line-height: 1;
	font-weight: 100;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
}
@media screen and (max-width: 959px) {
	#searchpanel > div:not(.close) .search .title:before {
		font-size: min(9.3658536585vw, 76.8px);
	}
}
@media screen and (max-width: 767px) {
	#searchpanel > div:not(.close) .search .title:before {
		font-size: min(10.0129146006vw, 37.5484297521px);
	}
}
#searchpanel > div:not(.close) .search .body {
	margin-top: 70px;
	width: 100%;
}
#searchpanel > div:not(.close) .search .input {
	position: relative;
	background: transparent;
	overflow: hidden;
}
#searchpanel > div:not(.close) .search .gsc-control-cse {
	position: relative;
	width: auto;
	padding: 0;
	background: transparent;
	border: 0;
}
#searchpanel > div:not(.close) .search .gsc-control-cse form.gsc-search-box {
	margin: 0;
}
#searchpanel > div:not(.close) .search .gsc-control-cse table.gsc-search-box {
	margin: 0;
}
#searchpanel > div:not(.close) .search .gsc-control-cse table.gsc-search-box td.gsc-input {
	width: 100%;
	padding: 0;
}
#searchpanel > div:not(.close) .search .gsc-control-cse .input.gsc-input, #searchpanel > div:not(.close) .search .gsc-control-cse .gsc-input-box, #searchpanel > div:not(.close) .search .gsc-control-cse .gsc-input-box-hover, #searchpanel > div:not(.close) .search .gsc-control-cse .gsc-input-box-focus {
	background: transparent;
	border: 0;
}
#searchpanel > div:not(.close) .search .gsc-control-cse .gsib_a {
	padding: 0;
}
#searchpanel > div:not(.close) .search .gsc-control-cse .gsst_b {
	display: none;
}
#searchpanel > div:not(.close) .search .gsc-control-cse .gsc-clear-button {
	display: none !important;
}
#searchpanel > div:not(.close) .search input {
	width: 100% !important;
	height: 60px !important;
	padding: 0px 50px 0px 10px !important;
	font-size: min(1.40625vw, 18px);
	line-height: 60px;
	font-weight: 500;
	color: #fff;
	background: transparent !important;
	border: 0px !important;
	border-bottom: 2px solid #fff !important;
	outline: 0;
}
@media screen and (max-width: 959px) {
	#searchpanel > div:not(.close) .search input {
		font-size: min(1.756097561vw, 14.4px);
	}
}
@media screen and (max-width: 767px) {
	#searchpanel > div:not(.close) .search input {
		font-size: min(3.6800881543vw, 13.8003305785px);
	}
}
#searchpanel > div:not(.close) .search button {
	position: absolute;
	width: 50px;
	height: 60px;
	right: 0px;
	top: 0px;
	text-indent: -10000px;
	background: url(../images/searchw.svg) no-repeat center right;
	background-size: 28px;
	border: 0px;
	cursor: pointer;
}
#searchpanel > div:not(.close) .search .hashlist {
	margin-top: 30px;
}
#searchpanel > div:not(.close) .search .hashlist ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
#searchpanel > div:not(.close) .search .hashlist a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: min(1.09375vw, 14px);
	line-height: 1;
	font-weight: 400;
	color: #fff;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	text-decoration: underline;
}
@media screen and (max-width: 959px) {
	#searchpanel > div:not(.close) .search .hashlist a {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	#searchpanel > div:not(.close) .search .hashlist a {
		font-size: min(3.1818402204vw, 11.9319008264px);
	}
}
#searchpanel > div:not(.close) .search .hashlist a:hover {
	opacity: 0.7;
}
#searchpanel > div:not(.close) .search .hashlist a:before {
	content: "";
	display: block;
	position: relative;
	width: 14px;
	height: 14px;
	top: 1px;
	background: url(../images/tag.svg) no-repeat center center;
}
#searchpanel .close {
	position: absolute;
	top: 120px;
	right: 32px;
}
#searchpanel .close a {
	padding-top: 30px;
	font-size: min(1.09375vw, 14px);
	line-height: 1;
	font-weight: 500;
	color: #fff;
	text-align: center;
	background: url(../images/closew.svg) no-repeat center 0px;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	#searchpanel .close a {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	#searchpanel .close a {
		font-size: min(3.1818402204vw, 11.9319008264px);
	}
}
#searchpanel .close a:hover {
	opacity: 0.7;
}

#related + footer {
	margin-top: 80px;
}

footer {
	position: relative;
	display: block;
	background: #CDD6DD;
	border-top: 2px solid #004898;
}
footer > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 70px 40px 40px;
}
@media screen and (max-width: 959px) {
	footer > div {
		padding: 35px 20px 20px;
	}
}
@media screen and (max-width: 767px) {
	footer > div {
		padding: 35px 15px 20px;
	}
}
footer .logo a {
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer .logo a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	footer .logo img {
		width: 250px;
	}
}
footer .body {
	display: flex;
	margin-top: 40px;
	gap: min(40px, 3.125vw);
}
@media screen and (max-width: 767px) {
	footer .body {
		display: block;
	}
}
footer .body > div {
	width: calc((100% - min(40px, 40/1280*100vw)) / 2);
}
@media screen and (max-width: 767px) {
	footer .body > div {
		width: 100%;
	}
}
footer .body ul {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}
@media screen and (max-width: 767px) {
	footer .body ul {
		align-items: center;
	}
}
footer .body ul a {
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #000;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	footer .body ul a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	footer .body ul a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
footer .body ul a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #000;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
footer .body ul a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.15em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
footer .body dl {
	display: flex;
	gap: 20px min(40px, 3.125vw);
	flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
	footer .body dl {
		margin-top: 40px;
	}
}
footer .body dl dt {
	width: 100%;
	font-size: min(1.5625vw, 20px);
	line-height: 1.3;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	footer .body dl dt {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	footer .body dl dt {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}
@media screen and (max-width: 767px) {
	footer .body dl dt {
		display: none;
	}
}
footer .body dl dd {
	width: calc((100% - min(40px, 40/1280*100vw)) / 2);
}
@media screen and (max-width: 767px) {
	footer .body dl dd {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	footer .body dl dd:nth-child(2) {
		display: none;
	}
}
footer .body dl ul {
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
}
footer .body dl ul a {
	font-size: min(1.5625vw, 20px);
	line-height: 1.3;
	font-weight: 500;
	color: #000;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	footer .body dl ul a {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	footer .body dl ul a {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}
footer .body dl ul a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #000;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
footer .body dl ul a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.15em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
footer .body dl ul.med {
	gap: 10px;
}
@media screen and (max-width: 767px) {
	footer .body dl ul.med li {
		width: 270px;
	}
}
footer .body dl ul.med a {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 60px;
	padding: 5px 55px 5px 20px;
	font-size: min(1.09375vw, 14px);
	color: #fff;
	background: url(../images/arroww.svg) no-repeat right 20px center;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	footer .body dl ul.med a {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	footer .body dl ul.med a {
		font-size: min(3.1818402204vw, 11.9319008264px);
	}
}
footer .body dl ul.med a:hover {
	opacity: 0.7;
}
footer .body dl ul.med a:before {
	display: none;
}
footer .body dl ul.med li:nth-child(1) a {
	background-color: #004898;
}
footer .body dl ul.med li:nth-child(2) a {
	background-color: #008698;
}
footer .body dl + dl dt {
	display: none;
}
footer .body dl + dl dd {
	margin-top: 0 !important;
}
footer .address p {
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	footer .address p {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	footer .address p {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
footer .address p.googlemap {
	margin-top: 1rem;
	font-size: min(1.09375vw, 14px);
}
@media screen and (max-width: 959px) {
	footer .address p.googlemap {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	footer .address p.googlemap {
		font-size: min(3.1818402204vw, 11.9319008264px);
	}
}
footer .address p.googlemap a {
	position: relative;
	padding-left: 18px;
	color: #000;
	position: relative;
	display: inline-block;
}
footer .address p.googlemap a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #000;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
footer .address p.googlemap a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.15em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
footer .address p.googlemap a:after {
	content: "";
	position: absolute;
	display: block;
	width: 11px;
	height: 16px;
	left: 0px;
	top: 50%;
	margin-top: -0.5em;
	background: url(../images/accessg.svg) no-repeat center center;
}
footer .copyright {
	font-size: min(1.25vw, 16px);
	line-height: 1.5;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	footer .copyright {
		font-size: min(1.5609756098vw, 12.8px);
	}
}
@media screen and (max-width: 767px) {
	footer .copyright {
		font-size: min(3.4330798898vw, 12.8740495868px);
	}
}
@media screen and (max-width: 767px) {
	footer .copyright {
		text-align: center;
	}
}

.recruitnavi.fixed + #breadcrumbs {
	padding-top: 205px;
}
@media screen and (max-width: 959px) {
	.recruitnavi.fixed + #breadcrumbs {
		padding-top: 120px;
	}
}
@media screen and (max-width: 767px) {
	.recruitnavi.fixed + #breadcrumbs {
		padding-top: 70px;
	}
}

#breadcrumbs {
	position: relative;
	padding: 115px 40px 60px;
	background: #fff;
	transition: padding 600ms;
	z-index: 1;
}
@media screen and (max-width: 959px) {
	#breadcrumbs {
		padding: 70px 20px 40px;
	}
}
@media screen and (max-width: 767px) {
	#breadcrumbs {
		padding: 70px 15px 30px;
	}
}
#breadcrumbs > ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 0.85em;
	font-size: min(1.328125vw, 17px);
	line-height: 1;
	font-weight: 500;
	color: #98A6B5;
}
@media screen and (max-width: 959px) {
	#breadcrumbs > ul {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	#breadcrumbs > ul {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
#breadcrumbs > ul li {
	position: relative;
}
#breadcrumbs > ul li + li:before {
	content: "/";
	display: inline-block;
	margin-right: 0.85em;
}
#breadcrumbs > ul a {
	color: #000000;
	position: relative;
	display: inline-block;
}
#breadcrumbs > ul a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #000000;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
#breadcrumbs > ul a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.05em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}

#pagetitle {
	position: relative;
	z-index: 1;
}
#pagetitle:not(.border) > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 0px 40px 0px;
}
@media screen and (max-width: 959px) {
	#pagetitle:not(.border) > div {
		padding: 0px 20px 0px;
	}
}
@media screen and (max-width: 767px) {
	#pagetitle:not(.border) > div {
		padding: 0px 15px 0px;
	}
}
#pagetitle.border {
	border-bottom: 1px solid #707070;
}
#pagetitle.border > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 0px 40px 80px;
}
@media screen and (max-width: 959px) {
	#pagetitle.border > div {
		padding: 0px 20px 40px;
	}
}
@media screen and (max-width: 767px) {
	#pagetitle.border > div {
		padding: 0px 15px 40px;
	}
}
#pagetitle.border:has(+ #pagevisual) {
	border-bottom: 0;
}
#pagetitle.contentsborder h1 {
	padding-bottom: 80px;
	font-size: min(3.75vw, 48px);
	border-bottom: 1px solid #98A6B5;
}
@media screen and (max-width: 959px) {
	#pagetitle.contentsborder h1 {
		font-size: min(4.6829268293vw, 38.4px);
	}
}
@media screen and (max-width: 767px) {
	#pagetitle.contentsborder h1 {
		font-size: min(6.8774435262vw, 25.7904132231px);
	}
}
#pagetitle.contentsborder h1.narrow {
	padding-bottom: 40px;
}
@media screen and (max-width: 959px) {
	#pagetitle.contentsborder h1 {
		padding-bottom: 40px;
	}
}
#pagetitle.contentsborder:has(+ #pagevisual) h1 {
	border-bottom: 0;
}
#pagetitle h1 {
	font-size: min(5.625vw, 72px);
	line-height: 1;
	font-weight: 100;
	color: #000000;
	letter-spacing: -0.05em;
}
@media screen and (max-width: 959px) {
	#pagetitle h1 {
		font-size: min(7.0243902439vw, 57.6px);
	}
}
@media screen and (max-width: 767px) {
	#pagetitle h1 {
		font-size: min(8.7498402204vw, 32.8119008264px);
	}
}
#pagetitle h1[data-en] {
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 500;
	color: #004898;
}
@media screen and (max-width: 959px) {
	#pagetitle h1[data-en] {
		font-size: min(2.3414634146vw, 19.2px);
	}
}
@media screen and (max-width: 767px) {
	#pagetitle h1[data-en] {
		font-size: min(4.3957245179vw, 16.4839669421px);
	}
}
#pagetitle h1[data-en]:before {
	content: attr(data-en);
	display: block;
	position: relative;
	margin: 0px 0px 10px;
	padding: 0px;
	font-size: min(5.46875vw, 70px);
	line-height: 1;
	font-weight: 100;
	color: #000000;
	font-family: "Montserrat", sans-serif;
}
@media screen and (max-width: 959px) {
	#pagetitle h1[data-en]:before {
		font-size: min(6.8292682927vw, 56px);
	}
}
@media screen and (max-width: 767px) {
	#pagetitle h1[data-en]:before {
		font-size: min(8.6170798898vw, 32.3140495868px);
	}
}
#pagetitle h1[data-date] {
	font-size: min(3.75vw, 48px);
}
@media screen and (max-width: 959px) {
	#pagetitle h1[data-date] {
		font-size: min(4.6829268293vw, 38.4px);
	}
}
@media screen and (max-width: 767px) {
	#pagetitle h1[data-date] {
		font-size: min(6.8774435262vw, 25.7904132231px);
	}
}
#pagetitle h1[data-date]:before {
	content: attr(data-date);
	display: block;
	position: relative;
	margin: 0px 0px 40px;
	padding: 0px;
	font-size: min(1.328125vw, 17px);
	line-height: 1;
	font-weight: 500;
	color: #000000;
	letter-spacing: 0em;
}
@media screen and (max-width: 959px) {
	#pagetitle h1[data-date]:before {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	#pagetitle h1[data-date]:before {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
#pagetitle h1[data-category] {
	font-size: min(3.75vw, 48px);
}
@media screen and (max-width: 959px) {
	#pagetitle h1[data-category] {
		font-size: min(4.6829268293vw, 38.4px);
	}
}
@media screen and (max-width: 767px) {
	#pagetitle h1[data-category] {
		font-size: min(6.8774435262vw, 25.7904132231px);
	}
}
#pagetitle h1[data-category]:before {
	content: attr(data-category);
	display: block;
	position: relative;
	margin: 0px 0px 40px;
	padding: 0px;
	font-size: min(1.328125vw, 17px);
	line-height: 1;
	font-weight: 500;
	color: #000000;
	letter-spacing: 0em;
}
@media screen and (max-width: 959px) {
	#pagetitle h1[data-category]:before {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	#pagetitle h1[data-category]:before {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}

#pagevisual {
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
}
#pagevisual img {
	width: 100vw;
	max-width: 100vw;
	max-height: 480px;
	object-fit: cover;
}

#related {
	position: relative;
	background: #004898;
	z-index: 1;
}
#related > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 50px 40px 40px;
}
@media screen and (max-width: 959px) {
	#related > div {
		padding: 25px 20px 20px;
	}
}
@media screen and (max-width: 767px) {
	#related > div {
		padding: 25px 15px 20px;
	}
}
#related h2 {
	position: relative;
	margin: 0px 0px 40px;
	padding: 0px;
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
}
@media screen and (max-width: 959px) {
	#related h2 {
		font-size: min(2.3414634146vw, 19.2px);
	}
}
@media screen and (max-width: 767px) {
	#related h2 {
		font-size: min(4.3957245179vw, 16.4839669421px);
	}
}
#related h2:before {
	content: attr(data-sub);
	display: block;
	margin-bottom: 15px;
	font-size: min(5.46875vw, 70px);
	line-height: 1;
	font-weight: 100;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
}
@media screen and (max-width: 959px) {
	#related h2:before {
		font-size: min(6.8292682927vw, 56px);
	}
}
@media screen and (max-width: 767px) {
	#related h2:before {
		font-size: min(8.6170798898vw, 32.3140495868px);
	}
}

#recruitentry {
	position: fixed;
	right: -10px;
	top: 400px;
	z-index: 50;
}
@media screen and (max-width: 767px) {
	#recruitentry {
		top: auto;
		bottom: 0;
		right: 0;
		width: 100%;
	}
	#recruitentry ~ footer {
		padding-bottom: 50px;
	}
}
#recruitentry a {
	display: flex;
	flex-direction: column;
	padding: 30px 20px;
	font-size: min(1.71875vw, 22px);
	line-height: 1.8;
	font-weight: 700;
	color: #fff;
	text-align: center;
	background: radial-gradient(farthest-corner at 20% 20%, #58c9d3 0%, #004898 100%);
	border: 1px solid #8092A7;
	border-radius: 20px 0px 0px 20px;
	box-shadow: -5px 0px 5px rgba(0, 0, 0, 0.2);
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	#recruitentry a {
		font-size: min(2.1463414634vw, 17.6px);
	}
}
@media screen and (max-width: 767px) {
	#recruitentry a {
		font-size: min(4.5333333333vw, 17px);
		line-height: 1;
		font-weight: 500;
	}
}
#recruitentry a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	#recruitentry a {
		align-items: center;
		flex-direction: row;
		justify-content: center;
		height: 48px;
		padding: 5px 20px;
		background: radial-gradient(90% 120px at 40% 40%, #58c9d3 0%, #004898 100%);
		border-color: #98A6B5;
		border-radius: 0px;
	}
	#recruitentry a br {
		display: none;
	}
}
#recruitentry a > span {
	margin-bottom: 5px;
	font-size: min(1.171875vw, 15px);
}
@media screen and (max-width: 959px) {
	#recruitentry a > span {
		font-size: min(1.4634146341vw, 12px);
	}
}
@media screen and (max-width: 767px) {
	#recruitentry a > span {
		font-size: min(4.5333333333vw, 17px);
	}
}
@media screen and (max-width: 767px) {
	#recruitentry a > span {
		margin-bottom: 0px;
		margin-right: 5px;
	}
}
@media screen and (max-width: 767px) {
	#recruitentry a > span span {
		display: none;
	}
}
#recruitentry a:after {
	content: "";
	display: block;
	width: 100%;
	height: 12px;
	margin-top: 20px;
	background: url(../images/arroww.svg) no-repeat center center;
}
@media screen and (max-width: 767px) {
	#recruitentry a:after {
		display: none;
	}
}

#totop {
	position: fixed;
	bottom: 50px;
	right: 50px;
	z-index: 300;
	transition: visibility 600ms, opacity 600ms;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}
.pagescroll #totop {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}
@media screen and (max-width: 1279px) {
	#totop {
		bottom: 20px;
		right: 20px;
	}
}
#totop a {
	position: relative;
	display: block;
	width: 70px;
	height: 70px;
	background: url(../images/totop.svg) no-repeat center center transparent;
	text-indent: -10000px;
	border-radius: 50%;
	overflow: hidden;
	transition: box-shadow 600ms;
}
@media screen and (max-width: 1279px) {
	#totop a {
		width: 50px;
		height: 50px;
	}
}
#totop a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #707070;
	border-radius: 50%;
	z-index: -2;
}
#totop a:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #004898;
	border-radius: 50%;
	z-index: -1;
	opacity: 0;
	transition: opacity 600ms;
}
#totop a:hover {
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
}
#totop a:hover:after {
	opacity: 1;
}

#visualstage {
	position: fixed;
	top: 50px;
	left: 0px;
	width: 100%;
	height: calc(75vh - 50px) !important;
	z-index: -2;
}
@media screen and (max-width: 767px) {
	#visualstage {
		height: 200px !important;
	}
}
#visualstage:before, #visualstage:after {
	transition: 500ms 2000ms;
}
#visualstage:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: rgba(255, 255, 255, 0.16);
	z-index: 1;
}
#visualstage:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: rgba(102, 160, 224, 0.26);
	z-index: 1;
}

#catch {
	position: fixed;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 50px;
	left: 0px;
	width: 100%;
	height: calc(75vh - 50px);
	font-size: min(4.6875vw, 60px);
	line-height: 1.3;
	font-weight: 200;
	color: #fff;
	text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.25);
	opacity: 1;
	z-index: 0;
	transition: color 800ms 1700ms, opacity 800ms 200ms;
}
@media screen and (max-width: 959px) {
	#catch {
		font-size: min(5.8536585366vw, 48px);
	}
}
@media screen and (max-width: 767px) {
	#catch {
		font-size: min(7.4666666667vw, 28px);
	}
}
@media screen and (max-width: 767px) {
	#catch {
		height: 200px;
	}
}
#catch.en {
	font-size: min(3.4375vw, 44px);
	font-family: 'Poppins', sans-serif;
}
@media screen and (max-width: 959px) {
	#catch.en {
		font-size: min(3.6585365854vw, 30px);
	}
}
@media screen and (max-width: 767px) {
	#catch.en {
		font-size: min(3.7333333333vw, 14px);
	}
}
#catch div {
	text-align: center;
	height: 1.3em;
	overflow: hidden;
}
#catch div span {
	display: block;
	text-align: center;
}
#catch.line2 span:first-child {
	margin-top: -1.3em;
	transition: margin-top 1600ms;
}

#anime {
	position: relative;
	width: 100%;
	height: 75vh;
	transition: opacity 800ms 0ms;
}
@media screen and (max-width: 767px) {
	#anime {
		height: 250px;
	}
}
#anime:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	max-height: 245px;
	bottom: 50px;
	background: url(../../images/bg.svg) repeat-x center bottom;
	background-size: auto 100%;
	z-index: 0;
}
@media screen and (max-width: 767px) {
	#anime:before {
		bottom: 10px;
		background-size: 100% auto;
	}
}
#anime:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 50px;
	bottom: 0px;
	backdrop-filter: blur(8px);
	background: rgba(255, 255, 255, 0.7);
	z-index: 0;
}
@media screen and (max-width: 767px) {
	#anime:after {
		height: 10px;
		backdrop-filter: blur(5px);
	}
}
#anime #peoples {
	position: absolute;
	width: 1280px;
	height: 360px;
	left: 50%;
	margin-left: -640px;
	bottom: 50px;
}
@media screen and (max-width: 767px) {
	#anime #peoples {
		width: 120vw;
		margin-left: -60vw;
		bottom: 10px;
	}
}
#anime #peoples img {
	display: block;
}
#anime .people01,
#anime .people02,
#anime .people03,
#anime .people04,
#anime .people05,
#anime .people06,
#anime .people07,
#anime .people08 {
	position: absolute;
	z-index: 20;
	width: 100px;
	opacity: 0;
	transition: opacity 2000ms;
}
@media screen and (max-width: 767px) {
	#anime .people01,
	#anime .people02,
	#anime .people03,
	#anime .people04,
	#anime .people05,
	#anime .people06,
	#anime .people07,
	#anime .people08 {
		width: 75px;
	}
}
#anime .people01.show,
#anime .people02.show,
#anime .people03.show,
#anime .people04.show,
#anime .people05.show,
#anime .people06.show,
#anime .people07.show,
#anime .people08.show {
	opacity: 1;
}
#anime .people01.hide,
#anime .people02.hide,
#anime .people03.hide,
#anime .people04.hide,
#anime .people05.hide,
#anime .people06.hide,
#anime .people07.hide,
#anime .people08.hide {
	opacity: 0;
}
#anime .people03 {
	width: 105px;
}
@media screen and (max-width: 767px) {
	#anime .people03 {
		width: 79px;
	}
}
#anime .people07 {
	width: 150px;
}
@media screen and (max-width: 767px) {
	#anime .people07 {
		width: 110px;
	}
}
#anime .people01,
#anime .people04,
#anime .people05,
#anime .people08 {
	left: 0%;
}
#anime .people01.show,
#anime .people04.show,
#anime .people05.show,
#anime .people08.show {
	left: 100%;
}
#anime .people02,
#anime .people03,
#anime .people06,
#anime .people07 {
	right: 0%;
}
#anime .people02.show,
#anime .people03.show,
#anime .people06.show,
#anime .people07.show {
	right: 100%;
}
#anime .people01 {
	bottom: -13px;
}
@media screen and (max-width: 767px) {
	#anime .people01 {
		bottom: -11px;
	}
}
#anime .people02 {
	bottom: -18px;
}
@media screen and (max-width: 767px) {
	#anime .people02 {
		bottom: -11px;
	}
}
#anime .people03 {
	bottom: -48px;
}
@media screen and (max-width: 767px) {
	#anime .people03 {
		bottom: -32px;
	}
}
#anime .people04 {
	bottom: -37px;
}
@media screen and (max-width: 767px) {
	#anime .people04 {
		bottom: -26px;
	}
}
#anime .people05 {
	bottom: -35px;
}
@media screen and (max-width: 767px) {
	#anime .people05 {
		bottom: -26px;
	}
}
#anime .people06 {
	bottom: -34px;
}
@media screen and (max-width: 767px) {
	#anime .people06 {
		bottom: -26px;
	}
}
#anime .people07 {
	bottom: -35px;
}
@media screen and (max-width: 767px) {
	#anime .people07 {
		bottom: -26px;
	}
}
#anime .people08 {
	bottom: -51px;
}
@media screen and (max-width: 767px) {
	#anime .people08 {
		bottom: -35px;
	}
}

.block1 h2, .block2 h2, .block3 h2 {
	position: relative;
	margin: 0px;
	padding: 0px;
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 500;
	color: #004898;
}
@media screen and (max-width: 959px) {
	.block1 h2, .block2 h2, .block3 h2 {
		font-size: min(2.3414634146vw, 19.2px);
	}
}
@media screen and (max-width: 767px) {
	.block1 h2, .block2 h2, .block3 h2 {
		font-size: min(4.3957245179vw, 16.4839669421px);
	}
}
.block1 h2:before, .block2 h2:before, .block3 h2:before {
	content: attr(data-sub);
	display: block;
	margin-bottom: 20px;
	font-size: min(5.46875vw, 70px);
	line-height: 1;
	font-weight: 100;
	color: #000;
	font-family: 'Montserrat', sans-serif;
}
@media screen and (max-width: 959px) {
	.block1 h2:before, .block2 h2:before, .block3 h2:before {
		font-size: min(6.8292682927vw, 56px);
	}
}
@media screen and (max-width: 767px) {
	.block1 h2:before, .block2 h2:before, .block3 h2:before {
		font-size: min(8.6170798898vw, 32.3140495868px);
	}
}
.block1 h2 a, .block2 h2 a, .block3 h2 a {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	min-width: 200px;
	min-height: 44px;
	padding: 5px 10px 5px 20px;
	font-size: min(1.328125vw, 17px);
	color: #004898;
	border: 1px solid #004898;
	border-radius: 5px;
	transition: box-shadow 600ms;
}
@media screen and (max-width: 959px) {
	.block1 h2 a, .block2 h2 a, .block3 h2 a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.block1 h2 a, .block2 h2 a, .block3 h2 a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.block1 h2 a:after, .block2 h2 a:after, .block3 h2 a:after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-left: 20px;
	background: url(../images/arrow.svg) no-repeat center center;
}
.block1 h2 a:hover, .block2 h2 a:hover, .block3 h2 a:hover {
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
}

.block1 {
	position: relative;
	background: #fff;
}
.block1 > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 120px 40px;
	display: flex;
	gap: 40px min(40px, 3.125vw);
}
@media screen and (max-width: 959px) {
	.block1 > div {
		padding: 80px 20px;
	}
}
@media screen and (max-width: 767px) {
	.block1 > div {
		padding: 60px 15px;
	}
}
@media screen and (max-width: 959px) {
	.block1 > div {
		flex-direction: column;
	}
}
.block1 .head {
	flex-shrink: 0;
	width: calc((100% - min(40px, 40/1280*100vw) * 3) / 4);
}
@media screen and (max-width: 959px) {
	.block1 .head {
		width: 100%;
	}
}
.block1 .body {
	width: calc((100% - min(40px, 40/1280*100vw) * 3) / 4 * 3 + min(40px, 40/1280*100vw) * 2);
}
@media screen and (max-width: 959px) {
	.block1 .body {
		width: 100%;
	}
}

.block2 {
	position: relative;
	background: #fff;
	z-index: 10;
}
.block2 > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 60px 40px 0px;
	display: flex;
	gap: 40px;
}
@media screen and (max-width: 959px) {
	.block2 > div {
		padding: 30px 20px 0px;
	}
}
@media screen and (max-width: 767px) {
	.block2 > div {
		padding: 30px 15px 0px;
	}
}
@media screen and (max-width: 959px) {
	.block2 > div {
		flex-direction: column;
		padding-left: 40px;
		padding-right: 40px;
	}
}
@media screen and (max-width: 767px) {
	.block2 > div {
		flex-direction: column;
		padding-left: 15px;
		padding-right: 15px;
	}
}
.block2 .head {
	position: relative;
	flex-shrink: 0;
	width: calc((100% - 40px * 3) / 4);
}
@media screen and (max-width: 959px) {
	.block2 .head {
		width: 100%;
	}
}
.block2 .head .swiper_navi {
	position: absolute;
	right: 0;
	bottom: 0;
	display: flex;
	gap: 15px;
}
@media screen and (max-width: 767px) {
	.block2 .head .swiper_navi {
		display: none;
	}
}
.block2 > div > .body {
	position: relative;
	width: calc((100% - min(40px, 40/1280*100vw) * 3) / 4 * 3 + min(40px, 40/1280*100vw) * 2);
}
@media screen and (max-width: 959px) {
	.block2 > div > .body {
		width: 100%;
	}
}
.block2 > div > .body > .prev, .block2 > div > .body > .next {
	position: absolute;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	top: 50%;
	transform: translateY(-50%);
	width: 50px;
	height: 50px;
	background: url(../images/ico_navi.svg) no-repeat center/50px 50px;
	z-index: 100;
}
.block2 > div > .body > .prev:hover, .block2 > div > .body > .next:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	.block2 > div > .body > .prev, .block2 > div > .body > .next {
		display: none;
	}
}
.block2 > div > .body > .next {
	right: -25px;
}
.block2 > div > .body > .next.swiper-button-disabled {
	background: url(../images/ico_navi_off.svg) no-repeat center/50px 50px;
	cursor: default;
}
.block2 > div > .body > .next.swiper-button-disabled:hover {
	opacity: 1;
}
.block2 > div > .body > .prev {
	transform: scale(-1, 1) translateY(-50%);
	left: -25px;
}
.block2 > div > .body > .prev.swiper-button-disabled {
	background: url(../images/ico_navi_off.svg) no-repeat center/50px 50px;
	cursor: default;
}
.block2 > div > .body > .prev.swiper-button-disabled:hover {
	opacity: 1;
}

.block3 {
	position: relative;
	background: url(../../images/a01.jpg) no-repeat center center;
	background-size: cover;
	z-index: 10;
}
.block3:before {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: rgba(245, 243, 236, 0.4);
	backdrop-filter: blur(7px);
	z-index: 9;
}
.block3 .bg {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	opacity: 0;
	transition: 400ms;
	z-index: 5;
}
@media screen and (max-width: 767px) {
	.block3 .bg {
		display: none;
	}
}
.block3 .bg > div {
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: 800ms;
}
.block3 .bg > div.show {
	opacity: 1;
}
.block3 .bg > div img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.block3 > div:not(.bg) {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 60px 40px 0px;
	z-index: 10;
}
@media screen and (max-width: 959px) {
	.block3 > div:not(.bg) {
		padding: 30px 20px 0px;
	}
}
@media screen and (max-width: 767px) {
	.block3 > div:not(.bg) {
		padding: 30px 15px 0px;
	}
}
@media screen and (max-width: 767px) {
	.block3 > div:not(.bg) {
		padding-bottom: 40px;
	}
}
.block3 .head {
	position: relative;
	padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
	.block3 .head {
		padding-bottom: 30px;
	}
}
.block3 .head:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 50%;
	width: 100vw;
	height: 1px;
	margin-left: -50vw;
	background: #707070;
}
.block3 .list {
	position: relative;
}
.block3 .list:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 0;
	width: 1px;
	height: 100%;
	background: #707070;
}
@media screen and (max-width: 767px) {
	.block3 .list:before {
		display: none;
	}
}
.block3 .list:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	right: 0;
	width: 1px;
	height: 100%;
	background: #707070;
}
@media screen and (max-width: 767px) {
	.block3 .list:after {
		display: none;
	}
}
.block3 .list ul {
	display: flex;
}
@media screen and (max-width: 767px) {
	.block3 .list ul {
		flex-wrap: wrap;
		margin-left: -15px;
		margin-right: -15px;
	}
}
.block3 .list ul li {
	flex: 1;
}
@media screen and (max-width: 767px) {
	.block3 .list ul li {
		position: relative;
		flex: auto;
		width: 50%;
	}
	.block3 .list ul li:after {
		content: "";
		display: block;
		position: absolute;
		bottom: 0px;
		left: 0;
		width: 100%;
		height: 1px;
		background: #707070;
	}
}
.block3 .list ul li + li {
	position: relative;
}
.block3 .list ul li + li:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 0;
	width: 1px;
	height: 100%;
	background: #707070;
}
@media screen and (max-width: 767px) {
	.block3 .list ul li + li:nth-child(3):before {
		display: none;
	}
}
.block3 .list ul a {
	position: relative;
	display: block;
	padding-top: 100%;
	height: 0;
	z-index: 0;
}
@media screen and (max-width: 767px) {
	.block3 .list ul a {
		padding-top: 50%;
	}
}
.block3 .list ul a div {
	position: absolute;
	top: 50%;
	width: 100%;
	text-align: center;
	font-size: min(1.875vw, 24px);
	line-height: 1;
	font-weight: 500;
	color: #000;
	transform: translateY(-50%);
}
@media screen and (max-width: 959px) {
	.block3 .list ul a div {
		font-size: min(2.3414634146vw, 19.2px);
	}
}
@media screen and (max-width: 767px) {
	.block3 .list ul a div {
		font-size: min(4.3957245179vw, 16.4839669421px);
	}
}
@media screen and (max-width: 767px) {
	.block3 .list ul a div {
		top: 40%;
	}
}
.block3 .list ul a:before {
	content: "";
	display: block;
	position: absolute;
	width: 16px;
	height: 16px;
	top: 70%;
	left: 50%;
	margin-top: -8px;
	margin-left: -8px;
	background: url(../images/arrow.svg) no-repeat center center;
}
.block3 .list ul a:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	background: rgba(255, 255, 255, 0.4);
	border-radius: 0px;
	box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
	opacity: 0;
	transition: 400ms;
	transform: translate(-50%, -50%);
	z-index: -1;
}
.block3 .list ul a:hover:after {
	width: calc(100% - min(40px, 40/1280*100vw));
	height: calc(100% - min(40px, 40/1280*100vw));
	border-radius: 20px;
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
	opacity: 1;
}
html:not(.sp) .block3.hover .bg {
	opacity: 1;
	transition: opacity 800;
}

.block5 {
	position: relative;
	border-top: 120px solid #fff;
}
@media screen and (max-width: 959px) {
	.block5 {
		border-top-width: 80px;
	}
}
@media screen and (max-width: 767px) {
	.block5 {
		border-top-width: 60px;
	}
}
.block5 > div {
	display: flex;
}
@media screen and (max-width: 767px) {
	.block5 > div {
		display: block;
	}
}
.block5 > div > div {
	flex: 1;
}
.block5 .ir {
	background: url(../../images/b3.jpg) no-repeat center center;
	background-size: cover;
}
.block5 .sustainability {
	background: url(../../images/b501.jpg) no-repeat center center;
	background-size: cover;
}
.block5 .recruit {
	background: url(../../images/b502.jpg) no-repeat center center;
	background-size: cover;
}
.block5 a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	min-height: min(350px, 18.2291666667vw);
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #004898;
	background: rgba(245, 243, 236, 0.4);
	backdrop-filter: blur(7px);
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	.block5 a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.block5 a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.block5 a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	.block5 a {
		min-height: min(142px, 36.4102564103vw);
	}
}
.block5 a:before {
	content: attr(data-sub);
	display: block;
	margin-bottom: 20px;
	font-size: min(4.6875vw, 60px);
	line-height: 1;
	font-weight: 100;
	color: #000;
	font-family: 'Montserrat', sans-serif;
}
@media screen and (max-width: 959px) {
	.block5 a:before {
		font-size: min(4.3902439024vw, 36px);
	}
}
@media screen and (max-width: 767px) {
	.block5 a:before {
		font-size: min(7.8898071625vw, 29.5867768595px);
	}
}
.block5 a div {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	min-width: 200px;
	min-height: 44px;
	padding: 5px 10px 5px 20px;
	border: 1px solid #004898;
	border-radius: 5px;
	transition: box-shadow 600ms;
}
.block5 a div:after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-left: 20px;
	background: url(../images/arrow.svg) no-repeat center center;
}

.block6 {
	position: relative;
	background: #fff;
}
.block6 > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 120px 40px;
}
@media screen and (max-width: 959px) {
	.block6 > div {
		padding: 80px 20px;
	}
}
@media screen and (max-width: 767px) {
	.block6 > div {
		padding: 60px 15px;
	}
}

.contents {
	position: relative;
	z-index: 0;
}
.contents:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: -10;
}
.contents.bg:before {
	background: #F2F2F0;
}
.contents > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 80px 40px 120px;
}
@media screen and (max-width: 959px) {
	.contents > div {
		padding: 40px 20px 60px;
	}
}
@media screen and (max-width: 767px) {
	.contents > div {
		padding: 40px 15px 60px;
	}
}
.contents.narrow > div {
	padding-top: 20px;
}
.contents.stack > div {
	padding-top: 0;
}
.contents h2 {
	position: relative;
	margin: 0px 0px 40px;
	padding: 0px 0 10px;
	font-size: min(2.265625vw, 29px);
	line-height: 1.3;
	font-weight: 500;
	border-bottom: 1px solid #CDD6DD;
}
@media screen and (max-width: 959px) {
	.contents h2 {
		font-size: min(2.8292682927vw, 23.2px);
	}
}
@media screen and (max-width: 767px) {
	.contents h2 {
		font-size: min(4.9629972452vw, 18.6112396694px);
	}
}
.contents h2:last-child {
	margin-bottom: 0;
}
.contents h2:before {
	content: "";
	display: block;
	position: absolute;
	width: 50px;
	height: 4px;
	bottom: -4px;
	left: 0;
	background: #004898;
}
.contents h2[data-en] {
	padding: 0;
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 500;
	color: #004898;
	border-bottom: 0;
}
@media screen and (max-width: 959px) {
	.contents h2[data-en] {
		font-size: min(2.3414634146vw, 19.2px);
	}
}
@media screen and (max-width: 767px) {
	.contents h2[data-en] {
		font-size: min(4.3957245179vw, 16.4839669421px);
	}
}
.contents h2[data-en]:before {
	content: attr(data-en);
	position: static;
	margin-bottom: 20px;
	width: auto;
	height: auto;
	font-size: min(5.46875vw, 70px);
	line-height: 1;
	font-weight: 100;
	color: #000;
	font-family: 'Montserrat', sans-serif;
	background: transparent;
}
@media screen and (max-width: 959px) {
	.contents h2[data-en]:before {
		font-size: min(6.8292682927vw, 56px);
	}
}
@media screen and (max-width: 767px) {
	.contents h2[data-en]:before {
		font-size: min(8.6170798898vw, 32.3140495868px);
	}
}
.contents h2[data-en] a {
	justify-content: space-between;
	min-width: 200px;
	min-height: 44px;
	padding: 5px 10px 5px 20px;
	font-size: min(1.328125vw, 17px);
	color: #004898;
	border: 1px solid #004898;
	border-radius: 5px;
	transition: box-shadow 600ms;
}
@media screen and (max-width: 959px) {
	.contents h2[data-en] a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents h2[data-en] a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents h2[data-en] a:hover {
	opacity: 1;
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
}
.contents h2 a {
	display: inline-flex;
	align-items: center;
	color: #000000;
	transition: opacity 200ms;
}
.contents h2 a:hover {
	opacity: 0.7;
}
.contents h2 a:after {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-left: 20px;
	background: url(../images/arrow.svg) no-repeat center center;
}
.contents h2.gradation {
	padding: 15px 20px;
	font-size: min(1.5625vw, 20px);
	font-weight: 100;
	color: #fff;
	background: linear-gradient(100deg, #58C9D3 0%, #004898 62.5%);
	border: 0;
}
@media screen and (max-width: 959px) {
	.contents h2.gradation {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.contents h2.gradation {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}
@media screen and (max-width: 767px) {
	.contents h2.gradation {
		padding: 10px 15px;
	}
}
.contents h2.gradation strong {
	margin-right: 15px;
	font-size: min(3.125vw, 40px);
	font-weight: 100;
	font-family: 'Montserrat', sans-serif;
}
@media screen and (max-width: 959px) {
	.contents h2.gradation strong {
		font-size: min(3.9024390244vw, 32px);
	}
}
@media screen and (max-width: 767px) {
	.contents h2.gradation strong {
		font-size: min(6.1179063361vw, 22.9421487603px);
	}
}
@media screen and (max-width: 767px) {
	.contents h2.gradation strong {
		margin-right: 5px;
	}
}
.contents h2.gradation:before {
	display: none;
}
.contents * + h2 {
	margin-top: 80px;
}
.contents h3 {
	position: relative;
	margin: 0px 0px 40px;
	padding: 0px 0px 10px;
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
	border-bottom: 1px solid #CDD6DD;
}
@media screen and (max-width: 959px) {
	.contents h3 {
		font-size: min(2.3414634146vw, 19.2px);
	}
}
@media screen and (max-width: 767px) {
	.contents h3 {
		font-size: min(4.3957245179vw, 16.4839669421px);
	}
}
.contents h3 a {
	color: #004898;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.contents h3 a:hover {
	opacity: 0.7;
}
.contents *:not(h1, h2) + h3 {
	margin-top: 80px;
}
.contents h4 {
	position: relative;
	margin: 0px 0px 20px;
	padding: 0px 0px 10px;
	font-size: min(1.5625vw, 20px);
	line-height: 1.3;
	font-weight: 500;
	border-bottom: 1px solid #CDD6DD;
}
@media screen and (max-width: 959px) {
	.contents h4 {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.contents h4 {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}
.contents h4 a {
	color: #004898;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.contents h4 a:hover {
	opacity: 0.7;
}
.contents *:not(h1, h2, h3) + h4 {
	margin-top: 60px;
}
.contents .stack {
	margin-top: 0px !important;
}
.contents .block {
	margin-top: 60px !important;
}
@media screen and (max-width: 767px) {
	.contents .block {
		margin-top: 45px !important;
	}
}
.contents .section {
	margin-top: 80px !important;
}
@media screen and (max-width: 767px) {
	.contents .section {
		margin-top: 60px !important;
	}
}
.contents .paragraph {
	margin-top: 20px !important;
}
.contents .halfparagraph {
	margin-top: 7px !important;
}
.contents .narrow {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	max-width: 950px;
}
.contents .narrow.border {
	padding: 40px 0;
}
.contents .narrow.border:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 1px;
	top: 0;
	left: 50%;
	margin-left: -50vw;
	background: #CDD6DD;
}
.contents .narrow.border:after {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 1px;
	bottom: 0;
	left: 50%;
	margin-left: -50vw;
	background: #CDD6DD;
}
.contents > div:not(.image) > a {
	font-size: min(1.328125vw, 17px);
	line-height: 1.7;
	font-weight: 500;
	color: #004898;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.contents > div:not(.image) > a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents > div:not(.image) > a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents > div:not(.image) > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.contents > div:not(.image) > a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.35em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
.contents figure,
.contents .image {
	text-align: center;
}
.contents figure img,
.contents .image img {
	margin: auto;
	border-radius: 20px;
	overflow: hidden;
}
.contents figure figcaption,
.contents figure p,
.contents .image figcaption,
.contents .image p {
	margin: min(20px, 1.5625vw) auto 0px;
	text-align: left;
	font-size: min(1.09375vw, 14px);
	line-height: 1.3;
}
@media screen and (max-width: 959px) {
	.contents figure figcaption,
	.contents figure p,
	.contents .image figcaption,
	.contents .image p {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	.contents figure figcaption,
	.contents figure p,
	.contents .image figcaption,
	.contents .image p {
		font-size: min(3.1818402204vw, 11.9319008264px);
	}
}
* + .contents figure figcaption, * +
.contents figure p, * +
.contents .image figcaption, * +
.contents .image p {
	margin-top: 8px;
}
.contents figure figcaption a,
.contents figure p a,
.contents .image figcaption a,
.contents .image p a {
	color: #004898;
	position: relative;
	display: inline-block;
}
.contents figure figcaption a:before,
.contents figure p a:before,
.contents .image figcaption a:before,
.contents .image p a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #000000;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.contents figure figcaption a:hover:before,
.contents figure p a:hover:before,
.contents .image figcaption a:hover:before,
.contents .image p a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.15em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
.contents figure figcaption.center,
.contents figure p.center,
.contents .image figcaption.center,
.contents .image p.center {
	text-align: center;
}
.contents figure figcaption.center img,
.contents figure p.center img,
.contents .image figcaption.center img,
.contents .image p.center img {
	margin-left: auto;
}
.contents figure figcaption.right,
.contents figure p.right,
.contents .image figcaption.right,
.contents .image p.right {
	text-align: right;
}
.contents figure figcaption.right img,
.contents figure p.right img,
.contents .image figcaption.right img,
.contents .image p.right img {
	margin-left: auto;
	margin-right: 0;
}
.contents figure figcaption img,
.contents figure p img,
.contents .image figcaption img,
.contents .image p img {
	margin-left: 0;
}
.contents figure.left,
.contents .image.left {
	text-align: left;
}
.contents figure.left img,
.contents .image.left img {
	margin-left: 0px;
}
.contents figure.left p,
.contents .image.left p {
	margin-left: 0px;
}
.contents figure.right,
.contents .image.right {
	text-align: right;
}
.contents figure.right img,
.contents .image.right img {
	margin-right: 0px;
}
.contents figure.right p,
.contents .image.right p {
	margin-right: 0px;
}
.contents figure > a,
.contents .image > a {
	display: inline-block;
	max-width: 100%;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.contents figure > a:hover,
.contents .image > a:hover {
	opacity: 0.7;
}
.contents figure > a p,
.contents .image > a p {
	color: #000000;
}
.contents figure > a.zoom,
.contents .image > a.zoom {
	position: relative;
}
.contents figure > a.zoom:after,
.contents .image > a.zoom:after {
	content: "";
	display: block;
	position: absolute;
	width: 40px;
	height: 40px;
	top: auto;
	bottom: 0px;
	right: 0px;
	background: url(../images/popup.svg) no-repeat center center rgba(0, 0, 0, 0.6);
	background-size: 20px auto;
	border-radius: 0 0 20px 0;
}
.contents .imagebox {
	display: flex;
	justify-content: flex-start;
	gap: min(40px, 3.125vw);
}
@media screen and (max-width: 767px) {
	.contents .imagebox.spcol1 {
		flex-direction: column;
		gap: 20px;
	}
	.contents .imagebox.spcol1 > * {
		width: auto !important;
	}
	.contents .imagebox.spcol1 > .image > img,
	.contents .imagebox.spcol1 > .image > a {
		width: auto;
	}
}
.contents .imagebox > * {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-top: 0px !important;
}
.contents .imagebox > *:not(.image):not(.image) > a {
	font-size: min(1.328125vw, 17px);
	line-height: 1.7;
	font-weight: 500;
	color: #004898;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.contents .imagebox > *:not(.image):not(.image) > a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .imagebox > *:not(.image):not(.image) > a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents .imagebox > *:not(.image):not(.image) > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.contents .imagebox > *:not(.image):not(.image) > a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.35em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
.contents .imagebox.center {
	align-items: center;
}
.contents .imagebox.reverse {
	direction: rtl;
}
.contents .imagebox.reverse > * {
	direction: ltr;
}
.contents .imagebox > .image {
	position: relative;
	flex-shrink: 0;
	width: auto;
	margin-bottom: auto;
}
@media screen and (max-width: 959px) {
	.contents .imagebox > .image {
		max-width: 50%;
	}
}
@media screen and (max-width: 767px) {
	.contents .imagebox > .image {
		max-width: 100%;
	}
}
.contents .imagebox > .image > img,
.contents .imagebox > .image > a {
	display: block;
	width: 100%;
}
.contents .column {
	display: flex;
	flex-wrap: wrap;
	gap: min(80px, 6.25vw) min(40px, 3.125vw);
	margin-right: -4px;
}
@media screen and (max-width: 767px) {
	.contents .column {
		gap: 40px 20px;
	}
}
.contents .column > * {
	margin-top: 0px !important;
}
.contents .column > *:not(.image) > a {
	font-size: min(1.328125vw, 17px);
	line-height: 1.7;
	font-weight: 500;
	color: #004898;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.contents .column > *:not(.image) > a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .column > *:not(.image) > a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents .column > *:not(.image) > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.contents .column > *:not(.image) > a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.35em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
.contents .column > *.center {
	align-self: center;
}
.contents .column.col1 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 0 - 4px) / 1);
}
.contents .column.col1 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 0 - 4px) / 1) * 2 + min(40px, 40/1280*100vw) * 1);
}
.contents .column.col1 > *.size1 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 0 - 4px) / 1) * 1 + min(40px, 40/1280*100vw) * 0);
}
@media screen and (max-width: 767px) {
	.contents .column.col1 > * {
		width: calc((100% - 20px * 0 - 4px) / 1);
	}
	.contents .column.col1 > *.spsize2 {
		width: calc(((100% - 20px * 0 - 4px) / 1) * 2 + 20px * 1);
	}
	.contents .column.col1 > *.spsize1 {
		width: calc(((100% - 20px * 0 - 4px) / 1) * 1 + 20px * 0);
	}
}
@media screen and (max-width: 767px) {
	.contents .column.spcol1 > * {
		width: calc((100% - 20px * 0 - 4px) / 1) !important;
	}
}
.contents .column.col2 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 1 - 4px) / 2);
}
.contents .column.col2 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 1 - 4px) / 2) * 2 + min(40px, 40/1280*100vw) * 1);
}
@media screen and (max-width: 767px) {
	.contents .column.col2 > * {
		width: calc((100% - 20px * 1 - 4px) / 2);
	}
	.contents .column.col2 > *.spsize2 {
		width: calc(((100% - 20px * 1 - 4px) / 2) * 2 + 20px * 1);
	}
}
@media screen and (max-width: 767px) {
	.contents .column.spcol2 > * {
		width: calc((100% - 20px * 1 - 4px) / 2) !important;
	}
}
.contents .column.col3 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 2 - 4px) / 3);
}
.contents .column.col3 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 2 - 4px) / 3) * 2 + min(40px, 40/1280*100vw) * 1);
}
.contents .column.col3 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 2 - 4px) / 3) * 3 + min(40px, 40/1280*100vw) * 2);
}
@media screen and (max-width: 767px) {
	.contents .column.col3 > * {
		width: calc((100% - 20px * 2 - 4px) / 3);
	}
	.contents .column.col3 > *.spsize2 {
		width: calc(((100% - 20px * 2 - 4px) / 3) * 2 + 20px * 1);
	}
	.contents .column.col3 > *.spsize3 {
		width: calc(((100% - 20px * 2 - 4px) / 3) * 3 + 20px * 2);
	}
}
@media screen and (max-width: 767px) {
	.contents .column.spcol3 > * {
		width: calc((100% - 20px * 2 - 4px) / 3) !important;
	}
}
.contents .column.col4 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 3 - 4px) / 4);
}
.contents .column.col4 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 3 - 4px) / 4) * 2 + min(40px, 40/1280*100vw) * 1);
}
.contents .column.col4 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 3 - 4px) / 4) * 3 + min(40px, 40/1280*100vw) * 2);
}
.contents .column.col4 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 3 - 4px) / 4) * 4 + min(40px, 40/1280*100vw) * 3);
}
@media screen and (max-width: 767px) {
	.contents .column.col4 > * {
		width: calc((100% - 20px * 3 - 4px) / 4);
	}
	.contents .column.col4 > *.spsize2 {
		width: calc(((100% - 20px * 3 - 4px) / 4) * 2 + 20px * 1);
	}
	.contents .column.col4 > *.spsize3 {
		width: calc(((100% - 20px * 3 - 4px) / 4) * 3 + 20px * 2);
	}
	.contents .column.col4 > *.spsize4 {
		width: calc(((100% - 20px * 3 - 4px) / 4) * 4 + 20px * 3);
	}
}
@media screen and (max-width: 767px) {
	.contents .column.spcol4 > * {
		width: calc((100% - 20px * 3 - 4px) / 4) !important;
	}
}
.contents .column.col5 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 4 - 4px) / 5);
}
.contents .column.col5 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 4 - 4px) / 5) * 2 + min(40px, 40/1280*100vw) * 1);
}
.contents .column.col5 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 4 - 4px) / 5) * 3 + min(40px, 40/1280*100vw) * 2);
}
.contents .column.col5 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 4 - 4px) / 5) * 4 + min(40px, 40/1280*100vw) * 3);
}
.contents .column.col5 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 4 - 4px) / 5) * 5 + min(40px, 40/1280*100vw) * 4);
}
@media screen and (max-width: 767px) {
	.contents .column.col5 > * {
		width: calc((100% - 20px * 4 - 4px) / 5);
	}
	.contents .column.col5 > *.spsize2 {
		width: calc(((100% - 20px * 4 - 4px) / 5) * 2 + 20px * 1);
	}
	.contents .column.col5 > *.spsize3 {
		width: calc(((100% - 20px * 4 - 4px) / 5) * 3 + 20px * 2);
	}
	.contents .column.col5 > *.spsize4 {
		width: calc(((100% - 20px * 4 - 4px) / 5) * 4 + 20px * 3);
	}
	.contents .column.col5 > *.spsize5 {
		width: calc(((100% - 20px * 4 - 4px) / 5) * 5 + 20px * 4);
	}
}
@media screen and (max-width: 767px) {
	.contents .column.spcol5 > * {
		width: calc((100% - 20px * 4 - 4px) / 5) !important;
	}
}
.contents .column.col6 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 5 - 4px) / 6);
}
.contents .column.col6 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 5 - 4px) / 6) * 2 + min(40px, 40/1280*100vw) * 1);
}
.contents .column.col6 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 5 - 4px) / 6) * 3 + min(40px, 40/1280*100vw) * 2);
}
.contents .column.col6 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 5 - 4px) / 6) * 4 + min(40px, 40/1280*100vw) * 3);
}
.contents .column.col6 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 5 - 4px) / 6) * 5 + min(40px, 40/1280*100vw) * 4);
}
.contents .column.col6 > *.size6 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 5 - 4px) / 6) * 6 + min(40px, 40/1280*100vw) * 5);
}
@media screen and (max-width: 767px) {
	.contents .column.col6 > * {
		width: calc((100% - 20px * 5 - 4px) / 6);
	}
	.contents .column.col6 > *.spsize2 {
		width: calc(((100% - 20px * 5 - 4px) / 6) * 2 + 20px * 1);
	}
	.contents .column.col6 > *.spsize3 {
		width: calc(((100% - 20px * 5 - 4px) / 6) * 3 + 20px * 2);
	}
	.contents .column.col6 > *.spsize4 {
		width: calc(((100% - 20px * 5 - 4px) / 6) * 4 + 20px * 3);
	}
	.contents .column.col6 > *.spsize5 {
		width: calc(((100% - 20px * 5 - 4px) / 6) * 5 + 20px * 4);
	}
	.contents .column.col6 > *.spsize6 {
		width: calc(((100% - 20px * 5 - 4px) / 6) * 6 + 20px * 5);
	}
}
@media screen and (max-width: 767px) {
	.contents .column.spcol6 > * {
		width: calc((100% - 20px * 5 - 4px) / 6) !important;
	}
}
.contents .column.col7 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 6 - 4px) / 7);
}
.contents .column.col7 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 6 - 4px) / 7) * 2 + min(40px, 40/1280*100vw) * 1);
}
.contents .column.col7 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 6 - 4px) / 7) * 3 + min(40px, 40/1280*100vw) * 2);
}
.contents .column.col7 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 6 - 4px) / 7) * 4 + min(40px, 40/1280*100vw) * 3);
}
.contents .column.col7 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 6 - 4px) / 7) * 5 + min(40px, 40/1280*100vw) * 4);
}
.contents .column.col7 > *.size6 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 6 - 4px) / 7) * 6 + min(40px, 40/1280*100vw) * 5);
}
.contents .column.col7 > *.size7 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 6 - 4px) / 7) * 7 + min(40px, 40/1280*100vw) * 6);
}
@media screen and (max-width: 767px) {
	.contents .column.col7 > * {
		width: calc((100% - 20px * 6 - 4px) / 7);
	}
	.contents .column.col7 > *.spsize2 {
		width: calc(((100% - 20px * 6 - 4px) / 7) * 2 + 20px * 1);
	}
	.contents .column.col7 > *.spsize3 {
		width: calc(((100% - 20px * 6 - 4px) / 7) * 3 + 20px * 2);
	}
	.contents .column.col7 > *.spsize4 {
		width: calc(((100% - 20px * 6 - 4px) / 7) * 4 + 20px * 3);
	}
	.contents .column.col7 > *.spsize5 {
		width: calc(((100% - 20px * 6 - 4px) / 7) * 5 + 20px * 4);
	}
	.contents .column.col7 > *.spsize6 {
		width: calc(((100% - 20px * 6 - 4px) / 7) * 6 + 20px * 5);
	}
	.contents .column.col7 > *.spsize7 {
		width: calc(((100% - 20px * 6 - 4px) / 7) * 7 + 20px * 6);
	}
}
@media screen and (max-width: 767px) {
	.contents .column.spcol7 > * {
		width: calc((100% - 20px * 6 - 4px) / 7) !important;
	}
}
.contents .column.col8 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8);
}
.contents .column.col8 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8) * 2 + min(40px, 40/1280*100vw) * 1);
}
.contents .column.col8 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8) * 3 + min(40px, 40/1280*100vw) * 2);
}
.contents .column.col8 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8) * 4 + min(40px, 40/1280*100vw) * 3);
}
.contents .column.col8 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8) * 5 + min(40px, 40/1280*100vw) * 4);
}
.contents .column.col8 > *.size6 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8) * 6 + min(40px, 40/1280*100vw) * 5);
}
.contents .column.col8 > *.size7 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8) * 7 + min(40px, 40/1280*100vw) * 6);
}
.contents .column.col8 > *.size8 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8) * 8 + min(40px, 40/1280*100vw) * 7);
}
@media screen and (max-width: 767px) {
	.contents .column.col8 > * {
		width: calc((100% - 20px * 7 - 4px) / 8);
	}
	.contents .column.col8 > *.spsize2 {
		width: calc(((100% - 20px * 7 - 4px) / 8) * 2 + 20px * 1);
	}
	.contents .column.col8 > *.spsize3 {
		width: calc(((100% - 20px * 7 - 4px) / 8) * 3 + 20px * 2);
	}
	.contents .column.col8 > *.spsize4 {
		width: calc(((100% - 20px * 7 - 4px) / 8) * 4 + 20px * 3);
	}
	.contents .column.col8 > *.spsize5 {
		width: calc(((100% - 20px * 7 - 4px) / 8) * 5 + 20px * 4);
	}
	.contents .column.col8 > *.spsize6 {
		width: calc(((100% - 20px * 7 - 4px) / 8) * 6 + 20px * 5);
	}
	.contents .column.col8 > *.spsize7 {
		width: calc(((100% - 20px * 7 - 4px) / 8) * 7 + 20px * 6);
	}
	.contents .column.col8 > *.spsize8 {
		width: calc(((100% - 20px * 7 - 4px) / 8) * 8 + 20px * 7);
	}
}
@media screen and (max-width: 767px) {
	.contents .column.spcol8 > * {
		width: calc((100% - 20px * 7 - 4px) / 8) !important;
	}
}
.contents .column.col9 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9);
}
.contents .column.col9 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 2 + min(40px, 40/1280*100vw) * 1);
}
.contents .column.col9 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 3 + min(40px, 40/1280*100vw) * 2);
}
.contents .column.col9 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 4 + min(40px, 40/1280*100vw) * 3);
}
.contents .column.col9 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 5 + min(40px, 40/1280*100vw) * 4);
}
.contents .column.col9 > *.size6 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 6 + min(40px, 40/1280*100vw) * 5);
}
.contents .column.col9 > *.size7 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 7 + min(40px, 40/1280*100vw) * 6);
}
.contents .column.col9 > *.size8 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 8 + min(40px, 40/1280*100vw) * 7);
}
.contents .column.col9 > *.size9 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 9 + min(40px, 40/1280*100vw) * 8);
}
@media screen and (max-width: 767px) {
	.contents .column.col9 > * {
		width: calc((100% - 20px * 8 - 4px) / 9);
	}
	.contents .column.col9 > *.spsize2 {
		width: calc(((100% - 20px * 8 - 4px) / 9) * 2 + 20px * 1);
	}
	.contents .column.col9 > *.spsize3 {
		width: calc(((100% - 20px * 8 - 4px) / 9) * 3 + 20px * 2);
	}
	.contents .column.col9 > *.spsize4 {
		width: calc(((100% - 20px * 8 - 4px) / 9) * 4 + 20px * 3);
	}
	.contents .column.col9 > *.spsize5 {
		width: calc(((100% - 20px * 8 - 4px) / 9) * 5 + 20px * 4);
	}
	.contents .column.col9 > *.spsize6 {
		width: calc(((100% - 20px * 8 - 4px) / 9) * 6 + 20px * 5);
	}
	.contents .column.col9 > *.spsize7 {
		width: calc(((100% - 20px * 8 - 4px) / 9) * 7 + 20px * 6);
	}
	.contents .column.col9 > *.spsize8 {
		width: calc(((100% - 20px * 8 - 4px) / 9) * 8 + 20px * 7);
	}
	.contents .column.col9 > *.spsize9 {
		width: calc(((100% - 20px * 8 - 4px) / 9) * 9 + 20px * 8);
	}
}
@media screen and (max-width: 767px) {
	.contents .column.spcol9 > * {
		width: calc((100% - 20px * 8 - 4px) / 9) !important;
	}
}
.contents .column.col10 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10);
}
.contents .column.col10 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 2 + min(40px, 40/1280*100vw) * 1);
}
.contents .column.col10 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 3 + min(40px, 40/1280*100vw) * 2);
}
.contents .column.col10 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 4 + min(40px, 40/1280*100vw) * 3);
}
.contents .column.col10 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 5 + min(40px, 40/1280*100vw) * 4);
}
.contents .column.col10 > *.size6 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 6 + min(40px, 40/1280*100vw) * 5);
}
.contents .column.col10 > *.size7 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 7 + min(40px, 40/1280*100vw) * 6);
}
.contents .column.col10 > *.size8 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 8 + min(40px, 40/1280*100vw) * 7);
}
.contents .column.col10 > *.size9 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 9 + min(40px, 40/1280*100vw) * 8);
}
.contents .column.col10 > *.size10 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 10 + min(40px, 40/1280*100vw) * 9);
}
@media screen and (max-width: 767px) {
	.contents .column.col10 > * {
		width: calc((100% - 20px * 9 - 4px) / 10);
	}
	.contents .column.col10 > *.spsize2 {
		width: calc(((100% - 20px * 9 - 4px) / 10) * 2 + 20px * 1);
	}
	.contents .column.col10 > *.spsize3 {
		width: calc(((100% - 20px * 9 - 4px) / 10) * 3 + 20px * 2);
	}
	.contents .column.col10 > *.spsize4 {
		width: calc(((100% - 20px * 9 - 4px) / 10) * 4 + 20px * 3);
	}
	.contents .column.col10 > *.spsize5 {
		width: calc(((100% - 20px * 9 - 4px) / 10) * 5 + 20px * 4);
	}
	.contents .column.col10 > *.spsize6 {
		width: calc(((100% - 20px * 9 - 4px) / 10) * 6 + 20px * 5);
	}
	.contents .column.col10 > *.spsize7 {
		width: calc(((100% - 20px * 9 - 4px) / 10) * 7 + 20px * 6);
	}
	.contents .column.col10 > *.spsize8 {
		width: calc(((100% - 20px * 9 - 4px) / 10) * 8 + 20px * 7);
	}
	.contents .column.col10 > *.spsize9 {
		width: calc(((100% - 20px * 9 - 4px) / 10) * 9 + 20px * 8);
	}
	.contents .column.col10 > *.spsize10 {
		width: calc(((100% - 20px * 9 - 4px) / 10) * 10 + 20px * 9);
	}
}
@media screen and (max-width: 767px) {
	.contents .column.spcol10 > * {
		width: calc((100% - 20px * 9 - 4px) / 10) !important;
	}
}
.contents .column.col11 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11);
}
.contents .column.col11 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 2 + min(40px, 40/1280*100vw) * 1);
}
.contents .column.col11 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 3 + min(40px, 40/1280*100vw) * 2);
}
.contents .column.col11 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 4 + min(40px, 40/1280*100vw) * 3);
}
.contents .column.col11 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 5 + min(40px, 40/1280*100vw) * 4);
}
.contents .column.col11 > *.size6 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 6 + min(40px, 40/1280*100vw) * 5);
}
.contents .column.col11 > *.size7 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 7 + min(40px, 40/1280*100vw) * 6);
}
.contents .column.col11 > *.size8 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 8 + min(40px, 40/1280*100vw) * 7);
}
.contents .column.col11 > *.size9 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 9 + min(40px, 40/1280*100vw) * 8);
}
.contents .column.col11 > *.size10 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 10 + min(40px, 40/1280*100vw) * 9);
}
.contents .column.col11 > *.size11 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 11 + min(40px, 40/1280*100vw) * 10);
}
@media screen and (max-width: 767px) {
	.contents .column.col11 > * {
		width: calc((100% - 20px * 10 - 4px) / 11);
	}
	.contents .column.col11 > *.spsize2 {
		width: calc(((100% - 20px * 10 - 4px) / 11) * 2 + 20px * 1);
	}
	.contents .column.col11 > *.spsize3 {
		width: calc(((100% - 20px * 10 - 4px) / 11) * 3 + 20px * 2);
	}
	.contents .column.col11 > *.spsize4 {
		width: calc(((100% - 20px * 10 - 4px) / 11) * 4 + 20px * 3);
	}
	.contents .column.col11 > *.spsize5 {
		width: calc(((100% - 20px * 10 - 4px) / 11) * 5 + 20px * 4);
	}
	.contents .column.col11 > *.spsize6 {
		width: calc(((100% - 20px * 10 - 4px) / 11) * 6 + 20px * 5);
	}
	.contents .column.col11 > *.spsize7 {
		width: calc(((100% - 20px * 10 - 4px) / 11) * 7 + 20px * 6);
	}
	.contents .column.col11 > *.spsize8 {
		width: calc(((100% - 20px * 10 - 4px) / 11) * 8 + 20px * 7);
	}
	.contents .column.col11 > *.spsize9 {
		width: calc(((100% - 20px * 10 - 4px) / 11) * 9 + 20px * 8);
	}
	.contents .column.col11 > *.spsize10 {
		width: calc(((100% - 20px * 10 - 4px) / 11) * 10 + 20px * 9);
	}
	.contents .column.col11 > *.spsize11 {
		width: calc(((100% - 20px * 10 - 4px) / 11) * 11 + 20px * 10);
	}
}
@media screen and (max-width: 767px) {
	.contents .column.spcol11 > * {
		width: calc((100% - 20px * 10 - 4px) / 11) !important;
	}
}
.contents .column.col12 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12);
}
.contents .column.col12 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 2 + min(40px, 40/1280*100vw) * 1);
}
.contents .column.col12 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 3 + min(40px, 40/1280*100vw) * 2);
}
.contents .column.col12 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 4 + min(40px, 40/1280*100vw) * 3);
}
.contents .column.col12 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 5 + min(40px, 40/1280*100vw) * 4);
}
.contents .column.col12 > *.size6 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 6 + min(40px, 40/1280*100vw) * 5);
}
.contents .column.col12 > *.size7 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 7 + min(40px, 40/1280*100vw) * 6);
}
.contents .column.col12 > *.size8 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 8 + min(40px, 40/1280*100vw) * 7);
}
.contents .column.col12 > *.size9 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 9 + min(40px, 40/1280*100vw) * 8);
}
.contents .column.col12 > *.size10 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 10 + min(40px, 40/1280*100vw) * 9);
}
.contents .column.col12 > *.size11 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 11 + min(40px, 40/1280*100vw) * 10);
}
.contents .column.col12 > *.size12 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 12 + min(40px, 40/1280*100vw) * 11);
}
@media screen and (max-width: 767px) {
	.contents .column.col12 > * {
		width: calc((100% - 20px * 11 - 4px) / 12);
	}
	.contents .column.col12 > *.spsize2 {
		width: calc(((100% - 20px * 11 - 4px) / 12) * 2 + 20px * 1);
	}
	.contents .column.col12 > *.spsize3 {
		width: calc(((100% - 20px * 11 - 4px) / 12) * 3 + 20px * 2);
	}
	.contents .column.col12 > *.spsize4 {
		width: calc(((100% - 20px * 11 - 4px) / 12) * 4 + 20px * 3);
	}
	.contents .column.col12 > *.spsize5 {
		width: calc(((100% - 20px * 11 - 4px) / 12) * 5 + 20px * 4);
	}
	.contents .column.col12 > *.spsize6 {
		width: calc(((100% - 20px * 11 - 4px) / 12) * 6 + 20px * 5);
	}
	.contents .column.col12 > *.spsize7 {
		width: calc(((100% - 20px * 11 - 4px) / 12) * 7 + 20px * 6);
	}
	.contents .column.col12 > *.spsize8 {
		width: calc(((100% - 20px * 11 - 4px) / 12) * 8 + 20px * 7);
	}
	.contents .column.col12 > *.spsize9 {
		width: calc(((100% - 20px * 11 - 4px) / 12) * 9 + 20px * 8);
	}
	.contents .column.col12 > *.spsize10 {
		width: calc(((100% - 20px * 11 - 4px) / 12) * 10 + 20px * 9);
	}
	.contents .column.col12 > *.spsize11 {
		width: calc(((100% - 20px * 11 - 4px) / 12) * 11 + 20px * 10);
	}
	.contents .column.col12 > *.spsize12 {
		width: calc(((100% - 20px * 11 - 4px) / 12) * 12 + 20px * 11);
	}
}
@media screen and (max-width: 767px) {
	.contents .column.spcol12 > * {
		width: calc((100% - 20px * 11 - 4px) / 12) !important;
	}
}
.contents .table {
	position: relative;
	overflow-x: auto;
	overflow-y: hidden !important;
}
.contents .table:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #fff;
	z-index: 2;
}
.contents .table.line > table {
	border-spacing: 0px;
	margin: 0px;
	border-top: 1px solid #CDD6DD;
}
.contents .table.line > table > tr > th,
.contents .table.line > table > tr > td,
.contents .table.line > table > thead > tr > th,
.contents .table.line > table > thead > tr > td,
.contents .table.line > table > tbody > tr > th,
.contents .table.line > table > tbody > tr > td {
	border-bottom: 1px solid #CDD6DD;
}
.contents .table.line > table > tbody > tr > td {
	background: #fff;
}
.contents .table > table {
	position: relative;
	width: 100%;
	margin: -2px 0px -4px -2px;
	border-spacing: 2px;
	empty-cells: show;
	background: #fff;
}
.contents .table > table > thead > tr > th {
	padding: 16px 20px;
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	vertical-align: middle;
	text-align: center;
	background: #004898;
}
@media screen and (max-width: 959px) {
	.contents .table > table > thead > tr > th {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .table > table > thead > tr > th {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents .table > table > thead > tr > td {
	background: #CDD6DD;
}
.contents .table > table > tbody > tr > th {
	padding: 16px 20px;
	vertical-align: middle;
	text-align: center;
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	background: #98A6B5;
}
@media screen and (max-width: 959px) {
	.contents .table > table > tbody > tr > th {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .table > table > tbody > tr > th {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents .table > table > tr > td,
.contents .table > table > tbody > tr > td {
	padding: 16px 20px;
	vertical-align: middle;
	text-align: left;
	font-size: min(1.328125vw, 17px);
	line-height: 1.7;
	font-weight: 500;
	color: #000000;
	background: #EFEFEF;
}
@media screen and (max-width: 959px) {
	.contents .table > table > tr > td,
	.contents .table > table > tbody > tr > td {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .table > table > tr > td,
	.contents .table > table > tbody > tr > td {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents .table > table > tr > td:not(.d):not(.image) > a {
	font-size: min(1.328125vw, 17px);
	line-height: 1.7;
	font-weight: 500;
	color: #004898;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.contents .table > table > tr > td:not(.d):not(.image) > a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .table > table > tr > td:not(.d):not(.image) > a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents .table > table > tr > td:not(.d):not(.image) > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.contents .table > table > tr > td:not(.d):not(.image) > a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.35em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
.contents .table > table > tbody > tr > td:not(.image) > a {
	font-size: min(1.328125vw, 17px);
	line-height: 1.7;
	font-weight: 500;
	color: #004898;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.contents .table > table > tbody > tr > td:not(.image) > a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .table > table > tbody > tr > td:not(.image) > a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents .table > table > tbody > tr > td:not(.image) > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.contents .table > table > tbody > tr > td:not(.image) > a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.35em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
.contents .table > table .left {
	text-align: left;
}
.contents .table > table .right {
	text-align: right;
}
.contents .table > table .center {
	text-align: center;
}
.contents .table > table .top {
	vertical-align: top;
}
.contents .table > table .bottom {
	vertical-align: bottom;
}
.contents .table > table .middle {
	vertical-align: middle;
}
.contents .box {
	padding: min(40px, 3.125vw);
	background: #E2EAF3;
	border-radius: 20px;
}
@media screen and (max-width: 767px) {
	.contents .box {
		padding: 20px 15px;
		border-radius: 15px;
	}
}
.contents .box:not(.image) > a {
	font-size: min(1.328125vw, 17px);
	line-height: 1.7;
	font-weight: 500;
	color: #004898;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.contents .box:not(.image) > a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .box:not(.image) > a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents .box:not(.image) > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.contents .box:not(.image) > a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.35em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
.contents.bg .box {
	background: #fff;
	border: 1px solid #CDD6DD;
}
.contents .button {
	display: flex;
	flex-wrap: wrap;
	gap: 30px min(40px, 3.125vw);
}
.contents .button.center {
	justify-content: center;
}
.contents .button a {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: min(290px, 22.65625vw);
	max-width: 100%;
	min-height: 60px;
	padding: 5px min(20px, 1.5625vw);
	padding-right: calc(min(40px, 40/1280*100vw) + 15px);
	border: 1px solid #707070;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.contents .button a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	.contents .button a {
		min-width: 200px;
	}
}
.contents .button a:before {
	content: "";
	position: absolute;
	right: min(20px, 1.5625vw);
	top: 50%;
	width: 15px;
	height: 17px;
	margin-top: -8.5px;
	background: url(../images/arrow.svg) no-repeat center center;
	background-size: 100% auto;
}
.contents .button a > div {
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
}
@media screen and (max-width: 959px) {
	.contents .button a > div {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .button a > div {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents .selector div:has(> select) {
	position: relative;
	display: inline-block;
}
.contents .selector div:has(> select):before {
	content: "";
	position: absolute;
	display: block;
	width: 36px;
	height: 36px;
	top: 0;
	right: 0;
	background: url(../images/selecticon.svg) no-repeat center center #004898;
	pointer-events: none;
	border-radius: 2px;
	z-index: 10;
}
.contents .selector select {
	height: 36px;
	padding: 0px 46px 0px 10px;
	font-size: min(1.328125vw, 17px);
	line-height: 34px;
	font-weight: 500;
	border: 1px solid #CDD6DD;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	vertical-align: top;
	border-radius: 2px;
	outline: 0;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	.contents .selector select {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .selector select {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents .selector select::-ms-expand {
	display: none;
}
.contents .googlemap {
	position: relative;
	aspect-ratio: 16 / 9;
}
@media screen and (max-width: 767px) {
	.contents .googlemap {
		aspect-ratio: 16 / 11.2;
	}
}
.contents .googlemap iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	-webkit-transition: opacity 400ms;
	transition: opacity 400ms;
}
.contents .form > dl, .contents .form > form > dl {
	display: flex;
	flex-wrap: wrap;
	gap: min(40px, 3.125vw) 0;
	padding-bottom: min(40px, 3.125vw);
	border-bottom: 1px solid #CDD6DD;
}
.contents .form > dl > dt, .contents .form > form > dl > dt {
	width: min(330px, 25.78125vw);
	padding-top: min(40px, 3.125vw);
	padding-right: min(20px, 1.5625vw);
	font-size: min(1.5625vw, 20px);
	line-height: 1.5;
	font-weight: 500;
	border-top: 1px solid #CDD6DD;
}
@media screen and (max-width: 959px) {
	.contents .form > dl > dt, .contents .form > form > dl > dt {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.contents .form > dl > dt, .contents .form > form > dl > dt {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}
@media screen and (max-width: 767px) {
	.contents .form > dl > dt, .contents .form > form > dl > dt {
		width: 100%;
		padding-top: 15px;
	}
}
.contents .form > dl > dt.required:after, .contents .form > form > dl > dt.required:after {
	content: "【必須】";
	display: inline-block;
	font-size: min(1.5625vw, 20px);
	line-height: 1.5;
	font-weight: 500;
	color: #FF0000;
}
@media screen and (max-width: 959px) {
	.contents .form > dl > dt.required:after, .contents .form > form > dl > dt.required:after {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.contents .form > dl > dt.required:after, .contents .form > form > dl > dt.required:after {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}
.contents .form > dl > dt.required.en:after, .contents .form > form > dl > dt.required.en:after {
	content: "[required]";
	padding-left: 3px;
}
.contents .form > dl > dt.shift, .contents .form > form > dl > dt.shift {
	padding-top: calc(min(40px, 40/1280*100vw) + 0.65em);
}
@media screen and (max-width: 767px) {
	.contents .form > dl > dt.shift, .contents .form > form > dl > dt.shift {
		padding-top: 15px;
	}
}
.contents .form > dl > dt.noborder, .contents .form > form > dl > dt.noborder {
	border-top: 0;
	padding-top: 0;
}
@media screen and (max-width: 767px) {
	.contents .form > dl > dt.noborder, .contents .form > form > dl > dt.noborder {
		padding-top: 15px;
	}
}
.contents .form > dl > dt.noborder.shift, .contents .form > form > dl > dt.noborder.shift {
	padding-top: 0.65em;
}
@media screen and (max-width: 767px) {
	.contents .form > dl > dt.noborder.shift, .contents .form > form > dl > dt.noborder.shift {
		padding-top: 15px;
	}
}
.contents .form > dl > dt.noborder + dd, .contents .form > form > dl > dt.noborder + dd {
	border-top: 0;
	padding-top: 0;
}
.contents .form > dl > dd, .contents .form > form > dl > dd {
	width: calc(100% - min(330px, 330/1280*100vw));
	padding-top: min(40px, 3.125vw);
	border-top: 1px solid #CDD6DD;
}
@media screen and (max-width: 767px) {
	.contents .form > dl > dd, .contents .form > form > dl > dd {
		width: 100%;
		padding-top: 0px;
		border-top: 0;
	}
}
.contents .form > dl > dd:not(.image) > a, .contents .form > form > dl > dd:not(.image) > a {
	font-size: min(1.328125vw, 17px);
	line-height: 1.7;
	font-weight: 500;
	color: #004898;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.contents .form > dl > dd:not(.image) > a, .contents .form > form > dl > dd:not(.image) > a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .form > dl > dd:not(.image) > a, .contents .form > form > dl > dd:not(.image) > a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents .form > dl > dd:not(.image) > a:before, .contents .form > form > dl > dd:not(.image) > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.contents .form > dl > dd:not(.image) > a:hover:before, .contents .form > form > dl > dd:not(.image) > a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.35em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
.contents .form > dl > dd > dl, .contents .form > form > dl > dd > dl {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px min(40px, 3.125vw);
}
@media screen and (max-width: 767px) {
	.contents .form > dl > dd > dl, .contents .form > form > dl > dd > dl {
		gap: 10px 20px;
	}
}
.contents .form > dl > dd > dl > dt, .contents .form > form > dl > dd > dl > dt {
	width: 100%;
	margin-right: max(-20px, -1.5625vw);
	font-size: min(1.5625vw, 20px);
	line-height: 1.5;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	.contents .form > dl > dd > dl > dt, .contents .form > form > dl > dd > dl > dt {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.contents .form > dl > dd > dl > dt, .contents .form > form > dl > dd > dl > dt {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}
@media screen and (max-width: 767px) {
	.contents .form > dl > dd > dl > dt, .contents .form > form > dl > dd > dl > dt {
		margin-right: -10px;
	}
}
.contents .form > dl > dd > dl > dd:not(.stretch) + dt, .contents .form > form > dl > dd > dl > dd:not(.stretch) + dt {
	margin-top: 10px;
}
.contents .form > dl > dd > dl > dd, .contents .form > form > dl > dd > dl > dd {
	width: 100%;
}
.contents .form > dl > dd > dl > dd.stretch, .contents .form > form > dl > dd > dl > dd.stretch {
	width: auto;
}
.contents .form input[type="text"], .contents .form input[type="email"], .contents .form input[type="tel"], .contents .form input[type="url"], .contents .form input[type="number"] {
	width: 100%;
	height: 2.823529411764706em;
	padding: 0 min(20px, 1.5625vw);
	font-size: min(1.328125vw, 17px);
	line-height: 2.7058823529;
	font-weight: 500;
	border: 1px solid #CDD6DD;
	border-radius: 3px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
@media screen and (max-width: 959px) {
	.contents .form input[type="text"], .contents .form input[type="email"], .contents .form input[type="tel"], .contents .form input[type="url"], .contents .form input[type="number"] {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.contents .form input[type="text"], .contents .form input[type="email"], .contents .form input[type="tel"], .contents .form input[type="url"], .contents .form input[type="number"] {
		font-size: min(4.2666666667vw, 16px);
	}
}
.contents .form input[type="text"].short, .contents .form input[type="email"].short, .contents .form input[type="tel"].short, .contents .form input[type="url"].short, .contents .form input[type="number"].short {
	width: 14.7em;
}
@media screen and (max-width: 767px) {
	.contents .form input[type="text"].short, .contents .form input[type="email"].short, .contents .form input[type="tel"].short, .contents .form input[type="url"].short, .contents .form input[type="number"].short {
		width: 7em;
	}
}
.contents .form input[type="text"][required], .contents .form input[type="email"][required], .contents .form input[type="tel"][required], .contents .form input[type="url"][required], .contents .form input[type="number"][required] {
	background: #FFFAFA;
}
.contents .form input[type="text"]:focus, .contents .form input[type="email"]:focus, .contents .form input[type="tel"]:focus, .contents .form input[type="url"]:focus, .contents .form input[type="number"]:focus {
	outline: none;
}
.contents .form textarea {
	width: 100%;
	height: 15em;
	padding: min(20px, 1.5625vw);
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 500;
	border: 1px solid #CDD6DD;
	border-radius: 3px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
@media screen and (max-width: 959px) {
	.contents .form textarea {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.contents .form textarea {
		font-size: min(4.2666666667vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.contents .form textarea {
		height: 10em;
	}
}
.contents .form textarea[required] {
	background: #FFFAFA;
}
.contents .form textarea:focus {
	outline: none;
}
.contents .form select {
	height: 2.823529411764706em;
	padding: 0px 40px 0px min(20px, 1.5625vw);
	font-size: min(1.328125vw, 17px);
	line-height: 2.7058823529;
	font-weight: 500;
	border: 1px solid #CDD6DD;
	border-radius: 3px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../images/selecticonb.svg) no-repeat right 10px center #fff;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	.contents .form select {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.contents .form select {
		font-size: min(4.2666666667vw, 16px);
	}
}
.contents .form select:focus {
	outline: none;
}
.contents .form select::-ms-expand {
	display: none;
}
.contents .form .forms {
	display: flex;
	flex-wrap: wrap;
	gap: 5px min(30px, 2.34375vw);
}
.contents .form .forms label {
	position: relative;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	min-height: 34px;
	padding: 5px 0px 5px 28px;
	cursor: pointer;
}
.contents .form .forms input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.contents .form .forms input[type="checkbox"] + span:before {
	content: "";
	display: block;
	position: absolute;
	width: 16px;
	height: 16px;
	top: 50%;
	left: 0px;
	margin-top: -9px;
	background: #fff;
	border: 1px solid #CDD6DD;
	border-radius: 3px;
	transition: 200ms;
}
.contents .form .forms input[type="checkbox"]:checked + span:before {
	background: #004898;
}
.contents .form .forms input[type="checkbox"] + span {
	font-size: min(1.5625vw, 20px);
	line-height: 1.3;
	font-weight: 500;
	user-select: none;
}
@media screen and (max-width: 959px) {
	.contents .form .forms input[type="checkbox"] + span {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.contents .form .forms input[type="checkbox"] + span {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}
.contents .form .forms input[type="checkbox"] + span:after {
	content: "";
	display: block;
	position: absolute;
	width: 18px;
	height: 18px;
	top: 50%;
	left: 0px;
	margin-top: -9px;
	background: url(../images/check.svg) no-repeat center center;
	transform: scale(0);
	transition: 200ms;
}
.contents .form .forms input[type="checkbox"]:checked + span:after {
	transform: scale(1);
}
.contents .form .forms input[type="radio"]:disabled + span {
	opacity: 0.4;
}
.contents .form .forms input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.contents .form .forms input[type="radio"] + span:before {
	content: "";
	display: block;
	position: absolute;
	width: 22px;
	height: 22px;
	top: 50%;
	left: 0px;
	margin-top: -12px;
	background: transparent;
	border: 1px solid #000;
	border-radius: 50%;
}
.contents .form .forms input[type="radio"] + span {
	margin-left: 6px;
	font-size: min(1.5625vw, 20px);
	line-height: 1.3;
	font-weight: 500;
	user-select: none;
}
@media screen and (max-width: 959px) {
	.contents .form .forms input[type="radio"] + span {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.contents .form .forms input[type="radio"] + span {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}
.contents .form .forms input[type="radio"] + span:after {
	content: "";
	display: block;
	position: absolute;
	width: 12px;
	height: 12px;
	top: 50%;
	left: 12px;
	margin-top: -6px;
	margin-left: -6px;
	background: #004898;
	border-radius: 50%;
	transform: scale(0);
	transition: 200ms;
}
.contents .form .forms input[type="radio"]:checked + span:after {
	transform: scale(1);
}
.contents .form .buttons {
	display: flex;
	flex-wrap: wrap;
	gap: min(40px, 3.125vw);
	margin-top: min(40px, 3.125vw);
	padding-left: min(330px, 25.78125vw);
}
@media screen and (max-width: 767px) {
	.contents .form .buttons {
		margin-top: 30px;
		padding-left: 0;
	}
}
.contents .form .buttons button {
	display: flex;
	align-items: center;
	width: 21em;
	height: 60px;
	padding: 5px 55px 5px min(20px, 1.5625vw);
	font-size: min(1.09375vw, 14px);
	line-height: 1;
	font-weight: 500;
	color: #fff;
	background: url(../images/arroww.svg) no-repeat right 20px center #004898;
	border: 0;
	pointer: cursor;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	.contents .form .buttons button {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	.contents .form .buttons button {
		font-size: min(3.1818402204vw, 11.9319008264px);
	}
}
.contents .form .buttons button:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	.contents .form .buttons button {
		width: 13.5em;
		padding-left: 15px;
	}
}
.contents .form .buttons button[type="reset"] {
	height: 58px;
	color: #004898;
	background-image: url(../images/arrow.svg);
	background-color: #fff;
	border: 1px solid #004898;
}

.newscategory,
.tab {
	margin-bottom: 20px;
}
.newscategory ul,
.tab ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 0px;
}
@media screen and (max-width: 767px) {
	.newscategory ul,
	.tab ul {
		gap: 10px;
	}
}
.newscategory ul li,
.tab ul li {
	min-width: 90px;
}
@media screen and (max-width: 767px) {
	.newscategory ul li,
	.tab ul li {
		min-width: 0px;
	}
}
.newscategory ul a,
.tab ul a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 5px;
	width: 100%;
	height: 24px;
	font-size: min(1.09375vw, 14px);
	line-height: 1;
	font-weight: 500;
	color: #98A6B5;
	background: transparent;
	transition: opacity 0.2s, background 0.2s, color 0.2s;
	cursor: pointer;
	border-radius: 12px;
}
@media screen and (max-width: 959px) {
	.newscategory ul a,
	.tab ul a {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	.newscategory ul a,
	.tab ul a {
		font-size: min(3.1818402204vw, 11.9319008264px);
	}
}
.newscategory ul a:hover,
.tab ul a:hover {
	opacity: 0.7;
}
.newscategory ul a.on,
.tab ul a.on {
	color: #fff;
	background: #004898;
}
@media screen and (max-width: 767px) {
	.newscategory ul a,
	.tab ul a {
		padding: 5px 20px;
	}
}

.datelist.alt {
	background: #E2EAF3;
}
.datelist.alt h2 {
	margin: -10px 0 0;
	padding: 10px min(15px, 1.171875vw);
	color: #fff;
	background: #004898;
	border-bottom-color: #004898;
}
@media screen and (max-width: 767px) {
	.datelist.alt h2 {
		margin-top: 0;
	}
}
.datelist.alt h2:before {
	display: none;
}
.datelist.alt > ul {
	border-top: 0;
}
.datelist.alt > ul > li {
	flex-wrap: wrap;
	padding: min(20px, 1.5625vw);
	border-bottom-color: #fff;
}
.datelist.alt > ul > li .date {
	justify-content: flex-start;
	width: 100%;
}
@media screen and (max-width: 767px) {
	.datelist.alt > ul > li .date {
		margin-top: 5px;
	}
}
.datelist.alt > ul > li .title a {
	display: block;
}
.datelist.alt > ul > li > .body > .title > a span:after,
.datelist.alt > ul > li > .title > a span:after {
	display: none;
}
.datelist.alt > ul > li > .body > .title > a[href$=".pdf"] span,
.datelist.alt > ul > li > .title > a[href$=".pdf"] span {
	margin-left: 15px;
}
.datelist.alt > ul > li > .body > .title > a[href$=".pdf"] span:after,
.datelist.alt > ul > li > .title > a[href$=".pdf"] span:after {
	display: block;
	background-image: url(../images/pdf.svg);
}
.datelist.alt > ul > li > .body > .title > a > span,
.datelist.alt > ul > li > .title > a > span {
	margin-left: 0px;
	border-left: 0;
}
.datelist > ul {
	width: 100%;
	border-top: 1px dotted #CDD6DD;
}
.datelist > ul > li {
	position: relative;
	display: flex;
	gap: 10px min(30px, 2.34375vw);
	padding: 25px 0px 25px min(20px, 1.5625vw);
	border-bottom: 1px dotted #CDD6DD;
}
@media screen and (max-width: 767px) {
	.datelist > ul > li {
		flex-direction: column;
		gap: 15px;
		align-items: flex-start;
		padding: 20px 0px;
	}
}
.datelist > ul > li .date {
	display: flex;
	align-items: center;
	justify-content: center;
	height: min(24px, 1.875vw);
	font-size: min(1.25vw, 16px);
	line-height: 1;
	font-weight: 500;
	color: #000000;
}
@media screen and (max-width: 959px) {
	.datelist > ul > li .date {
		font-size: min(1.5609756098vw, 12.8px);
	}
}
@media screen and (max-width: 767px) {
	.datelist > ul > li .date {
		font-size: min(3.4330798898vw, 12.8740495868px);
	}
}
.datelist > ul > li .category {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 6.8823529412rem;
	padding: 0px;
	height: min(24px, 1.875vw);
}
@media screen and (max-width: 767px) {
	.datelist > ul > li .category {
		position: absolute;
		top: calc(15px + 0.5rem);
		left: 6rem;
		min-width: 6rem;
		transform: translateY(-50%);
	}
}
.datelist > ul > li .category div {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 24px;
	padding: 2px 10px 3px;
	font-size: min(0.9375vw, 12px);
	line-height: 1;
	font-weight: 500;
	color: #004898;
	text-align: center;
	white-space: nowrap;
	border: 1px solid #004898;
	border-radius: 12px;
}
@media screen and (max-width: 959px) {
	.datelist > ul > li .category div {
		font-size: min(1.1707317073vw, 9.6px);
	}
}
@media screen and (max-width: 767px) {
	.datelist > ul > li .category div {
		font-size: min(2.926369146vw, 10.9738842975px);
	}
}
.datelist > ul > li .body {
	display: flex;
	flex-direction: column;
	width: 100%;
}
.datelist > ul > li .title {
	width: 100%;
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 500;
	color: #000000;
}
@media screen and (max-width: 959px) {
	.datelist > ul > li .title {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.datelist > ul > li .title {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.datelist > ul > li .title a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
	color: #000000;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.datelist > ul > li .title a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	.datelist > ul > li .title a {
		display: block;
	}
}
.datelist > ul > li > .body > .title > a,
.datelist > ul > li > .title > a {
	position: relative;
}
@media screen and (max-width: 767px) {
	.datelist > ul > li > .body > .title > a,
	.datelist > ul > li > .title > a {
		position: static;
		padding-right: 50px;
	}
}
@media screen and (max-width: 767px) {
	.datelist > ul > li > .body > .title > a span,
	.datelist > ul > li > .title > a span {
		position: absolute !important;
		width: 40px !important;
		right: 0px;
		top: 20px;
		height: calc(100% - 40px) !important;
	}
}
.datelist > ul > li > .body > .title > a span:after,
.datelist > ul > li > .title > a span:after {
	content: "";
	display: block;
	position: absolute;
	width: 20px;
	height: 20px;
	top: 50%;
	left: 50%;
	margin-left: -10px;
	margin-top: -10px;
	background: url(../images/arrow.svg) no-repeat center center;
}
.datelist > ul > li > .body > .title > a[href$=".pdf"] span:after,
.datelist > ul > li > .title > a[href$=".pdf"] span:after {
	background-image: url(../images/pdf.svg);
}
.datelist > ul > li > .body > .title > a > span,
.datelist > ul > li > .title > a > span {
	position: relative;
	flex-shrink: 0;
	width: 44px;
	height: 100%;
	margin-left: min(20px, 1.5625vw);
	border-left: 1px solid #CDD6DD;
}
.datelist > ul > li.toggle > .body > .title > a > span:after,
.datelist > ul > li.toggle > .title > a > span:after {
	width: 19px;
	height: 1px;
	margin-left: -9px;
	margin-top: 0px;
	background: #004898;
}
.datelist > ul > li.toggle > .body > .title > a > span:before,
.datelist > ul > li.toggle > .title > a > span:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 19px;
	top: 50%;
	left: 50%;
	margin-top: -9px;
	background: #004898;
	transition: top 400ms, opacity 400ms;
}
.datelist > ul > li.toggle > .body > .title > a.on > span:before,
.datelist > ul > li.toggle > .title > a.on > span:before {
	top: 150%;
	opacity: 0;
}
.datelist > ul > li .info {
	display: none;
	margin-top: 15px;
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 400;
	color: #000000;
}
@media screen and (max-width: 959px) {
	.datelist > ul > li .info {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.datelist > ul > li .info {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.datelist > ul > li .info a {
	color: #004898;
	position: relative;
	display: inline-block;
}
.datelist > ul > li .info a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.25em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.datelist > ul > li .info a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.25em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}

.banners ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: min(40px, 3.125vw);
}
@media screen and (max-width: 959px) {
	.banners ul {
		gap: min(60px, 4.6875vw) min(40px, 3.125vw);
	}
}
@media screen and (max-width: 767px) {
	.banners ul {
		gap: 30px 10px;
	}
}
.banners li {
	width: calc((100% - (min(40px, 40/1280*100vw) * 4)) / 5);
}
@media screen and (max-width: 767px) {
	.banners li {
		width: calc((100% - 10px) / 2);
	}
}
.banners.col4 ul {
	justify-content: flex-start;
}
.banners.col4 li {
	width: calc((100% - (min(40px, 40/1280*100vw) * 3)) / 4);
}
@media screen and (max-width: 767px) {
	.banners.col4 li {
		width: calc((100% - 10px) / 2);
	}
}
.banners.widegap ul {
	gap: 66px min(40px, 3.125vw);
}
@media screen and (max-width: 959px) {
	.banners.widegap ul {
		gap: min(66px, 4.6875vw) min(40px, 3.125vw);
	}
}
@media screen and (max-width: 767px) {
	.banners.widegap ul {
		gap: 40px 10px;
	}
}
.banners a {
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.banners a:hover {
	opacity: 0.7;
}
.banners a[title]:before {
	content: attr(title);
	display: block;
	position: relative;
	margin: 0px 0px 10px;
	padding: 0px;
	font-size: min(1.25vw, 16px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
}
@media screen and (max-width: 1279px) {
	.banners a[title]:before {
		font-size: min(1.171875vw, 15px);
	}
}
@media screen and (max-width: 959px) {
	.banners a[title]:before {
		font-size: min(1.4634146341vw, 12px);
	}
}
@media screen and (max-width: 767px) {
	.banners a[title]:before {
		font-size: min(3.4330798898vw, 12.8740495868px);
	}
}
@media screen and (max-width: 959px) {
	.banners a[title]:before {
		min-height: 2.6em;
	}
}
.banners a img {
	width: 100%;
}
.banners p {
	margin-top: 10px;
	font-size: min(1.171875vw, 15px);
	line-height: 1.7;
	font-weight: 500;
	color: #000000;
}
@media screen and (max-width: 959px) {
	.banners p {
		font-size: min(1.4634146341vw, 12px);
	}
}
@media screen and (max-width: 767px) {
	.banners p {
		font-size: min(3.3079889807vw, 12.4049586777px);
	}
}

.contentsmenu.center > ul {
	justify-content: center;
}
.contentsmenu > ul {
	display: flex;
	flex-wrap: wrap;
	gap: min(40px, 3.125vw) min(40px, 3.125vw);
}
@media screen and (max-width: 767px) {
	.contentsmenu > ul {
		gap: 30px 15px;
	}
}
.contentsmenu > ul > li {
	width: calc((100% - min(40px, 40/1280*100vw) * 3) / 4);
}
@media screen and (max-width: 767px) {
	.contentsmenu > ul > li {
		width: calc((100% - 15px) / 2);
	}
}
.contentsmenu > ul > li.size4 {
	width: 100%;
}
.contentsmenu > ul > li.size3 {
	width: calc((100% - min(40px, 40/1280*100vw) * 3) / 4 * 3 + min(40px, 40/1280*100vw) * 2);
}
@media screen and (max-width: 767px) {
	.contentsmenu > ul > li.size3 {
		width: 100%;
	}
}
.contentsmenu > ul > li.size2 {
	width: calc((100% - min(40px, 40/1280*100vw) * 3) / 4 * 2 + min(40px, 40/1280*100vw));
}
@media screen and (max-width: 767px) {
	.contentsmenu > ul > li.size2 {
		width: calc((100% - 15px) / 2);
	}
}
.contentsmenu.col3 > ul > li {
	width: calc((100% - min(40px, 40/1280*100vw) * 2) / 3);
}
@media screen and (max-width: 767px) {
	.contentsmenu.col3 > ul > li {
		width: calc((100% - 15px) / 2);
	}
}
.contentsmenu.col3 > ul > li.size4 {
	width: 100%;
}
.contentsmenu.col3 > ul > li.size3 {
	width: calc((100% - min(40px, 40/1280*100vw) * 2) / 3 * 2 + min(40px, 40/1280*100vw));
}
@media screen and (max-width: 767px) {
	.contentsmenu.col3 > ul > li.size3 {
		width: 100%;
	}
}
.contentsmenu.col3 > ul > li.size2 {
	width: calc((100% - min(40px, 40/1280*100vw)) / 2);
}
@media screen and (max-width: 767px) {
	.contentsmenu.col3 > ul > li.size2 {
		width: calc((100% - 15px) / 2);
	}
}
.contentsmenu > ul > li:not(.col):not(.border) > a,
.contentsmenu > ul > li:not(.col):not(.border) > div:not(.info) {
	position: relative;
	display: block;
	border-radius: 20px;
}
.contentsmenu > ul > li:not(.col):not(.border) > a .image,
.contentsmenu > ul > li:not(.col):not(.border) > div:not(.info) .image {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
}
.contentsmenu > ul > li:not(.col):not(.border) > a img,
.contentsmenu > ul > li:not(.col):not(.border) > div:not(.info) img {
	width: 100%;
	transition: transform 600ms;
}
.contentsmenu > ul > li:not(.col):not(.border) > a .title,
.contentsmenu > ul > li:not(.col):not(.border) > div:not(.info) .title {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 5px;
	bottom: 0;
	left: 0;
	width: 100%;
	min-height: max(min(100px, 7.8125vw), 35%);
	padding: min(25px, 1.953125vw) min(20px, 1.5625vw) min(20px, 1.5625vw);
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	background: linear-gradient(to bottom, rgba(0, 72, 152, 0) 0%, #004898 100%);
	border-radius: 0px 0px 20px 20px;
}
@media screen and (max-width: 959px) {
	.contentsmenu > ul > li:not(.col):not(.border) > a .title,
	.contentsmenu > ul > li:not(.col):not(.border) > div:not(.info) .title {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contentsmenu > ul > li:not(.col):not(.border) > a .title,
	.contentsmenu > ul > li:not(.col):not(.border) > div:not(.info) .title {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contentsmenu > ul > li:not(.col):not(.border) > a .title span,
.contentsmenu > ul > li:not(.col):not(.border) > div:not(.info) .title span {
	display: block;
	font-size: min(1.09375vw, 14px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
}
@media screen and (max-width: 959px) {
	.contentsmenu > ul > li:not(.col):not(.border) > a .title span,
	.contentsmenu > ul > li:not(.col):not(.border) > div:not(.info) .title span {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	.contentsmenu > ul > li:not(.col):not(.border) > a .title span,
	.contentsmenu > ul > li:not(.col):not(.border) > div:not(.info) .title span {
		font-size: min(3.1818402204vw, 11.9319008264px);
	}
}
.contentsmenu > ul > li.size2:not(.col):not(.border) > a .title,
.contentsmenu > ul > li.size3:not(.col):not(.border) > a .title,
.contentsmenu > ul > li.size4:not(.col):not(.border) > a .title,
.contentsmenu > ul > li.size2:not(.col):not(.border) > div:not(.info) .title,
.contentsmenu > ul > li.size3:not(.col):not(.border) > div:not(.info) .title,
.contentsmenu > ul > li.size4:not(.col):not(.border) > div:not(.info) .title {
	font-size: min(1.875vw, 24px);
}
@media screen and (max-width: 959px) {
	.contentsmenu > ul > li.size2:not(.col):not(.border) > a .title,
	.contentsmenu > ul > li.size3:not(.col):not(.border) > a .title,
	.contentsmenu > ul > li.size4:not(.col):not(.border) > a .title,
	.contentsmenu > ul > li.size2:not(.col):not(.border) > div:not(.info) .title,
	.contentsmenu > ul > li.size3:not(.col):not(.border) > div:not(.info) .title,
	.contentsmenu > ul > li.size4:not(.col):not(.border) > div:not(.info) .title {
		font-size: min(2.3414634146vw, 19.2px);
	}
}
@media screen and (max-width: 767px) {
	.contentsmenu > ul > li.size2:not(.col):not(.border) > a .title,
	.contentsmenu > ul > li.size3:not(.col):not(.border) > a .title,
	.contentsmenu > ul > li.size4:not(.col):not(.border) > a .title,
	.contentsmenu > ul > li.size2:not(.col):not(.border) > div:not(.info) .title,
	.contentsmenu > ul > li.size3:not(.col):not(.border) > div:not(.info) .title,
	.contentsmenu > ul > li.size4:not(.col):not(.border) > div:not(.info) .title {
		font-size: min(4.3957245179vw, 16.4839669421px);
	}
}
.contentsmenu > ul > li:not(.col):not(.border) > a {
	transition: box-shadow 600ms;
}
.contentsmenu > ul > li:not(.col):not(.border) > a .title {
	padding-right: calc(min(40px, 40/1280*100vw) + 15px);
}
.contentsmenu > ul > li:not(.col):not(.border) > a .title:before {
	content: "";
	position: absolute;
	right: min(20px, 1.5625vw);
	bottom: min(20px, 1.5625vw);
	width: 15px;
	height: 17px;
	background: url(../images/arroww.svg) no-repeat center center;
	background-size: 100% auto;
}
.contentsmenu > ul > li:not(.col):not(.border) > a:hover {
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
}
.contentsmenu > ul > li:not(.col):not(.border) > a:hover img {
	transform: scale(1.15);
}
.contentsmenu > ul > li:not(.col):not(.border) > div.info {
	padding: min(20px, 1.5625vw) min(20px, 1.5625vw) 0;
}
.contentsmenu > ul > li:not(.col):not(.border) > div.info p {
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 500;
	color: #000000;
}
@media screen and (max-width: 959px) {
	.contentsmenu > ul > li:not(.col):not(.border) > div.info p {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contentsmenu > ul > li:not(.col):not(.border) > div.info p {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contentsmenu > ul > li:not(.col):not(.border) > div.info p a {
	color: #004898;
	position: relative;
	display: inline-block;
}
.contentsmenu > ul > li:not(.col):not(.border) > div.info p a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.25em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.contentsmenu > ul > li:not(.col):not(.border) > div.info p a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.25em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
.contentsmenu > ul > li:not(.col):not(.border) > div.info li {
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
}
@media screen and (max-width: 959px) {
	.contentsmenu > ul > li:not(.col):not(.border) > div.info li {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contentsmenu > ul > li:not(.col):not(.border) > div.info li {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contentsmenu > ul > li:not(.col):not(.border) > div.info li a {
	color: #000000;
	position: relative;
	display: inline-block;
}
.contentsmenu > ul > li:not(.col):not(.border) > div.info li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #000000;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.contentsmenu > ul > li:not(.col):not(.border) > div.info li a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.15em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
.contentsmenu > ul > li:not(.col):not(.border) > div.info li + li {
	margin-top: min(15px, 1.171875vw);
}
.contentsmenu > ul > li.icon > a .image,
.contentsmenu > ul > li.icon > div .image {
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 400 / 283;
	border: 1px solid #CDD6DD;
}
.contentsmenu > ul > li.icon > a .image img,
.contentsmenu > ul > li.icon > div .image img {
	width: min(35%, 150px);
}
.contentsmenu > ul > li.col > a .image,
.contentsmenu > ul > li.col > div .image {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	transition: box-shadow 600ms;
}
.contentsmenu > ul > li.col > a img,
.contentsmenu > ul > li.col > div img {
	width: 100%;
	transition: transform 600ms;
}
.contentsmenu > ul > li.col > a .title, .contentsmenu > ul > li.col > div .title {
	position: relative;
	padding: min(20px, 1.5625vw) min(20px, 1.5625vw) 0;
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
}
@media screen and (max-width: 959px) {
	.contentsmenu > ul > li.col > a .title, .contentsmenu > ul > li.col > div .title {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contentsmenu > ul > li.col > a .title, .contentsmenu > ul > li.col > div .title {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
#related .contentsmenu > ul > li.col > a .title,
#related .contentsmenu > ul > li.col > div .title {
	color: #fff;
}
.contentsmenu > ul > li.col > a .title {
	padding-right: calc(min(40px, 40/1280*100vw) + 15px);
}
.contentsmenu > ul > li.col > a .title:before {
	content: "";
	position: absolute;
	right: min(20px, 1.5625vw);
	top: calc((100% - min(20px, 20/1280*100vw)) / 2 + min(20px, 20/1280*100vw));
	width: 15px;
	height: 17px;
	margin-top: -8.5px;
	background: url(../images/arrow.svg) no-repeat center center;
	background-size: 100% auto;
}
#related .contentsmenu > ul > li.col > a .title:before {
	background-image: url(../images/arroww.svg);
}
.contentsmenu > ul > li.col > a:hover .image {
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
}
.contentsmenu > ul > li.col > a:hover img {
	transform: scale(1.15);
}
.contentsmenu > ul > li.border > a,
.contentsmenu > ul > li.border > div {
	position: relative;
	display: flex;
	height: 100%;
	min-height: 60px;
	align-items: center;
	padding: 5px min(20px, 1.5625vw);
	border: 1px solid #707070;
}
.contentsmenu > ul > li.border > a .title,
.contentsmenu > ul > li.border > div .title {
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
}
@media screen and (max-width: 959px) {
	.contentsmenu > ul > li.border > a .title,
	.contentsmenu > ul > li.border > div .title {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contentsmenu > ul > li.border > a .title,
	.contentsmenu > ul > li.border > div .title {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contentsmenu > ul > li.border > a {
	padding-right: calc(min(40px, 40/1280*100vw) + 15px);
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.contentsmenu > ul > li.border > a:hover {
	opacity: 0.7;
}
.contentsmenu > ul > li.border > a:before {
	content: "";
	position: absolute;
	right: min(20px, 1.5625vw);
	top: 50%;
	width: 15px;
	height: 17px;
	margin-top: -8.5px;
	background: url(../images/arrow.svg) no-repeat center center;
	background-size: 100% auto;
}

.featurelist {
	position: relative;
	z-index: 0;
}
.featurelist.sp_disp {
	display: none;
}
@media screen and (max-width: 767px) {
	.featurelist.sp_disp {
		margin-top: 0;
		display: block !important;
		gap: 10px;
	}
	.featurelist.sp_disp > div + div {
		margin-top: 10px;
	}
}
@media screen and (max-width: 767px) {
	.featurelist {
		display: none !important;
	}
}
.featurelist > div > div {
	display: flex;
	height: auto;
	flex-direction: column;
	gap: min(20px, 1.5625vw);
	width: calc((100% - min(40px, 40/1280*100vw) * 2) / 3);
}
@media screen and (max-width: 767px) {
	.featurelist > div > div {
		width: 100%;
		gap: 10px;
	}
}
.featurelist a {
	position: relative;
	display: block;
	height: 100%;
	padding: min(19px, 1.484375vw);
	border-radius: 20px;
	overflow: hidden;
	border: 1px solid #CDD6DD;
	transition: box-shadow 600ms;
}
@media screen and (max-width: 767px) {
	.featurelist a {
		display: flex;
		align-items: center;
		gap: 20px;
	}
}
.featurelist a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 12px;
	right: min(20px, 1.5625vw);
	width: 16px;
	height: 13px;
	background: url(../images/arrow.svg) no-repeat center center;
}
@media screen and (max-width: 767px) {
	.featurelist a:before {
		display: none;
	}
}
.featurelist a.blank::before {
	width: 15px;
	height: 15px;
	background: url(../images/blankb.svg) no-repeat center center;
}
.featurelist a .image {
	position: relative;
	border-radius: 20px;
	z-index: -3;
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	.featurelist a .image {
		width: 120px;
		flex-shrink: 0;
	}
}
.featurelist a .image img {
	width: 100%;
	transition: transform 600ms;
}
.featurelist a .body {
	margin-top: min(20px, 1.5625vw);
	font-size: min(1.328125vw, 17px);
	line-height: 1.7;
	font-weight: 500;
	color: #000000;
}
@media screen and (max-width: 959px) {
	.featurelist a .body {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.featurelist a .body {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
@media screen and (max-width: 767px) {
	.featurelist a .body {
		margin-top: 0;
	}
}
.featurelist a:hover .image img {
	transform: scale(1.15);
}

.featuresublist {
	position: relative;
	background: #fff;
	z-index: 10;
}
.featuresublist.sp_disp {
	display: none;
}
@media screen and (max-width: 767px) {
	.featuresublist.sp_disp {
		display: block;
		padding-top: 15px;
	}
	.featuresublist.sp_disp > div {
		display: flex;
		flex-wrap: wrap;
		gap: 15px;
		padding: 0 15px !important;
	}
	.featuresublist.sp_disp > div a {
		width: calc((100% - 15px) / 2);
		min-height: 140px;
	}
}
.featuresublist > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 40px 40px 0px;
}
@media screen and (max-width: 959px) {
	.featuresublist > div {
		padding: 20px 20px 0px;
	}
}
@media screen and (max-width: 767px) {
	.featuresublist > div {
		padding: 20px 15px 0px;
	}
}
@media screen and (max-width: 959px) {
	.featuresublist > div {
		padding-left: 40px;
		padding-right: 40px;
	}
}
@media screen and (max-width: 767px) {
	.featuresublist > div {
		display: none;
	}
}
.featuresublist > div > div {
	padding-left: calc((100% - 120px) / 4 + 40px);
}
@media screen and (max-width: 959px) {
	.featuresublist > div > div {
		padding-left: 0;
	}
}
.featuresublist > div > div > div {
	position: relative;
}
.featuresublist > div > div > div .next {
	position: absolute;
	right: -25px;
	top: 50%;
	transform: translateY(-50%);
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	width: 50px;
	height: 50px;
	background: url(../images/ico_navi.svg) no-repeat center/50px 50px;
	z-index: 10;
}
.featuresublist > div > div > div .next:hover {
	opacity: 0.7;
}
.featuresublist > div > div > div .next.swiper-button-disabled {
	background: url(../images/ico_navi_off.svg) no-repeat center/50px 50px;
	cursor: default;
}
.featuresublist > div > div > div .next.swiper-button-disabled:hover {
	opacity: 1;
}
.featuresublist > div > div > div .prev {
	position: absolute;
	left: -25px;
	top: 50%;
	transform: translateY(-50%) scale(-1, 1);
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	width: 50px;
	height: 50px;
	background: url(../images/ico_navi.svg) no-repeat center/50px 50px;
	z-index: 10;
}
.featuresublist > div > div > div .prev:hover {
	opacity: 0.7;
}
.featuresublist > div > div > div .prev.swiper-button-disabled {
	background: url(../images/ico_navi_off.svg) no-repeat center/50px 50px;
	cursor: default;
}
.featuresublist > div > div > div .prev.swiper-button-disabled:hover {
	opacity: 1;
}
.featuresublist > div > div > div > div.list > div > div {
	height: auto;
}
.featuresublist a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 20px;
	overflow: hidden;
	height: 100%;
	min-height: 170px;
}
.featuresublist a .image {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	aspect-ratio: 291 / 170;
	z-index: 0;
}
.featuresublist a .image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: transform 600ms;
}
.featuresublist a .body {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: inline-block;
	width: 100%;
	flex-direction: column;
	align-items: center;
	text-align: center;
	z-index: 1;
}
.featuresublist a .body .title {
	font-size: min(1.640625vw, 21px);
	line-height: 1.6;
	font-weight: 500;
	color: #fff;
}
@media screen and (max-width: 959px) {
	.featuresublist a .body .title {
		font-size: min(2.0487804878vw, 16.8px);
	}
}
@media screen and (max-width: 767px) {
	.featuresublist a .body .title {
		font-size: min(4.0426666667vw, 15.16px);
	}
}
@media screen and (max-width: 767px) {
	.featuresublist a .body .ico {
		display: none;
	}
}
.featuresublist a .body .ico img {
	display: inline-block;
}
.featuresublist a:hover .image img {
	transform: scale(1.15);
}

.aboutnumber {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	padding: 30px 0px;
	gap: min(20px, 1.5625vw) 0px;
}
@media screen and (max-width: 959px) {
	.aboutnumber {
		padding: 20px 0px;
	}
}
@media screen and (max-width: 767px) {
	.aboutnumber {
		padding: 15px 0px;
	}
}
.aboutnumber:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	top: 0;
	left: 50%;
	background: var(--bg) no-repeat center center;
	background-size: cover;
	transform: translateX(-50%);
	z-index: -2;
}
.aboutnumber:after {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	top: 0;
	left: 50%;
	background: rgba(0, 48, 101, 0.4);
	transform: translateX(-50%);
	backdrop-filter: blur(10px);
	z-index: -1;
}
.aboutnumber > div {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 25%;
	padding: min(25px, 1.953125vw) min(20px, 1.5625vw) min(20px, 1.5625vw);
}
.aboutnumber > div.size2 {
	width: 50%;
	flex-direction: row;
	justify-content: center;
	gap: min(40px, 3.125vw);
}
@media screen and (max-width: 767px) {
	.aboutnumber > div.size2 {
		gap: 10px;
	}
}
.aboutnumber > div:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 100%;
	top: 0;
	right: 0;
	background: #fff;
}
.aboutnumber > div:nth-child(4n + 1):after {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 100%;
	top: 0;
	left: 0;
	background: #fff;
}
.aboutnumber > div:nth-child(4n + 2):has(+ * + * + *):after {
	content: "";
	display: block;
	position: absolute;
	width: 400%;
	max-width: 1280px;
	height: 1px;
	bottom: max(-10px, -0.78125vw);
	left: 100%;
	background: #fff;
	transform: translateX(-50%);
}
.aboutnumber .title {
	font-size: min(2.5vw, 32px);
	line-height: 1.3;
	font-weight: 100;
	color: #fff;
	text-align: center;
}
@media screen and (max-width: 959px) {
	.aboutnumber .title {
		font-size: min(2.6829268293vw, 22px);
	}
}
@media screen and (max-width: 767px) {
	.aboutnumber .title {
		font-size: min(2.9333333333vw, 11px);
	}
}
.aboutnumber .image {
	margin-top: 0px !important;
	max-width: 60%;
}
.aboutnumber .image img {
	border-radius: 0;
}
.aboutnumber .size2 .image {
	margin-top: 10px !important;
	max-width: 100%;
}
@media screen and (max-width: 767px) {
	.aboutnumber .size2 .image {
		max-width: 50px;
	}
}
.aboutnumber .title + .point {
	margin-top: 15px;
}
@media screen and (max-width: 767px) {
	.aboutnumber .title + .point {
		margin-top: 10px;
	}
}
.aboutnumber .point {
	font-size: min(7.03125vw, 90px);
	line-height: 1;
	font-weight: 700;
	color: #fff;
	text-align: center;
}
@media screen and (max-width: 959px) {
	.aboutnumber .point {
		font-size: min(7.8048780488vw, 64px);
	}
}
@media screen and (max-width: 767px) {
	.aboutnumber .point {
		font-size: min(6.4vw, 24px);
	}
}
.aboutnumber .point.small {
	font-size: min(5.46875vw, 70px);
}
@media screen and (max-width: 959px) {
	.aboutnumber .point.small {
		font-size: min(6.8292682927vw, 56px);
	}
}
@media screen and (max-width: 767px) {
	.aboutnumber .point.small {
		font-size: min(6.4vw, 24px);
	}
}
.aboutnumber .point span {
	display: block;
	margin-top: 20px;
	font-size: min(1.5625vw, 20px);
	font-weight: 100;
}
@media screen and (max-width: 959px) {
	.aboutnumber .point span {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.aboutnumber .point span {
		font-size: min(2.9333333333vw, 11px);
	}
}
@media screen and (max-width: 767px) {
	.aboutnumber .point span {
		margin-top: 10px;
	}
}
.aboutnumber .point span.comma {
	display: inline-block;
	margin-top: 0px;
	font-size: min(3.125vw, 40px);
	font-weight: 700;
}
@media screen and (max-width: 959px) {
	.aboutnumber .point span.comma {
		font-size: min(3.9024390244vw, 32px);
	}
}
@media screen and (max-width: 767px) {
	.aboutnumber .point span.comma {
		font-size: min(6.1179063361vw, 22.9421487603px);
	}
}
@media screen and (max-width: 767px) {
	.aboutnumber .point span.comma {
		margin-top: 0px;
	}
}
.aboutnumber .size2 .point span:not(.comma) {
	margin-top: 0px;
	margin-left: 15px;
	display: inline-block;
}
@media screen and (max-width: 767px) {
	.aboutnumber .size2 .point span:not(.comma) {
		margin-left: 5px;
	}
}

.businessactivities {
	position: relative;
	padding: min(40px, 3.125vw);
	background: none no-repeat center center;
	border-radius: 20px;
}
.businessactivities:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: var(--bg) no-repeat center center;
	background-size: cover;
	border-radius: 20px;
	z-index: -2;
}
.businessactivities:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(0, 48, 101, 0.4);
	backdrop-filter: blur(10px);
	border-radius: 20px;
	z-index: -1;
}
.businessactivities h2 {
	color: #fff !important;
}
.businessactivities h2:before {
	color: #fff !important;
}
.businessactivities h2 a {
	color: #fff !important;
	border-color: #fff !important;
}
.businessactivities h2 a:after {
	background-image: url(../images/arroww.svg);
}

.aboutvalues {
	position: relative;
}
.aboutvalues ul {
	position: relative;
	display: flex;
	width: 100vw;
	max-height: 520px;
	left: 50%;
	transform: translateX(-50%);
	aspect-ratio: 1920 / 520;
}
@media screen and (max-width: 767px) {
	.aboutvalues ul {
		flex-wrap: wrap;
		aspect-ratio: auto;
		max-height: initial;
	}
}
.aboutvalues li {
	position: relative;
	flex: 1;
	background: none no-repeat center center;
	background-size: cover;
}
@media screen and (max-width: 767px) {
	.aboutvalues li {
		flex: auto;
		width: 100%;
		height: 100px;
	}
}
.aboutvalues li:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(0, 72, 152, 0.3);
	mix-blend-mode: multiply;
}
.aboutvalues a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.aboutvalues a div {
	font-size: min(1.875vw, 24px);
	line-height: 1;
	font-weight: 500;
	color: #000;
}
@media screen and (max-width: 959px) {
	.aboutvalues a div {
		font-size: min(2.3414634146vw, 19.2px);
	}
}
@media screen and (max-width: 767px) {
	.aboutvalues a div {
		font-size: min(4.3957245179vw, 16.4839669421px);
	}
}
.aboutvalues a div:after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	margin: 35px auto 0;
	background: url(../images/arrow.svg) no-repeat center center;
}
@media screen and (max-width: 767px) {
	.aboutvalues a div:after {
		margin-top: 20px;
	}
}
.aboutvalues a:after {
	content: "";
	display: block;
	position: absolute;
	width: calc(100% - min(40px, 40/1280*100vw));
	height: calc(100% - min(40px, 40/1280*100vw));
	top: 50%;
	left: 50%;
	background: #fff;
	border-radius: 20px;
	box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
	opacity: 0.4;
	transition: 400ms;
	transform: translate(-50%, -50%);
	z-index: -1;
}
.aboutvalues a:hover:after {
	width: calc(100% - min(80px, 80/1280*100vw));
	height: calc(100% - min(80px, 80/1280*100vw));
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
	opacity: 0.8;
}

.esgblock {
	display: flex;
	gap: 40px min(40px, 3.125vw);
}
@media screen and (max-width: 767px) {
	.esgblock {
		flex-direction: column;
	}
}
.esgblock .head {
	width: calc((100% - min(40px, 40/1280*100vw) * 3) / 4);
}
@media screen and (max-width: 767px) {
	.esgblock .head {
		width: 100%;
	}
}
.esgblock .head ul {
	display: flex;
	flex-direction: column;
	border-top: 1px solid #CDD6DD;
}
@media screen and (max-width: 767px) {
	.esgblock .head ul {
		flex-direction: row;
		gap: 15px;
		border-top: 0;
	}
}
.esgblock .head ul li {
	border-bottom: 1px solid #CDD6DD;
	overflow-x: clip;
}
@media screen and (max-width: 767px) {
	.esgblock .head ul li {
		flex: 1;
		border-top: 1px solid #CDD6DD;
	}
}
.esgblock .head ul a {
	display: flex;
	align-items: center;
	padding: 5px min(20px, 1.5625vw);
	height: 65px;
	font-size: min(1.5625vw, 20px);
	line-height: 1;
	font-weight: 500;
	color: #000000;
	transition: box-shadow 600ms;
}
@media screen and (max-width: 959px) {
	.esgblock .head ul a {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.esgblock .head ul a {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}
.esgblock .head ul a:hover {
	box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
}
.esgblock .body {
	position: relative;
	width: calc((100% - min(40px, 40/1280*100vw) * 3) / 4 * 3 + min(40px, 40/1280*100vw) * 2);
}
@media screen and (max-width: 767px) {
	.esgblock .body {
		width: 100%;
	}
}
.esgblock .body > div {
	position: absolute;
	display: flex;
	width: 100%;
	min-height: 500px;
	top: 0;
	left: 0;
	border-radius: 20px;
	overflow: hidden;
	z-index: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0ms 400ms;
}
@media screen and (max-width: 767px) {
	.esgblock .body > div {
		min-height: 300px;
	}
}
.esgblock .body > div.show {
	position: relative;
	z-index: 5;
	opacity: 1;
	pointer-events: auto;
	transition: opacity 400ms;
}
.esgblock .body > div.show > div:not(.bg) {
	opacity: 1;
	transform: translateX(0%);
	transition: opacity 400ms 200ms, transform 400ms 200ms;
}
.esgblock .body > div .bg {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.esgblock .body > div .bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.esgblock .body > div > div:not(.bg) {
	width: calc((100% - min(40px, 40/1280*100vw) * 2) / 3);
	opacity: 0;
	transform: translateX(-20%);
	transition: opacity 0ms 600ms, transform 000ms 600ms;
}
@media screen and (max-width: 767px) {
	.esgblock .body > div > div:not(.bg) {
		width: 50%;
	}
}
.esgblock .body dl {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: min(30px, 2.34375vw);
	background: #004898;
}
.esgblock .body dl dt a {
	position: relative;
	padding-right: calc(min(20px, 20/1280*100vw) + 15px);
	font-size: min(1.875vw, 24px);
	line-height: 1;
	font-weight: 500;
	color: #fff;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.esgblock .body dl dt a {
		font-size: min(2.3414634146vw, 19.2px);
	}
}
@media screen and (max-width: 767px) {
	.esgblock .body dl dt a {
		font-size: min(4.3957245179vw, 16.4839669421px);
	}
}
.esgblock .body dl dt a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #fff;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.esgblock .body dl dt a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
.esgblock .body dl dt a:after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 15px;
	height: 17px;
	margin-top: -8.5px;
	background: url(../images/arroww.svg) no-repeat center center;
	background-size: 100% auto;
}
.esgblock .body dl dd ul {
	display: flex;
	flex-direction: column;
	gap: min(25px, 1.953125vw);
	margin-top: min(30px, 2.34375vw);
}
.esgblock .body dl dd a {
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.esgblock .body dl dd a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.esgblock .body dl dd a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.esgblock .body dl dd a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #fff;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.esgblock .body dl dd a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.15em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}

.morelink a {
	position: relative;
	display: inline-flex;
	align-items: center;
	font-size: min(1.09375vw, 14px);
	line-height: 1;
	font-weight: 500;
	color: #004898;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	.morelink a {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	.morelink a {
		font-size: min(3.1818402204vw, 11.9319008264px);
	}
}
.morelink a:hover {
	opacity: 0.7;
}
.morelink a:after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-left: 10px;
	background: url(../images/arrow.svg) no-repeat center center;
}

.peoplelink {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.peoplelink a {
	display: flex;
	align-items: flex-start;
	gap: min(40px, 3.125vw);
	padding: min(20px, 1.5625vw);
	color: #000000;
	background: url(../images/arrow.svg) no-repeat right min(20px, 1.5625vw) bottom min(20px, 1.5625vw);
	border: 1px solid #CDD6DD;
	border-radius: 20px;
	transition: box-shadow 600ms;
}
.peoplelink a:hover {
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
}
.peoplelink a:hover img {
	transform: scale(1.15);
}
.peoplelink a .image {
	flex-shrink: 0;
	width: min(312px, 24.375vw);
	border-radius: 20px;
	overflow: hidden;
}
.peoplelink a img {
	transition: transform 600ms;
}
.peoplelink .title {
	margin-bottom: min(30px, 2.34375vw);
	font-size: min(1.875vw, 24px);
	line-height: 1.5;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	.peoplelink .title {
		font-size: min(2.3414634146vw, 19.2px);
	}
}
@media screen and (max-width: 767px) {
	.peoplelink .title {
		font-size: min(4.3957245179vw, 16.4839669421px);
	}
}
.peoplelink .op {
	margin-bottom: 5px;
	font-size: min(1.09375vw, 14px);
	line-height: 1.4;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	.peoplelink .op {
		font-size: min(1.3658536585vw, 11.2px);
	}
}
@media screen and (max-width: 767px) {
	.peoplelink .op {
		font-size: min(3.1818402204vw, 11.9319008264px);
	}
}
.peoplelink .info {
	margin-right: 25px;
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	.peoplelink .info {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.peoplelink .info {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}

.iconlink {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.iconlink a {
	display: flex;
	align-items: center;
	gap: min(40px, 3.125vw);
	padding: 15px calc(15px + min(40px, 40/1280*100vw)) 15px min(40px, 3.125vw);
	color: #000000;
	background: url(../images/arrow.svg) no-repeat right min(20px, 1.5625vw) center;
	border: 1px solid #CDD6DD;
	transition: box-shadow 600ms;
}
@media screen and (max-width: 767px) {
	.iconlink a {
		padding-top: 10px;
		padding-bottom: 10px;
	}
}
.iconlink a:hover {
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
}
.iconlink a .image {
	flex-shrink: 0;
	width: 64px;
}
@media screen and (max-width: 767px) {
	.iconlink a .image {
		width: 48px;
	}
}
.iconlink a .image img {
	width: 100%;
	border-radius: 0px;
}
.iconlink .title {
	font-size: min(1.875vw, 24px);
	line-height: 1.5;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	.iconlink .title {
		font-size: min(2.3414634146vw, 19.2px);
	}
}
@media screen and (max-width: 767px) {
	.iconlink .title {
		font-size: min(4.3957245179vw, 16.4839669421px);
	}
}
.iconlink .op {
	margin-bottom: 5px;
	font-size: min(1.5625vw, 20px);
	line-height: 1.4;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	.iconlink .op {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.iconlink .op {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}

.message {
	display: flex;
	gap: min(50px, 3.90625vw);
}
.message .image {
	position: relative;
	width: min(280px, 21.875vw);
	flex-shrink: 0;
}
.message .image img {
	width: min(230px, 17.96875vw);
	aspect-ratio: 1 / 1;
	object-fit: cover;
	overflow: hidden;
	border-radius: 50%;
}
.message .image:before {
	content: "";
	display: block;
	position: absolute;
	right: max(-50px, -3.90625vw);
	top: min(50px, 3.90625vw);
	border: 16px solid transparent;
	border-right: 27px solid #004898;
	border-left: 0;
}
@media screen and (max-width: 767px) {
	.message .image:before {
		top: min(20px, 5.1282051282vw);
		border-width: 8px;
		border-right-width: 14px;
		border-left-width: 0;
	}
}
.message .body {
	position: relative;
	padding: min(80px, 6.25vw) min(40px, 3.125vw);
	border: 1px solid #004898;
	border-radius: 20px;
}
.message .body:not(.image) > a {
	font-size: min(1.328125vw, 17px);
	line-height: 1.7;
	font-weight: 500;
	color: #004898;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.message .body:not(.image) > a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.message .body:not(.image) > a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.message .body:not(.image) > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.message .body:not(.image) > a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.35em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}
@media screen and (max-width: 767px) {
	.message .body {
		padding-top: 25px;
		padding-bottom: 25px;
	}
}
.message .body:before {
	content: "";
	position: absolute;
	width: 30px;
	height: 24px;
	top: min(20px, 1.5625vw);
	left: min(40px, 3.125vw);
	background: url(../images/quote.svg) no-repeat center center;
}
@media screen and (max-width: 767px) {
	.message .body:before {
		top: 10px;
		width: 15px;
		height: 12px;
		background-size: 100%;
	}
}
.message .body:after {
	content: "";
	position: absolute;
	width: 30px;
	height: 24px;
	bottom: min(20px, 1.5625vw);
	right: min(40px, 3.125vw);
	background: url(../images/quote.svg) no-repeat center center;
	transform: rotate(180deg);
}
@media screen and (max-width: 767px) {
	.message .body:after {
		bottom: 10px;
		width: 15px;
		height: 12px;
		background-size: 100%;
	}
}

.pagesplit {
	position: relative;
	z-index: -1;
}
.pagesplit > div {
	padding-left: calc(50% + min(20px, 20/1280*100vw));
	min-height: 100vh;
}
@media screen and (max-width: 767px) {
	.pagesplit > div {
		padding-left: 0;
		min-height: 0;
	}
}
.pagesplit .bg {
	position: fixed;
	display: block;
	top: 100px;
	left: 0;
	width: calc((var(--w) / 2) - min(20px, 20/1280*100vw));
	height: calc(100vh - 100px);
	border-radius: 0 20px 20px 0;
	overflow: hidden;
	opacity: 0;
	transition: opacity 800ms;
	pointer-events: none;
}
@media screen and (max-width: 959px) {
	.pagesplit .bg {
		top: 50px;
		height: calc(100vh - 50px);
	}
}
@media screen and (max-width: 767px) {
	.pagesplit .bg {
		position: static;
		width: calc(100% + 30px);
		height: auto;
		margin-left: -15px;
		margin-bottom: 30px;
		border-radius: 20px;
		opacity: 1;
		aspect-ratio: 4 / 3;
	}
}
.pagesplit .bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pagesplit .current .bg {
	transition: opacity 1200ms;
	opacity: 1;
}
.pagesplit h3 {
	margin-bottom: 20px;
	padding: 0;
	font-size: min(1.5625vw, 20px);
	color: #7D8E9E;
	border: 0;
}
@media screen and (max-width: 959px) {
	.pagesplit h3 {
		font-size: min(1.9512195122vw, 16px);
	}
}
@media screen and (max-width: 767px) {
	.pagesplit h3 {
		font-size: min(3.9228650138vw, 14.7107438017px);
	}
}
.pagesplit *:not(h1, h2) + h3 {
	margin-top: 40px;
}
.pagesplit .body:not(.image) > a {
	font-size: min(1.328125vw, 17px);
	line-height: 1.7;
	font-weight: 500;
	color: #004898;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.pagesplit .body:not(.image) > a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.pagesplit .body:not(.image) > a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.pagesplit .body:not(.image) > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #004898;
	opacity: 0;
	transform: scaleX(3);
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
}
.pagesplit .body:not(.image) > a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.35em - 5px);
	transition: transform 0.3s 0.1s, bottom 0s, right 0.3s, width 0.3s 0.4s, opacity 0.25s;
	transform: scaleX(1);
}

.historytitle {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-height: 520px;
	padding: 20px 0px;
	aspect-ratio: 1280 / 520;
}
.historytitle .bg {
	position: absolute;
	width: var(--w, 100vw);
	height: 100%;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
.historytitle .bg:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: radial-gradient(farthest-corner at 20% 20%, #58c9d3 0%, #004898 100%);
	opacity: 0.7;
	mix-blend-mode: multiply;
}
.historytitle .bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.historytitle .catch {
	font-size: min(5.46875vw, 70px);
	line-height: 1.25;
	font-weight: 100;
	color: #fff;
	font-family: "Montserrat", sans-serif;
}
@media screen and (max-width: 959px) {
	.historytitle .catch {
		font-size: min(5.1219512195vw, 42px);
	}
}
@media screen and (max-width: 767px) {
	.historytitle .catch {
		font-size: min(6.4vw, 24px);
	}
}
.historytitle .info {
	margin-top: min(40px, 3.125vw);
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 500;
	color: #fff;
}
@media screen and (max-width: 959px) {
	.historytitle .info {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.historytitle .info {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}

.historytable table {
	width: 100%;
	border-spacing: 0px;
	empty-cells: show;
}
@media screen and (max-width: 767px) {
	.historytable table {
		display: block;
	}
}
@media screen and (max-width: 767px) {
	.historytable table thead {
		position: sticky;
		top: 110px;
		display: block;
	}
}
@media screen and (max-width: 767px) {
	.historytable table thead tr {
		display: flex;
		width: 100%;
	}
}
.historytable table thead th {
	padding: 0;
}
@media screen and (max-width: 767px) {
	.historytable table thead th {
		flex: 1;
	}
}
.historytable table thead th div {
	margin-bottom: 20px;
	padding-bottom: 10px;
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #004898;
	text-align: left;
	border-bottom: 1px solid #CDD6DD;
}
@media screen and (max-width: 959px) {
	.historytable table thead th div {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.historytable table thead th div {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
@media screen and (max-width: 767px) {
	.historytable table thead th div {
		padding: 8px 10px;
		color: #fff;
		text-align: center;
		background: #98A6B5;
		transition: background 400ms;
	}
}
@media screen and (max-width: 767px) {
	.historytable table thead th.on div {
		background: #004898;
	}
}
.historytable table thead th:nth-child(1) {
	width: 48.4375%;
}
.historytable table thead th:nth-child(2) {
	padding-left: min(40px, 3.125vw);
	width: calc(620/1280*100% + min(40px, 40/1280*100vw));
}
@media screen and (max-width: 767px) {
	.historytable table thead th:nth-child(2) {
		padding: 0;
	}
}
.historytable table tbody td {
	padding: 0;
	vertical-align: top;
}
@media screen and (max-width: 767px) {
	.historytable table tbody td {
		display: none;
	}
	.historytable table tbody td.on {
		display: block;
	}
}
.historytable table tbody td:nth-child(2) {
	padding-left: min(40px, 3.125vw);
}
@media screen and (max-width: 767px) {
	.historytable table tbody td:nth-child(2) {
		padding-left: 0;
	}
}
.historytable table tbody dl {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 0;
	margin-bottom: 20px;
}
.historytable table tbody dl dt {
	width: 3.5em;
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 500;
	color: #004898;
}
@media screen and (max-width: 959px) {
	.historytable table tbody dl dt {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.historytable table tbody dl dt {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.historytable table tbody dl dd {
	display: flex;
	gap: min(20px, 1.5625vw);
	width: calc(100% - 3.5em - min(20px, 20/1280*100vw));
	margin-left: auto;
	margin-right: 0;
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 400;
}
@media screen and (max-width: 959px) {
	.historytable table tbody dl dd {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.historytable table tbody dl dd {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
@media screen and (max-width: 767px) {
	.historytable table tbody dl dd {
		flex-direction: column;
		gap: 15px;
	}
}
.historytable table tbody dl dd .image {
	margin-top: 0 !important;
	margin-left: auto;
	width: min(146px, 11.40625vw);
	flex-shrink: 0;
}
@media screen and (max-width: 767px) {
	.historytable table tbody dl dd .image {
		width: 146px;
		margin-left: 0;
		margin-right: auto;
	}
}

.anchorlink ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
@media screen and (max-width: 767px) {
	.anchorlink ul {
		gap: 10px;
	}
}
.anchorlink a {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	min-height: 44px;
	padding: 5px 10px 5px 20px;
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #004898;
	border: 1px solid #004898;
	border-radius: 5px;
	transition: box-shadow 600ms;
}
@media screen and (max-width: 959px) {
	.anchorlink a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.anchorlink a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
@media screen and (max-width: 767px) {
	.anchorlink a {
		min-height: 35px;
		padding-left: 10px;
	}
}
.anchorlink a:after {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-left: 20px;
	background: url(../images/arrow.svg) no-repeat center center;
	transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
	.anchorlink a:after {
		margin-left: 10px;
	}
}
.anchorlink a:hover {
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
}

.historyanchorlink {
	position: sticky;
	top: 110px;
	z-index: 5;
	transition: top 600ms;
}
.hideheader .historyanchorlink {
	top: 60px;
}
@media screen and (max-width: 959px) {
	.historyanchorlink {
		top: 60px;
	}
}
.historyanchorlink ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 20px min(80px, 6.25vw);
	min-height: 80px;
	padding: 15px 40px;
	background: #CDD6DD;
	border-radius: 40px;
}
@media screen and (max-width: 959px) {
	.historyanchorlink ul {
		gap: 20px min(40px, 4.1666666667vw);
	}
}
@media screen and (max-width: 767px) {
	.historyanchorlink ul {
		display: none;
	}
}
.historyanchorlink ul a {
	position: relative;
	display: block;
	padding-bottom: 12px;
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
	background: url(../images/anchor.svg) no-repeat bottom center;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	.historyanchorlink ul a {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.historyanchorlink ul a {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.historyanchorlink ul a:hover {
	opacity: 0.7;
}
.historyanchorlink select {
	display: none;
	height: 40px;
	padding: 0px 55px 0px 30px;
	font-size: min(4.5333333333vw, 17px);
	line-height: 40px;
	font-weight: 500;
	border: 0px;
	border-radius: 20px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../images/anchor.svg) no-repeat right 25px center #CDD6DD;
	cursor: pointer;
}
@media screen and (max-width: 767px) {
	.historyanchorlink select {
		display: block;
	}
}
.historyanchorlink select:focus {
	outline: none;
}
.historyanchorlink select::-ms-expand {
	display: none;
}

.historyanchorlink ~ h2 {
	scroll-margin-top: 210px;
}
@media screen and (max-width: 767px) {
	.historyanchorlink ~ h2 {
		scroll-margin-top: 120px;
	}
}

.contents .officer_block {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}
@media screen and (max-width: 767px) {
	.contents .officer_block {
		gap: 20px;
	}
}
.contents .officer_block > a, .contents .officer_block > div {
	display: block;
	width: calc((100% - 120px) / 4);
}
@media screen and (max-width: 767px) {
	.contents .officer_block > a, .contents .officer_block > div {
		width: calc((100% - 40px) / 2);
	}
}
.contents .officer_block > a .img, .contents .officer_block > div .img {
	aspect-ratio: 413 /482;
	border-radius: 20px;
	overflow: hidden;
}
.contents .officer_block > a img, .contents .officer_block > div img {
	aspect-ratio: 413 /482;
	transition: .6s;
}
.contents .officer_block > a p, .contents .officer_block > div p {
	text-align: center;
	color: #000;
	line-height: 1.8;
}
.contents .officer_block > a p.name, .contents .officer_block > div p.name {
	margin-top: 0px;
	font-size: min(1.328125vw, 17px);
}
@media screen and (max-width: 959px) {
	.contents .officer_block > a p.name, .contents .officer_block > div p.name {
		font-size: min(1.6585365854vw, 13.6px);
	}
}
@media screen and (max-width: 767px) {
	.contents .officer_block > a p.name, .contents .officer_block > div p.name {
		font-size: min(3.5571129477vw, 13.3391735537px);
	}
}
.contents .officer_block > a:hover img {
	transform: scale(1.15);
}
.contents .officer_block .profile {
	display: none;
}

.modal_officer {
	display: flex;
	gap: 40px;
	padding: 30px;
}
@media screen and (max-width: 767px) {
	.modal_officer {
		display: block;
		padding: 15px;
	}
}
.modal_officer > .left {
	width: 33%;
}
@media screen and (max-width: 767px) {
	.modal_officer > .left {
		width: auto;
	}
}
.modal_officer > .left .img {
	aspect-ratio: 413 /482;
}
@media screen and (max-width: 767px) {
	.modal_officer > .left .img {
		max-width: 240px;
		margin: 0 auto;
	}
}
.modal_officer > .left .img img {
	aspect-ratio: 413 /482;
	width: 100%;
}
@media screen and (max-width: 767px) {
	.modal_officer > .left .img img {
		max-width: 240px;
	}
}
.modal_officer > .left p {
	text-align: center;
	margin-top: 10px;
}
.modal_officer > .left .profile {
	display: none;
}
.modal_officer > .right {
	width: calc(100% - 33% - 40px);
}
@media screen and (max-width: 767px) {
	.modal_officer > .right {
		width: auto;
		margin-top: 20px;
	}
}
.modal_officer > .right .profile {
	display: flex;
	flex-wrap: wrap;
	gap: 15px 0;
}
.modal_officer > .right .profile .date {
	width: 120px;
}
.modal_officer > .right .profile .tx {
	width: calc(100% - 120px);
}

footer .body .right {
	display: flex;
	gap: 0px min(40px, 3.125vw);
	flex-wrap: wrap;
}
footer .body .right dl {
	display: block;
	width: calc((100% - min(40px, 40/1280*100vw)) / 2);
}
footer .body .right dl dd {
	width: 100%;
	margin-top: 20px;
}

.table p.right {
	text-align: right;
}
.table p.right + table {
	margin-top: 10px;
}
.table tbody.th_left th {
	text-align: left !important;
}

.col100px {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 60px;
}
.col100px > * {
	width: 100px;
	margin-top: 0 !important;
}

.txt-error-03 {
	color: #f00;
}

p + .txt-error-03 {
	margin-top: 30px;
}

.datelist.en li {
	display: none;
}

.datelist.en.ir_info ul li .date {
	width: 10rem;
	justify-content: flex-start;
}
@media screen and (max-width: 767px) {
	.datelist.en.ir_info ul li .date {
		width: 100%;
	}
}

/**
 * Swiper 11.1.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2024 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: March 28, 2024
 */
/* FONT_START */
@font-face {
	font-family: 'swiper-icons';
	src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
	font-weight: 400;
	font-style: normal;
}
/* FONT_END */
:root {
	--swiper-theme-color: #007aff;
	/*
	--swiper-preloader-color: var(--swiper-theme-color);
	--swiper-wrapper-transition-timing-function: initial;
	*/
}

:host {
	position: relative;
	display: block;
	margin-left: auto;
	margin-right: auto;
	z-index: 1;
}

.swiper {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	/* Fix of Webkit flickering */
	z-index: 1;
	display: block;
}

.swiper-vertical > .swiper-wrapper {
	flex-direction: column;
}

.swiper-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	transition-property: transform;
	transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
	box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
	transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
	touch-action: pan-y;
}

.swiper-vertical {
	touch-action: pan-x;
}

.swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	transition-property: transform;
	display: block;
}

.swiper-slide-invisible-blank {
	visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
	height: auto;
}

.swiper-autoheight .swiper-wrapper {
	align-items: flex-start;
	transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
	perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
	transform-style: preserve-3d;
}

.swiper-3d {
	perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
	transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
	overflow: auto;
	scrollbar-width: none;
	/* For Firefox */
	-ms-overflow-style: none;
	/* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
	display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
	scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
	scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
	scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
	content: '';
	flex-shrink: 0;
	order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
	scroll-snap-align: center center;
	scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
	margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
	height: 100%;
	min-height: 1px;
	width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
	margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
	width: 100%;
	min-width: 1px;
	height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
	background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
	background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
	background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
	width: 42px;
	height: 42px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -21px;
	margin-top: -21px;
	z-index: 10;
	transform-origin: 50%;
	box-sizing: border-box;
	border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
	border-radius: 50%;
	border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
	animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
	--swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
	--swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
/* Slide styles end */
/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox {
	overflow: visible !important;
}

#colorbox, #cboxOverlay, #cboxWrapper {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999;
	-webkit-transform: translate3d(0, 0, 0);
}

#cboxWrapper {
	max-width: 100%;
	max-height: 100%;
}

#cboxOverlay {
	position: fixed;
	width: 100%;
	height: 100%;
}

#cboxMiddleLeft, #cboxBottomLeft {
	clear: left;
}

#cboxContent {
	position: relative;
}

#cboxLoadedContent {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

#cboxTitle {
	margin: 0;
}

#cboxLoadingOverlay, #cboxLoadingGraphic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
	cursor: pointer;
}

.cboxPhoto {
	float: left;
	margin: auto;
	border: 0;
	display: block;
	max-width: none;
	-ms-interpolation-mode: bicubic;
}

.cboxIframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	padding: 0;
	margin: 0;
}

#colorbox, #cboxContent, #cboxLoadedContent {
	box-sizing: content-box;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
}

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
	background: #333;
	opacity: 0.8;
	filter: alpha(opacity=80);
}

#colorbox {
	outline: 0;
}

#cboxContent {
	background: #fff;
}

.cboxIframe {
	background: #000000;
}

#cboxError {
	padding: 50px;
	border: 1px solid #ccc;
}

#cboxLoadedContent {
	border: 0px solid #000;
	background: #fff;
}

#cboxTitle {
	position: absolute;
	top: -20px;
	left: 0;
	color: #ccc;
}

#cboxLoadingGraphic {
	background: url(../images/loading.png) no-repeat center center;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
	border: 0;
	padding: 0;
	margin: 0;
	overflow: visible;
	width: auto;
	background: none;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
	outline: 0;
}

#cboxSlideshow {
	position: absolute;
	top: -20px;
	right: 90px;
	color: #fff;
}

#cboxClose {
	position: absolute;
	display: block;
	top: -20px;
	right: -20px;
	width: 40px;
	height: 40px;
	text-indent: -9999px;
	background: #004898;
	border-radius: 50%;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	-webkit-transition: 400ms;
	transition: 400ms;
	opacity: 0;
	z-index: 10;
}
#cboxClose:hover {
	opacity: 0.7;
}
#cboxClose.view {
	opacity: 1;
}
#cboxClose:before {
	content: "";
	position: absolute;
	display: block;
	width: 20px;
	height: 2px;
	top: 19px;
	left: 10px;
	background: #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#cboxClose:after {
	content: "";
	position: absolute;
	display: block;
	width: 2px;
	height: 20px;
	top: 10px;
	left: 19px;
	background: #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#colorbox #waiting {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: rgba(255, 255, 255, 0.7);
	z-index: 5;
}
#colorbox #waiting > div {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 0px;
	padding: 20px;
	font-size: min(1.71875vw, 22px);
	line-height: 1.7;
	text-align: center;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
@media screen and (max-width: 959px) {
	#colorbox #waiting > div {
		font-size: min(2.1463414634vw, 17.6px);
	}
}
@media screen and (max-width: 767px) {
	#colorbox #waiting > div {
		font-size: min(4.1614104683vw, 15.6052892562px);
	}
}
#colorbox #waiting > div span {
	display: block;
	margin: auto;
	width: 16px;
	height: 16px;
	background: url(../images/loading.png) no-repeat center center;
}

#cboxLoadedContent .contents > div {
	padding: 20px;
}
.sp #cboxLoadedContent .contents > div {
	padding: 10px;
}
