@charset "UTF-8";
/* リセットCSS
===================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body {
	padding: 0;
	margin: 0;
}

body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	line-height: 1.6;
	font-weight: 500;
	background: #fff;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, button, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	border: 0;
	font: inherit;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

html {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

li, dd {
	list-style-type: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th, td {
	font-weight: normal;
	text-align: left;
	vertical-align: middle;
}

q, blockquote {
	quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
	content: "";
	content: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}

img {
	border: none;
	vertical-align: bottom;
	width: 100%;
	max-width: 100%;
	height: auto;
}

a {
	text-decoration: none;
	color: inherit;
}
@media (hover: hover) {
	a:hover {
		opacity: 0.7;
	}
}

input, select {
	-webkit-appearance: none;
	-moz-appearance: none;
			 appearance: none;
	background: #fff;
}

:root {
	--rate-vw: 0.078125vw;
	--rate-fz: 0.078125vw;
	--cap: 1;
}
@media screen and (max-width: 999px) {
	:root {
		--rate-fz: 0.09765625vw;
	}
}
@media screen and (max-width: 767px) {
	:root {
		--rate-vw: 0.2487562189vw;
		--rate-fz: 0.2487562189vw;
		--cap: 10;
	}
}

/*------------------------------
common
------------------------------*/
body {
	word-break: break-all;
	color: #475569;
	font-family: "Noto Sans JP", sans-serif;
	font-feature-settings: "palt";
}
body.is-active {
	position: fixed;
	width: 100%;
	height: 100%;
	overflow-y: scroll; /* スクロールバー補完 */
}

html {
	font-size: 100%;
	scroll-behavior: smooth;
}

/* スマホ用の表示の時はis-pcは非表示 */
@media (max-width: 767px) {
	.pc {
		display: none !important;
	}
}
/* PC用の表示の時はis-spは非表示 */
@media (min-width: 768px) {
	.sp {
		display: none !important;
	}
}
@media (min-width: 768px) {
	main {
		margin-top: clamp(0px, 82 * var(--rate-vw), 82px * var(--cap));
	}
}

/* コンテンツ幅
------------------------------*/
.inner {
	margin-inline: auto;
	width: clamp(0px, 1178 * var(--rate-vw), 1178px * var(--cap));
	max-width: 1178px;
}
@media screen and (max-width: 999px) {
	.inner {
		width: 90%;
		max-width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.inner {
		width: clamp(0px, 354 * var(--rate-vw), 354px * var(--cap));
	}
}

@media (min-width: 768px) {
	.u-inner-1216 {
		width: clamp(0px, 1216 * var(--rate-vw), 1216px * var(--cap));
		max-width: unset;
	}
}

/* ボタン
------------------------------*/
.btn-lay-cta-01-01 {
	width: 15.4em;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(0px, 19 * var(--rate-fz), 19px * var(--cap));
	font-weight: 700;
	line-height: 1.1052631579;
	color: #fff;
	border-radius: 0.6em;
	text-align: center;
	padding: 0.6em 0; /*  */
	position: relative;
}
.btn-lay-cta-01-01::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1.6em;
	transform: translateY(-50%);
	background: url(../img/icon_btn_01.webp) no-repeat center center/contain;
	width: 0.8em;
	aspect-ratio: 32/32;
}
@media (max-width: 767px) {
	.btn-lay-cta-01-01 {
		width: 100%;
		font-size: clamp(0px, 18 * var(--rate-fz), 18px * var(--cap));
		padding: 0.8em 0;
	}
	.btn-lay-cta-01-01::after {
		right: 0.9em;
	}
}

.u-btn-red {
	background: #D3003F;
}

.u-btn-blue {
	background: #263E8E;
}

/* タイトル
------------------------------*/
.hdg-common-01 {
	font-size: clamp(0px, 32 * var(--rate-fz), 32px * var(--cap));
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	color: #333;
	position: relative;
}
@media (max-width: 767px) {
	.hdg-common-01 {
		font-size: clamp(0px, 24 * var(--rate-fz), 24px * var(--cap));
	}
}

.hdg-common-sm {
	display: block;
	font-size: clamp(0px, 21 * var(--rate-fz), 21px * var(--cap));
}
@media (max-width: 767px) {
	.hdg-common-sm {
		font-size: clamp(0px, 15 * var(--rate-fz), 15px * var(--cap));
	}
}

.hdg-common-underline {
	padding-bottom: 1em;
}
.hdg-common-underline::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background: #D3003F;
	width: 2.5em;
	height: 0.125em;
}

.hdg-en-01 {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -60%);
	font-size: clamp(0px, 120 * var(--rate-fz), 120px * var(--cap));
	font-weight: 400;
	font-family: "Oswald", sans-serif;
	color: #E3EFFC;
	width: 100%;
	letter-spacing: -0.05em;
}
@media (max-width: 767px) {
	.hdg-en-01 {
		font-size: clamp(0px, 94 * var(--rate-fz), 94px * var(--cap));
		white-space: nowrap;
	}
}

.hdg-ja-01 {
	position: relative;
	display: block;
	font-size: clamp(0px, 40 * var(--rate-fz), 40px * var(--cap));
	font-weight: 700;
	line-height: 1.5;
	color: #263E8E;
}
@media (max-width: 767px) {
	.hdg-ja-01 {
		font-size: clamp(0px, 30 * var(--rate-fz), 30px * var(--cap));
	}
}

/* フォントから―
------------------------------*/
.u-text-wh {
	color: #fff;
}

/*------------------------------
header
------------------------------*/
header {
	padding: clamp(0px, 20 * var(--rate-vw), 20px * var(--cap)) 0;
}
@media (min-width: 768px) {
	header {
		position: fixed;
		z-index: 200;
		width: 100%;
		background: #fff;
		top: 0;
		left: 0;
	}
}
@media (max-width: 767px) {
	header {
		padding: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap)) 0;
	}
}

