@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300&family=Noto+Serif+JP:wght@300;500;700&family=Noto+Sans+JP:wght@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: 20px;
	overflow-y: scroll;
	scroll-behavior: smooth;
}
@media screen and (max-width: 767px) {
	html {
		font-size: 16px !important;
	}
}

:target {
	scroll-margin-top: 120px;
}
@media screen and (max-width: 959px) {
	:target {
		scroll-margin-top: 60px;
	}
}

body, th, td, input, select, textarea {
	font-size: min(1.5625vw * var(--fontratio, 1), 20px * var(--fontratio, 1));
	font-weight: 500;
	font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 959px) {
	body, th, td, input, select, textarea {
		font-size: min(1.9512195122vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	body, th, td, input, select, textarea {
		font-size: min(3.9228650138vw * var(--fontratio, 1), 14.7107438017px * var(--fontratio, 1));
	}
}

body {
	margin: 0px auto;
	color: #000;
	background: #fff;
	overflow: clip;
}

main {
	position: relative;
	min-height: 50vh;
	z-index: 0;
}

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.noicon:after, .contents > div > p:not(.image):not(.caption) a.noicon:after, .contents .cbox .body > p:not(.image):not(.caption) a.noicon:after, .contents .column > * > p:not(.image):not(.caption) a.noicon:after, .contents .table > table > tbody > tr > th > p:not(.image):not(.caption) a.noicon:after, .contents .table > table > tr > td:not(.d) > p:not(.image):not(.caption) a.noicon:after, .contents .table > table > tbody > tr > td > p:not(.image):not(.caption) a.noicon:after, .contents .text ul > li a.noicon:after, .contents > div > ul > li a.noicon:after, .contents .cbox .body > ul > li a.noicon:after, .contents .column > * > ul > li a.noicon:after, .contents .table > table > tbody > tr > th > ul > li a.noicon:after, .contents .table > table > tr > td:not(.d) > ul > li a.noicon:after, .contents .table > table > tbody > tr > td > ul > li a.noicon:after, .contents .text ol > li a.noicon:after, .contents > div > ol > li a.noicon:after, .contents .cbox .body > ol > li a.noicon:after, .contents .column > * > ol > li a.noicon:after, .contents .table > table > tbody > tr > th > ol > li a.noicon:after, .contents .table > table > tr > td:not(.d) > ol > li a.noicon:after, .contents .table > table > tbody > tr > td > ol > li a.noicon:after, .contents > div:not(.image):not(.cbox) > a.noicon:after, .contents .cbox .body:not(.image):not(.cbox) > a.noicon:after, .contents .column > *:not(.image):not(.cbox) > a.noicon:after, .contents .table > table > tbody > tr > th:not(.image):not(.cbox) > a.noicon:after, .contents .table > table > tr > td:not(.d):not(.image):not(.cbox) > a.noicon:after, .contents .table > table > tbody > tr > td:not(.image):not(.cbox) > a.noicon:after {
	display: none;
}
.contents .text p:not(.image):not(.caption) a:after, .contents > div > p:not(.image):not(.caption) a:after, .contents .cbox .body > p:not(.image):not(.caption) a:after, .contents .column > * > p:not(.image):not(.caption) a:after, .contents .table > table > tbody > tr > th > 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 .text ul > li a:after, .contents > div > ul > li a:after, .contents .cbox .body > ul > li a:after, .contents .column > * > ul > li a:after, .contents .table > table > tbody > tr > th > 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 .text ol > li a:after, .contents > div > ol > li a:after, .contents .cbox .body > ol > li a:after, .contents .column > * > ol > li a:after, .contents .table > table > tbody > tr > th > 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 > div:not(.image):not(.cbox) > a:after, .contents .cbox .body:not(.image):not(.cbox) > a:after, .contents .column > *:not(.image):not(.cbox) > a:after, .contents .table > table > tbody > tr > th:not(.image):not(.cbox) > a:after, .contents .table > table > tr > td:not(.d):not(.image):not(.cbox) > a:after, .contents .table > table > tbody > tr > td:not(.image):not(.cbox) > a:after {
	display: inline-block;
	width: 25px;
	height: 20px;
	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 .cbox .body > p:not(.image):not(.caption) a[target="_blank"]:after, .contents .column > * > p:not(.image):not(.caption) a[target="_blank"]:after, .contents .table > table > tbody > tr > th > 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 .text ul > li a[target="_blank"]:after, .contents > div > ul > li a[target="_blank"]:after, .contents .cbox .body > ul > li a[target="_blank"]:after, .contents .column > * > ul > li a[target="_blank"]:after, .contents .table > table > tbody > tr > th > 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 .text ol > li a[target="_blank"]:after, .contents > div > ol > li a[target="_blank"]:after, .contents .cbox .body > ol > li a[target="_blank"]:after, .contents .column > * > ol > li a[target="_blank"]:after, .contents .table > table > tbody > tr > th > 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 > div:not(.image):not(.cbox) > a[target="_blank"]:after, .contents .cbox .body:not(.image):not(.cbox) > a[target="_blank"]:after, .contents .column > *:not(.image):not(.cbox) > a[target="_blank"]:after, .contents .table > table > tbody > tr > th:not(.image):not(.cbox) > a[target="_blank"]:after, .contents .table > table > tr > td:not(.d):not(.image):not(.cbox) > a[target="_blank"]:after, .contents .table > table > tbody > tr > td:not(.image):not(.cbox) > a[target="_blank"]:after {
	content: "";
	background-image: url(../images/blank.svg);
}
.contents .text p:not(.image):not(.caption) a[href$=".pdf"]:after, .contents > div > p:not(.image):not(.caption) a[href$=".pdf"]:after, .contents .cbox .body > p:not(.image):not(.caption) a[href$=".pdf"]:after, .contents .column > * > p:not(.image):not(.caption) a[href$=".pdf"]:after, .contents .table > table > tbody > tr > th > 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 .text ul > li a[href$=".pdf"]:after, .contents > div > ul > li a[href$=".pdf"]:after, .contents .cbox .body > ul > li a[href$=".pdf"]:after, .contents .column > * > ul > li a[href$=".pdf"]:after, .contents .table > table > tbody > tr > th > 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 .text ol > li a[href$=".pdf"]:after, .contents > div > ol > li a[href$=".pdf"]:after, .contents .cbox .body > ol > li a[href$=".pdf"]:after, .contents .column > * > ol > li a[href$=".pdf"]:after, .contents .table > table > tbody > tr > th > 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 > div:not(.image):not(.cbox) > a[href$=".pdf"]:after, .contents .cbox .body:not(.image):not(.cbox) > a[href$=".pdf"]:after, .contents .column > *:not(.image):not(.cbox) > a[href$=".pdf"]:after, .contents .table > table > tbody > tr > th:not(.image):not(.cbox) > a[href$=".pdf"]:after, .contents .table > table > tr > td:not(.d):not(.image):not(.cbox) > a[href$=".pdf"]:after, .contents .table > table > tbody > tr > td:not(.image):not(.cbox) > a[href$=".pdf"]:after {
	content: "";
	height: 19px;
	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 .cbox .body > p:not(.image):not(.caption) a[href$=".doc"]:after, .contents .column > * > p:not(.image):not(.caption) a[href$=".doc"]:after, .contents .table > table > tbody > tr > th > 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 .text ul > li a[href$=".doc"]:after, .contents > div > ul > li a[href$=".doc"]:after, .contents .cbox .body > ul > li a[href$=".doc"]:after, .contents .column > * > ul > li a[href$=".doc"]:after, .contents .table > table > tbody > tr > th > 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 .text ol > li a[href$=".doc"]:after, .contents > div > ol > li a[href$=".doc"]:after, .contents .cbox .body > ol > li a[href$=".doc"]:after, .contents .column > * > ol > li a[href$=".doc"]:after, .contents .table > table > tbody > tr > th > 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 > div:not(.image):not(.cbox) > a[href$=".doc"]:after, .contents .cbox .body:not(.image):not(.cbox) > a[href$=".doc"]:after, .contents .column > *:not(.image):not(.cbox) > a[href$=".doc"]:after, .contents .table > table > tbody > tr > th:not(.image):not(.cbox) > a[href$=".doc"]:after, .contents .table > table > tr > td:not(.d):not(.image):not(.cbox) > a[href$=".doc"]:after, .contents .table > table > tbody > tr > td:not(.image):not(.cbox) > 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 .cbox .body > p:not(.image):not(.caption) a[href$=".docx"]:after, .contents .column > * > p:not(.image):not(.caption) a[href$=".docx"]:after, .contents .table > table > tbody > tr > th > 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 .text ul > li a[href$=".docx"]:after, .contents > div > ul > li a[href$=".docx"]:after, .contents .cbox .body > ul > li a[href$=".docx"]:after, .contents .column > * > ul > li a[href$=".docx"]:after, .contents .table > table > tbody > tr > th > 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 .text ol > li a[href$=".docx"]:after, .contents > div > ol > li a[href$=".docx"]:after, .contents .cbox .body > ol > li a[href$=".docx"]:after, .contents .column > * > ol > li a[href$=".docx"]:after, .contents .table > table > tbody > tr > th > 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 > div:not(.image):not(.cbox) > a[href$=".docx"]:after, .contents .cbox .body:not(.image):not(.cbox) > a[href$=".docx"]:after, .contents .column > *:not(.image):not(.cbox) > a[href$=".docx"]:after, .contents .table > table > tbody > tr > th:not(.image):not(.cbox) > a[href$=".docx"]:after, .contents .table > table > tr > td:not(.d):not(.image):not(.cbox) > a[href$=".docx"]:after, .contents .table > table > tbody > tr > td:not(.image):not(.cbox) > 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 .cbox .body > p:not(.image):not(.caption) a[href$=".ppt"]:after, .contents .column > * > p:not(.image):not(.caption) a[href$=".ppt"]:after, .contents .table > table > tbody > tr > th > 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 .text ul > li a[href$=".ppt"]:after, .contents > div > ul > li a[href$=".ppt"]:after, .contents .cbox .body > ul > li a[href$=".ppt"]:after, .contents .column > * > ul > li a[href$=".ppt"]:after, .contents .table > table > tbody > tr > th > 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 .text ol > li a[href$=".ppt"]:after, .contents > div > ol > li a[href$=".ppt"]:after, .contents .cbox .body > ol > li a[href$=".ppt"]:after, .contents .column > * > ol > li a[href$=".ppt"]:after, .contents .table > table > tbody > tr > th > 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 > div:not(.image):not(.cbox) > a[href$=".ppt"]:after, .contents .cbox .body:not(.image):not(.cbox) > a[href$=".ppt"]:after, .contents .column > *:not(.image):not(.cbox) > a[href$=".ppt"]:after, .contents .table > table > tbody > tr > th:not(.image):not(.cbox) > a[href$=".ppt"]:after, .contents .table > table > tr > td:not(.d):not(.image):not(.cbox) > a[href$=".ppt"]:after, .contents .table > table > tbody > tr > td:not(.image):not(.cbox) > 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 .cbox .body > p:not(.image):not(.caption) a[href$=".pptx"]:after, .contents .column > * > p:not(.image):not(.caption) a[href$=".pptx"]:after, .contents .table > table > tbody > tr > th > 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 .text ul > li a[href$=".pptx"]:after, .contents > div > ul > li a[href$=".pptx"]:after, .contents .cbox .body > ul > li a[href$=".pptx"]:after, .contents .column > * > ul > li a[href$=".pptx"]:after, .contents .table > table > tbody > tr > th > 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 .text ol > li a[href$=".pptx"]:after, .contents > div > ol > li a[href$=".pptx"]:after, .contents .cbox .body > ol > li a[href$=".pptx"]:after, .contents .column > * > ol > li a[href$=".pptx"]:after, .contents .table > table > tbody > tr > th > 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 > div:not(.image):not(.cbox) > a[href$=".pptx"]:after, .contents .cbox .body:not(.image):not(.cbox) > a[href$=".pptx"]:after, .contents .column > *:not(.image):not(.cbox) > a[href$=".pptx"]:after, .contents .table > table > tbody > tr > th:not(.image):not(.cbox) > a[href$=".pptx"]:after, .contents .table > table > tr > td:not(.d):not(.image):not(.cbox) > a[href$=".pptx"]:after, .contents .table > table > tbody > tr > td:not(.image):not(.cbox) > 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 .cbox .body > p:not(.image):not(.caption) a[href$=".xls"]:after, .contents .column > * > p:not(.image):not(.caption) a[href$=".xls"]:after, .contents .table > table > tbody > tr > th > 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 .text ul > li a[href$=".xls"]:after, .contents > div > ul > li a[href$=".xls"]:after, .contents .cbox .body > ul > li a[href$=".xls"]:after, .contents .column > * > ul > li a[href$=".xls"]:after, .contents .table > table > tbody > tr > th > 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 .text ol > li a[href$=".xls"]:after, .contents > div > ol > li a[href$=".xls"]:after, .contents .cbox .body > ol > li a[href$=".xls"]:after, .contents .column > * > ol > li a[href$=".xls"]:after, .contents .table > table > tbody > tr > th > 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 > div:not(.image):not(.cbox) > a[href$=".xls"]:after, .contents .cbox .body:not(.image):not(.cbox) > a[href$=".xls"]:after, .contents .column > *:not(.image):not(.cbox) > a[href$=".xls"]:after, .contents .table > table > tbody > tr > th:not(.image):not(.cbox) > a[href$=".xls"]:after, .contents .table > table > tr > td:not(.d):not(.image):not(.cbox) > a[href$=".xls"]:after, .contents .table > table > tbody > tr > td:not(.image):not(.cbox) > 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 .cbox .body > p:not(.image):not(.caption) a[href$=".xlsx"]:after, .contents .column > * > p:not(.image):not(.caption) a[href$=".xlsx"]:after, .contents .table > table > tbody > tr > th > 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 .text ul > li a[href$=".xlsx"]:after, .contents > div > ul > li a[href$=".xlsx"]:after, .contents .cbox .body > ul > li a[href$=".xlsx"]:after, .contents .column > * > ul > li a[href$=".xlsx"]:after, .contents .table > table > tbody > tr > th > 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 .text ol > li a[href$=".xlsx"]:after, .contents > div > ol > li a[href$=".xlsx"]:after, .contents .cbox .body > ol > li a[href$=".xlsx"]:after, .contents .column > * > ol > li a[href$=".xlsx"]:after, .contents .table > table > tbody > tr > th > 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 > div:not(.image):not(.cbox) > a[href$=".xlsx"]:after, .contents .cbox .body:not(.image):not(.cbox) > a[href$=".xlsx"]:after, .contents .column > *:not(.image):not(.cbox) > a[href$=".xlsx"]:after, .contents .table > table > tbody > tr > th:not(.image):not(.cbox) > a[href$=".xlsx"]:after, .contents .table > table > tr > td:not(.d):not(.image):not(.cbox) > a[href$=".xlsx"]:after, .contents .table > table > tbody > tr > td:not(.image):not(.cbox) > 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 .cbox .body > p:not(.image):not(.caption), .contents .column > * > p:not(.image):not(.caption), .contents .table > table > tbody > tr > th > 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) {
	font-size: min(1.5625vw * var(--fontratio, 1), 20px * var(--fontratio, 1));
	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 .cbox .body > p:not(.image):not(.caption), .contents .column > * > p:not(.image):not(.caption), .contents .table > table > tbody > tr > th > 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) {
		font-size: min(1.9512195122vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .text p:not(.image):not(.caption), .contents > div > p:not(.image):not(.caption), .contents .cbox .body > p:not(.image):not(.caption), .contents .column > * > p:not(.image):not(.caption), .contents .table > table > tbody > tr > th > 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) {
		font-size: min(3.9228650138vw * var(--fontratio, 1), 14.7107438017px * var(--fontratio, 1));
	}
}
.contents .text p:not(.image):not(.caption) a, .contents > div > p:not(.image):not(.caption) a, .contents .cbox .body > p:not(.image):not(.caption) a, .contents .column > * > p:not(.image):not(.caption) a, .contents .table > table > tbody > tr > th > 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 {
	color: #0077B6;
	position: relative;
	display: inline-block;
}
.contents .text p:not(.image):not(.caption) a:before, .contents > div > p:not(.image):not(.caption) a:before, .contents .cbox .body > p:not(.image):not(.caption) a:before, .contents .column > * > p:not(.image):not(.caption) a:before, .contents .table > table > tbody > tr > th > 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 {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #000;
	opacity: 0;
	transform: scaleX(3);
	pointer-events: none;
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
	pointer-events: none;
}
.contents .text p:not(.image):not(.caption) a:hover:before, .contents > div > p:not(.image):not(.caption) a:hover:before, .contents .cbox .body > p:not(.image):not(.caption) a:hover:before, .contents .column > * > p:not(.image):not(.caption) a:hover:before, .contents .table > table > tbody > tr > th > 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 {
	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.error_mes:not(.image):not(.caption), .contents > div > p.error_mes:not(.image):not(.caption), .contents .cbox .body > p.error_mes:not(.image):not(.caption), .contents .column > * > p.error_mes:not(.image):not(.caption), .contents .table > table > tbody > tr > th > p.error_mes:not(.image):not(.caption), .contents .table > table > tr > td:not(.d) > p.error_mes:not(.image):not(.caption), .contents .table > table > tbody > tr > td > p.error_mes:not(.image):not(.caption) {
	color: #ff0000;
}
.contents .text p.center:not(.image):not(.caption), .contents > div > p.center:not(.image):not(.caption), .contents .cbox .body > p.center:not(.image):not(.caption), .contents .column > * > p.center:not(.image):not(.caption), .contents .table > table > tbody > tr > th > 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) {
	text-align: center;
}
.contents .text p.right:not(.image):not(.caption), .contents > div > p.right:not(.image):not(.caption), .contents .cbox .body > p.right:not(.image):not(.caption), .contents .column > * > p.right:not(.image):not(.caption), .contents .table > table > tbody > tr > th > 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) {
	text-align: right;
}

.contents .button {
	display: flex;
	flex-direction: column;
	gap: 20px min(40px, 3.125vw);
	align-items: flex-start;
	justify-content: flex-start;
}
.contents .right.button {
	align-items: flex-end;
	justify-content: flex-end;
}
.contents .center.button {
	align-items: center;
	justify-content: center;
}
.contents .wrap.button {
	flex-direction: row;
	flex-wrap: wrap;
}
.contents .button a {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 5px 20px 15px 0px !important;
	min-width: 180px;
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1.3;
	font-weight: 500;
	color: #000;
	border-bottom: 1px solid #000;
	z-index: 0;
}
@media screen and (max-width: 959px) {
	.contents .button a {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .button a {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
.contents .button a:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 20px;
	right: 0px;
	bottom: 0%;
	background: #000;
	transform-origin: right bottom;
	transform: rotate(-45deg);
	pointer-events: none;
}
.contents .button a:after {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 20px;
	right: 100%;
	bottom: 0px;
	background: #000;
	transform-origin: right bottom;
	transform: rotate(-45deg);
	pointer-events: none;
	opacity: 0;
}
.contents .button a:hover:before {
	right: -10%;
	opacity: 0;
	transition: 200ms;
}
.contents .button a:hover:after {
	right: 0%;
	opacity: 1;
	transition: 400ms 150ms, opacity 200ms 150ms;
}

.contents .text ul.col2, .contents > div > ul.col2, .contents > div > ul > li > ul.col2, .contents > div > ol > li > ul.col2, .contents .cbox .body > ul.col2, .contents .cbox .body > ul > li > ul.col2, .contents .cbox .body > ol > li > ul.col2, .contents .column > * > ul.col2, .contents .column > * > ul > li > ul.col2, .contents .column > * > ol > li > ul.col2, .contents .table > table > tbody > tr > th > ul.col2, .contents .table > table > tbody > tr > th > ul > li > ul.col2, .contents .table > table > tbody > tr > th > ol > li > ul.col2, .contents .table > table > tr > td:not(.d) > ul.col2, .contents .table > table > tr > td:not(.d) > ul > li > ul.col2, .contents .table > table > tr > td:not(.d) > ol > li > ul.col2, .contents .table > table > tbody > tr > td > ul.col2, .contents .table > table > tbody > tr > td > ul > li > ul.col2, .contents .table > table > tbody > tr > td > ol > li > ul.col2 {
	columns: 2;
	gap: min(40px, 3.125vw);
}
.contents .text ul.note > li:before, .contents > div > ul.note > li:before, .contents > div > ul > li > ul.note > li:before, .contents > div > ol > li > ul.note > li:before, .contents .cbox .body > ul.note > li:before, .contents .cbox .body > ul > li > ul.note > li:before, .contents .cbox .body > ol > li > ul.note > li:before, .contents .column > * > ul.note > li:before, .contents .column > * > ul > li > ul.note > li:before, .contents .column > * > ol > li > ul.note > li:before, .contents .table > table > tbody > tr > th > ul.note > li:before, .contents .table > table > tbody > tr > th > ul > li > ul.note > li:before, .contents .table > table > tbody > tr > th > ol > li > ul.note > li:before, .contents .table > table > tr > td:not(.d) > ul.note > li:before, .contents .table > table > tr > td:not(.d) > ul > li > ul.note > li:before, .contents .table > table > tr > td:not(.d) > ol > li > ul.note > li:before, .contents .table > table > tbody > tr > td > ul.note > li:before, .contents .table > table > tbody > tr > td > ul > li > ul.note > li:before, .contents .table > table > tbody > tr > td > ol > li > ul.note > li:before {
	content: "※";
	width: 1em;
	height: 1em;
	top: 0;
	left: -0.5em;
	margin-top: 0;
	background: transparent;
}
.contents .text ul > li, .contents > div > ul > li, .contents > div > ul > li > ul > li, .contents > div > ol > li > ul > li, .contents .cbox .body > ul > li, .contents .cbox .body > ul > li > ul > li, .contents .cbox .body > ol > li > ul > li, .contents .column > * > ul > li, .contents .column > * > ul > li > ul > li, .contents .column > * > ol > li > ul > li, .contents .table > table > tbody > tr > th > ul > li, .contents .table > table > tbody > tr > th > ul > li > ul > li, .contents .table > table > tbody > tr > th > ol > li > ul > li, .contents .table > table > tr > td:not(.d) > ul > li, .contents .table > table > tr > td:not(.d) > ul > li > ul > li, .contents .table > table > tr > td:not(.d) > ol > li > ul > li, .contents .table > table > tbody > tr > td > ul > li, .contents .table > table > tbody > tr > td > ul > li > ul > li, .contents .table > table > tbody > tr > td > ol > li > ul > li {
	position: relative;
	padding-left: 1em;
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1.5;
	font-weight: 400;
}
@media screen and (max-width: 959px) {
	.contents .text ul > li, .contents > div > ul > li, .contents > div > ul > li > ul > li, .contents > div > ol > li > ul > li, .contents .cbox .body > ul > li, .contents .cbox .body > ul > li > ul > li, .contents .cbox .body > ol > li > ul > li, .contents .column > * > ul > li, .contents .column > * > ul > li > ul > li, .contents .column > * > ol > li > ul > li, .contents .table > table > tbody > tr > th > ul > li, .contents .table > table > tbody > tr > th > ul > li > ul > li, .contents .table > table > tbody > tr > th > ol > li > ul > li, .contents .table > table > tr > td:not(.d) > ul > li, .contents .table > table > tr > td:not(.d) > ul > li > ul > li, .contents .table > table > tr > td:not(.d) > ol > li > ul > li, .contents .table > table > tbody > tr > td > ul > li, .contents .table > table > tbody > tr > td > ul > li > ul > li, .contents .table > table > tbody > tr > td > ol > li > ul > li {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .text ul > li, .contents > div > ul > li, .contents > div > ul > li > ul > li, .contents > div > ol > li > ul > li, .contents .cbox .body > ul > li, .contents .cbox .body > ul > li > ul > li, .contents .cbox .body > ol > li > ul > li, .contents .column > * > ul > li, .contents .column > * > ul > li > ul > li, .contents .column > * > ol > li > ul > li, .contents .table > table > tbody > tr > th > ul > li, .contents .table > table > tbody > tr > th > ul > li > ul > li, .contents .table > table > tbody > tr > th > ol > li > ul > li, .contents .table > table > tr > td:not(.d) > ul > li, .contents .table > table > tr > td:not(.d) > ul > li > ul > li, .contents .table > table > tr > td:not(.d) > ol > li > ul > li, .contents .table > table > tbody > tr > td > ul > li, .contents .table > table > tbody > tr > td > ul > li > ul > li, .contents .table > table > tbody > tr > td > ol > li > ul > li {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
.contents .text ul > li:before, .contents > div > ul > li:before, .contents > div > ul > li > ul > li:before, .contents > div > ol > li > ul > li:before, .contents .cbox .body > ul > li:before, .contents .cbox .body > ul > li > ul > li:before, .contents .cbox .body > ol > li > ul > li:before, .contents .column > * > ul > li:before, .contents .column > * > ul > li > ul > li:before, .contents .column > * > ol > li > ul > li:before, .contents .table > table > tbody > tr > th > ul > li:before, .contents .table > table > tbody > tr > th > ul > li > ul > li:before, .contents .table > table > tbody > tr > th > ol > li > ul > li:before, .contents .table > table > tr > td:not(.d) > ul > li:before, .contents .table > table > tr > td:not(.d) > ul > li > ul > li:before, .contents .table > table > tr > td:not(.d) > ol > li > ul > li:before, .contents .table > table > tbody > tr > td > ul > li:before, .contents .table > table > tbody > tr > td > ul > li > ul > li:before, .contents .table > table > tbody > tr > td > ol > li > ul > li:before {
	position: absolute;
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	vertical-align: middle;
	top: 0.73em;
	left: 0px;
	margin-top: -2px;
	background: #000;
	border-radius: 50%;
}
.contents .text ul > li + li, .contents > div > ul > li + li, .contents > div > ul > li > ul > li + li, .contents .cbox .body > ul > li + li, .contents .cbox .body > ul > li > ul > li + li, .contents .column > * > ul > li + li, .contents .column > * > ul > li > ul > li + li, .contents .table > table > tbody > tr > th > ul > li + li, .contents .table > table > tbody > tr > th > ul > li > ul > li + li, .contents .table > table > tr > td:not(.d) > ul > li + li, .contents .table > table > tr > td:not(.d) > ul > li > ul > li + li, .contents .table > table > tbody > tr > td > ul > li + li, .contents .table > table > tbody > tr > td > ul > li > ul > li + li {
	margin-top: 8px;
}
.contents .text ul > li a, .contents > div > ul > li a, .contents .cbox .body > ul > li a, .contents .column > * > ul > li a, .contents .table > table > tbody > tr > th > ul > li a, .contents .table > table > tr > td:not(.d) > ul > li a, .contents .table > table > tbody > tr > td > ul > li a {
	vertical-align: top;
	color: #0077B6;
	position: relative;
	display: inline-block;
}
.contents .text ul > li a:before, .contents > div > ul > li a:before, .contents .cbox .body > ul > li a:before, .contents .column > * > ul > li a:before, .contents .table > table > tbody > tr > th > 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 {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.25em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #0077B6;
	opacity: 0;
	transform: scaleX(3);
	pointer-events: none;
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
	pointer-events: none;
}
.contents .text ul > li a:hover:before, .contents > div > ul > li a:hover:before, .contents .cbox .body > ul > li a:hover:before, .contents .column > * > ul > li a:hover:before, .contents .table > table > tbody > tr > th > 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 {
	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 .cbox .body > ul > li ul, .contents .column > * > ul > li ul, .contents .table > table > tbody > tr > th > ul > li ul, .contents .table > table > tr > td:not(.d) > ul > li ul, .contents .table > table > tbody > tr > td > ul > li ul, .contents .text ul > li ol, .contents > div > ul > li ol, .contents .cbox .body > ul > li ol, .contents .column > * > ul > li ol, .contents .table > table > tbody > tr > th > ul > li ol, .contents .table > table > tr > td:not(.d) > ul > li ol, .contents .table > table > tbody > tr > td > ul > li ol {
	margin-top: 4px;
	margin-right: 0px;
}

.contents .text ol, .contents > div > ul > li > ol, .contents > div > ol, .contents > div > ol > li > ol, .contents .cbox .body > ul > li > ol, .contents .cbox .body > ol, .contents .cbox .body > ol > li > ol, .contents .column > * > ul > li > ol, .contents .column > * > ol, .contents .column > * > ol > li > ol, .contents .table > table > tbody > tr > th > ul > li > ol, .contents .table > table > tbody > tr > th > ol, .contents .table > table > tbody > tr > th > ol > li > ol, .contents .table > table > tr > td:not(.d) > ul > li > ol, .contents .table > table > tr > td:not(.d) > ol, .contents .table > table > tr > td:not(.d) > ol > li > ol, .contents .table > table > tbody > tr > td > ul > li > ol, .contents .table > table > tbody > tr > td > ol, .contents .table > table > tbody > tr > td > ol > li > ol {
	counter-reset: number;
}
.contents .text ol.note > li:before, .contents > div > ul > li > ol.note > li:before, .contents > div > ol.note > li:before, .contents > div > ol > li > ol.note > li:before, .contents .cbox .body > ul > li > ol.note > li:before, .contents .cbox .body > ol.note > li:before, .contents .cbox .body > ol > li > ol.note > li:before, .contents .column > * > ul > li > ol.note > li:before, .contents .column > * > ol.note > li:before, .contents .column > * > ol > li > ol.note > li:before, .contents .table > table > tbody > tr > th > ul > li > ol.note > li:before, .contents .table > table > tbody > tr > th > ol.note > li:before, .contents .table > table > tbody > tr > th > ol > li > ol.note > li:before, .contents .table > table > tr > td:not(.d) > ul > li > ol.note > li:before, .contents .table > table > tr > td:not(.d) > ol.note > li:before, .contents .table > table > tr > td:not(.d) > ol > li > ol.note > li:before, .contents .table > table > tbody > tr > td > ul > li > ol.note > li:before, .contents .table > table > tbody > tr > td > ol.note > li:before, .contents .table > table > tbody > tr > td > ol > li > ol.note > li:before {
	content: "※" counter(number);
}
.contents .text ol > li, .contents > div > ul > li > ol > li, .contents > div > ol > li, .contents > div > ol > li > ol > li, .contents .cbox .body > ul > li > ol > li, .contents .cbox .body > ol > li, .contents .cbox .body > ol > li > ol > li, .contents .column > * > ul > li > ol > li, .contents .column > * > ol > li, .contents .column > * > ol > li > ol > li, .contents .table > table > tbody > tr > th > ul > li > ol > li, .contents .table > table > tbody > tr > th > ol > li, .contents .table > table > tbody > tr > th > ol > li > ol > li, .contents .table > table > tr > td:not(.d) > ul > li > ol > li, .contents .table > table > tr > td:not(.d) > ol > li, .contents .table > table > tr > td:not(.d) > ol > li > ol > li, .contents .table > table > tbody > tr > td > ul > li > ol > li, .contents .table > table > tbody > tr > td > ol > li, .contents .table > table > tbody > tr > td > ol > li > ol > li {
	position: relative;
	padding-left: 1em;
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1.5;
	font-weight: 400;
}
@media screen and (max-width: 959px) {
	.contents .text ol > li, .contents > div > ul > li > ol > li, .contents > div > ol > li, .contents > div > ol > li > ol > li, .contents .cbox .body > ul > li > ol > li, .contents .cbox .body > ol > li, .contents .cbox .body > ol > li > ol > li, .contents .column > * > ul > li > ol > li, .contents .column > * > ol > li, .contents .column > * > ol > li > ol > li, .contents .table > table > tbody > tr > th > ul > li > ol > li, .contents .table > table > tbody > tr > th > ol > li, .contents .table > table > tbody > tr > th > ol > li > ol > li, .contents .table > table > tr > td:not(.d) > ul > li > ol > li, .contents .table > table > tr > td:not(.d) > ol > li, .contents .table > table > tr > td:not(.d) > ol > li > ol > li, .contents .table > table > tbody > tr > td > ul > li > ol > li, .contents .table > table > tbody > tr > td > ol > li, .contents .table > table > tbody > tr > td > ol > li > ol > li {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .text ol > li, .contents > div > ul > li > ol > li, .contents > div > ol > li, .contents > div > ol > li > ol > li, .contents .cbox .body > ul > li > ol > li, .contents .cbox .body > ol > li, .contents .cbox .body > ol > li > ol > li, .contents .column > * > ul > li > ol > li, .contents .column > * > ol > li, .contents .column > * > ol > li > ol > li, .contents .table > table > tbody > tr > th > ul > li > ol > li, .contents .table > table > tbody > tr > th > ol > li, .contents .table > table > tbody > tr > th > ol > li > ol > li, .contents .table > table > tr > td:not(.d) > ul > li > ol > li, .contents .table > table > tr > td:not(.d) > ol > li, .contents .table > table > tr > td:not(.d) > ol > li > ol > li, .contents .table > table > tbody > tr > td > ul > li > ol > li, .contents .table > table > tbody > tr > td > ol > li, .contents .table > table > tbody > tr > td > ol > li > ol > li {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
.contents .text ol > li:before, .contents > div > ul > li > ol > li:before, .contents > div > ol > li:before, .contents > div > ol > li > ol > li:before, .contents .cbox .body > ul > li > ol > li:before, .contents .cbox .body > ol > li:before, .contents .cbox .body > ol > li > ol > li:before, .contents .column > * > ul > li > ol > li:before, .contents .column > * > ol > li:before, .contents .column > * > ol > li > ol > li:before, .contents .table > table > tbody > tr > th > ul > li > ol > li:before, .contents .table > table > tbody > tr > th > ol > li:before, .contents .table > table > tbody > tr > th > ol > li > ol > li:before, .contents .table > table > tr > td:not(.d) > ul > li > ol > li:before, .contents .table > table > tr > td:not(.d) > ol > li:before, .contents .table > table > tr > td:not(.d) > ol > li > ol > li:before, .contents .table > table > tbody > tr > td > ul > li > ol > li:before, .contents .table > table > tbody > tr > td > ol > li:before, .contents .table > table > tbody > tr > td > ol > li > ol > li:before {
	position: absolute;
	display: inline-block;
	counter-increment: number;
	content: counter(number) ".";
	min-width: 1.5em;
	text-align: right;
	left: -1em;
}
.contents .text ol > li + li, .contents > div > ol > li + li, .contents > div > ol > li > ol > li + li, .contents .cbox .body > ol > li + li, .contents .cbox .body > ol > li > ol > li + li, .contents .column > * > ol > li + li, .contents .column > * > ol > li > ol > li + li, .contents .table > table > tbody > tr > th > ol > li + li, .contents .table > table > tbody > tr > th > ol > li > ol > li + li, .contents .table > table > tr > td:not(.d) > ol > li + li, .contents .table > table > tr > td:not(.d) > ol > li > ol > li + li, .contents .table > table > tbody > tr > td > ol > li + li, .contents .table > table > tbody > tr > td > ol > li > ol > li + li {
	margin-top: 8px;
}
.contents .text ol > li a, .contents > div > ol > li a, .contents .cbox .body > ol > li a, .contents .column > * > ol > li a, .contents .table > table > tbody > tr > th > ol > li a, .contents .table > table > tr > td:not(.d) > ol > li a, .contents .table > table > tbody > tr > td > ol > li a {
	vertical-align: top;
	color: #0077B6;
	position: relative;
	display: inline-block;
}
.contents .text ol > li a:before, .contents > div > ol > li a:before, .contents .cbox .body > ol > li a:before, .contents .column > * > ol > li a:before, .contents .table > table > tbody > tr > th > 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 {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.25em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #0077B6;
	opacity: 0;
	transform: scaleX(3);
	pointer-events: none;
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
	pointer-events: none;
}
.contents .text ol > li a:hover:before, .contents > div > ol > li a:hover:before, .contents .cbox .body > ol > li a:hover:before, .contents .column > * > ol > li a:hover:before, .contents .table > table > tbody > tr > th > 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 {
	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 .cbox .body > ol > li ul, .contents .column > * > ol > li ul, .contents .table > table > tbody > tr > th > ol > li ul, .contents .table > table > tr > td:not(.d) > ol > li ul, .contents .table > table > tbody > tr > td > ol > li ul, .contents .text ol > li ol, .contents > div > ol > li ol, .contents .cbox .body > ol > li ol, .contents .column > * > ol > li ol, .contents .table > table > tbody > tr > th > ol > li ol, .contents .table > table > tr > td:not(.d) > ol > li ol, .contents .table > table > tbody > tr > td > ol > li ol {
	margin-top: 4px;
	margin-right: 0px;
}

.loading * {
	transition: 0ms !important;
}
.loading *:before, .loading *:after {
	transition: 0ms !important;
}

.popup.popin {
	opacity: 0;
	transform: translateY(50px);
	transition: transform 1200ms 200ms, opacity 1200ms 200ms !important;
}
.popup.popin.popon {
	opacity: 1;
	transform: translateY(0px);
}

.popup.popcont > * {
	opacity: 0;
	transition: opacity 800ms 200ms !important;
}
.popup.popcont.popon > * {
	opacity: 1;
}
.popup.popcont.popon > *:nth-child(0) {
	transition-delay: 200ms !important;
}
.popup.popcont.popon > *:nth-child(1) {
	transition-delay: 260ms !important;
}
.popup.popcont.popon > *:nth-child(2) {
	transition-delay: 320ms !important;
}
.popup.popcont.popon > *:nth-child(3) {
	transition-delay: 380ms !important;
}
.popup.popcont.popon > *:nth-child(4) {
	transition-delay: 440ms !important;
}
.popup.popcont.popon > *:nth-child(5) {
	transition-delay: 500ms !important;
}
.popup.popcont.popon > *:nth-child(6) {
	transition-delay: 560ms !important;
}
.popup.popcont.popon > *:nth-child(7) {
	transition-delay: 620ms !important;
}
.popup.popcont.popon > *:nth-child(8) {
	transition-delay: 680ms !important;
}
.popup.popcont.popon > *:nth-child(9) {
	transition-delay: 740ms !important;
}
.popup.popcont.popon > *:nth-child(10) {
	transition-delay: 800ms !important;
}
.popup.popcont.popon > *:nth-child(11) {
	transition-delay: 860ms !important;
}
.popup.popcont.popon > *:nth-child(12) {
	transition-delay: 920ms !important;
}

.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) + .cbox, .contents *:not(h1, h2, h3, h4, h5, h6) + .column, .contents *:not(h1, h2, h3, h4, h5, h6) + .table, .contents *:not(h1, h2, h3, h4, h5, h6) + .button, .contents *:not(h1, h2, h3, h4, h5, h6) + .link {
	margin-top: 40px;
}
@media screen and (max-width: 767px) {
	.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) + .cbox, .contents *:not(h1, h2, h3, h4, h5, h6) + .column, .contents *:not(h1, h2, h3, h4, h5, h6) + .table, .contents *:not(h1, h2, h3, h4, h5, h6) + .button, .contents *:not(h1, h2, h3, h4, h5, h6) + .link {
		margin-top: 30px;
	}
}

.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 .cbox .body > *: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 > tbody > tr > th > *: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 .text *:not(h1, h2, h3, h4, h5, h6) + ul, .contents > div > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents > div > ul > li > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents > div > ol > li > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .cbox .body > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .cbox .body > ul > li > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .cbox .body > ol > li > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .column > * > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .column > * > ul > li > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .column > * > ol > li > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .table > table > tbody > tr > th > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .table > table > tbody > tr > th > ul > li > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .table > table > tbody > tr > th > ol > li > *: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 > tr > td:not(.d) > ul > li > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .table > table > tr > td:not(.d) > ol > li > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .table > table > tbody > tr > td > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .table > table > tbody > tr > td > ul > li > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .table > table > tbody > tr > td > ol > li > *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .text *:not(h1, h2, h3, h4, h5, h6) + ol, .contents > div > ul > li > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents > div > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents > div > ol > li > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .cbox .body > ul > li > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .cbox .body > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .cbox .body > ol > li > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .column > * > ul > li > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .column > * > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .column > * > ol > li > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .table > table > tbody > tr > th > ul > li > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .table > table > tbody > tr > th > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .table > table > tbody > tr > th > ol > li > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .table > table > tr > td:not(.d) > ul > li > *: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 > tr > td:not(.d) > ol > li > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .table > table > tbody > tr > td > ul > li > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .table > table > tbody > tr > td > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .table > table > tbody > tr > td > ol > li > *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .cbox > .image > *:not(h1, h2, h3, h4, h5, h6) + img,
.contents .cbox > .image > *:not(h1, h2, h3, h4, h5, h6) + a {
	margin-top: 20px;
}

#globalhead {
	display: flex;
	align-items: center;
	padding: 0 30px;
	height: 60px;
	background: #fff;
}
@media screen and (max-width: 959px) {
	#globalhead {
		padding: 0 20px;
	}
}
@media screen and (max-width: 767px) {
	#globalhead {
		height: 50px;
		padding: 0 15px;
	}
}
#globalhead a {
	display: flex;
	gap: 20px;
	align-items: center;
	margin: auto 0 auto auto;
	font-size: min(1.09375vw * var(--fontratio, 1), 14px * var(--fontratio, 1));
	line-height: 1.5;
	color: #000;
	font-family: "Noto Sans JP", sans-serif;
	text-align: right;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	#globalhead a {
		font-size: min(1.3658536585vw * var(--fontratio, 1), 11.2px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	#globalhead a {
		font-size: min(2.6666666667vw * var(--fontratio, 1), 10px * var(--fontratio, 1));
	}
}
#globalhead a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	#globalhead a {
		gap: 15px;
	}
}
#globalhead a:before {
	content: "";
	display: block;
	width: 32px;
	height: 38px;
	background: url(../images/cgrlogo.svg) no-repeat center center;
	background-size: 100% auto;
}
@media screen and (max-width: 767px) {
	#globalhead a:before {
		width: 25px;
	}
}
#globalhead a br {
	display: none;
}
@media screen and (max-width: 767px) {
	#globalhead a br {
		display: block;
	}
}

