@font-face {
				font-family: "NotoSansJP";
				font-weight: 400;
				src: local("Noto Sans CJK JP Regular"), local("NotoSansCJKjp-Regular"), local("NotoSansJP-Regular"), url(https://fonts.gstatic.com/ea/notosansjapanese/v5/NotoSansJP-Regular.woff2) format("woff2"), url(https://fonts.gstatic.com/ea/notosansjapanese/v5/NotoSansJP-Regular.woff) format("woff");
}
@font-face {
				font-family: "NotoSansJP";
				font-weight: 500;
				src: local("Noto Sans CJK JP Medium"), local("NotoSansCJKjp-Medium"), local("NotoSansJP-Medium"), url(https://fonts.gstatic.com/ea/notosansjapanese/v5/NotoSansJP-Medium.woff2) format("woff2"), url(https://fonts.gstatic.com/ea/notosansjapanese/v5/NotoSansJP-Medium.woff) format("woff");
}
@font-face {
				font-family: "NotoSansJP";
				font-weight: 700;
				src: local("Noto Sans CJK JP Bold"), local("NotoSansCJKjp-Bold"), local("NotoSansJP-Bold"), url(https://fonts.gstatic.com/ea/notosansjapanese/v5/NotoSansJP-Bold.woff2) format("woff2"), url(https://fonts.gstatic.com/ea/notosansjapanese/v5/NotoSansJP-Bold.woff) format("woff");
}
#page {
				text-align: left;
}

.thiscontents {
				font-family: "NotoSansJP", sans-serif;
				-webkit-font-smoothing: antialiased;
				-moz-osx-font-smoothing: grayscale;
				-webkit-text-size-adjust: 100%;
				margin-inline: auto;
}
.thiscontents *,
.thiscontents *:before,
.thiscontents *:after {
				box-sizing: border-box;
}
.thiscontents a:link {
				color: #0067cc;
}
.thiscontents a:visited {
				color: #0067cc;
}
.thiscontents figure {
				margin: 0;
				padding: 0;
}

.l-footer {
				margin-top: 0;
}

.text-nowrap {
				white-space: nowrap;
}

.thiscontents .tablet {
				display: none;
}
.thiscontents .sp {
				display: none;
}
.thiscontents .sp-tablet {
				display: none;
}
.thiscontents .hide {
				display: none;
}
.thiscontents .show {
				display: block;
}

@media screen and (max-width: 949px) {
				.thiscontents .pc {
								display: none;
				}
				.thiscontents .pc-tablet,
				.thiscontents .sp-tablet,
				.thiscontents .tablet {
								display: block;
				}
}
@media screen and (max-width: 767px) {
				.thiscontents .sp {
								display: block;
				}
				.thiscontents .pc-tablet,
				.thiscontents .tablet {
								display: none;
				}
}
.thiscontents img.fit {
				width: 100%;
				height: auto;
}

.pagetop {
				position: fixed;
				z-index: 100;
				right: 10px;
				bottom: 10px;
				opacity: 0;
}
.pagetop.is-active {
				opacity: 1;
}

.pagetop-btn > a {
				display: flex;
				justify-content: center;
				opacity: 0.75;
				cursor: pointer;
				width: 42px;
				height: 42px;
				border-radius: 100%;
				border: solid #fff 1px;
				background-color: rgba(0, 0, 0, 0.2);
				/*
				@media (hover: none) {
					&:active {
						@content;
					}
				}
				*/
}
@media screen and (max-width: 767px) {
				.pagetop-btn > a {
								width: 37px;
								height: 37px;
				}
}
.pagetop-btn > a::after {
				position: absolute;
				content: "";
				width: 9px;
				height: 9px;
				border-top: solid 2px #fff;
				border-right: solid 2px #fff;
				transform: rotate(-45deg);
				right: 16px;
				top: 50%;
				margin-top: -4.5px;
}
@media screen and (max-width: 767px) {
				.pagetop-btn > a::after {
								right: 14px;
				}
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
				.pagetop-btn > a:hover {
								opacity: 1;
								color: #222;
								border: solid #fff 1px;
								background-color: #fff;
				}
				.pagetop-btn > a:hover::after {
								border-color: #222;
				}
}

.fs-16 {
				font-size: 16px;
}

.fs-18 {
				font-size: 18px;
}

.fs-20 {
				font-size: 20px;
}

.fs-22 {
				font-size: 22px;
}

.fs-24 {
				font-size: 24px;
}

.fs-26 {
				font-size: 26px;
}

.fs-28 {
				font-size: 28px;
}

.fs-30 {
				font-size: 30px;
}

.fs-32 {
				font-size: 32px;
}

@media screen and (max-width: 767px) {
				.fs-16-sp {
								font-size: 16px;
				}
				.fs-18-sp {
								font-size: 18px;
				}
				.fs-20-sp {
								font-size: 20px;
				}
				.fs-22-sp {
								font-size: 22px;
				}
				.fs-24-sp {
								font-size: 24px;
				}
				.fs-26-sp {
								font-size: 26px;
				}
				.fs-28-sp {
								font-size: 28px;
				}
				.fs-30-sp {
								font-size: 30px;
				}
				.fs-32-sp {
								font-size: 32px;
				}
}
.mt-xs {
				margin-top: 4px !important;
}

.mt-sm {
				margin-top: 8px !important;
}

.mt-md {
				margin-top: 16px !important;
}

.mt-lg {
				margin-top: 24px !important;
}

.mb-xs {
				margin-bottom: 4px !important;
}

.mb-sm {
				margin-bottom: 8px !important;
}

.mb-md {
				margin-bottom: 16px !important;
}

.mb-lg {
				margin-bottom: 24px !important;
}

.pt-xs {
				padding-top: 4px !important;
}

.pt-sm {
				padding-top: 8px !important;
}

.pt-md {
				padding-top: 16px !important;
}

.pt-lg {
				padding-top: 24px !important;
}

.pb-xs {
				padding-bottom: 4px !important;
}

.pb-sm {
				padding-bottom: 8px !important;
}

.pb-md {
				padding-bottom: 16px !important;
}

.pb-lg {
				padding-bottom: 24px !important;
}

.text-indent {
				text-indent: -1em;
				padding-left: 1em;
}

.text-center {
				text-align: center;
}

.text-del {
				text-decoration: line-through;
}

.text-kerning {
				font-feature-settings: "palt" 1;
}

.text-under {
				text-decoration: underline;
}

.fw-bold {
				font-weight: 700;
}

.color-marker-yel {
				background: linear-gradient(transparent 1em, #ffeb66 1em, #ffeb66 1.4em, transparent 1.4em);
}

.color-marker-skew {
				position: relative;
				z-index: 0;
}
.color-marker-skew::before {
				content: "";
				position: absolute;
				z-index: -1;
				display: block;
				left: 0;
				bottom: 8px;
				width: 100%;
				height: 14%;
				transform: skew(-30deg);
				background: #fffe00;
}

.color-primary {
				color: #d43e07;
}

.h-bd {
				display: flex;
				align-items: center;
				justify-content: center;
}
.h-bd::before, .h-bd::after {
				content: "";
				height: 3px;
				width: 60px;
				border-radius: 999px;
				background-color: currentColor;
}
@media screen and (max-width: 767px) {
				.h-bd::before, .h-bd::after {
								width: 40px;
				}
}
.h-bd::before {
				margin-right: 0.8rem;
}
.h-bd::after {
				margin-left: 0.8rem;
}

.content-800 {
				max-width: 800px;
				margin-inline: auto;
}

a[data-micromodal-trigger=modal-archive] {
				text-decoration: none;
}
a[data-micromodal-trigger=modal-archive]:hover {
				opacity: 0.75;
				color: #333;
}

#modal-archive {
				position: relative;
				z-index: 1234;
				display: none;
				text-decoration: none;
}
#modal-archive.is-open {
				display: block;
}
#modal-archive[aria-hidden=false] {
				animation: fadeIn 0.3s;
}
#modal-archive[aria-hidden=true] {
				animation: fadeOut 0.3s;
}
@keyframes fadeIn {
				from {
								opacity: 0;
				}
				to {
								opacity: 1;
				}
}
@keyframes fadeOut {
				from {
								opacity: 1;
				}
				to {
								opacity: 0;
				}
}
#modal-archive .modal-overlay {
				overflow-y: auto;
				position: fixed;
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
				padding: 16px;
				background: rgba(0, 0, 0, 0.75);
				display: flex;
				justify-content: center;
				align-items: center;
}
@media screen and (max-width: 767px) {
				#modal-archive .modal-overlay {
								display: block;
				}
}
#modal-archive .modal-content {
				overflow: hidden;
				max-width: 964px;
				height: calc(100% - 48px);
				margin-inline: auto;
				border-radius: 8px;
				background: #fff;
				/*
				.video-wrap {
					aspect-ratio: 16 / 9;

					.video {
						aspect-ratio: 16 / 9;
						width: 100%;
						height: 100%;
						display: block;
					}
				}
				*/
}
#modal-archive .modal-content .modal-content-inner {
				height: 100%;
				padding: 32px;
				overflow-y: auto;
}
@media screen and (max-width: 767px) {
				#modal-archive .modal-content .modal-content-inner {
								padding: 24px;
				}
}
#modal-archive .modal-content a.modal-close {
				display: block;
				font-size: 16px;
				font-weight: bold;
				text-align: center;
				text-decoration: none;
				color: #333;
				padding: 10px 16px;
				width: 160px;
				margin: 0 auto;
				border-radius: 100px;
				border: 3px solid #cfcfcf;
				background: #fff;
}