.lay-header-01 {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.box-header-01 {
	width: clamp(0px, 240 * var(--rate-vw), 240px * var(--cap));
}
@media (max-width: 767px) {
	.box-header-01 {
		width: clamp(0px, 175 * var(--rate-vw), 175px * var(--cap));
		margin: 0 auto;
	}
}

@media (max-width: 767px) {
	.nav-header-01 {
		display: none;
	}
}

.box-header-02 {
	display: flex;
	align-items: center;
	gap: 0 clamp(0px, 11 * var(--rate-vw), 11px * var(--cap));
}

.box-header-03 a {
	display: inline-block;
	width: 19.5em;
	font-size: clamp(0px, 12 * var(--rate-fz), 12px * var(--cap));
	font-weight: 700;
	line-height: 1.3333333333;
	padding: 1em 0;
	border-radius: 0.6em;
	text-align: center;
	color: #fff;
}

@media (min-width: 768px) {
	.box-header-03:nth-child(2) a {
		width: 20em;
	}
}

/*------------------------------
lay-fv-01
------------------------------*/
.lay-fv-01 {
	background: #D8EEFF;
	border-radius: clamp(0px, 64 * var(--rate-vw), 64px * var(--cap));
	padding-top: clamp(0px, 64 * var(--rate-vw), 64px * var(--cap));
	position: relative;
}
@media (max-width: 767px) {
	.lay-fv-01 {
		border-radius: clamp(0px, 48 * var(--rate-vw), 48px * var(--cap));
		padding-top: clamp(0px, 48 * var(--rate-vw), 48px * var(--cap));
	}
	.lay-fv-01::after {
		display: none;
	}
}

.box-lay-fv-01-img {
	position: absolute;
	top: 0;
	right: calc(min( 0 * var(--rate-vw),0px) + max(0px, (100vw - 1280px) / 2));
	pointer-events: none;
	width: clamp(0px, 885 * var(--rate-vw), 885px * var(--cap));
	transform: translate(-1%, 6%);
}

@media (max-width: 767px) {
	.box-lay-fv-01-01 {
		position: relative;
		z-index: 10;
	}
}

.doc-lay-fv-01-01 {
	display: inline-block;
	font-size: clamp(0px, 15 * var(--rate-fz), 15px * var(--cap));
	font-weight: 700;
	line-height: 1.0666666667;
	color: #004099;
	border-radius: 666em;
	background: rgba(0, 64, 153, 0.1);
	padding: 0.5em 1.6em;
}
@media (max-width: 767px) {
	.doc-lay-fv-01-01 {
		font-size: clamp(0px, 12 * var(--rate-fz), 12px * var(--cap));
		padding: 0.5em 1.5em;
	}
}

.hdg-lay-fv-01-01 {
	margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
	font-size: clamp(0px, 58 * var(--rate-fz), 58px * var(--cap));
	font-weight: 900;
	line-height: 1.5;
	color: #263E8E;
	font-feature-settings: "palt";
}
.hdg-lay-fv-01-01 strong {
	color: #D3003F;
	margin-left: -0.1em;
}
@media (max-width: 999px) {
	.hdg-lay-fv-01-01 {
		font-size: clamp(0px, 48 * var(--rate-fz), 48px * var(--cap));
	}
}
@media (max-width: 767px) {
	.hdg-lay-fv-01-01 {
		margin-top: clamp(0px, 18 * var(--rate-vw), 18px * var(--cap));
		font-size: clamp(0px, 36 * var(--rate-vw), 36px * var(--cap));
		letter-spacing: -0.75px;
	}
	.hdg-lay-fv-01-01 strong {
		margin: 0;
	}
}

.hdg-lay-fv-01-02 {
	margin-top: clamp(0px, 16 * var(--rate-vw), 16px * var(--cap));
	font-size: clamp(0px, 26 * var(--rate-fz), 26px * var(--cap));
	font-weight: 500;
	line-height: 1.5;
}
@media (max-width: 999px) {
	.hdg-lay-fv-01-02 {
		font-size: clamp(0px, 20 * var(--rate-fz), 20px * var(--cap));
	}
}
@media (max-width: 767px) {
	.hdg-lay-fv-01-02 {
		margin-top: clamp(0px, 12 * var(--rate-vw), 12px * var(--cap));
		font-size: clamp(0px, 19 * var(--rate-fz), 19px * var(--cap));
	}
}

.doc-lay-fv-01-02 {
	margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
	font-size: clamp(0px, 18 * var(--rate-fz), 18px * var(--cap));
	line-height: 1.6111111111;
	color: #475569;
}
@media (max-width: 767px) {
	.doc-lay-fv-01-02 {
		font-size: clamp(0px, 15 * var(--rate-fz), 15px * var(--cap));
		margin-top: clamp(0px, 18 * var(--rate-vw), 18px * var(--cap));
	}
}

.box-lay-fv-01-02 {
	margin-top: 2.7%;
	display: flex;
	gap: 0 clamp(0px, 16 * var(--rate-vw), 16px * var(--cap));
}
@media (max-width: 767px) {
	.box-lay-fv-01-02 {
		flex-direction: column;
		gap: clamp(0px, 12 * var(--rate-vw), 12px * var(--cap)) 0;
		margin-top: clamp(0px, 18 * var(--rate-vw), 18px * var(--cap));
	}
}

.doc-lay-fv-01-03 {
	margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
	font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
	line-height: 2.0714285714;
	color: #475569;
}
@media (max-width: 767px) {
	.doc-lay-fv-01-03 {
		margin-top: clamp(0px, 18 * var(--rate-vw), 18px * var(--cap));
		font-size: clamp(0px, 10 * var(--rate-fz), 10px * var(--cap));
	}
}

.box-lay-fv-01-04 {
	padding-bottom: clamp(0px, 96 * var(--rate-vw), 96px * var(--cap));
	margin-top: clamp(0px, 58 * var(--rate-vw), 58px * var(--cap));
	position: relative;
}
@media (max-width: 767px) {
	.box-lay-fv-01-04 {
		margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
		padding-bottom: 0;
	}
}

.list-lay-fv-01-01 {
	max-width: clamp(0px, 900 * var(--rate-vw), 900px * var(--cap));
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: clamp(0px, 30 * var(--rate-vw), 30px * var(--cap)) clamp(0px, 35 * var(--rate-vw), 35px * var(--cap));
}
.list-lay-fv-01-01 li {
	width: calc(33.3% - clamp(0px, 35 * var(--rate-vw), 35px * var(--cap)) * 2 / 3);
	border: 4px solid #DDE4EC;
	background: #fff;
	font-size: clamp(0px, 18 * var(--rate-fz), 18px * var(--cap));
	font-weight: 500;
	line-height: 1.5;
	color: #263E8E;
	padding: 0.8em 0em;
}
.list-lay-fv-01-01 li p {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto;
	text-align: center;
}
@media (max-width: 999px) {
	.list-lay-fv-01-01 {
		max-width: 100%;
	}
}
@media (max-width: 767px) {
	.list-lay-fv-01-01 {
		flex-direction: column;
		gap: clamp(0px, 8 * var(--rate-vw), 8px * var(--cap)) 0;
		width: 97%;
		margin: 0 auto;
	}
	.list-lay-fv-01-01 li {
		width: 100%;
		font-size: clamp(0px, 15 * var(--rate-fz), 15px * var(--cap));
		padding: 0.7em;
		text-align: center;
	}
}

@media (min-width: 768px) {
	.box-lay-fv-01-05 {
		position: absolute;
		bottom: 0;
		right: calc(min( 80 * var(--rate-vw),80px) + max(0px, (100vw - 1280px) / 2));
		width: clamp(0px, 400 * var(--rate-vw), 400px * var(--cap));
	}
}
@media (max-width: 767px) {
	.box-lay-fv-01-05 {
		margin: clamp(0px, 10 * var(--rate-vw), 10px * var(--cap)) auto 0;
		width: 90%;
		transform: translateX(-3%);
	}
}

/*------------------------------
lay-research-01
------------------------------*/
.lay-research-01 {
	padding-top: clamp(0px, 170 * var(--rate-vw), 170px * var(--cap));
}
@media (max-width: 767px) {
	.lay-research-01 {
		padding-top: clamp(0px, 445 * var(--rate-vw), 445px * var(--cap));
		overflow: hidden;
	}
}

.box-lay-research-01-01 {
	position: relative;
}
.box-lay-research-01-01::before {
	content: "";
	position: absolute;
	background: url(../img/bg_research_01.webp) no-repeat center center/100%;
	aspect-ratio: 602/336;
	transform: translate(86%, -60%);
	width: 25%;
	left: 50%;
	top: 50%;
}
.box-lay-research-01-01::after {
	content: "";
	position: absolute;
	background: url(../img/bg_research_02.webp) no-repeat center center/100%;
	aspect-ratio: 606/297;
	transform: translate(-177%, -57%);
	width: 27%;
	left: 50%;
	top: 50%;
}
@media (max-width: 767px) {
	.box-lay-research-01-01::before {
		aspect-ratio: 602/336;
		transform: translate(20%, -156%);
		width: 85%;
		left: unset;
		right: 0;
		top: 0%;
	}
	.box-lay-research-01-01::after {
		transform: translate(-22%, -291%);
		width: 88%;
		left: 0;
		top: 0%;
	}
}

.doc-lay-research-01-01 {
	font-size: clamp(0px, 18 * var(--rate-fz), 18px * var(--cap));
	font-weight: 400;
	line-height: 1.6666666667;
	text-align: center;
	margin-top: 1.7em;
	letter-spacing: 0.01em;
	font-feature-settings: normal;
}
@media (max-width: 767px) {
	.doc-lay-research-01-01 {
		margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
		font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
		text-align: left;
	}
}

.list-lay-research-01-01 {
	margin-top: clamp(0px, 64 * var(--rate-vw), 64px * var(--cap));
	display: flex;
	gap: 0 clamp(0px, 40 * var(--rate-vw), 40px * var(--cap));
}
@media (max-width: 767px) {
	.list-lay-research-01-01 {
		margin-top: clamp(0px, 48 * var(--rate-vw), 48px * var(--cap));
		flex-direction: column;
		gap: clamp(0px, 30 * var(--rate-vw), 30px * var(--cap)) 0;
	}
}

.box-lay-research-01-02 {
	width: calc(33.3% - clamp(0px, 40 * var(--rate-vw), 40px * var(--cap)) * 2 / 3);
	border: 1px solid #D7D8D9;
	border-radius: clamp(0px, 16 * var(--rate-vw), 16px * var(--cap));
	padding: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
}
@media (max-width: 767px) {
	.box-lay-research-01-02 {
		width: 100%;
		padding: clamp(0px, 18 * var(--rate-vw), 18px * var(--cap));
	}
}

.box-lay-research-01-03 {
	width: clamp(0px, 92 * var(--rate-vw), 92px * var(--cap));
	margin: 0 auto;
}
@media (max-width: 767px) {
	.box-lay-research-01-03 {
		width: clamp(0px, 105 * var(--rate-vw), 105px * var(--cap));
	}
}

.hdg-lay-research-01-01 {
	margin-top: 0.6em;
	font-size: clamp(0px, 20 * var(--rate-fz), 20px * var(--cap));
	font-weight: 700;
	line-height: 1.4;
	color: #263E8E;
	text-align: center;
}
@media (max-width: 767px) {
	.hdg-lay-research-01-01 {
		font-size: clamp(0px, 21 * var(--rate-fz), 21px * var(--cap));
		margin-top: 0.9em;
		line-height: 1.5;
	}
}

.doc-lay-research-01-01b {
	font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
	font-weight: 400;
	line-height: 1.6428571429;
	margin-top: clamp(0px, 16 * var(--rate-vw), 16px * var(--cap));
	padding: 0 0.5em;
}
@media (max-width: 767px) {
	.doc-lay-research-01-01b {
		margin-top: 0.3em;
		padding: 0;
	}
}

.box-lay-research-01-04 {
	margin-top: clamp(0px, 16 * var(--rate-vw), 16px * var(--cap));
}
@media (max-width: 767px) {
	.box-lay-research-01-04 {
		width: clamp(0px, 234 * var(--rate-vw), 234px * var(--cap));
		margin: 0 auto;
		margin-top: 1%;
	}
}

@media (max-width: 767px) {
	.box-lay-research-01-04b {
		margin-top: 5%;
		width: 81%;
	}
}

.box-lay-research-01-05 {
	margin-top: clamp(0px, 80 * var(--rate-vw), 80px * var(--cap));
	display: flex;
	justify-content: center;
	gap: 0 clamp(0px, 32 * var(--rate-vw), 32px * var(--cap));
	align-items: stretch;
}
@media (max-width: 767px) {
	.box-lay-research-01-05 {
		gap: 0 clamp(0px, 12 * var(--rate-vw), 12px * var(--cap));
		margin-top: clamp(0px, 60 * var(--rate-vw), 60px * var(--cap));
	}
}

.box-lay-research-01-06 {
	display: flex;
	flex-direction: column;
}
@media (max-width: 767px) {
	.box-lay-research-01-06 {
		width: calc(50% - clamp(0px, 12 * var(--rate-vw), 12px * var(--cap)) / 2);
	}
}

.doc-lay-research-01-02 {
	font-size: clamp(0px, 16 * var(--rate-fz), 16px * var(--cap));
	font-weight: 400;
	line-height: 1.875;
	text-align: center;
}
@media (max-width: 767px) {
	.doc-lay-research-01-02 {
		font-size: clamp(0px, 12 * var(--rate-fz), 12px * var(--cap));
	}
}

.btn-lay-research-01-01 {
	height: 100%;
	margin-top: clamp(0px, 8 * var(--rate-vw), 8px * var(--cap));
}
@media (max-width: 767px) {
	.btn-lay-research-01-01 {
		margin-top: 2%;
	}
	.btn-lay-research-01-01 a {
		font-size: clamp(0px, 15 * var(--rate-fz), 15px * var(--cap));
		padding: 0;
		height: clamp(0px, 48 * var(--rate-vw), 48px * var(--cap));
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

@media (max-width: 767px) {
	.btn-lay-research-01-02 a {
		font-size: clamp(0px, 13.5 * var(--rate-fz), 13.5px * var(--cap));
	}
}

/*------------------------------
lay-reason-01
------------------------------*/
.lay-reason-01 {
	padding-top: clamp(0px, 80 * var(--rate-vw), 80px * var(--cap));
}
@media (max-width: 767px) {
	.lay-reason-01 {
		padding-top: clamp(0px, 60 * var(--rate-vw), 60px * var(--cap));
	}
}

.box-lay-reason-01-02 {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 clamp(0px, 32 * var(--rate-vw), 32px * var(--cap));
}
@media (max-width: 767px) {
	.box-lay-reason-01-02 {
		flex-direction: column-reverse;
		gap: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap)) 0;
	}
}

.box-lay-reason-01-03 {
	width: clamp(0px, 240 * var(--rate-vw), 240px * var(--cap));
}
.box-lay-reason-01-03 img {
	aspect-ratio: 240/290;
	-o-object-fit: cover;
		 object-fit: cover;
	-o-object-position: top center;
		 object-position: top center;
}
@media (max-width: 767px) {
	.box-lay-reason-01-03 {
		width: clamp(0px, 180 * var(--rate-vw), 180px * var(--cap));
	}
}

.doc-lay-reason-01-01 {
	font-size: clamp(0px, 18 * var(--rate-vw), 18px * var(--cap));
	font-weight: 400;
	line-height: 1.6666666667;
	background: #F8FAFC;
	font-feature-settings: normal;
	padding: 1.75em;
}
@media (max-width: 767px) {
	.doc-lay-reason-01-01 {
		padding: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
		font-size: clamp(0px, 13 * var(--rate-fz), 13px * var(--cap));
	}
}

.box-lay-reason-01-04 {
	background: #0F172A;
	border-radius: clamp(0px, 64 * var(--rate-vw), 64px * var(--cap)) clamp(0px, 64 * var(--rate-vw), 64px * var(--cap)) 0 0;
	padding: clamp(0px, 120 * var(--rate-vw), 120px * var(--cap)) 0 clamp(0px, 124 * var(--rate-vw), 124px * var(--cap));
}
@media (max-width: 767px) {
	.box-lay-reason-01-04 {
		border-radius: clamp(0px, 48 * var(--rate-vw), 48px * var(--cap)) clamp(0px, 48 * var(--rate-vw), 48px * var(--cap)) 0 0;
		padding: clamp(0px, 93 * var(--rate-vw), 93px * var(--cap)) 0 clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
	}
}

.hdg-lay-reason-01-en {
	color: #182C53;
}

.hdg-lay-reason-01-ja {
	color: #fff;
}
.hdg-lay-reason-01-ja strong {
	color: #60A5FA;
}

.lay-lay-reason-01-02 {
	display: flex;
	justify-content: space-between;
	margin-top: 5%;
}
@media (max-width: 767px) {
	.lay-lay-reason-01-02 {
		margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
		flex-direction: column;
	}
}

.box-lay-reason-01-05 {
	width: calc(490 / 1178 * 100%);
	color: #fff;
}
@media (max-width: 767px) {
	.box-lay-reason-01-05 {
		width: 100%;
	}
}

.doc-lay-reason-01-02 {
	font-size: clamp(0px, 18 * var(--rate-fz), 18px * var(--cap));
	font-weight: 400;
	line-height: 1.6666666667;
	font-feature-settings: normal;
	padding-left: 0.8em;
}
@media (max-width: 767px) {
	.doc-lay-reason-01-02 {
		font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
		padding-left: 0;
	}
}

.list-lay-reason-01-01 {
	margin-top: clamp(0px, 32 * var(--rate-vw), 32px * var(--cap));
	display: flex;
	flex-direction: column;
	gap: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap)) 0;
}
@media (max-width: 767px) {
	.list-lay-reason-01-01 {
		margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
		gap: clamp(0px, 14 * var(--rate-vw), 14px * var(--cap)) 0;
	}
}