header {
	display: flex;
	gap: 5px 25px;
	align-items: center;
	position: sticky;
	width: 100%;
	height: 60px;
	margin-top: 20px;
	padding: 0 30px 0 min(100px, 5.2083333333vw);
	top: 0px;
	z-index: 1000;
}
@media screen and (max-width: 959px) {
	header {
		padding: 0 20px;
	}
}
@media screen and (max-width: 767px) {
	header {
		height: 40px;
		padding: 0 15px;
	}
}
header:has(+ #visualstage):before {
	content: "";
	display: block;
	position: absolute;
	top: -20px;
	left: 0;
	width: 100vw;
	min-height: 80px;
	max-height: 357px;
	background: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0) 100%);
	aspect-ratio: 1920 / 357;
	opacity: 0.5;
	z-index: -2;
	transition: max-height 600ms, opacity 600ms;
}
@media screen and (max-width: 767px) {
	header:has(+ #visualstage):before {
		aspect-ratio: 768 / 500;
	}
}
header:after {
	content: "";
	display: block;
	position: absolute;
	top: -20px;
	left: 0;
	width: 100vw;
	min-height: 80px;
	max-height: 357px;
	background: #fff;
	aspect-ratio: 1920 / 357;
	opacity: 0;
	z-index: -1;
	transition: max-height 600ms, opacity 500ms;
	pointer-events: none;
}
.menuopen header:before, .scroll header:before {
	max-height: 80px;
	opacity: 0;
}
.menuopen header:after, .scroll header:after {
	max-height: 80px;
	opacity: 1;
	transition: max-height 0ms, opacity 600ms;
}
@media screen and (max-width: 767px) {
	.menuopen header:after, .scroll header:after {
		min-height: 60px;
		height: 60px;
	}
}
.menuopen header:after {
	transition: max-height 0ms, opacity 400ms;
}