.btn-archive {
				position: relative;
				cursor: pointer;
				display: flex;
				justify-content: center;
				align-items: center;
				font-size: 22px;
				font-weight: 700;
				line-height: 1.4;
				color: #DB3535 !important;
				text-align: center;
				max-width: 480px;
				margin: 60px auto 0;
				padding: 20px 16px;
				border-radius: 12px;
				border: solid 3px #DB3535;
				background-color: #fff;
}
@media screen and (max-width: 767px) {
				.btn-archive {
								font-size: 16px;
								padding: 16px 12px;
				}
}
.btn-archive::after {
				content: "";
				position: relative;
				display: inline-block;
				vertical-align: middle;
				top: 0;
				width: 24px;
				height: 24px;
				margin-left: 10px;
				background: url("../images/ic_window.svg") no-repeat center/100% auto;
}
.archive-list {
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
				.archive-list {
								display: block;
				}
}
.archive-list > li {
				width: calc(33.3333% - 12px);
}
@media screen and (max-width: 767px) {
				.archive-list > li {
								width: 100%;
				}
}
.archive-list > li a {
				display: block;
				cursor: pointer;
				width: 100%;
				height: 100%;
				color: #333 !important;
				/*
				@media (hover: none) {
					&:active {
						@content;
					}
				}
				*/
}
.archive-list > li a img {
				width: 100%;
				height: auto;
}
.archive-list > li dl {
				margin-top: 8px;
				margin-bottom: 24px;
}
.archive-list > li dt {
				font-size: 16px;
				color: #333;
}
@media screen and (max-width: 767px) {
				.archive-list > li dt {
								font-size: 14px;
				}
}
.archive-list > li dd {
				font-size: 16px;
				font-weight: bold;
				color: #333;
}