.box-lay-reason-01-06 {
	display: flex;
	justify-content: space-between;
}

.box-lay-reason-01-07 {
	width: clamp(0px, 40 * var(--rate-vw), 40px * var(--cap));
}

.box-lay-reason-01-08 {
	width: calc(100% - clamp(0px, 56 * var(--rate-vw), 56px * var(--cap)));
}
@media (max-width: 767px) {
	.box-lay-reason-01-08 {
		width: 85%;
	}
}

.hdg-lay-reason-01-02 {
	font-size: clamp(0px, 18 * var(--rate-fz), 18px * var(--cap));
	font-weight: 700;
	line-height: 1.5555555556;
}
@media (max-width: 767px) {
	.hdg-lay-reason-01-02 {
		font-feature-settings: normal;
	}
}

.doc-lay-reason-01-03 {
	margin-top: clamp(0px, 10 * var(--rate-vw), 10px * var(--cap));
	font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
	font-weight: 400;
	line-height: 1.4285714286;
	font-feature-settings: normal;
}
@media (max-width: 767px) {
	.doc-lay-reason-01-03 {
		line-height: 1.7;
		margin-top: 0.4em;
	}
}

.box-lay-reason-01-09 {
	width: calc(650 / 1178 * 100%);
}
@media (max-width: 767px) {
	.box-lay-reason-01-09 {
		width: 100%;
		margin-top: 8%;
	}
}