#logo {
	overflow: clip;
}
@media screen and (max-width: 767px) {
	#logo {
		position: absolute;
		top: 11px;
		left: 45px;
	}
}
#logo a {
	display: block;
	margin-right: -0.5em;
	font-size: min(3.125vw * var(--fontratio, 1), 40px * var(--fontratio, 1));
	line-height: 1;
	font-weight: 300;
	color: #fff;
	letter-spacing: 0.5em;
	transition: opacity 0.2s, background 0.2s, color 600ms;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	#logo a {
		font-size: min(2.4390243902vw * var(--fontratio, 1), 20px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	#logo a {
		font-size: min(4.8vw * var(--fontratio, 1), 18px * var(--fontratio, 1));
	}
}
#logo a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 959px) {
	#logo a {
		margin-right: -0.2em;
		letter-spacing: 0.2em;
	}
}
.menuopen #logo a, .scroll #logo a {
	color: #000;
}

#navigation {
	margin-right: 0;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
	#navigation {
		display: none;
	}
}
#navigation > ul {
	display: flex;
	gap: min(30px, 2.34375vw);
	align-items: center;
	height: 40px;
}
@media screen and (max-width: 767px) {
	#navigation > ul {
		gap: 0px;
		justify-content: space-between;
		height: 30px;
	}
}
#navigation > ul > li {
	position: relative;
	z-index: 0;
}
#navigation > ul > li:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(50% - 30px);
	width: 100%;
	height: 22px;
	border-bottom: 0px solid #fff;
	pointer-events: none;
	z-index: -1;
	transition: border linear 200ms;
}
.scroll #navigation > ul > li:before {
	border-color: #000;
}
.megamenuopen #navigation > ul > li.mmcurrent:before {
	border-bottom-width: 8px;
	pointer-events: auto;
}
#navigation > ul > li a {
	display: flex;
	align-items: center;
	padding: 0px;
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1.3;
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	transition: opacity 0.2s, background 0.2s, color 600ms;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	#navigation > ul > li a {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	#navigation > ul > li a {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
#navigation > ul > li a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	#navigation > ul > li a {
		font-size: min(calc((100vw - 30px) / 35), 18px);
	}
}
.scroll #navigation > ul > li a {
	color: #000;
}