main.main {
				position: relative;
				z-index: 0;
				height: 100vh;
				background: url("../images/bg_kv_cs.jpg") no-repeat center top/cover;
}
@media screen and (max-width: 767px) {
				main.main {
								height: auto;
								background: url("../images/bg_kv_cs_sp.jpg") no-repeat center top/100% auto;
				}
}
main.main::after {
				/*
				content: '';
				position: absolute;
				z-index: -1;
				left: 0;
				right: 0;
				bottom: 0;
				width: 100%;
				min-height: 240px;
				margin-inline: auto;
				aspect-ratio: 2560 / 240;
				background: url("../images/bg_foot.png") no-repeat center bottom / 100% auto;

				@media screen and (max-width: 1280px) {
					width: 1280px;
				}

				@media screen and (max-width: 767px) {
					width: 1100px;
					min-height: auto;
				}
				*/
}

.hero-cs {
				position: relative;
}
@media screen and (max-width: 767px) {
				.hero-cs {
								padding-inline: 16px;
								padding-bottom: 32vw;
				}
}
.hero-cs .logo {
				max-width: 320px;
				padding-top: 60px;
				margin: 0 auto 32px;
}
@media screen and (max-width: 767px) {
				.hero-cs .logo {
								max-width: 280px;
								margin-bottom: 16px;
				}
}
.hero-cs h2 {
				font-size: 32px;
				font-weight: 700;
				color: #d43e07;
				text-align: center;
				margin-bottom: 3px;
}
@media screen and (max-width: 767px) {
				.hero-cs h2 {
								font-size: 22px;
				}
}
.hero-cs p {
				font-size: 24px;
				font-weight: 700;
				line-height: 1.8;
				text-align: center;
}
@media screen and (max-width: 767px) {
				.hero-cs p {
								font-size: 18px;
				}
}
.hero-cs .btn-archive {
				margin-top: 40px;
}
@media screen and (max-width: 767px) {
				.hero-cs .btn-archive {
								margin-top: 32px;
				}
}