/*------------------------------
lay-rental-01
------------------------------*/
.lay-rental-01 {
	padding-top: clamp(0px, 220 * var(--rate-vw), 220px * var(--cap));
	background: #DBEDFF;
}
@media (max-width: 767px) {
	.lay-rental-01 {
		padding-top: clamp(0px, 160 * var(--rate-vw), 160px * var(--cap));
	}
}

@media (max-width: 767px) {
	.box-lay-rental-01-01 {
		margin: 6% auto 0;
		width: 94%;
	}
}

.doc-lay-rental-01-01 {
	margin-top: clamp(0px, 32 * var(--rate-vw), 32px * var(--cap));
	font-size: clamp(0px, 18 * var(--rate-fz), 18px * var(--cap));
	font-weight: 400;
	line-height: 1.6666666667;
	text-align: center;
}
@media (max-width: 767px) {
	.doc-lay-rental-01-01 {
		font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
		margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
		font-feature-settings: normal;
		line-height: 1.7;
	}
}

.box-lay-rental-01-02 {
	margin-top: 2%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
@media (max-width: 767px) {
	.box-lay-rental-01-02 {
		flex-direction: column;
		gap: clamp(0px, 34 * var(--rate-vw), 34px * var(--cap)) 0;
		margin-top: 10%;
	}
}

.box-lay-rental-01-03 {
	width: calc(550 / 1178 * 100%);
}
@media (max-width: 767px) {
	.box-lay-rental-01-03 {
		width: 100%;
		transform: scale(1.05);
	}
}

.list-lay-rental-01-01 {
	width: calc(584 / 1178 * 100%);
	display: flex;
	flex-wrap: wrap;
	gap: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
	position: relative;
}
.list-lay-rental-01-01::before {
	content: "";
	position: absolute;
	background: url(../img/bg_rental_01.webp) no-repeat center top/100%;
	aspect-ratio: 384/510;
	transform: translate(-50%, -100%);
	width: 32%;
	left: 81%;
	top: 0%;
}
@media (max-width: 767px) {
	.list-lay-rental-01-01 {
		width: 100%;
		gap: clamp(0px, 18 * var(--rate-vw), 18px * var(--cap));
	}
	.list-lay-rental-01-01::before {
		display: none;
	}
}

.box-lay-rental-01-04 {
	width: calc(50% - clamp(0px, 24 * var(--rate-vw), 24px * var(--cap)) / 2);
	background: #fff;
	padding: clamp(0px, 37 * var(--rate-vw), 37px * var(--cap));
}
@media (max-width: 767px) {
	.box-lay-rental-01-04 {
		width: calc(50% - clamp(0px, 18 * var(--rate-vw), 18px * var(--cap)) / 2);
		padding: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
	}
}

.box-lay-rental-01-05 {
	height: clamp(0px, 30 * var(--rate-vw), 30px * var(--cap));
}
.box-lay-rental-01-05 img {
	height: 100%;
	width: auto;
}
@media (max-width: 767px) {
	.box-lay-rental-01-05 {
		height: clamp(0px, 30 * var(--rate-vw), 30px * var(--cap));
		padding-left: 3%;
	}
}

.doc-lay-rental-01-02 {
	margin-top: clamp(0px, 30 * var(--rate-vw), 30px * var(--cap));
	font-size: clamp(0px, 20 * var(--rate-fz), 20px * var(--cap));
	font-weight: 700;
	line-height: 1.4;
	color: #263E8E;
}
@media (max-width: 767px) {
	.doc-lay-rental-01-02 {
		font-size: clamp(0px, 15 * var(--rate-fz), 15px * var(--cap));
		font-feature-settings: normal;
		line-height: 1.6;
		margin-top: 1.1em;
	}
}

/*------------------------------
lay-merit-01
------------------------------*/
.lay-merit-01 {
	padding-top: clamp(0px, 72 * var(--rate-vw), 72px * var(--cap));
	background: #DBEDFF;
	border-radius: 0 0 clamp(0px, 64 * var(--rate-vw), 64px * var(--cap)) clamp(0px, 64 * var(--rate-vw), 64px * var(--cap));
}
@media (max-width: 767px) {
	.lay-merit-01 {
		padding-top: clamp(0px, 100 * var(--rate-vw), 100px * var(--cap));
		border-radius: 0 0 clamp(0px, 48 * var(--rate-vw), 48px * var(--cap)) clamp(0px, 48 * var(--rate-vw), 48px * var(--cap));
	}
}

@media (max-width: 767px) {
	.lay-lay-merit-01-en {
		transform: translate(-50%, -50%);
	}
}

.list-lay-merit-01-01 {
	margin-top: clamp(0px, 32 * var(--rate-vw), 32px * var(--cap));
	display: flex;
	flex-wrap: wrap;
	gap: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
	position: relative;
}
.list-lay-merit-01-01::before {
	content: "";
	position: absolute;
	background: url(../img/bg_rental_02.webp) no-repeat center top/100%;
	aspect-ratio: 392/560;
	transform: translate(3%, -100%);
	width: 17%;
	left: 0%;
	top: 0%;
}
@media (max-width: 767px) {
	.list-lay-merit-01-01 {
		flex-direction: column;
		gap: clamp(0px, 12 * var(--rate-vw), 12px * var(--cap)) 0;
		margin-top: 7%;
	}
	.list-lay-merit-01-01::before {
		display: none;
	}
}

.box-lay-merit-01-01 {
	width: calc(50% - clamp(0px, 24 * var(--rate-vw), 24px * var(--cap)) / 2);
	padding: clamp(0px, 32 * var(--rate-vw), 32px * var(--cap));
	padding-bottom: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
	background: #fff;
	border: 4px solid #DDE4EC;
	display: flex;
	justify-content: space-between;
	font-feature-settings: normal;
}
@media (max-width: 767px) {
	.box-lay-merit-01-01 {
		width: 100%;
		padding: 5%;
		align-items: center;
	}
}

.box-lay-merit-01-02 {
	width: clamp(0px, 63 * var(--rate-vw), 63px * var(--cap));
}
@media (max-width: 767px) {
	.box-lay-merit-01-02 {
		width: clamp(0px, 47 * var(--rate-vw), 47px * var(--cap));
	}
}

.box-lay-merit-01-03 {
	width: calc(100% - clamp(0px, 87 * var(--rate-vw), 87px * var(--cap)));
}
@media (max-width: 767px) {
	.box-lay-merit-01-03 {
		width: calc(100% - clamp(0px, 65 * var(--rate-vw), 65px * var(--cap)));
	}
}

.hdg-lay-merit-01-01 {
	font-size: clamp(0px, 23 * var(--rate-fz), 23px * var(--cap));
	font-weight: 700;
	line-height: 1.3913043478;
	color: #263E8E;
}
@media (max-width: 767px) {
	.hdg-lay-merit-01-01 {
		font-size: clamp(0px, 19 * var(--rate-fz), 19px * var(--cap));
	}
}

.doc-lay-merit-01-01 {
	margin-top: 1em;
	font-size: clamp(0px, 16 * var(--rate-fz), 16px * var(--cap));
	line-height: 1.875;
}
@media (max-width: 767px) {
	.doc-lay-merit-01-01 {
		font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
		line-height: 1.7;
	}
}

.doc-lay-merit-01-02 {
	margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
	font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
	font-weight: 400;
	line-height: 2.1428571429;
	text-align: center;
	font-feature-settings: normal;
}
@media (max-width: 767px) {
	.doc-lay-merit-01-02 {
		margin-top: clamp(0px, 18 * var(--rate-vw), 18px * var(--cap));
		font-size: clamp(0px, 12 * var(--rate-fz), 12px * var(--cap));
	}
}

/*------------------------------
lay-equipment-01
------------------------------*/
.lay-equipment-01 {
	padding: clamp(0px, 72 * var(--rate-vw), 72px * var(--cap)) 0 clamp(0px, 96 * var(--rate-vw), 96px * var(--cap));
	border-radius: 0 0 clamp(0px, 64 * var(--rate-vw), 64px * var(--cap)) clamp(0px, 64 * var(--rate-vw), 64px * var(--cap));
	background: url(../img/bg_equipment_01.webp) no-repeat center center/100%;
	position: relative;
}
.lay-equipment-01::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	background: url(../img/img_equipment_01.webp) no-repeat center center/contain;
	width: clamp(0px, 260 * var(--rate-vw), 260px * var(--cap));
	aspect-ratio: 524/570;
}
@media (max-width: 767px) {
	.lay-equipment-01 {
		background: url(../img/bg_equipment_01--sp.webp) no-repeat center center/100%;
		border-radius: 0 0 clamp(0px, 48 * var(--rate-vw), 48px * var(--cap)) clamp(0px, 48 * var(--rate-vw), 48px * var(--cap));
		padding: clamp(0px, 50 * var(--rate-vw), 50px * var(--cap)) 0 clamp(0px, 290 * var(--rate-vw), 290px * var(--cap));
	}
	.lay-equipment-01::before {
		display: none;
	}
}