#contact {
	margin-right: 0;
}
@media screen and (max-width: 767px) {
	#contact {
		position: absolute;
		top: 8.5px;
		right: 15px;
	}
}
#contact a {
	display: flex;
	align-items: center;
	padding: 5px min(32px, 2.5vw);
	height: 38px;
	font-size: min(1.09375vw * var(--fontratio, 1), 14px * var(--fontratio, 1));
	line-height: 1;
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	background: rgba(255, 255, 255, 0.2);
	border: 1px solid #fff;
	border-radius: 20px;
	transition: opacity 0.2s, background 0.2s, color 600ms, border 600ms;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	#contact a {
		font-size: min(1.3658536585vw * var(--fontratio, 1), 11.2px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	#contact a {
		font-size: min(3.1818402204vw * var(--fontratio, 1), 11.9319008264px * var(--fontratio, 1));
	}
}
#contact a:hover {
	opacity: 0.7;
}
@media screen and (max-width: 767px) {
	#contact a {
		height: 23px;
	}
}
.menuopen #contact a, .scroll #contact a {
	color: #000;
	border-color: #000;
}

#menu {
	display: none;
}
@media screen and (max-width: 767px) {
	#menu {
		position: absolute;
		display: block;
		left: 8px;
		top: 6px;
	}
}
#menu a {
	position: relative;
	display: block;
	width: 26px;
	height: 30px;
	text-indent: -10000px;
	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;
}
.menuopen #menu a:before, .scroll #menu a:before {
	filter: brightness(0) saturate(100%);
}
#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:after, .scroll #menu a:after {
	filter: brightness(0) saturate(100%);
}
.menuopen #menu a:before {
	opacity: 0;
}
.menuopen #menu a:after {
	opacity: 1;
}

#index {
	position: absolute;
	width: 100%;
	top: 100%;
	left: 0;
	background: rgba(0, 0, 0, 0.9);
	transition: 400ms;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}
.menuopen #index, .megamenuopen #index {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}
@media screen and (max-width: 767px) {
	#index {
		height: auto !important;
		max-height: calc(100vh - 110px + min(70px, var(--scrollpos, 0px)));
		background: #000;
		overflow-y: auto;
		overscroll-behavior: contain;
		transition: 400ms, height 0ms, max-height 0ms;
	}
}
#index > ul {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 0px 40px;
}
@media screen and (max-width: 959px) {
	#index > ul {
		padding: 0px 20px;
	}
}
@media screen and (max-width: 767px) {
	#index > ul {
		padding: 0px 15px;
	}
}
@media screen and (max-width: 767px) {
	#index > ul {
		padding: 0;
	}
}
#index > ul > li {
	position: absolute;
	display: flex;
	gap: min(40px, 3.125vw);
	top: 0;
	width: calc(100% - 80px);
	transition: 400ms;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}