.box-lay-equipment-01-01 {
	max-width: clamp(0px, 778 * var(--rate-vw), 778px * var(--cap));
	margin: 0 auto;
	-webkit-backdrop-filter: blur(20px);
					backdrop-filter: blur(20px);
	background: rgba(255, 255, 255, 0.3);
	padding: clamp(0px, 32 * var(--rate-vw), 32px * var(--cap));
	border-radius: clamp(0px, 16 * var(--rate-vw), 16px * var(--cap));
}
@media (max-width: 767px) {
	.box-lay-equipment-01-01 {
		padding: clamp(0px, 32 * var(--rate-vw), 32px * var(--cap)) clamp(0px, 24 * var(--rate-vw), 24px * var(--cap)) clamp(0px, 20 * var(--rate-vw), 20px * var(--cap));
	}
}

.hdg-lay-equipment-01-01 {
	font-size: clamp(0px, 21 * var(--rate-fz), 21px * var(--cap));
	font-weight: 700;
	line-height: 1.5;
	color: #263E8E;
	text-align: center;
}
.hdg-lay-equipment-01-01 strong {
	display: block;
	font-size: clamp(0px, 32 * var(--rate-vw), 32px * var(--cap));
}
@media (max-width: 767px) {
	.hdg-lay-equipment-01-01 {
		font-size: clamp(0px, 15 * var(--rate-fz), 15px * var(--cap));
		line-height: 1.3;
	}
	.hdg-lay-equipment-01-01 strong {
		font-size: clamp(0px, 24 * var(--rate-fz), 24px * var(--cap));
	}
}

.list-lay-equipment-01-01 {
	margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
	display: flex;
	flex-wrap: wrap;
	gap: clamp(0px, 12 * var(--rate-vw), 12px * var(--cap)) clamp(0px, 21 * var(--rate-vw), 21px * var(--cap));
}
@media (max-width: 767px) {
	.list-lay-equipment-01-01 {
		margin-top: clamp(0px, 18 * var(--rate-vw), 18px * var(--cap));
		gap: clamp(0px, 12 * var(--rate-vw), 12px * var(--cap));
	}
}

.box-lay-equipment-01-02 {
	width: calc(33.3% - clamp(0px, 21 * var(--rate-vw), 21px * var(--cap)) * 2 / 3);
	background: #fff;
	font-size: clamp(0px, 15 * var(--rate-fz), 15px * var(--cap));
	font-weight: 500;
	border-radius: clamp(0px, 12 * var(--rate-vw), 12px * var(--cap));
	padding: clamp(0px, 0 * var(--rate-vw), 0px * var(--cap)) clamp(0px, 16 * var(--rate-vw), 16px * var(--cap));
	height: clamp(0px, 58 * var(--rate-vw), 58px * var(--cap));
	display: flex;
	align-items: center;
	border: 1px solid #E2E8F0;
}
@media (max-width: 767px) {
	.box-lay-equipment-01-02 {
		width: calc(50% - clamp(0px, 12 * var(--rate-vw), 12px * var(--cap)) / 2);
		padding: clamp(0px, 12 * var(--rate-vw), 12px * var(--cap));
		height: auto;
		padding: 0.65em 0;
		padding-left: 0.8em;
	}
}

.box-lay-equipment-01-03 {
	width: clamp(0px, 28 * var(--rate-vw), 28px * var(--cap));
}
@media (max-width: 767px) {
	.box-lay-equipment-01-03 {
		width: clamp(0px, 21 * var(--rate-vw), 21px * var(--cap));
	}
}

@media (max-width: 767px) {
	.box-lay-equipment-01-03b {
		transform: scale(1.3);
		transform-origin: left center;
	}
}

.doc-lay-equipment-01-01 {
	margin-left: clamp(0px, 12 * var(--rate-vw), 12px * var(--cap));
}
@media (max-width: 767px) {
	.doc-lay-equipment-01-01 {
		line-height: 1.7;
	}
}

.doc-lay-equipment-01-02 {
	margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
	font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
	font-weight: 400;
	line-height: 2.1428571429;
	text-align: center;
	font-feature-settings: normal;
}
@media (max-width: 767px) {
	.doc-lay-equipment-01-02 {
		width: calc(50% - clamp(0px, 12 * var(--rate-vw), 12px * var(--cap)) / 2);
		font-size: clamp(0px, 12 * var(--rate-fz), 12px * var(--cap));
		text-align: left;
		margin-top: 0;
	}
}

/*------------------------------
lay-flow-01
------------------------------*/
.lay-flow-01 {
	padding: clamp(0px, 88 * var(--rate-vw), 88px * var(--cap)) 0 clamp(0px, 100 * var(--rate-vw), 100px * var(--cap));
}
@media (max-width: 767px) {
	.lay-flow-01 {
		padding: clamp(0px, 100 * var(--rate-vw), 100px * var(--cap)) 0 clamp(0px, 54 * var(--rate-vw), 54px * var(--cap));
	}
}

@media (min-width: 768px) {
	.inner-lay-flow-01-01 {
		width: clamp(0px, 1210 * var(--rate-vw), 1210px * var(--cap));
		max-width: unset;
	}
}

.list-lay-flow-01-01 {
	margin-top: clamp(0px, 32 * var(--rate-vw), 32px * var(--cap));
	display: flex;
}
@media (max-width: 767px) {
	.list-lay-flow-01-01 {
		margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
		flex-direction: column;
		gap: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap)) 0;
	}
}

.box-lay-flow-01-01 {
	width: 20%;
}
@media (max-width: 767px) {
	.box-lay-flow-01-01 {
		width: 100%;
		display: flex;
		align-items: center;
	}
}

.doc-lay-flow-01-01 {
	width: 3em;
	margin: 0 auto;
	font-size: clamp(0px, 32 * var(--rate-fz), 32px * var(--cap));
	font-weight: 400;
	color: #263E8E;
	font-family: "Oswald", sans-serif;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border: 4px solid #F1F5F9;
	border-radius: 50%;
	aspect-ratio: 1/1;
}
@media (max-width: 767px) {
	.doc-lay-flow-01-01 {
		font-size: clamp(0px, 24 * var(--rate-fz), 24px * var(--cap));
	}
}

.doc-lay-flow-01-02 {
	margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
	font-size: clamp(0px, 16 * var(--rate-vw), 16px * var(--cap));
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}
.doc-lay-flow-01-02 span {
	display: block;
	font-size: clamp(0px, 12 * var(--rate-fz), 12px * var(--cap));
}
@media (max-width: 767px) {
	.doc-lay-flow-01-02 {
		width: calc(100% - clamp(0px, 84 * var(--rate-vw), 84px * var(--cap)));
		text-align: left;
		font-size: clamp(0px, 18 * var(--rate-fz), 18px * var(--cap));
		margin-top: 0;
		font-feature-settings: normal;
		white-space: nowrap;
	}
	.doc-lay-flow-01-02 span {
		display: inline-block;
		font-size: clamp(0px, 15 * var(--rate-fz), 15px * var(--cap));
	}
}

.doc-lay-flow-01-03 {
	font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
	font-weight: 400;
	line-height: 2.1428571429;
	text-align: center;
	margin-top: 2.6em;
	font-feature-settings: normal;
}
@media (max-width: 767px) {
	.doc-lay-flow-01-03 {
		font-size: clamp(0px, 12 * var(--rate-fz), 12px * var(--cap));
		text-align: left;
		margin: 4% auto 0;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
	}
}

/*------------------------------
lay-faq-01
------------------------------*/
.lay-faq-01 {
	background: #F8FAFC;
	padding: clamp(0px, 96 * var(--rate-vw), 96px * var(--cap)) 0;
}
@media (max-width: 767px) {
	.lay-faq-01 {
		padding: clamp(0px, 72 * var(--rate-vw), 72px * var(--cap)) 0;
	}
}

.list-lay-faq-01-01 {
	max-width: clamp(0px, 700 * var(--rate-vw), 700px * var(--cap));
	margin: 0 auto;
	margin-top: clamp(0px, 48 * var(--rate-vw), 48px * var(--cap));
	display: flex;
	flex-direction: column;
	gap: clamp(0px, 16 * var(--rate-vw), 16px * var(--cap)) 0;
	font-feature-settings: normal;
}
@media (max-width: 767px) {
	.list-lay-faq-01-01 {
		margin-top: 9%;
	}
}

.box-lay-faq-01-01 {
	background: #fff;
	border-radius: clamp(0px, 12 * var(--rate-vw), 12px * var(--cap));
	padding: clamp(0px, 22 * var(--rate-vw), 22px * var(--cap));
	border: 1px solid #E2E8F0;
}
.box-lay-faq-01-01.is-open .doc-lay-faq-01-01::after {
	transform: translateY(-50%) rotate(180deg);
}
@media (max-width: 767px) {
	.box-lay-faq-01-01 {
		padding: clamp(0px, 18 * var(--rate-vw), 18px * var(--cap));
		padding-right: 8%;
	}
}

.doc-lay-faq-01-01 {
	font-size: clamp(0px, 18 * var(--rate-fz), 18px * var(--cap));
	font-weight: 700;
	line-height: 1.3333333333;
	color: #263E8E;
	position: relative;
	cursor: pointer;
	-webkit-user-select: none;
		 -moz-user-select: none;
					user-select: none;
}
.doc-lay-faq-01-01::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url(../img/icon_faq_01.webp) no-repeat center center/contain;
	width: 0.6em;
	aspect-ratio: 24/15;
	transition: all 0.3s;
}
.doc-lay-faq-01-01.is-open::after {
	transform: translateY(-50%) rotate(180deg);
}
@media (max-width: 767px) {
	.doc-lay-faq-01-01 {
		line-height: 1.5;
	}
	.doc-lay-faq-01-01::after {
		right: -0.6em;
		width: 0.7em;
	}
}

.doc-lay-faq-01-02 {
	display: none;
	padding: 0.1em 0;
	padding-left: 1em;
	border-left: 2px solid #65A4DC;
	font-size: clamp(0px, 16 * var(--rate-fz), 16px * var(--cap));
	font-weight: 400;
	line-height: 1.5;
	transition: opacity 0.3s;
	margin-top: clamp(0px, 15 * var(--rate-vw), 15px * var(--cap));
}
@media (max-width: 767px) {
	.doc-lay-faq-01-02 {
		width: calc(100% + 1em);
		padding-left: 0.6em;
		line-height: 1.3;
		font-size: clamp(0px, 15 * var(--rate-fz), 15px * var(--cap));
	}
}