#index > ul > li.show {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}
@media screen and (max-width: 767px) {
	#index > ul > li {
		display: contents;
	}
}
@media screen and (max-width: 767px) {
	.menuopen #index > ul > li {
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
	}
}
#index > ul > li > div {
	flex-shrink: 0;
	padding: calc(50px - 0.65em) min(20px, 1.5625vw) 35px 0;
	width: calc((100% - min(40px, 3.125vw) * 3) / 4);
	font-size: min(2.1875vw * var(--fontratio, 1), 28px * var(--fontratio, 1));
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	border-right: 1px solid #fff;
}
@media screen and (max-width: 959px) {
	#index > ul > li > div {
		font-size: min(2.7317073171vw * var(--fontratio, 1), 22.4px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	#index > ul > li > div {
		font-size: min(4.2666666667vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 959px) {
	#index > ul > li > div {
		width: calc((100% - min(40px, 3.125vw) * 2) / 3);
	}
}
@media screen and (max-width: 767px) {
	#index > ul > li > div {
		display: flex;
		width: 100%;
		height: 50px;
		padding: 0;
		border-right: 0;
		border-top: 1px solid #fff;
		transition: background 400ms;
	}
	#index > ul > li > div.popen {
		background: #fff;
	}
	#index > ul > li > div.popen a:not(.sw) {
		color: #000;
	}
	#index > ul > li > div.popen a.sw:before {
		filter: brightness(0) saturate(100%);
	}
}
#index > ul > li > div a:not(.sw) {
	width: fit-content;
	color: #fff;
	position: relative;
	display: inline-block;
}
#index > ul > li > div a:not(.sw):before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.1em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #fff;
	opacity: 0;
	transform: scaleX(3);
	pointer-events: none;
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
	pointer-events: none;
}
#index > ul > li > div a:not(.sw):hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.1em - 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) {
	#index > ul > li > div a:not(.sw) {
		display: flex;
		align-items: center;
		width: 100%;
		padding: 10px;
		min-height: 50px;
	}
	#index > ul > li > div a:not(.sw):before {
		display: none;
	}
}
#index > ul > li > div a.sw {
	display: none;
}
@media screen and (max-width: 767px) {
	#index > ul > li > div a.sw {
		position: relative;
		flex-shrink: 0;
		display: block;
		width: 40px;
		cursor: pointer;
		overflow: hidden;
		transition: color 400ms;
	}
	#index > ul > li > div a.sw:before {
		content: "";
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0%;
		background: url(../images/arrow-down.svg) no-repeat center center;
		transform: rotateX(0deg);
		transition: transform 400ms, filter 400ms;
	}
	#index > ul > li > div a.sw.open:before {
		transform: rotateX(180deg);
	}
}
#index > ul > li ul {
	display: flex;
	flex-wrap: wrap;
	gap: min(40px, 3.125vw);
	width: 100%;
	padding: calc(50px - 0.65em) 0 35px 0;
	font-size: min(1.5625vw * var(--fontratio, 1), 20px * var(--fontratio, 1));
	line-height: 1.3;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	#index > ul > li ul {
		font-size: min(1.9512195122vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	#index > ul > li ul {
		font-size: min(3.9228650138vw * var(--fontratio, 1), 14.7107438017px * var(--fontratio, 1));
	}
}
@media screen and (min-width: 768px) {
	#index > ul > li ul {
		display: flex !important;
	}
}
@media screen and (max-width: 959px) {
	#index > ul > li ul {
		gap: 30px 40px;
	}
}
@media screen and (max-width: 767px) {
	#index > ul > li ul {
		display: none;
		gap: 0;
		padding: 0 0 0 10px;
		background: rgba(255, 255, 255, 0.3);
	}
}
#index > ul > li ul li {
	width: calc((100% - min(40px, 3.125vw) * 2) / 3);
}
@media screen and (max-width: 959px) {
	#index > ul > li ul li {
		width: auto;
	}
}
@media screen and (max-width: 767px) {
	#index > ul > li ul li {
		width: 100%;
		border-top: 1px solid #fff;
	}
	#index > ul > li ul li:first-child {
		border-top: 0;
	}
}
#index > ul > li ul a {
	width: fit-content;
	color: #fff;
	position: relative;
	display: inline-block;
}
#index > ul > li ul a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.1em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #fff;
	opacity: 0;
	transform: scaleX(3);
	pointer-events: none;
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
	pointer-events: none;
}
#index > ul > li ul a:hover:before {
	opacity: 1;
	right: 0%;
	width: 100%;
	bottom: calc(0.1em - 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) {
	#index > ul > li ul a {
		display: flex;
		align-items: center;
		width: 100%;
		padding: 10px 5px 10px 15px;
		min-height: 40px;
	}
	#index > ul > li ul a:before {
		display: none;
	}
}

footer {
	position: relative;
	display: block;
	padding: 40px min(100px, 5.2083333333vw);
	background: url(../images/footer.jpg) no-repeat center center;
	background-size: cover;
}
@media screen and (max-width: 959px) {
	footer {
		padding: 40px 20px;
	}
}
footer:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
}
footer > div {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin: auto;
	max-height: 500px;
	aspect-ratio: 1720 / 500;
	z-index: 1;
}
footer .title {
	overflow: clip;
}
footer .title a {
	display: block;
	margin-right: -0.5em;
	font-size: min(3.125vw * var(--fontratio, 1), 40px * var(--fontratio, 1));
	line-height: 1;
	font-weight: 300;
	color: #fff;
	letter-spacing: 0.5em;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	footer .title a {
		font-size: min(3.9024390244vw * var(--fontratio, 1), 32px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	footer .title a {
		font-size: min(6.1179063361vw * var(--fontratio, 1), 22.9421487603px * var(--fontratio, 1));
	}
}
footer .title a:hover {
	opacity: 0.7;
}
footer p {
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
	footer p {
		font-size: min(3.7333333333vw * var(--fontratio, 1), 14px * var(--fontratio, 1));
	}
}
footer p.address {
	margin-top: -20px;
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1.7;
}
@media screen and (max-width: 959px) {
	footer p.address {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	footer p.address {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
footer ul {
	margin-top: auto;
	margin-bottom: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 20px min(50px, 3.90625vw);
	overflow-x: clip;
}
footer ul li {
	position: relative;
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1;
	color: #fff;
}
@media screen and (max-width: 959px) {
	footer ul li {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	footer ul li {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
footer ul li:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 0.9em;
	top: 0.05em;
	left: max(-25px, -1.953125vw);
	background: #fff;
}
footer ul a {
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	position: relative;
	display: inline-block;
}
footer ul a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #fff;
	opacity: 0;
	transform: scaleX(3);
	pointer-events: none;
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
	pointer-events: none;
}
footer ul 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);
}

#pagetitle {
	position: relative;
}
#pagetitle:before {
	content: "";
	position: absolute;
	top: -80px;
	left: 0px;
	width: 100%;
	height: calc(100% + 80px);
	background: url(../../images/mainvisual.jpg) no-repeat center center;
	background-size: cover;
	z-index: -2;
}
#pagetitle.cat2:before {
	background-image: url(../../images/mvc2.jpg);
}
#pagetitle.cat3:before {
	background-image: url(../../images/mvc3.jpg);
}
#pagetitle.cat4:before {
	background-image: url(../../images/mvc4.jpg);
}
#pagetitle.cat5:before {
	background-image: url(../../images/mvc5.jpg);
}
#pagetitle:after {
	content: "";
	position: absolute;
	top: -80px;
	left: 0px;
	width: 100%;
	height: calc(100% + 80px);
	background: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0) 100%);
	opacity: 0.5;
	z-index: -1;
}
#pagetitle > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 80px 40px 40px;
}
@media screen and (max-width: 959px) {
	#pagetitle > div {
		padding: 40px 20px 20px;
	}
}
@media screen and (max-width: 767px) {
	#pagetitle > div {
		padding: 40px 15px 20px;
	}
}
#pagetitle > div:before {
	content: "";
	position: absolute;
	top: -80px;
	left: calc(50% - 50vw);
	width: 100vw;
	height: calc(100% + 80px);
	background: #000;
	mix-blend-mode: multiply;
	opacity: 0.2;
	z-index: -1;
}
#pagetitle h1 {
	font-size: min(5vw * var(--fontratio, 1), 64px * var(--fontratio, 1));
	line-height: 1.3;
	font-weight: 300;
	color: #fff;
	letter-spacing: 0.2em;
}
@media screen and (max-width: 959px) {
	#pagetitle h1 {
		font-size: min(6.243902439vw * var(--fontratio, 1), 51.2px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	#pagetitle h1 {
		font-size: min(8.1934104683vw * var(--fontratio, 1), 30.7252892562px * var(--fontratio, 1));
	}
}

#breadcrumbs {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 20px 40px;
}
@media screen and (max-width: 959px) {
	#breadcrumbs {
		padding: 13.3333333333px 20px;
	}
}
@media screen and (max-width: 767px) {
	#breadcrumbs {
		padding: 10px 15px;
	}
}
#breadcrumbs > ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 0.45em;
	font-size: min(1.328125vw * var(--fontratio, 1), 17px * var(--fontratio, 1));
	line-height: 1;
	font-weight: 500;
	color: #000;
}
@media screen and (max-width: 959px) {
	#breadcrumbs > ul {
		font-size: min(1.6585365854vw * var(--fontratio, 1), 13.6px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	#breadcrumbs > ul {
		font-size: min(3.5571129477vw * var(--fontratio, 1), 13.3391735537px * var(--fontratio, 1));
	}
}
#breadcrumbs > ul li {
	position: relative;
}
#breadcrumbs > ul li + li:before {
	content: "/";
	display: inline-block;
	margin-right: 0.45em;
}
#breadcrumbs > ul a {
	color: #000;
	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: #000;
	opacity: 0;
	transform: scaleX(3);
	pointer-events: none;
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
	pointer-events: none;
}
#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);
}

#visualstage {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: url(../../images/mainvisual.jpg) no-repeat center center;
	background-size: cover;
	z-index: -2;
}
@media screen and (max-width: 767px) {
	#visualstage {
		height: 400px;
	}
}

#catch {
	display: flex;
	align-items: flex-end;
	padding: 0 min(100px, 5.2083333333vw) min(80px, 6.25vw);
	width: 100%;
	height: calc(100vh - 60px - 80px);
	min-height: 400px;
	z-index: 0;
	overflow: hidden;
}
@media screen and (max-width: 959px) {
	#catch {
		padding: 0 20px min(80px, 6.25vw);
	}
}
@media screen and (max-width: 767px) {
	#catch {
		margin-top: calc(400px - 50px - 80px);
		padding: 20px 15px;
		height: auto;
		min-height: 0px;
		background: #fff;
	}
}
#catch p {
	font-size: min(5.46875vw * var(--fontratio, 1), 70px * var(--fontratio, 1));
	line-height: 1.4;
	font-weight: 300;
	color: #fff;
	letter-spacing: 0.5em;
}
@media screen and (max-width: 959px) {
	#catch p {
		font-size: min(6.8292682927vw * var(--fontratio, 1), 56px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	#catch p {
		font-size: min(7.4666666667vw * var(--fontratio, 1), 28px * var(--fontratio, 1));
		color: #000;
	}
}
@media screen and (max-width: 959px) {
	#catch p {
		letter-spacing: 0.3em;
	}
}
@media screen and (max-width: 767px) {
	#catch p {
		letter-spacing: 0.2em;
	}
}