/*------------------------------
lay-cta-01
------------------------------*/

.lay-cta-01 {
    padding: clamp(0px, 80 * var(--rate-vw), 80px * var(--cap)) 0 40px 0;
}

.box-lay-cta-01-01 {
	max-width: clamp(0px, 1035 * var(--rate-vw), 1035px * var(--cap));
	margin: 0 auto;
	background: #014099;
	padding: clamp(0px, 48 * var(--rate-vw), 48px * var(--cap));
	border-radius: clamp(0px, 32 * var(--rate-vw), 32px * var(--cap));
	display: flex;
	justify-content: space-between;
	color: #fff;
}
@media screen and (max-width: 999px) {
	.box-lay-cta-01-01 {
		max-width: unset;
		width: 90%;
	}
}
@media (max-width: 767px) {
	.box-lay-cta-01-01 {
		flex-direction: column;
		padding: clamp(0px, 48 * var(--rate-vw), 48px * var(--cap)) clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
		gap: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap)) 0;
		width: 100%;
	}
}

.box-lay-cta-01-02 {
	width: 40%;
}
@media (max-width: 767px) {
	.box-lay-cta-01-02 {
		width: 100%;
	}
}

.hdg-lay-cta-01-01 {
	font-size: clamp(0px, 48 * var(--rate-fz), 48px * var(--cap));
	font-weight: 900;
	line-height: 1.2916666667;
}
@media (max-width: 999px) {
	.hdg-lay-cta-01-01 {
		font-size: clamp(0px, 40 * var(--rate-fz), 40px * var(--cap));
		line-height: 1.6;
	}
}

.box-lay-cta-01-03 {
	margin-top: 8%;
	width: 96%;
}
.box-lay-cta-01-03 img {
	box-shadow: 0 clamp(0px, 19 * var(--rate-vw), 19px * var(--cap)) clamp(0px, 19 * var(--rate-vw), 19px * var(--cap)) rgba(0, 0, 0, 0.09);
}
@media (max-width: 767px) {
	.box-lay-cta-01-03 {
		width: 100%;
		margin-top: 6%;
	}
}

.box-lay-cta-01-04 {
	width: 54%;
}
@media (max-width: 767px) {
	.box-lay-cta-01-04 {
		width: 100%;
	}
}

.doc-lay-cta-01-01 {
	font-size: clamp(0px, 18 * var(--rate-fz), 18px * var(--cap));
	font-weight: 400;
	line-height: 1.5555555556;
	margin-top: 1em;
}
@media (max-width: 767px) {
	.doc-lay-cta-01-01 {
		margin-top: 0;
	}
}

.list-lay-cta-01-01 {
	margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
}
.list-lay-cta-01-01 li {
	font-size: clamp(0px, 20 * var(--rate-fz), 20px * var(--cap));
	font-weight: 700;
	line-height: 1.4;
	position: relative;
	padding-left: 2.8em;
}
.list-lay-cta-01-01 li::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: url(../img/icon_cta_01.webp) no-repeat center center/contain;
	width: 2em;
	aspect-ratio: 1/1;
}
.list-lay-cta-01-01 li:nth-child(n+2) {
	margin-top: 6.5%;
}

.doc-lay-cta-01-02 {
	margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
	font-size: clamp(0px, 14 * var(--rate-fz), 14px * var(--cap));
	font-weight: 400;
	line-height: 2.1428571429;
	font-feature-settings: normal;
	margin-top: 2em;
}

/*------------------------------
lay-contact-01
------------------------------*/
.lay-contact-01 {
	padding: clamp(0px, 40 * var(--rate-vw), 40px * var(--cap)) 0 clamp(0px, 120 * var(--rate-vw), 120px * var(--cap));
}
@media (min-width: 768px) {
	.lay-contact-01 {
		padding: clamp(0px, 40 * var(--rate-vw), 40px * var(--cap)) 0;
	}
}

/*------------------------------
footer
------------------------------*/
footer {
	padding: clamp(0px, 64 * var(--rate-vw), 64px * var(--cap)) 0;
	background: #F8FAFC;
}
@media (max-width: 767px) {
	footer {
		padding: clamp(0px, 48 * var(--rate-vw), 48px * var(--cap)) 0;
		padding-bottom: clamp(0px, 140 * var(--rate-vw), 140px * var(--cap));
	}
}

.box-footer-01 {
	width: clamp(0px, 240 * var(--rate-vw), 240px * var(--cap));
	margin: 0 auto;
}
@media (max-width: 767px) {
	.box-footer-01 {
		width: clamp(0px, 180 * var(--rate-vw), 180px * var(--cap));
	}
}

.nav-footer-01 {
	margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
	display: flex;
	justify-content: center;
	gap: 0 clamp(0px, 52 * var(--rate-vw), 52px * var(--cap));
}
.nav-footer-01 li a {
	display: inline-block;
	font-size: clamp(0px, 13 * var(--rate-vw), 13px * var(--cap));
	font-weight: 400;
	line-height: 2.3076923077;
	text-decoration: underline;
	font-feature-settings: normal;
}
@media (max-width: 767px) {
	.nav-footer-01 {
		margin-top: clamp(0px, 18 * var(--rate-vw), 18px * var(--cap));
		flex-wrap: wrap;
		gap: unset;
		padding: 0 6%;
	}
	.nav-footer-01 li {
		width: 50%;
		text-align: center;
	}
	.nav-footer-01 li a {
		font-size: clamp(0px, 12 * var(--rate-fz), 12px * var(--cap));
		line-height: 2.4;
	}
}

.doc-footer-01 {
	margin-top: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap));
	font-size: clamp(0px, 12 * var(--rate-fz), 12px * var(--cap));
	font-weight: 400;
	line-height: 2.5;
	text-align: center;
}
@media (max-width: 767px) {
	.doc-footer-01 {
		margin-top: clamp(0px, 18 * var(--rate-vw), 18px * var(--cap));
		font-size: clamp(0px, 9 * var(--rate-fz), 9px * var(--cap));
	}
}

/*------------------------------
追従CTA（SPのみ）
------------------------------*/
.lay-fixedlay-cta-01-01 {
	position: fixed;
	z-index: 500;
	bottom: 0;
	left: 0;
	right: 0;
	padding: clamp(0px, 24 * var(--rate-vw), 24px * var(--cap)) clamp(0px, 12 * var(--rate-vw), 12px * var(--cap));
	background: #fff;
	box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.5);
	display: flex;
	gap: 0 clamp(0px, 12 * var(--rate-vw), 12px * var(--cap));
}
.lay-fixedlay-cta-01-01::before {
	content: "";
	position: absolute;
	background: linear-gradient(180deg, #D3003F 0px, #D3003F 50%, #263E8E 50%, #263E8E 100%);
	aspect-ratio: 1/1;
	transform: translate(-50%, 0%);
	height: 4px;
	width: 100%;
	left: 50%;
	top: 0%;
}

.box-fixedlay-cta-01-01 {
	width: calc(50% - clamp(0px, 12 * var(--rate-vw), 12px * var(--cap)) / 2);
}

.doc-fixedlay-cta-01-01 {
	font-size: clamp(0px, 12 * var(--rate-fz), 12px * var(--cap));
	font-weight: 400;
	line-height: 1.8333333333;
	text-align: center;
}

.btn-fixedlay-cta-01-01 {
	height: 100%;
	margin-top: clamp(0px, 6 * var(--rate-vw), 6px * var(--cap));
}
.btn-fixedlay-cta-01-01 a {
	font-size: clamp(0px, 15 * var(--rate-vw), 15px * var(--cap));
	padding: 0;
	height: clamp(0px, 48 * var(--rate-vw), 48px * var(--cap));
}

.btn-fixedlay-cta-01-02 a {
	font-size: clamp(0px, 13.5 * var(--rate-fz), 13.5px * var(--cap));
}

/* =========================================================
	 Animation
	 ========================================================= */
:root {
	--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* --- FV入場アニメーション --- */
.box-lay-fv-01anim-01 {
	opacity: 0;
	transform: translateY(30px);
	animation: lay-fv-01FadeUp 0.9s var(--ease-out) forwards;
	animation-delay: var(--lay-fv-01-delay, 0s);
}
.box-lay-fv-01anim-02 {
	opacity: 0;
	transform: translateX(-30px);
	animation: lay-fv-01BadgeIn 0.7s var(--ease-out) 0.15s forwards;
}
.box-lay-fv-01anim-03 {
	-webkit-clip-path: inset(0 100% 0 0);
	clip-path: inset(0 100% 0 0);
	animation: lay-fv-01ClipReveal 0.9s var(--ease-out) 0.4s forwards;
}
.box-lay-fv-01-img.pc {
	animation: lay-fv-01ImgIn 1.2s var(--ease-out) 0.3s both;
}
.box-lay-fv-01anim-04 {
	opacity: 0;
	transform: scale(0.85) translateY(20px);
	animation: lay-fv-01Pop 0.6s var(--ease-bounce) forwards;
	animation-delay: var(--lay-fv-01-delay, 0s);
}
@keyframes lay-fv-01FadeUp {
	to { opacity: 1; transform: translateY(0); }
}
@keyframes lay-fv-01BadgeIn {
	to { opacity: 1; transform: translateX(0); }
}
@keyframes lay-fv-01ClipReveal {
	to { -webkit-clip-path: inset(0 0% 0 0); clip-path: inset(0 0% 0 0); }
}
@keyframes lay-fv-01ImgIn {
	from { opacity: 0; transform: translate(calc(-1% + 60px), 6%) scale(1.05); }
	to { opacity: 1; transform: translate(-1%, 6%) scale(1); }
}
@keyframes lay-fv-01Pop {
	to { opacity: 1; transform: scale(1) translateY(0); }
}

/* --- スクロールアニメーション --- */
.box-anim-01,
.box-anim-02,
.box-anim-03,
.box-anim-04,
.box-anim-05 {
	opacity: 0;
	transition-delay: var(--anim-delay, 0s);
}
.box-anim-01 {
	transform: translateY(40px);
	transition: opacity 0.8s var(--ease-out), transform 0.8s var(--ease-out);
}
.box-anim-02 {
	transform: translateX(-50px);
	transition: opacity 0.8s var(--ease-out), transform 0.8s var(--ease-out);
}
.box-anim-03 {
	transform: translateX(50px);
	transition: opacity 0.8s var(--ease-out), transform 0.8s var(--ease-out);
}
.box-anim-04 {
	transform: scale(0.8);
	transition: opacity 0.7s var(--ease-out), transform 0.7s var(--ease-bounce);
}
.box-anim-05 {
	filter: blur(8px);
	transform: translateY(20px);
	transition: opacity 0.8s var(--ease-out), filter 0.8s var(--ease-out), transform 0.8s var(--ease-out);
}
.box-anim-01.is-visible,
.box-anim-02.is-visible,
.box-anim-03.is-visible,
.box-anim-04.is-visible {
	opacity: 1;
	transform: none;
}
.box-anim-05.is-visible {
	opacity: 1;
	filter: blur(0);
	transform: translateY(0);
}

/* --- ホバーエフェクト --- */
.box-lay-research-01-02,
.box-lay-merit-01-01 {
	transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out);
}
.box-lay-merit-01-01,
.box-lay-equipment-01-02 {
	transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out), border-color 0.35s ease;
}
.box-lay-rental-01-04,
.box-lay-faq-01-01 {
	transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out);
}
.box-lay-equipment-01-02 {
	transition: transform 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out), border-color 0.3s ease;
}
.btn-lay-cta-01-01 {
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.btn-lay-cta-01-01::before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 60%;
	height: 100%;
	background: linear-gradient(120deg, transparent, rgba(255,255,255,0.25), transparent);
	transition: none;
}
.doc-lay-flow-01-01 {
	transition: transform 0.3s ease, border-color 0.3s ease;
}
@media (hover: hover) {
	.box-lay-research-01-02:hover {
		transform: translateY(-6px);
		box-shadow: 0 12px 32px rgba(38, 62, 142, 0.12);
	}
	.box-lay-merit-01-01:hover {
		transform: translateY(-4px);
		box-shadow: 0 10px 28px rgba(38, 62, 142, 0.10);
		border-color: #93B8E8;
	}
	.box-lay-rental-01-04:hover {
		transform: translateY(-4px);
		box-shadow: 0 8px 24px rgba(38, 62, 142, 0.10);
	}
	.box-lay-equipment-01-02:hover {
		transform: translateY(-3px);
		box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
		border-color: #93B8E8;
	}
	.box-lay-faq-01-01:hover {
		transform: translateY(-2px);
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
	}
	.btn-lay-cta-01-01:hover {
		transform: translateY(-2px);
		box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
	}
	.btn-lay-cta-01-01:hover::before {
		animation: btnShimmer 0.6s ease forwards;
	}
}
@keyframes btnShimmer {
	to { left: 120%; }
}

/* --- Flowステップ / CTAフロート --- */
.box-lay-flow-01-01.is-visible .doc-lay-flow-01-01 {
	animation: lay-flow-01Pulse 0.6s var(--ease-bounce) forwards;
	animation-delay: var(--anim-delay, 0s);
}
@keyframes lay-flow-01Pulse {
	0%   { transform: scale(0.5) rotate(-10deg); opacity: 0; }
	60%  { transform: scale(1.08) rotate(2deg); opacity: 1; }
	100% { transform: scale(1) rotate(0deg); opacity: 1; }
}
.box-lay-cta-01-03 img {
	animation: lay-cta-01Float 3s ease-in-out infinite;
}
@keyframes lay-cta-01Float {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-8px); }
}

/* --- セクション見出し: アンダーラインドロー --- */
.hdg-common-underline.box-anim-06::after {
	transform: translateX(-50%) scaleX(0);
	transition: transform 0.6s var(--ease-out) 0.4s;
}
.hdg-common-underline.box-anim-06.is-visible::after {
	transform: translateX(-50%) scaleX(1);
}

/* --- モーション軽減設定への対応 --- */
@media (prefers-reduced-motion: reduce) {
	.box-lay-fv-01anim-01,
	.box-lay-fv-01anim-02,
	.box-lay-fv-01anim-03,
	.box-lay-fv-01anim-04,
	.box-lay-fv-01-img.pc,
	.box-anim-01,
	.box-anim-02,
	.box-anim-03,
	.box-anim-04,
	.box-anim-05,
	.box-lay-cta-01-03 img {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
		transition: none !important;
		-webkit-clip-path: none !important;
		clip-path: none !important;
	}
	.hdg-common-underline.box-anim-06::after {
		transform: translateX(-50%) scaleX(1) !important;
		transition: none !important;
	}
}
/*# sourceMappingURL=style.css.map */