.block1 h2, .block2 h2 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 25px;
	font-size: min(1.875vw * var(--fontratio, 1), 24px * var(--fontratio, 1));
	line-height: 1.3;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	.block1 h2, .block2 h2 {
		font-size: min(2.3414634146vw * var(--fontratio, 1), 19.2px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.block1 h2, .block2 h2 {
		font-size: min(4.3957245179vw * var(--fontratio, 1), 16.4839669421px * var(--fontratio, 1));
	}
}
.block1 h2[data-en]:before, .block2 h2[data-en]:before {
	content: attr(data-en);
	display: block;
	font-size: min(7.03125vw * var(--fontratio, 1), 90px * var(--fontratio, 1));
	line-height: 1;
	font-weight: 300;
	letter-spacing: 0.1em;
	font-family: "Cormorant Garamond", serif;
}
@media screen and (max-width: 959px) {
	.block1 h2[data-en]:before, .block2 h2[data-en]:before {
		font-size: min(8.7804878049vw * var(--fontratio, 1), 72px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.block1 h2[data-en]:before, .block2 h2[data-en]:before {
		font-size: min(9.7542699725vw * var(--fontratio, 1), 36.5785123967px * var(--fontratio, 1));
	}
}

.block1 {
	position: relative;
	background: #fff;
	z-index: 10;
}
.block1 > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 120px 40px;
}
@media screen and (max-width: 959px) {
	.block1 > div {
		padding: 80px 20px;
	}
}
@media screen and (max-width: 767px) {
	.block1 > div {
		padding: 60px 15px;
	}
}
.block1 h2 {
	margin-bottom: min(80px, 6.25vw);
}
.block1 .box1 {
	display: flex;
	gap: 20px min(20px, 1.5625vw);
}
@media screen and (max-width: 767px) {
	.block1 .box1 {
		flex-direction: column-reverse;
	}
}
.block1 .box1 > div {
	width: calc((100% - min(20px, 1.5625vw)) / 2);
}
@media screen and (max-width: 767px) {
	.block1 .box1 > div {
		width: 80%;
	}
}
.block1 .box1 a {
	display: block;
	width: fit-content;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.block1 .box1 a:hover {
	opacity: 0.7;
}
.block1 .box1 a:hover .more:before {
	width: 30px;
	left: 180px;
	opacity: 0;
	transition: 800ms, width 200ms, opacity 400ms 300ms;
}
.block1 .box1 a .more {
	position: relative;
	margin-top: 40px;
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1;
	color: #000;
}
@media screen and (max-width: 959px) {
	.block1 .box1 a .more {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.block1 .box1 a .more {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.block1 .box1 a .more {
		margin-top: 20px;
	}
}
.block1 .box1 a .more:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	width: 0px;
	left: 0;
	height: 1px;
	background: #fff;
	opacity: 1;
	z-index: 1;
}
.block1 .box1 a .more:after {
	content: "";
	display: block;
	width: 180px;
	height: 14px;
	margin-top: 2px;
	margin-left: -8px;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	transform: skewX(45deg);
}
.block1 .box1 p {
	font-size: min(1.875vw * var(--fontratio, 1), 24px * var(--fontratio, 1));
	line-height: 3;
	color: #000;
}
@media screen and (max-width: 959px) {
	.block1 .box1 p {
		font-size: min(2.3414634146vw * var(--fontratio, 1), 19.2px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.block1 .box1 p {
		font-size: min(3.7333333333vw * var(--fontratio, 1), 14px * var(--fontratio, 1));
		line-height: 2;
	}
}
.block1 .box1 .image {
	position: relative;
	max-height: 714px;
	aspect-ratio: 620 / 714;
}
@media screen and (max-width: 767px) {
	.block1 .box1 .image {
		aspect-ratio: 16 / 9;
		align-self: self-end;
	}
}
.block1 .box1 .image img {
	position: absolute;
	width: 50vw;
	max-width: 50vw;
	height: 100%;
	object-fit: cover;
}
@media screen and (max-width: 767px) {
	.block1 .box1 .image img {
		right: -15px;
		width: 100%;
		max-width: 100%;
	}
}
.block1 .box2 {
	display: flex;
	margin-top: min(80px, 6.25vw);
	aspect-ratio: 1280 / 590;
}
@media screen and (max-width: 767px) {
	.block1 .box2 {
		flex-direction: column;
		margin-top: 40px;
	}
}
.block1 .box2 > div {
	display: flex;
	align-items: flex-start;
	width: 50%;
}
@media screen and (max-width: 767px) {
	.block1 .box2 > div {
		width: 75%;
	}
	.block1 .box2 > div:last-child {
		margin-right: 0;
		margin-left: auto;
	}
}
.block1 .box2 > div:last-child a {
	align-self: flex-end;
}
.block1 .box2 a {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	aspect-ratio: 640 / 400;
	z-index: 0;
}
.block1 .box2 a:hover {
	opacity: 0.7;
}
.block1 .box2 a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 50%;
	background: linear-gradient(to top, black 0%, rgba(0, 0, 0, 0) 100%);
	opacity: 0.71;
}
@media screen and (max-width: 767px) {
	.block1 .box2 a:before {
		height: 100%;
	}
}
.block1 .box2 a .image {
	position: absolute;
	z-index: -2;
}
.block1 .box2 a .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.block1 .box2 a h3 {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 15px;
	padding: 0 min(40px, 3.125vw);
	font-size: min(1.875vw * var(--fontratio, 1), 24px * var(--fontratio, 1));
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
}
@media screen and (max-width: 959px) {
	.block1 .box2 a h3 {
		font-size: min(2.3414634146vw * var(--fontratio, 1), 19.2px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.block1 .box2 a h3 {
		font-size: min(4.3957245179vw * var(--fontratio, 1), 16.4839669421px * var(--fontratio, 1));
	}
}
.block1 .box2 a h3[data-en]:before {
	content: attr(data-en);
	display: block;
	font-size: min(3.125vw * var(--fontratio, 1), 40px * var(--fontratio, 1));
	line-height: 1;
	font-weight: 300;
	letter-spacing: 0.1em;
	font-family: "Cormorant Garamond", serif;
}
@media screen and (max-width: 959px) {
	.block1 .box2 a h3[data-en]:before {
		font-size: min(3.9024390244vw * var(--fontratio, 1), 32px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.block1 .box2 a h3[data-en]:before {
		font-size: min(6.1179063361vw * var(--fontratio, 1), 22.9421487603px * var(--fontratio, 1));
	}
}
.block1 .box2 a:hover .more:before {
	width: 30px;
	left: 180px;
	opacity: 0;
	transition: 800ms, width 200ms, opacity 400ms 300ms;
}
.block1 .box2 a .more {
	position: relative;
	margin: min(40px, 3.125vw) min(40px, 3.125vw) min(20px, 1.5625vw);
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1;
	color: #fff;
}
@media screen and (max-width: 959px) {
	.block1 .box2 a .more {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.block1 .box2 a .more {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.block1 .box2 a .more {
		margin: 20px min(40px, 3.125vw) 15px;
	}
}
.block1 .box2 a .more:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	width: 0px;
	left: 0;
	height: 1px;
	background: #000;
	opacity: 1;
	z-index: 1;
}
.block1 .box2 a .more:after {
	content: "";
	display: block;
	width: 180px;
	height: 14px;
	margin-top: 2px;
	margin-left: -8px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: skewX(45deg);
}

.block2 {
	position: relative;
	background: #fff;
}
.block2 > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 0px 40px 120px;
	z-index: 5;
}
@media screen and (max-width: 959px) {
	.block2 > div {
		padding: 0px 20px 60px;
	}
}
@media screen and (max-width: 767px) {
	.block2 > div {
		padding: 0px 15px 60px;
	}
}
.block2 h2 {
	margin-bottom: 40px;
}
.block2 .list {
	max-width: calc(100% - ((100% - min(40px, 3.125vw) * 3) / 4 + min(40px, 3.125vw)));
	margin-right: 0;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
	.block2 .list {
		max-width: 100%;
	}
}
.block2 .list ul {
	display: flex;
	flex-wrap: wrap;
	gap: 40px min(40px, 3.125vw);
}
@media screen and (max-width: 767px) {
	.block2 .list ul {
		gap: 5px;
	}
}
.block2 .list .size1 {
	width: calc((100% - min(40px, 3.125vw) * 2) / 3);
	aspect-ratio: 290 / 400;
}
@media screen and (max-width: 767px) {
	.block2 .list .size1 {
		width: calc((100% - 5px * 2) / 3);
	}
}
.block2 .list .size2 {
	width: 100%;
	aspect-ratio: 950 / 250;
}
.block2 .list .size3 {
	width: calc((100% - min(40px, 3.125vw) * 2) / 3 * 2 + min(40px, 3.125vw));
	aspect-ratio: 620 / 400;
}
@media screen and (max-width: 767px) {
	.block2 .list .size3 {
		width: calc((100% - 5px * 4) / 5 * 3 + 5px * 2);
		aspect-ratio: 214 / 180;
	}
}
.block2 .list .size4 {
	display: flex;
	flex-direction: column;
	gap: min(40px, 3.125vw);
	width: calc((100% - min(40px, 3.125vw) * 2) / 3);
}
@media screen and (max-width: 767px) {
	.block2 .list .size4 {
		gap: 5px;
		width: calc((100% - 5px * 4) / 5 * 2 + 5px);
	}
}
.block2 .list .size4 a {
	height: calc((100% - min(40px, 3.125vw)) / 2);
}
@media screen and (max-width: 767px) {
	.block2 .list .size4 a {
		height: calc((100% - 5px) / 2);
	}
}
.block2 .list a {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	z-index: 0;
}
.block2 .list a:hover {
	opacity: 0.7;
}
.block2 .list a:hover .more:before {
	width: 15px;
	left: 50px;
	opacity: 0;
	transition: 600ms, width 200ms, opacity 300ms 200ms;
}
.block2 .list a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 50%;
	background: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0) 100%);
	opacity: 0.71;
}
.block2 .list a .image {
	position: absolute;
	height: 100%;
	z-index: -2;
}
.block2 .list a .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.block2 .list a h3 {
	position: relative;
	display: block;
	margin-bottom: 10px;
	padding: min(20px, 1.5625vw) min(20px, 1.5625vw) 0;
	font-size: min(1.875vw * var(--fontratio, 1), 24px * var(--fontratio, 1));
	line-height: 1.5;
	font-weight: 500;
	color: #fff;
}
@media screen and (max-width: 959px) {
	.block2 .list a h3 {
		font-size: min(2.3414634146vw * var(--fontratio, 1), 19.2px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.block2 .list a h3 {
		font-size: min(4.3957245179vw * var(--fontratio, 1), 16.4839669421px * var(--fontratio, 1));
	}
}
.block2 .list a p {
	position: relative;
	padding: 0 min(20px, 1.5625vw) 10px;
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1.5;
	font-weight: 500;
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 959px) {
	.block2 .list a p {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.block2 .list a p {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
.block2 .list a .more {
	position: relative;
	margin: 0 min(20px, 1.5625vw);
}
.block2 .list a .more:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	width: 0px;
	left: 0;
	height: 1px;
	background: #666;
	opacity: 1;
	z-index: 1;
}
.block2 .list a .more:after {
	content: "";
	display: block;
	width: 50px;
	height: 6px;
	margin-left: -4px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: skewX(45deg);
}
.block2 .x {
	max-width: calc(100% - ((100% - min(40px, 3.125vw) * 3) / 4 + min(40px, 3.125vw)));
	margin: min(40px, 3.125vw) 0 0 auto;
}
@media screen and (max-width: 767px) {
	.block2 .x {
		max-width: 100%;
	}
}
.block2 .x a {
	display: flex;
	align-items: center;
	width: 100%;
	height: 42px;
	padding: 5px 20px 5px 75px;
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1.3;
	color: #000;
	font-family: "Noto Sans JP", sans-serif;
	background: url(../images/x.svg) no-repeat 20px center;
	background-size: auto 24px;
	border: 1px solid #DBDBDB;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
@media screen and (max-width: 959px) {
	.block2 .x a {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.block2 .x a {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
.block2 .x a:hover {
	opacity: 0.7;
}

.block3 {
	position: relative;
	background: #fff;
}
.block3 > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 0px 40px 120px;
}
@media screen and (max-width: 959px) {
	.block3 > div {
		padding: 0px 20px 60px;
	}
}
@media screen and (max-width: 767px) {
	.block3 > div {
		padding: 0px 15px 60px;
	}
}
.block3 .list ul {
	display: flex;
	flex-wrap: wrap;
	gap: min(40px, 3.125vw);
}
.block3 .list ul > li {
	width: calc((100% - min(40px, 3.125vw) * 3) / 4);
}
@media screen and (max-width: 767px) {
	.block3 .list ul > li {
		width: calc((100% - min(40px, 3.125vw) * 1) / 2);
	}
}
.block3 .list a {
	display: block;
	margin: auto;
	width: fit-content;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.block3 .list a:hover {
	opacity: 0.7;
}

.contents {
	position: relative;
	z-index: 0;
}
.contents > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 120px 40px;
}
@media screen and (max-width: 959px) {
	.contents > div {
		padding: 80px 20px;
	}
}
@media screen and (max-width: 767px) {
	.contents > div {
		padding: 60px 15px;
	}
}
.contents h2 {
	position: relative;
	margin: 0px 0px 40px;
	padding: 0px 0px 40px;
	font-size: min(2.8125vw * var(--fontratio, 1), 36px * var(--fontratio, 1));
	line-height: 1.3;
	font-weight: 500;
	border-bottom: 2px solid #DBDBDB;
}
@media screen and (max-width: 959px) {
	.contents h2 {
		font-size: min(3.512195122vw * var(--fontratio, 1), 28.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents h2 {
		font-size: min(5.7127493113vw * var(--fontratio, 1), 21.4228099174px * var(--fontratio, 1));
	}
}
.contents h2:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 80px;
	height: 4px;
	background: #000;
}
.contents h2:last-child {
	margin-bottom: 0;
}
.contents * + h2 {
	margin-top: 120px;
}
.contents h3 {
	position: relative;
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: min(2.5vw * var(--fontratio, 1), 32px * var(--fontratio, 1));
	line-height: 1.3;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	.contents h3 {
		font-size: min(3.1219512195vw * var(--fontratio, 1), 25.6px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents h3 {
		font-size: min(5.2906666667vw * var(--fontratio, 1), 19.84px * var(--fontratio, 1));
	}
}
.contents *:not(h1, h2) + h3 {
	margin-top: 40px;
}
.contents .stack {
	margin-top: 0px !important;
}
.contents .block {
	margin-top: 40px !important;
}
@media screen and (max-width: 767px) {
	.contents .block {
		margin-top: 30px !important;
	}
}
.contents .section {
	margin-top: 120px !important;
}
@media screen and (max-width: 767px) {
	.contents .section {
		margin-top: 90px !important;
	}
}
.contents .paragraph {
	margin-top: 20px !important;
}
.contents .halfparagraph {
	margin-top: 7px !important;
}
.contents > div:not(.image):not(.cbox) > a {
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1.5;
	font-weight: 400;
	color: #0077B6;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.contents > div:not(.image):not(.cbox) > a {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents > div:not(.image):not(.cbox) > a {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
.contents > div:not(.image):not(.cbox) > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.25em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #0077B6;
	opacity: 0;
	transform: scaleX(3);
	pointer-events: none;
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
	pointer-events: none;
}
.contents > div:not(.image):not(.cbox) > 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 figure,
.contents .image {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	width: fit-content;
	text-align: center;
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	.contents figure.spsize,
	.contents .image.spsize {
		overflow-x: auto;
	}
	.contents figure.spsize img,
	.contents .image.spsize img {
		min-width: var(--spsize);
	}
}
.contents figure img,
.contents .image img {
	margin: auto;
}
.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.875vw * var(--fontratio, 1), 24px * var(--fontratio, 1));
	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(2.3414634146vw * var(--fontratio, 1), 19.2px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents figure figcaption,
	.contents figure p,
	.contents .image figcaption,
	.contents .image p {
		font-size: min(4.3957245179vw * var(--fontratio, 1), 16.4839669421px * var(--fontratio, 1));
	}
}
* + .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: #0077B6;
	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: #000;
	opacity: 0;
	transform: scaleX(3);
	pointer-events: none;
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
	pointer-events: none;
}
.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: #000;
}
.contents .cbox,
.contents .cbox > a {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 20px min(40px, 3.125vw);
}
@media screen and (max-width: 959px) {
	.contents .cbox,
	.contents .cbox > a {
		gap: 15px min(40px, 3.125vw);
	}
}
.contents .cbox > .image,
.contents .cbox > a > .image {
	position: relative;
	flex-shrink: 0;
	width: auto;
	margin-top: 0px !important;
}
@media screen and (max-width: 767px) {
	.contents .cbox > .image,
	.contents .cbox > a > .image {
		max-width: 100%;
	}
}
.contents .cbox > .image > img,
.contents .cbox > .image > a,
.contents .cbox > a > .image > img,
.contents .cbox > a > .image > a {
	display: block;
	width: 100%;
}
.contents .cbox > a {
	color: #000;
	height: 100%;
}
.contents .cbox > a .image img {
	transition: transform 400ms;
}
.contents .cbox > a:hover .image img {
	transform: scale(1.1);
}
.contents .cbox.col2,
.contents .cbox.col2 > a {
	flex-direction: row;
}
@media screen and (max-width: 767px) {
	.contents .cbox.col2.spcol1,
	.contents .cbox.col2.spcol1 > a {
		flex-direction: column;
	}
	.contents .cbox.col2.spcol1 > .image,
	.contents .cbox.col2.spcol1 > a > .image {
		width: auto !important;
	}
	.contents .cbox.col2.spcol1 > .image > img,
	.contents .cbox.col2.spcol1 > .image > a,
	.contents .cbox.col2.spcol1 > a > .image > img,
	.contents .cbox.col2.spcol1 > a > .image > a {
		width: auto;
	}
}
.contents .cbox.reverse,
.contents .cbox.reverse > a {
	direction: rtl;
}
.contents .cbox.reverse > *,
.contents .cbox.reverse > a > * {
	direction: ltr;
}
.contents .cbox .body {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}
.contents .cbox .body:not(.image):not(.cbox) > a {
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1.5;
	font-weight: 400;
	color: #0077B6;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.contents .cbox .body:not(.image):not(.cbox) > a {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .cbox .body:not(.image):not(.cbox) > a {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
.contents .cbox .body:not(.image):not(.cbox) > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.25em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #0077B6;
	opacity: 0;
	transform: scaleX(3);
	pointer-events: none;
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
	pointer-events: none;
}
.contents .cbox .body:not(.image):not(.cbox) > 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 .cbox .title {
	font-size: min(1.875vw * var(--fontratio, 1), 24px * var(--fontratio, 1));
	line-height: 1.3;
	font-weight: 500;
}
@media screen and (max-width: 959px) {
	.contents .cbox .title {
		font-size: min(2.3414634146vw * var(--fontratio, 1), 19.2px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .cbox .title {
		font-size: min(4.3957245179vw * var(--fontratio, 1), 16.4839669421px * var(--fontratio, 1));
	}
}
.contents .column {
	display: flex;
	flex-wrap: wrap;
	gap: min(60px, 4.6875vw) 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):not(.cbox) > a {
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1.5;
	font-weight: 400;
	color: #0077B6;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.contents .column > *:not(.image):not(.cbox) > a {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .column > *:not(.image):not(.cbox) > a {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
.contents .column > *:not(.image):not(.cbox) > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.25em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #0077B6;
	opacity: 0;
	transform: scaleX(3);
	pointer-events: none;
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
	pointer-events: none;
}
.contents .column > *:not(.image):not(.cbox) > 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 .column > *.center {
	align-self: center;
}
.contents .column.col1 > * {
	width: calc((100% - min(40px, 3.125vw) * 0 - 4px) / 1);
}
.contents .column.col1 > *.size2 {
	width: calc(((100% - min(40px, 3.125vw) * 0 - 4px) / 1) * 2 + min(40px, 3.125vw) * 1);
}
.contents .column.col1 > *.size1 {
	width: calc(((100% - min(40px, 3.125vw) * 0 - 4px) / 1) * 1 + min(40px, 3.125vw) * 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, 3.125vw) * 1 - 4px) / 2);
}
.contents .column.col2 > *.size2 {
	width: calc(((100% - min(40px, 3.125vw) * 1 - 4px) / 2) * 2 + min(40px, 3.125vw) * 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, 3.125vw) * 2 - 4px) / 3);
}
.contents .column.col3 > *.size2 {
	width: calc(((100% - min(40px, 3.125vw) * 2 - 4px) / 3) * 2 + min(40px, 3.125vw) * 1);
}
.contents .column.col3 > *.size3 {
	width: calc(((100% - min(40px, 3.125vw) * 2 - 4px) / 3) * 3 + min(40px, 3.125vw) * 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, 3.125vw) * 3 - 4px) / 4);
}
.contents .column.col4 > *.size2 {
	width: calc(((100% - min(40px, 3.125vw) * 3 - 4px) / 4) * 2 + min(40px, 3.125vw) * 1);
}
.contents .column.col4 > *.size3 {
	width: calc(((100% - min(40px, 3.125vw) * 3 - 4px) / 4) * 3 + min(40px, 3.125vw) * 2);
}
.contents .column.col4 > *.size4 {
	width: calc(((100% - min(40px, 3.125vw) * 3 - 4px) / 4) * 4 + min(40px, 3.125vw) * 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, 3.125vw) * 4 - 4px) / 5);
}
.contents .column.col5 > *.size2 {
	width: calc(((100% - min(40px, 3.125vw) * 4 - 4px) / 5) * 2 + min(40px, 3.125vw) * 1);
}
.contents .column.col5 > *.size3 {
	width: calc(((100% - min(40px, 3.125vw) * 4 - 4px) / 5) * 3 + min(40px, 3.125vw) * 2);
}
.contents .column.col5 > *.size4 {
	width: calc(((100% - min(40px, 3.125vw) * 4 - 4px) / 5) * 4 + min(40px, 3.125vw) * 3);
}
.contents .column.col5 > *.size5 {
	width: calc(((100% - min(40px, 3.125vw) * 4 - 4px) / 5) * 5 + min(40px, 3.125vw) * 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, 3.125vw) * 5 - 4px) / 6);
}
.contents .column.col6 > *.size2 {
	width: calc(((100% - min(40px, 3.125vw) * 5 - 4px) / 6) * 2 + min(40px, 3.125vw) * 1);
}
.contents .column.col6 > *.size3 {
	width: calc(((100% - min(40px, 3.125vw) * 5 - 4px) / 6) * 3 + min(40px, 3.125vw) * 2);
}
.contents .column.col6 > *.size4 {
	width: calc(((100% - min(40px, 3.125vw) * 5 - 4px) / 6) * 4 + min(40px, 3.125vw) * 3);
}
.contents .column.col6 > *.size5 {
	width: calc(((100% - min(40px, 3.125vw) * 5 - 4px) / 6) * 5 + min(40px, 3.125vw) * 4);
}
.contents .column.col6 > *.size6 {
	width: calc(((100% - min(40px, 3.125vw) * 5 - 4px) / 6) * 6 + min(40px, 3.125vw) * 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, 3.125vw) * 6 - 4px) / 7);
}
.contents .column.col7 > *.size2 {
	width: calc(((100% - min(40px, 3.125vw) * 6 - 4px) / 7) * 2 + min(40px, 3.125vw) * 1);
}
.contents .column.col7 > *.size3 {
	width: calc(((100% - min(40px, 3.125vw) * 6 - 4px) / 7) * 3 + min(40px, 3.125vw) * 2);
}
.contents .column.col7 > *.size4 {
	width: calc(((100% - min(40px, 3.125vw) * 6 - 4px) / 7) * 4 + min(40px, 3.125vw) * 3);
}
.contents .column.col7 > *.size5 {
	width: calc(((100% - min(40px, 3.125vw) * 6 - 4px) / 7) * 5 + min(40px, 3.125vw) * 4);
}
.contents .column.col7 > *.size6 {
	width: calc(((100% - min(40px, 3.125vw) * 6 - 4px) / 7) * 6 + min(40px, 3.125vw) * 5);
}
.contents .column.col7 > *.size7 {
	width: calc(((100% - min(40px, 3.125vw) * 6 - 4px) / 7) * 7 + min(40px, 3.125vw) * 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, 3.125vw) * 7 - 4px) / 8);
}
.contents .column.col8 > *.size2 {
	width: calc(((100% - min(40px, 3.125vw) * 7 - 4px) / 8) * 2 + min(40px, 3.125vw) * 1);
}
.contents .column.col8 > *.size3 {
	width: calc(((100% - min(40px, 3.125vw) * 7 - 4px) / 8) * 3 + min(40px, 3.125vw) * 2);
}
.contents .column.col8 > *.size4 {
	width: calc(((100% - min(40px, 3.125vw) * 7 - 4px) / 8) * 4 + min(40px, 3.125vw) * 3);
}
.contents .column.col8 > *.size5 {
	width: calc(((100% - min(40px, 3.125vw) * 7 - 4px) / 8) * 5 + min(40px, 3.125vw) * 4);
}
.contents .column.col8 > *.size6 {
	width: calc(((100% - min(40px, 3.125vw) * 7 - 4px) / 8) * 6 + min(40px, 3.125vw) * 5);
}
.contents .column.col8 > *.size7 {
	width: calc(((100% - min(40px, 3.125vw) * 7 - 4px) / 8) * 7 + min(40px, 3.125vw) * 6);
}
.contents .column.col8 > *.size8 {
	width: calc(((100% - min(40px, 3.125vw) * 7 - 4px) / 8) * 8 + min(40px, 3.125vw) * 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, 3.125vw) * 8 - 4px) / 9);
}
.contents .column.col9 > *.size2 {
	width: calc(((100% - min(40px, 3.125vw) * 8 - 4px) / 9) * 2 + min(40px, 3.125vw) * 1);
}
.contents .column.col9 > *.size3 {
	width: calc(((100% - min(40px, 3.125vw) * 8 - 4px) / 9) * 3 + min(40px, 3.125vw) * 2);
}
.contents .column.col9 > *.size4 {
	width: calc(((100% - min(40px, 3.125vw) * 8 - 4px) / 9) * 4 + min(40px, 3.125vw) * 3);
}
.contents .column.col9 > *.size5 {
	width: calc(((100% - min(40px, 3.125vw) * 8 - 4px) / 9) * 5 + min(40px, 3.125vw) * 4);
}
.contents .column.col9 > *.size6 {
	width: calc(((100% - min(40px, 3.125vw) * 8 - 4px) / 9) * 6 + min(40px, 3.125vw) * 5);
}
.contents .column.col9 > *.size7 {
	width: calc(((100% - min(40px, 3.125vw) * 8 - 4px) / 9) * 7 + min(40px, 3.125vw) * 6);
}
.contents .column.col9 > *.size8 {
	width: calc(((100% - min(40px, 3.125vw) * 8 - 4px) / 9) * 8 + min(40px, 3.125vw) * 7);
}
.contents .column.col9 > *.size9 {
	width: calc(((100% - min(40px, 3.125vw) * 8 - 4px) / 9) * 9 + min(40px, 3.125vw) * 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, 3.125vw) * 9 - 4px) / 10);
}
.contents .column.col10 > *.size2 {
	width: calc(((100% - min(40px, 3.125vw) * 9 - 4px) / 10) * 2 + min(40px, 3.125vw) * 1);
}
.contents .column.col10 > *.size3 {
	width: calc(((100% - min(40px, 3.125vw) * 9 - 4px) / 10) * 3 + min(40px, 3.125vw) * 2);
}
.contents .column.col10 > *.size4 {
	width: calc(((100% - min(40px, 3.125vw) * 9 - 4px) / 10) * 4 + min(40px, 3.125vw) * 3);
}
.contents .column.col10 > *.size5 {
	width: calc(((100% - min(40px, 3.125vw) * 9 - 4px) / 10) * 5 + min(40px, 3.125vw) * 4);
}
.contents .column.col10 > *.size6 {
	width: calc(((100% - min(40px, 3.125vw) * 9 - 4px) / 10) * 6 + min(40px, 3.125vw) * 5);
}
.contents .column.col10 > *.size7 {
	width: calc(((100% - min(40px, 3.125vw) * 9 - 4px) / 10) * 7 + min(40px, 3.125vw) * 6);
}
.contents .column.col10 > *.size8 {
	width: calc(((100% - min(40px, 3.125vw) * 9 - 4px) / 10) * 8 + min(40px, 3.125vw) * 7);
}
.contents .column.col10 > *.size9 {
	width: calc(((100% - min(40px, 3.125vw) * 9 - 4px) / 10) * 9 + min(40px, 3.125vw) * 8);
}
.contents .column.col10 > *.size10 {
	width: calc(((100% - min(40px, 3.125vw) * 9 - 4px) / 10) * 10 + min(40px, 3.125vw) * 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, 3.125vw) * 10 - 4px) / 11);
}
.contents .column.col11 > *.size2 {
	width: calc(((100% - min(40px, 3.125vw) * 10 - 4px) / 11) * 2 + min(40px, 3.125vw) * 1);
}
.contents .column.col11 > *.size3 {
	width: calc(((100% - min(40px, 3.125vw) * 10 - 4px) / 11) * 3 + min(40px, 3.125vw) * 2);
}
.contents .column.col11 > *.size4 {
	width: calc(((100% - min(40px, 3.125vw) * 10 - 4px) / 11) * 4 + min(40px, 3.125vw) * 3);
}
.contents .column.col11 > *.size5 {
	width: calc(((100% - min(40px, 3.125vw) * 10 - 4px) / 11) * 5 + min(40px, 3.125vw) * 4);
}
.contents .column.col11 > *.size6 {
	width: calc(((100% - min(40px, 3.125vw) * 10 - 4px) / 11) * 6 + min(40px, 3.125vw) * 5);
}
.contents .column.col11 > *.size7 {
	width: calc(((100% - min(40px, 3.125vw) * 10 - 4px) / 11) * 7 + min(40px, 3.125vw) * 6);
}
.contents .column.col11 > *.size8 {
	width: calc(((100% - min(40px, 3.125vw) * 10 - 4px) / 11) * 8 + min(40px, 3.125vw) * 7);
}
.contents .column.col11 > *.size9 {
	width: calc(((100% - min(40px, 3.125vw) * 10 - 4px) / 11) * 9 + min(40px, 3.125vw) * 8);
}
.contents .column.col11 > *.size10 {
	width: calc(((100% - min(40px, 3.125vw) * 10 - 4px) / 11) * 10 + min(40px, 3.125vw) * 9);
}
.contents .column.col11 > *.size11 {
	width: calc(((100% - min(40px, 3.125vw) * 10 - 4px) / 11) * 11 + min(40px, 3.125vw) * 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, 3.125vw) * 11 - 4px) / 12);
}
.contents .column.col12 > *.size2 {
	width: calc(((100% - min(40px, 3.125vw) * 11 - 4px) / 12) * 2 + min(40px, 3.125vw) * 1);
}
.contents .column.col12 > *.size3 {
	width: calc(((100% - min(40px, 3.125vw) * 11 - 4px) / 12) * 3 + min(40px, 3.125vw) * 2);
}
.contents .column.col12 > *.size4 {
	width: calc(((100% - min(40px, 3.125vw) * 11 - 4px) / 12) * 4 + min(40px, 3.125vw) * 3);
}
.contents .column.col12 > *.size5 {
	width: calc(((100% - min(40px, 3.125vw) * 11 - 4px) / 12) * 5 + min(40px, 3.125vw) * 4);
}
.contents .column.col12 > *.size6 {
	width: calc(((100% - min(40px, 3.125vw) * 11 - 4px) / 12) * 6 + min(40px, 3.125vw) * 5);
}
.contents .column.col12 > *.size7 {
	width: calc(((100% - min(40px, 3.125vw) * 11 - 4px) / 12) * 7 + min(40px, 3.125vw) * 6);
}
.contents .column.col12 > *.size8 {
	width: calc(((100% - min(40px, 3.125vw) * 11 - 4px) / 12) * 8 + min(40px, 3.125vw) * 7);
}
.contents .column.col12 > *.size9 {
	width: calc(((100% - min(40px, 3.125vw) * 11 - 4px) / 12) * 9 + min(40px, 3.125vw) * 8);
}
.contents .column.col12 > *.size10 {
	width: calc(((100% - min(40px, 3.125vw) * 11 - 4px) / 12) * 10 + min(40px, 3.125vw) * 9);
}
.contents .column.col12 > *.size11 {
	width: calc(((100% - min(40px, 3.125vw) * 11 - 4px) / 12) * 11 + min(40px, 3.125vw) * 10);
}
.contents .column.col12 > *.size12 {
	width: calc(((100% - min(40px, 3.125vw) * 11 - 4px) / 12) * 12 + min(40px, 3.125vw) * 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 > table {
	position: relative;
	width: 100%;
	margin: 0px;
	border-spacing: 0px;
	empty-cells: show;
	background: #DBDBDB;
	border-collapse: collapse;
}
.contents .table > table > thead > tr > th {
	padding: 16px 40px;
	font-size: min(1.5625vw * var(--fontratio, 1), 20px * var(--fontratio, 1));
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	vertical-align: middle;
	text-align: left;
	background: #000;
}
@media screen and (max-width: 959px) {
	.contents .table > table > thead > tr > th {
		font-size: min(1.9512195122vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .table > table > thead > tr > th {
		font-size: min(3.9228650138vw * var(--fontratio, 1), 14.7107438017px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .table > table > thead > tr > th {
		padding: 8px 12px;
	}
}
.contents .table > table > thead > tr > * + th {
	border-left: 1px solid #fff;
}
.contents .table > table > tbody > tr > th {
	padding: 16px 40px;
	vertical-align: middle;
	text-align: center;
	font-size: min(1.328125vw * var(--fontratio, 1), 17px * var(--fontratio, 1));
	line-height: 1.7;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
	border: 1px solid #CDD6DD;
}
@media screen and (max-width: 959px) {
	.contents .table > table > tbody > tr > th {
		font-size: min(1.6585365854vw * var(--fontratio, 1), 13.6px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .table > table > tbody > tr > th {
		font-size: min(3.5571129477vw * var(--fontratio, 1), 13.3391735537px * var(--fontratio, 1));
	}
}
.contents .table > table > tbody > tr > th:not(.image):not(.cbox) > a {
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1.5;
	font-weight: 400;
	color: #0077B6;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.contents .table > table > tbody > tr > th:not(.image):not(.cbox) > a {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .table > table > tbody > tr > th:not(.image):not(.cbox) > a {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
.contents .table > table > tbody > tr > th:not(.image):not(.cbox) > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.25em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #0077B6;
	opacity: 0;
	transform: scaleX(3);
	pointer-events: none;
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
	pointer-events: none;
}
.contents .table > table > tbody > tr > th:not(.image):not(.cbox) > 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);
}
@media screen and (max-width: 767px) {
	.contents .table > table > tbody > tr > th {
		padding: 8px 12px;
	}
}
.contents .table > table > tr > td,
.contents .table > table > tbody > tr > td {
	padding: 16px 40px;
	vertical-align: middle;
	text-align: left;
	font-size: min(1.328125vw * var(--fontratio, 1), 17px * var(--fontratio, 1));
	line-height: 1.7;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 959px) {
	.contents .table > table > tr > td,
	.contents .table > table > tbody > tr > td {
		font-size: min(1.6585365854vw * var(--fontratio, 1), 13.6px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .table > table > tr > td,
	.contents .table > table > tbody > tr > td {
		font-size: min(3.5571129477vw * var(--fontratio, 1), 13.3391735537px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .table > table > tr > td,
	.contents .table > table > tbody > tr > td {
		padding: 8px 12px;
	}
}
.contents .table > table > tr > * + td,
.contents .table > table > tbody > tr > * + td {
	border-left: 1px solid #fff;
}
.contents .table > table > tr:nth-child(even) > td,
.contents .table > table > tbody > tr:nth-child(even) > td {
	background: #F5F4F4;
}
.contents .table > table > tr > td:not(.d):not(.image):not(.cbox) > a {
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1.5;
	font-weight: 400;
	color: #0077B6;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.contents .table > table > tr > td:not(.d):not(.image):not(.cbox) > a {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .table > table > tr > td:not(.d):not(.image):not(.cbox) > a {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
.contents .table > table > tr > td:not(.d):not(.image):not(.cbox) > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.25em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #0077B6;
	opacity: 0;
	transform: scaleX(3);
	pointer-events: none;
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
	pointer-events: none;
}
.contents .table > table > tr > td:not(.d):not(.image):not(.cbox) > 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 .table > table > tbody > tr > td:not(.image):not(.cbox) > a {
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1.5;
	font-weight: 400;
	color: #0077B6;
	position: relative;
	display: inline-block;
}
@media screen and (max-width: 959px) {
	.contents .table > table > tbody > tr > td:not(.image):not(.cbox) > a {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .table > table > tbody > tr > td:not(.image):not(.cbox) > a {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
.contents .table > table > tbody > tr > td:not(.image):not(.cbox) > a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.25em - 10px);
	right: 55%;
	width: 15%;
	height: 1px;
	background: #0077B6;
	opacity: 0;
	transform: scaleX(3);
	pointer-events: none;
	transform-origin: right;
	transition: transform 0s 0.3s, bottom 0.3s, right 0s 0.3s, width 0s 0.3s, opacity 0.3s;
	pointer-events: none;
}
.contents .table > table > tbody > tr > td:not(.image):not(.cbox) > 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 .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 .link.right ul {
	align-items: flex-end;
	justify-content: flex-end;
}
.contents .link.center ul {
	align-items: center;
	justify-content: center;
}
.contents .link.wrap ul {
	flex-direction: row;
	flex-wrap: wrap;
}
.contents .link ul {
	display: flex;
	flex-direction: column;
	gap: 20px min(50px, 3.90625vw);
	align-items: flex-start;
	justify-content: flex-start;
}
.contents .link a {
	position: relative;
	display: inline-flex;
	align-items: center;
	margin-right: 40px;
	padding: 5px 0px !important;
	font-size: min(1.25vw * var(--fontratio, 1), 16px * var(--fontratio, 1));
	line-height: 1.3;
	font-weight: 500;
	color: #011BA8;
	border-bottom: 1px solid #011BA8;
	z-index: 0;
}
@media screen and (max-width: 959px) {
	.contents .link a {
		font-size: min(1.5609756098vw * var(--fontratio, 1), 12.8px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	.contents .link a {
		font-size: min(3.4330798898vw * var(--fontratio, 1), 12.8740495868px * var(--fontratio, 1));
	}
}
.contents .link a:before {
	content: "";
	display: block;
	position: absolute;
	width: 19px;
	height: 5px;
	right: -40px;
	top: calc(50% - 3px);
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	transform: skew(45deg);
	transform-origin: right bottom;
	transition: 200ms;
}
.contents .link a:after {
	content: "";
	display: block;
	position: absolute;
	width: 30px;
	height: 2px;
	bottom: -1px;
	right: calc(100% - 30px);
	background: #fff;
	opacity: 0;
}
.contents .link a:hover:before {
	right: -45px;
	transition: 200ms 400ms;
}
.contents .link a:hover:after {
	right: 0;
	width: 0px;
	opacity: 1;
	transition: 600ms, opacity 100ms, width 300ms 300ms;
}

/*
    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: none;
}

#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: #0077B6;
	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 * var(--fontratio, 1), 22px * var(--fontratio, 1));
	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 * var(--fontratio, 1), 17.6px * var(--fontratio, 1));
	}
}
@media screen and (max-width: 767px) {
	#colorbox #waiting > div {
		font-size: min(4.1614104683vw * var(--fontratio, 1), 15.6052892562px * var(--fontratio, 1));
	}
}
#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;
}
@media screen and (max-width: 767px) {
	#cboxLoadedContent .contents > div {
		padding: 10px;
	}
}
