/*##################################################
-------------LIST-------------
 00: Reset
 01: Utility
 02: Base
 03: Animation
 04: Link
 05: Wrapper
 06: Header
 07: Contents
 08: Footer
     Component
     Project
------------------------------
##################################################*/
/* --------------------------------------------------
 00: Reset Style
-------------------------------------------------- */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

*, *::before, *::after {
	box-sizing: border-box;
}

body {
	line-height: 1;
}

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

h1, h2, h3, h4, h5, h6, dt, th {
	font-weight: normal;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

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

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

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

/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

input, select, button, textarea {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	border-radius: 0;
	border: none;
	background-color: transparent;
	color: inherit;
	font-family: inherit;
	font-size: 100%;
	vertical-align: middle;
}

select {
	text-indent: .01px;
	text-overflow: "";
}

select::-ms-expand {
	display: none;
}

:root {
	/* width - Number */
	--base-number-view: 1400;
	--base-number-wide: 1120;
	--base-number: 1000;
	--base-number-narrow: 880;
	--base-number-sp: 375;
	/* width - Base */
	--base-width-view: calc(var(--base-number-view) * 1px);
	--base-width-wide: calc(var(--base-number-wide) * 1px);
	--base-width: calc(var(--base-number) * 1px);
	--base-width-narrow: calc(var(--base-number-narrow) * 1px);
	/* font */
	--font-base: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic W3", "Yu Gothic", YuGothic, Meiryo, system-ui, sans-serif;
	--font-serif: "Shippori Mincho", serif;
	--font-en: "Outfit", sans-serif;
	/* color */
	--color-main: #444;
	--color-main-dark: #222;
	--color-sub: #e2e3e5;
	--color-gray: #9e9e9e;
	--color-gray-light: #f5f5f5;
	/* link color */
	--link-color: inherit;
	--link-color-hover: #787878;
	/* rollover value */
	--opacity-value: .7;
}

/* --------------------------------------------------
 01: Utility Style
-------------------------------------------------- */
/* Float */
.u-fl {
	float: left !important;
}

.u-fr {
	float: right !important;
}

/* Align */
.u-taL {
	text-align: left !important;
}

.u-taR {
	text-align: right !important;
}

.u-taC {
	text-align: center !important;
}

/* size */
.u-txXS {
	font-size: 1rem !important;
}

.u-txSS {
	font-size: 1.1rem !important;
}

.u-txS {
	font-size: 1.2rem !important;
}

.u-txM {
	font-size: 1.4rem !important;
}

.u-txL {
	font-size: 1.6rem !important;
}

.u-txLL {
	font-size: 1.8rem !important;
}

.u-txXL {
	font-size: 2rem !important;
}

/* Width */
.u-w15px {
	width: 15px !important;
}

.u-w20px {
	width: 20px !important;
}

.u-w25px {
	width: 25px !important;
}

.u-w30px {
	width: 30px !important;
}

.u-w35px {
	width: 35px !important;
}

.u-w40px {
	width: 40px !important;
}

.u-w45px {
	width: 45px !important;
}

.u-w50px {
	width: 50px !important;
}

.u-w55px {
	width: 55px !important;
}

.u-w60px {
	width: 60px !important;
}

.u-w65px {
	width: 65px !important;
}

.u-w70px {
	width: 70px !important;
}

.u-w75px {
	width: 75px !important;
}

.u-w80px {
	width: 80px !important;
}

.u-w85px {
	width: 85px !important;
}

.u-w90px {
	width: 90px !important;
}

.u-w95px {
	width: 95px !important;
}

.u-w100px {
	width: 100px !important;
}

.u-w105px {
	width: 105px !important;
}

.u-w110px {
	width: 110px !important;
}

.u-w115px {
	width: 115px !important;
}

.u-w120px {
	width: 120px !important;
}

.u-w125px {
	width: 125px !important;
}

.u-w130px {
	width: 130px !important;
}

.u-w135px {
	width: 135px !important;
}

.u-w140px {
	width: 140px !important;
}

.u-w145px {
	width: 145px !important;
}

.u-w150px {
	width: 150px !important;
}

.u-w155px {
	width: 155px !important;
}

.u-w160px {
	width: 160px !important;
}

.u-w165px {
	width: 165px !important;
}

.u-w170px {
	width: 170px !important;
}

.u-w175px {
	width: 175px !important;
}

.u-w180px {
	width: 180px !important;
}

.u-w185px {
	width: 185px !important;
}

.u-w190px {
	width: 190px !important;
}

.u-w195px {
	width: 195px !important;
}

.u-w200px {
	width: 200px !important;
}

.u-w205px {
	width: 205px !important;
}

.u-w210px {
	width: 210px !important;
}

.u-w215px {
	width: 215px !important;
}

.u-w220px {
	width: 220px !important;
}

.u-w225px {
	width: 225px !important;
}

.u-w230px {
	width: 230px !important;
}

.u-w235px {
	width: 235px !important;
}

.u-w240px {
	width: 240px !important;
}

.u-w245px {
	width: 245px !important;
}

.u-w250px {
	width: 250px !important;
}

.u-w255px {
	width: 255px !important;
}

.u-w260px {
	width: 260px !important;
}

.u-w265px {
	width: 265px !important;
}

.u-w270px {
	width: 270px !important;
}

.u-w275px {
	width: 275px !important;
}

.u-w280px {
	width: 280px !important;
}

.u-w285px {
	width: 285px !important;
}

.u-w290px {
	width: 290px !important;
}

.u-w295px {
	width: 295px !important;
}

.u-w300px {
	width: 300px !important;
}

.u-w305px {
	width: 305px !important;
}

.u-w310px {
	width: 310px !important;
}

.u-w315px {
	width: 315px !important;
}

.u-w320px {
	width: 320px !important;
}

.u-w325px {
	width: 325px !important;
}

.u-w330px {
	width: 330px !important;
}

.u-w335px {
	width: 335px !important;
}

.u-w340px {
	width: 340px !important;
}

.u-w345px {
	width: 345px !important;
}

.u-w350px {
	width: 350px !important;
}

.u-w355px {
	width: 355px !important;
}

.u-w360px {
	width: 360px !important;
}

.u-w365px {
	width: 365px !important;
}

.u-w370px {
	width: 370px !important;
}

.u-w375px {
	width: 375px !important;
}

.u-w380px {
	width: 380px !important;
}

.u-w385px {
	width: 385px !important;
}

.u-w390px {
	width: 390px !important;
}

.u-w395px {
	width: 395px !important;
}

.u-w400px {
	width: 400px !important;
}

.u-w405px {
	width: 405px !important;
}

.u-w410px {
	width: 410px !important;
}

.u-w415px {
	width: 415px !important;
}

.u-w420px {
	width: 420px !important;
}

.u-w425px {
	width: 425px !important;
}

.u-w430px {
	width: 430px !important;
}

.u-w435px {
	width: 435px !important;
}

.u-w440px {
	width: 440px !important;
}

.u-w445px {
	width: 445px !important;
}

.u-w450px {
	width: 450px !important;
}

.u-w455px {
	width: 455px !important;
}

.u-w460px {
	width: 460px !important;
}

.u-w465px {
	width: 465px !important;
}

.u-w470px {
	width: 470px !important;
}

.u-w475px {
	width: 475px !important;
}

.u-w480px {
	width: 480px !important;
}

.u-w485px {
	width: 485px !important;
}

.u-w490px {
	width: 490px !important;
}

.u-w495px {
	width: 495px !important;
}

.u-w500px {
	width: 500px !important;
}

.u-w5per {
	width: 5% !important;
}

.u-w10per {
	width: 10% !important;
}

.u-w15per {
	width: 15% !important;
}

.u-w20per {
	width: 20% !important;
}

.u-w25per {
	width: 25% !important;
}

.u-w30per {
	width: 30% !important;
}

.u-w35per {
	width: 35% !important;
}

.u-w40per {
	width: 40% !important;
}

.u-w45per {
	width: 45% !important;
}

.u-w50per {
	width: 50% !important;
}

.u-w55per {
	width: 55% !important;
}

.u-w60per {
	width: 60% !important;
}

.u-w65per {
	width: 65% !important;
}

.u-w70per {
	width: 70% !important;
}

.u-w75per {
	width: 75% !important;
}

.u-w80per {
	width: 80% !important;
}

.u-w85per {
	width: 85% !important;
}

.u-w90per {
	width: 90% !important;
}

.u-w95per {
	width: 95% !important;
}

.u-w100per {
	width: 100% !important;
}

/* Margin Padding */
.u-noMargin {
	margin: 0 !important;
}

.u-noPadding {
	padding: 0 !important;
}

.u-mt0 {
	margin-top: 0 !important;
}

.u-mb0 {
	margin-bottom: 0 !important;
}

.u-pt0 {
	padding-top: 0 !important;
}

.u-pb0 {
	padding-bottom: 0 !important;
}

.u-mt5 {
	margin-top: 5px !important;
}

.u-mb5 {
	margin-bottom: 5px !important;
}

.u-pt5 {
	padding-top: 5px !important;
}

.u-pb5 {
	padding-bottom: 5px !important;
}

.u-mt10 {
	margin-top: 10px !important;
}

.u-mb10 {
	margin-bottom: 10px !important;
}

.u-pt10 {
	padding-top: 10px !important;
}

.u-pb10 {
	padding-bottom: 10px !important;
}

.u-mt15 {
	margin-top: 15px !important;
}

.u-mb15 {
	margin-bottom: 15px !important;
}

.u-pt15 {
	padding-top: 15px !important;
}

.u-pb15 {
	padding-bottom: 15px !important;
}

.u-mt20 {
	margin-top: 20px !important;
}

.u-mb20 {
	margin-bottom: 20px !important;
}

.u-pt20 {
	padding-top: 20px !important;
}

.u-pb20 {
	padding-bottom: 20px !important;
}

.u-mt25 {
	margin-top: 25px !important;
}

.u-mb25 {
	margin-bottom: 25px !important;
}

.u-pt25 {
	padding-top: 25px !important;
}

.u-pb25 {
	padding-bottom: 25px !important;
}

.u-mt30 {
	margin-top: 30px !important;
}

.u-mb30 {
	margin-bottom: 30px !important;
}

.u-pt30 {
	padding-top: 30px !important;
}

.u-pb30 {
	padding-bottom: 30px !important;
}

.u-mt35 {
	margin-top: 35px !important;
}

.u-mb35 {
	margin-bottom: 35px !important;
}

.u-pt35 {
	padding-top: 35px !important;
}

.u-pb35 {
	padding-bottom: 35px !important;
}

.u-mt40 {
	margin-top: 40px !important;
}

.u-mb40 {
	margin-bottom: 40px !important;
}

.u-pt40 {
	padding-top: 40px !important;
}

.u-pb40 {
	padding-bottom: 40px !important;
}

.u-mt45 {
	margin-top: 45px !important;
}

.u-mb45 {
	margin-bottom: 45px !important;
}

.u-pt45 {
	padding-top: 45px !important;
}

.u-pb45 {
	padding-bottom: 45px !important;
}

.u-mt50 {
	margin-top: 50px !important;
}

.u-mb50 {
	margin-bottom: 50px !important;
}

.u-pt50 {
	padding-top: 50px !important;
}

.u-pb50 {
	padding-bottom: 50px !important;
}

/* Clear */
.u-clr {
	clear: both;
}

/* Display */
@media screen and (max-width: 767px) {
	.u-display-pc {
		display: none;
	}
}
.u-display-sp {
	display: none;
}

@media screen and (max-width: 767px) {
	.u-display-sp {
		display: block;
	}
}
/* --------------------------------------------------
 02: Base Style
-------------------------------------------------- */
html {
	font-size: 62.5%;
	-ms-overflow-style: -ms-autohiding-scrollbar;
}

body {
	margin: 0 auto;
	color: var(--color-main);
	font-family: var(--font-base);
	font-size: 1.6rem;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
}

body.is-fixed {
	overflow: hidden;
}

body.-lower .l-footer {
	background-color: var(--color-main);
	color: #fff;
}

body.-lower .l-footer .l-footer__contents {
	border-top: 1px solid rgba(255, 255, 255, .2);
}

body.-lower .l-footer .l-footer__list li a:hover {
	color: #fff;
}

body.-lower .l-footer .l-footer__utility a[href*=".pdf"]::after {
	background-color: #fff;
}

body.-lower .l-footer .l-footer__utility a:hover {
	color: #fff;
}

body.-lower .l-nav-footer a:hover {
	color: #fff;
}

@media (max-width: 767px) {
	body {
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	transition: .3s;
}

/* --------------------------------------------------
 03: Animation
-------------------------------------------------- */
/* fadeIn */
@-webkit-keyframes fadeIn {
	0% {
		visibility: hidden;
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeIn {
	0% {
		visibility: hidden;
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/* fadeImage */
@-webkit-keyframes fadeImage {
	0% {
		opacity: 0;
	}
	16% {
		opacity: 0;
	}
	33% {
		opacity: 1;
	}
	66% {
		opacity: 1;
	}
	84% {
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}
@keyframes fadeImage {
	0% {
		opacity: 0;
	}
	16% {
		opacity: 0;
	}
	33% {
		opacity: 1;
	}
	66% {
		opacity: 1;
	}
	84% {
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}
/* fadeIn */
@-webkit-keyframes fadeInOut {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes fadeInOut {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
/* animationBG */
@-webkit-keyframes animationBG {
	0% {
		background-position: 0 50%;
	}
	100% {
		background-position: 100% 50%;
	}
}
@keyframes animationBG {
	0% {
		background-position: 0 50%;
	}
	100% {
		background-position: 100% 50%;
	}
}
/* scrollStretch */
@-webkit-keyframes scrollStretch {
	0% {
		top: 25px;
		height: 0;
	}
	70% {
		height: 55px;
	}
	100% {
		top: 80px;
		height: 0;
	}
}
@keyframes scrollStretch {
	0% {
		top: 25px;
		height: 0;
	}
	70% {
		height: 55px;
	}
	100% {
		top: 80px;
		height: 0;
	}
}
/* scrollAnimation */
[data-scroll] {
	opacity: 0;
	-webkit-transform: translate(0, 30px);
	transform: translate(0, 30px);
	transition: opacity .6s cubic-bezier(.55, .055, .675, .19), -webkit-transform .6s cubic-bezier(.55, .055, .675, .19);
	transition: opacity .6s cubic-bezier(.55, .055, .675, .19), transform .6s cubic-bezier(.55, .055, .675, .19);
	transition: opacity .6s cubic-bezier(.55, .055, .675, .19), transform .6s cubic-bezier(.55, .055, .675, .19), -webkit-transform .6s cubic-bezier(.55, .055, .675, .19);
}

[data-scroll].is-active {
	opacity: 1;
	-webkit-transform: translate(0);
	transform: translate(0);
	transition: opacity 1.2s cubic-bezier(.37, .16, .12, 1), -webkit-transform 1.2s cubic-bezier(.37, .16, .12, 1);
	transition: opacity 1.2s cubic-bezier(.37, .16, .12, 1), transform 1.2s cubic-bezier(.37, .16, .12, 1);
	transition: opacity 1.2s cubic-bezier(.37, .16, .12, 1), transform 1.2s cubic-bezier(.37, .16, .12, 1), -webkit-transform 1.2s cubic-bezier(.37, .16, .12, 1);
}

[data-scroll].is-active[data-scroll-delay="100"] {
	transition-delay: .1s;
}

[data-scroll].is-active[data-scroll-delay="200"] {
	transition-delay: .2s;
}

[data-scroll].is-active[data-scroll-delay="300"] {
	transition-delay: .3s;
}

[data-scroll].is-active[data-scroll-delay="400"] {
	transition-delay: .4s;
}

[data-scroll].is-active[data-scroll-delay="500"] {
	transition-delay: .5s;
}

[data-scroll].is-active[data-scroll-delay="600"] {
	transition-delay: .6s;
}

[data-scroll].is-active[data-scroll-delay="700"] {
	transition-delay: .7s;
}

[data-scroll].is-active[data-scroll-delay="800"] {
	transition-delay: .8s;
}

[data-scroll].is-active[data-scroll-delay="900"] {
	transition-delay: .9s;
}

[data-scroll].is-active[data-scroll-delay="1000"] {
	transition-delay: 1s;
}

/* --------------------------------------------------
 04: Link Style
-------------------------------------------------- */
a {
	color: var(--link-color);
	transition: .3s;
}

a:hover {
	color: var(--link-color-hover);
	text-decoration: none;
}

/* --------------------------------------------------
 05: Wrapper Style
-------------------------------------------------- */
.l-wrap {
	box-sizing: content-box;
	max-width: var(--base-width);
	margin-inline: auto;
	padding-inline: 20px;
}

.l-wrap.-wide {
	max-width: var(--base-width-wide);
}

.l-wrap.-narrow {
	max-width: var(--base-width-narrow);
}

@media (max-width: 767px) {
	.l-wrap {
		padding-inline: calc(30 / var(--base-number-sp) * 100vw);
	}
	.l-wrap.-wide {
		padding-inline: calc(20 / var(--base-number-sp) * 100vw);
	}
}
/* l-bg */
.l-bg {
	position: fixed;
	inset: 0;
	z-index: -1;
	height: 100dvh;
	background-color: #000;
}

.l-bg video {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

@media (max-width: 767px) {
	.l-bg video {
		aspect-ratio: 375/667;
	}
}
/* --------------------------------------------------
 06: Header Style
-------------------------------------------------- */
/* l-header */
.l-header {
	display: flex;
	align-items: center;
	gap: clamp(40px, -26.207px + 8.621vw, 60px);
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 1000;
	height: 60px;
	padding-inline: 40px;
	transition: background-color .3s;
}

.l-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-color: rgba(255, 255, 255, .7);
	-webkit-backdrop-filter: blur(50px) brightness(1.3);
	backdrop-filter: blur(50px) brightness(1.3);
}

.l-header.-animation {
	-webkit-animation: fadeIn .7s cubic-bezier(.55, .055, .675, .19) 7s both;
	animation: fadeIn .7s cubic-bezier(.55, .055, .675, .19) 7s both;
}

#top .l-header::before {
	content: none;
}

.l-header.is-scroll {
	background-color: #fff !important;
}

.l-header .l-header__logo {
	position: relative;
	z-index: 1003;
	flex-shrink: 0;
	mix-blend-mode: exclusion;
}

.l-header .l-header__utility {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0 clamp(20px, -46.207px + 8.621vw, 40px);
	margin-left: auto;
	mix-blend-mode: exclusion;
}

.l-header .l-header__utility li {
	font-weight: 700;
	letter-spacing: .022em;
	line-height: 1;
}

.l-header .l-header__utility li.-contact {
	font-size: 1.8rem;
}

.l-header .l-header__utility li.-contact a::before {
	-webkit-mask-image: url(../img/common/ic_contact.svg);
	mask-image: url(../img/common/ic_contact.svg);
}

.l-header .l-header__utility li.-contact span {
	padding-bottom: 3px;
}

.l-header .l-header__utility li.-tel {
	font-family: var(--font-en);
	font-size: 2.8rem;
}

.l-header .l-header__utility li.-tel a {
	pointer-events: none;
}

.l-header .l-header__utility li.-tel a::before {
	-webkit-mask-image: url(../img/common/ic_tel.svg);
	mask-image: url(../img/common/ic_tel.svg);
}

.l-header .l-header__utility li a {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	text-decoration: none;
}

.l-header .l-header__utility li a::before {
	content: "";
	width: 32px;
	height: 32px;
	background-color: #fff;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	transition: .3s;
}

@media (max-width: 767px) {
	.l-header {
		height: calc(60 / var(--base-number-sp) * 100vw);
		gap: calc(15 / var(--base-number-sp) * 100vw);
		padding-inline: calc(20 / var(--base-number-sp) * 100vw);
	}
	.l-header .l-header__logo img {
		width: calc(145 / var(--base-number-sp) * 100vw);
	}
	.l-header .l-header__utility {
		gap: 0 calc(15 / var(--base-number-sp) * 100vw);
	}
	.l-header .l-header__utility li.-tel a {
		pointer-events: auto;
	}
	.l-header .l-header__utility li a {
		gap: 0;
	}
	.l-header .l-header__utility li a::before {
		width: calc(30 / var(--base-number-sp) * 100vw);
		height: calc(30 / var(--base-number-sp) * 100vw);
	}
	.l-header .l-header__utility li span {
		display: none;
	}
}
/* l-nav-menu */
.l-nav-menu {
	position: relative;
	z-index: 1003;
	width: 40px;
	height: 40px;
	text-indent: -9999px;
	cursor: pointer;
	mix-blend-mode: exclusion;
	transition: .3s;
}

.l-nav-menu > span, .l-nav-menu::before, .l-nav-menu::after {
	display: inline-block;
	position: absolute;
	left: 50%;
	width: 30px;
	height: 4px;
	background-color: #fff;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	transition: .5s;
}

.l-nav-menu > span {
	top: 50%;
	will-change: opacity;
	translate: 0 -50%;
}

.l-nav-menu::before, .l-nav-menu::after {
	content: "";
	will-change: transform;
}

.l-nav-menu::before {
	top: 6px;
}

.l-nav-menu::after {
	bottom: 6px;
}

.l-nav-menu[aria-expanded=true] > span {
	opacity: 0;
}

.l-nav-menu[aria-expanded=true]::before {
	-webkit-transform: translate(-50%, 12px) rotate(-45deg);
	transform: translate(-50%, 12px) rotate(-45deg);
}

.l-nav-menu[aria-expanded=true]::after {
	-webkit-transform: translate(-50%, -12px) rotate(45deg);
	transform: translate(-50%, -12px) rotate(45deg);
}

@media (max-width: 767px) {
	.l-nav-menu {
		width: calc(30 / var(--base-number-sp) * 100vw);
		height: calc(30 / var(--base-number-sp) * 100vw);
	}
	.l-nav-menu > span, .l-nav-menu::before, .l-nav-menu::after {
		width: calc(24 / var(--base-number-sp) * 100vw);
		height: calc(3 / var(--base-number-sp) * 100vw);
	}
	.l-nav-menu::before {
		top: calc(5 / var(--base-number-sp) * 100vw);
	}
	.l-nav-menu::after {
		bottom: calc(4 / var(--base-number-sp) * 100vw);
	}
	.l-nav-menu[aria-expanded=true]::before {
		-webkit-transform: translate(-50%, calc(9 / var(--base-number-sp) * 100vw)) rotate(-45deg);
		transform: translate(-50%, calc(9 / var(--base-number-sp) * 100vw)) rotate(-45deg);
	}
	.l-nav-menu[aria-expanded=true]::after {
		-webkit-transform: translate(-50%, calc(-9 / var(--base-number-sp) * 100vw)) rotate(45deg);
		transform: translate(-50%, calc(-9 / var(--base-number-sp) * 100vw)) rotate(45deg);
	}
}
/* l-nav-global */
.l-nav-global {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.l-nav-global[aria-hidden=false] {
	visibility: visible;
	opacity: 1;
	z-index: revert;
	pointer-events: auto;
}

.l-nav-global[aria-hidden=false] .l-nav-global__overlay, .l-nav-global[aria-hidden=false] .l-nav-global__contents {
	visibility: visible;
	opacity: 1;
}

.l-nav-global[aria-hidden=false] .l-nav-global__contents {
	transition-delay: 0s;
}

.l-nav-global[aria-hidden=false] .l-nav-global__list li {
	visibility: visible;
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

.l-nav-global[aria-hidden=false] .l-nav-global__list li:nth-child(1) {
	transition-delay: .5s;
}

.l-nav-global[aria-hidden=false] .l-nav-global__list li:nth-child(2) {
	transition-delay: .55s;
}

.l-nav-global[aria-hidden=false] .l-nav-global__list li:nth-child(3) {
	transition-delay: .6s;
}

.l-nav-global[aria-hidden=false] .l-nav-global__list li:nth-child(4) {
	transition-delay: .65s;
}

.l-nav-global[aria-hidden=false] .l-nav-global__list li:nth-child(5) {
	transition-delay: .7s;
}

.l-nav-global[aria-hidden=false] .l-nav-global__contact {
	visibility: visible;
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	transition-delay: .8s;
}

.l-nav-global[aria-hidden=false] .l-nav-global__contact > div {
	visibility: visible;
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

.l-nav-global[aria-hidden=false] .l-nav-global__contact > div:nth-child(1) {
	transition-delay: .85s;
}

.l-nav-global[aria-hidden=false] .l-nav-global__contact > div:nth-child(2) {
	transition-delay: .9s;
}

.l-nav-global .l-nav-global__overlay {
	visibility: hidden;
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 100%;
	height: 100%;
	transition: .5s;
	background-color: var(--color-main-dark);
}

.l-nav-global .l-nav-global__contents {
	visibility: hidden;
	opacity: 0;
	box-sizing: content-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: fixed;
	inset: 20px;
	z-index: 1000;
	width: calc(100% - 40px);
	max-width: 1040px;
	height: calc(100% - 100px);
	margin: auto;
	padding-top: 60px;
	color: #fff;
	transition: .5s cubic-bezier(.215, .61, .355, 1) .3s;
}

.l-nav-global .l-nav-global__inner {
	overflow-x: clip;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 0 20px 20px;
}

.l-nav-global .l-nav-global__inner::-webkit-scrollbar {
	display: none;
}

.l-nav-global .l-nav-global__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(4, auto);
	grid-auto-flow: column;
	gap: 40px clamp(20px, -4.304px + 3.165vw, 40px);
}

.l-nav-global .l-nav-global__list > li {
	visibility: hidden;
	opacity: 0;
	font-family: var(--font-serif);
	font-size: 2.8rem;
	letter-spacing: .06em;
	line-height: 1.389;
	-webkit-transform: translateY(10px);
	transform: translateY(10px);
	transition: opacity .8s cubic-bezier(.215, .61, .355, 1), -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
	transition: opacity .8s cubic-bezier(.215, .61, .355, 1), transform .8s cubic-bezier(.215, .61, .355, 1);
	transition: opacity .8s cubic-bezier(.215, .61, .355, 1), transform .8s cubic-bezier(.215, .61, .355, 1), -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
}

.l-nav-global .l-nav-global__list > li:nth-child(5) {
	grid-row: 1/3;
}

.l-nav-global .l-nav-global__list > li:last-child {
	grid-row: 3/5;
	align-self: end;
}

.l-nav-global .l-nav-global__list > li > ul {
	margin-top: 20px;
	margin-left: 1em;
}

.l-nav-global .l-nav-global__list > li li {
	font-size: 2.2rem;
}

.l-nav-global .l-nav-global__list > li li:not(:first-child) {
	margin-top: 20px;
}

.l-nav-global .l-nav-global__list a {
	color: #fff;
	text-decoration: none;
}

.l-nav-global .l-nav-global__list a[href*=".pdf"]::after {
	content: "";
	display: inline-block;
	margin-left: 5px;
	width: 28px;
	height: 28px;
	background-color: #fff;
	-webkit-mask-image: url(../img/common/ic_pdf.svg);
	mask-image: url(../img/common/ic_pdf.svg);
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	vertical-align: -5px;
}

.l-nav-global .l-nav-global__list a:hover {
	text-decoration: underline;
}

.l-nav-global .l-nav-global__contact {
	visibility: hidden;
	opacity: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 40px;
	position: relative;
	width: 100%;
	max-width: 400px;
	padding: 40px;
	border: 1px solid #707070;
	font-size: 1.6rem;
	font-family: var(--font-base);
	-webkit-transform: translateY(10px);
	transform: translateY(10px);
	transition: opacity .8s cubic-bezier(.215, .61, .355, 1), -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
	transition: opacity .8s cubic-bezier(.215, .61, .355, 1), transform .8s cubic-bezier(.215, .61, .355, 1);
	transition: opacity .8s cubic-bezier(.215, .61, .355, 1), transform .8s cubic-bezier(.215, .61, .355, 1), -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
}

.l-nav-global .l-nav-global__contact > div {
	visibility: hidden;
	opacity: 0;
	width: 100%;
	-webkit-transform: translateY(10px);
	transform: translateY(10px);
	transition: opacity .8s cubic-bezier(.215, .61, .355, 1), -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
	transition: opacity .8s cubic-bezier(.215, .61, .355, 1), transform .8s cubic-bezier(.215, .61, .355, 1);
	transition: opacity .8s cubic-bezier(.215, .61, .355, 1), transform .8s cubic-bezier(.215, .61, .355, 1), -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
}

.l-nav-global .l-nav-global__contact dt, .l-nav-global .l-nav-global__contact dd {
	letter-spacing: normal;
	text-align: center;
}

.l-nav-global .l-nav-global__contact dd {
	font-weight: 700;
}

.l-nav-global .l-nav-global__contact dd.-contact {
	margin-top: 24px;
	font-size: 2rem;
	line-height: 1.334;
}

.l-nav-global .l-nav-global__contact dd.-contact a {
	width: 100%;
	height: 80px;
	padding-inline: 20px;
	border-radius: calc(infinity * 1px);
	border: 1px solid #fff;
	background-color: #fff;
	color: var(--color-main-dark);
	text-align: left;
}

.l-nav-global .l-nav-global__contact dd.-contact a::before {
	background-color: var(--color-main-dark);
	-webkit-mask-image: url(../img/common/ic_contact.svg);
	mask-image: url(../img/common/ic_contact.svg);
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	transition: .3s;
}

.l-nav-global .l-nav-global__contact dd.-contact a:hover {
	background-color: var(--color-main-dark);
	color: #fff;
	text-decoration: none;
}

.l-nav-global .l-nav-global__contact dd.-contact a:hover::before {
	background-color: #fff;
}

.l-nav-global .l-nav-global__contact dd.-tel {
	margin-top: 20px;
	font-family: var(--font-en);
	font-size: 2.8rem;
}

.l-nav-global .l-nav-global__contact dd.-tel a {
	pointer-events: none;
}

.l-nav-global .l-nav-global__contact dd.-tel a::before {
	background-image: url(../img/common/ic_tel.svg);
}

.l-nav-global .l-nav-global__contact dd a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-decoration: none;
}

.l-nav-global .l-nav-global__contact dd a::before {
	content: "";
	width: 32px;
	height: 32px;
	background: center/contain no-repeat;
}

@media (max-width: 767px) {
	.l-nav-global .l-nav-global__contents {
		inset: 0;
		width: 100%;
		padding-top: calc(100 / var(--base-number-sp) * 100vw);
		height: calc(100% - 60 / var(--base-number-sp) * 100vw);
	}
	.l-nav-global .l-nav-global__inner {
		padding: 0 calc(30 / var(--base-number-sp) * 100vw) calc(20 / var(--base-number-sp) * 100vw);
	}
	.l-nav-global .l-nav-global__list {
		display: block;
	}
	.l-nav-global .l-nav-global__list > li {
		font-size: calc(25 / var(--base-number-sp) * 100vw);
		letter-spacing: .04em;
		-webkit-transform: translateY(calc(30 / var(--base-number-sp) * 100vw));
		transform: translateY(calc(30 / var(--base-number-sp) * 100vw));
	}
	.l-nav-global .l-nav-global__list > li:not(:first-child) {
		margin-top: calc(25 / var(--base-number-sp) * 100vw);
	}
	.l-nav-global .l-nav-global__list > li > ul {
		margin-top: calc(20 / var(--base-number-sp) * 100vw);
	}
	.l-nav-global .l-nav-global__list > li li {
		font-size: calc(18 / var(--base-number-sp) * 100vw);
	}
	.l-nav-global .l-nav-global__list > li li:not(:first-child) {
		margin-top: calc(20 / var(--base-number-sp) * 100vw);
	}
	.l-nav-global .l-nav-global__list a[href*=".pdf"]::after {
		width: calc(21 / var(--base-number-sp) * 100vw);
		height: calc(21 / var(--base-number-sp) * 100vw);
		vertical-align: calc(-3 / var(--base-number-sp) * 100vw);
	}
	.l-nav-global .l-nav-global__list a:hover {
		text-decoration: underline;
	}
	.l-nav-global .l-nav-global__contact {
		gap: calc(28 / var(--base-number-sp) * 100vw);
		margin-top: calc(30 / var(--base-number-sp) * 100vw);
		padding: calc(32 / var(--base-number-sp) * 100vw) 0 0;
		border: 0;
		border-top: 1px solid var(--color-main);
	}
	.l-nav-global .l-nav-global__contact > div {
		-webkit-transform: translateY(calc(30 / var(--base-number-sp) * 100vw));
		transform: translateY(calc(30 / var(--base-number-sp) * 100vw));
	}
	.l-nav-global .l-nav-global__contact dt {
		font-size: calc(15 / var(--base-number-sp) * 100vw);
	}
	.l-nav-global .l-nav-global__contact dd.-contact {
		margin-top: calc(15 / var(--base-number-sp) * 100vw);
		font-size: calc(16 / var(--base-number-sp) * 100vw);
	}
	.l-nav-global .l-nav-global__contact dd.-contact a {
		width: calc(280 / var(--base-number-sp) * 100vw);
		height: calc(60 / var(--base-number-sp) * 100vw);
		margin-inline: auto;
		padding-inline: calc(20 / var(--base-number-sp) * 100vw);
		border-radius: calc(60 / var(--base-number-sp) * 100vw);
	}
	.l-nav-global .l-nav-global__contact dd.-contact a::before {
		width: calc(28 / var(--base-number-sp) * 100vw);
		height: calc(28 / var(--base-number-sp) * 100vw);
	}
	.l-nav-global .l-nav-global__contact dd.-tel {
		margin-top: calc(10 / var(--base-number-sp) * 100vw);
		font-size: calc(28 / var(--base-number-sp) * 100vw);
	}
	.l-nav-global .l-nav-global__contact dd.-tel a {
		pointer-events: auto;
	}
	.l-nav-global .l-nav-global__contact dd.-tel a::before {
		width: calc(32 / var(--base-number-sp) * 100vw);
		height: calc(32 / var(--base-number-sp) * 100vw);
	}
	.l-nav-global .l-nav-global__contact dd a {
		gap: calc(10 / var(--base-number-sp) * 100vw);
	}
}
/* --------------------------------------------------
 07: Contents Style
-------------------------------------------------- */
main {
	overflow-x: clip;
	background-color: #fff;
	margin-top: 60px;
}

#top main {
	margin-top: 0;
}

@media (max-width: 767px) {
	main {
		margin-top: calc(60 / var(--base-number-sp) * 100vw);
	}
}
/* --------------------------------------------------
 08: Footer Style
-------------------------------------------------- */
/* l-footer */
.l-footer {
	position: relative;
	z-index: 5;
	padding-block: 150px;
	background-color: rgba(255, 255, 255, .7);
	-webkit-backdrop-filter: blur(50px) brightness(1.3);
	backdrop-filter: blur(50px) brightness(1.3);
	color: var(--color-main-dark);
}

.l-footer > .l-wrap {
	max-width: 1120px;
}

.l-footer .l-footer__header {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: clamp(20px, -28.608px + 6.329vw, 60px);
}

.l-footer .l-footer__headline {
	font-family: var(--font-en);
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.25;
}

.l-footer .l-footer__contents {
	margin-top: 40px;
	padding-top: 30px;
	border-top: 1px solid rgba(34, 34, 34, .2);
}

.l-footer .l-footer__list {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 40px;
}

.l-footer .l-footer__list li {
	font-weight: 700;
}

.l-footer .l-footer__list li a {
	text-decoration: none;
}

.l-footer .l-footer__list li a:hover {
	color: var(--color-main-dark);
	text-decoration: underline;
}

.l-footer .l-footer__unit {
	display: grid;
	grid-template-columns: 1fr min(39.7321428571vw, 445px);
	gap: 60px;
	margin-top: 28px;
}

.l-footer .l-footer__text {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: .08em;
	line-height: 2;
}

.l-footer .l-footer__utility {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 30px;
}

.l-footer .l-footer__utility li {
	font-size: 1.2rem;
}

.l-footer .l-footer__utility a {
	text-decoration: none;
}

.l-footer .l-footer__utility a[href*=".pdf"] {
	display: flex;
	align-items: center;
	gap: 5px;
}

.l-footer .l-footer__utility a[href*=".pdf"]::after {
	content: "";
	width: 14px;
	height: 14px;
	background-color: var(--color-main-dark);
	-webkit-mask: url(../img/common/ic_pdf.svg) center/contain no-repeat;
	mask: url(../img/common/ic_pdf.svg) center/contain no-repeat;
}

.l-footer .l-footer__utility a:hover {
	color: var(--color-main-dark);
	text-decoration: underline;
}

@media (max-width: 767px) {
	.l-footer {
		padding-block: calc(60 / var(--base-number-sp) * 100vw);
	}
	.l-footer .l-footer__header {
		display: block;
	}
	.l-footer .l-footer__headline {
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.l-footer .l-footer__contents {
		margin-top: calc(40 / var(--base-number-sp) * 100vw);
		padding-top: calc(40 / var(--base-number-sp) * 100vw);
	}
	.l-footer .l-footer__list {
		flex-direction: column;
		flex-wrap: nowrap;
		gap: calc(16 / var(--base-number-sp) * 100vw);
	}
	.l-footer .l-footer__unit {
		display: block;
		margin-top: calc(40 / var(--base-number-sp) * 100vw);
	}
	.l-footer .l-footer__text {
		font-size: calc(10 / var(--base-number-sp) * 100vw);
	}
	.l-footer .l-footer__utility {
		display: block;
		margin-top: calc(40 / var(--base-number-sp) * 100vw);
	}
	.l-footer .l-footer__utility li {
		font-size: calc(12 / var(--base-number-sp) * 100vw);
	}
	.l-footer .l-footer__utility li:not(:first-child) {
		margin-top: calc(15 / var(--base-number-sp) * 100vw);
	}
	.l-footer .l-footer__utility a[href*=".pdf"] {
		gap: calc(5 / var(--base-number-sp) * 100vw);
	}
	.l-footer .l-footer__utility a[href*=".pdf"]::after {
		width: calc(14 / var(--base-number-sp) * 100vw);
		height: calc(14 / var(--base-number-sp) * 100vw);
	}
}
/* l-nav-footer */
.l-nav-footer ul {
	display: grid;
	grid-template-columns: auto auto auto 1fr;
	gap: clamp(20px, -28.608px + 6.329vw, 60px);
}

.l-nav-footer li {
	font-size: 1.2rem;
	letter-spacing: .08em;
	line-height: 1.25;
}

.l-nav-footer li:first-child {
	grid-row: 1/3;
}

.l-nav-footer li b {
	display: block;
	margin-bottom: 5px;
	font-family: var(--font-en);
	font-size: 1.4rem;
	font-weight: 700;
}

.l-nav-footer a {
	display: inline-block;
	text-decoration: none;
}

.l-nav-footer a:hover {
	color: var(--color-main-dark);
	text-decoration: underline;
}

@media (max-width: 767px) {
	.l-nav-footer {
		margin-top: calc(30 / var(--base-number-sp) * 100vw);
	}
	.l-nav-footer ul {
		grid-template-columns: repeat(2, 1fr);
		gap: calc(25 / var(--base-number-sp) * 100vw) calc(10 / var(--base-number-sp) * 100vw);
	}
	.l-nav-footer li {
		font-size: calc(12 / var(--base-number-sp) * 100vw);
	}
	.l-nav-footer li:first-child {
		grid-column: 1/3;
		grid-row: auto;
	}
	.l-nav-footer li b {
		margin-bottom: calc(5 / var(--base-number-sp) * 100vw);
		font-size: calc(12 / var(--base-number-sp) * 100vw);
	}
}
/* l-copyright */
.l-copyright {
	margin-top: 25px;
	font-size: 1rem;
	line-height: 1.3;
	letter-spacing: .08em;
}

@media (max-width: 767px) {
	.l-copyright {
		margin-top: calc(45 / var(--base-number-sp) * 100vw);
		font-size: calc(10 / var(--base-number-sp) * 100vw);
	}
}
/* --------------------------------------------------
 Component
-------------------------------------------------- */
/* PAGE
------------------------------ */
/* c-page-header */
.c-page-header .c-page-header__inner {
	box-sizing: content-box;
	max-width: 1080px;
	margin-inline: auto;
	padding-inline: 20px;
}

.c-page-header .c-page-header__headline {
	display: flex;
	color: var(--color-main-dark);
}

.c-page-header .c-page-header__headline b {
	font-family: var(--font-en);
	font-size: 5rem;
	font-weight: 600;
	letter-spacing: .1em;
	line-height: 1;
}

.c-page-header .c-page-header__headline span {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	position: relative;
	margin-left: 25px;
	padding-left: 30px;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: .022em;
}

.c-page-header .c-page-header__headline span::before {
	content: "";
	position: absolute;
	top: 2px;
	bottom: 2px;
	left: 0;
	border-left: 1px solid;
}

@media (max-width: 767px) {
	.c-page-header .c-page-header__headline {
		display: block;
	}
	.c-page-header .c-page-header__headline b {
		font-size: 3.8rem;
	}
	.c-page-header .c-page-header__headline span {
		margin-top: 10px;
		padding-top: 10px;
		margin-left: 0;
		padding-left: 0;
		font-size: 1.6rem;
	}
	.c-page-header .c-page-header__headline span::before {
		top: 0;
		bottom: auto;
		border-top: 1px solid;
		border-left: 0;
		width: 1.5em;
	}
}
/* GROUP
------------------------------ */
/* c-group-header */
.c-group-header {
	color: #000;
	text-align: center;
}

.c-group-header .c-group-header__headline {
	font-family: var(--font-en);
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.2;
}

.c-group-header .c-group-header__lead {
	margin-top: 8px;
	font-size: 1.5rem;
}

@media (max-width: 767px) {
	.c-group-header .c-group-header__headline {
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.c-group-header .c-group-header__lead {
		margin-top: calc(4 / var(--base-number-sp) * 100vw);
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
}
/* BUTTON
------------------------------ */
/* c-btn */
.c-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	gap: 16px;
	max-width: 380px;
	min-height: 64px;
	margin-inline: auto;
	padding: 4px 32px;
	border: 2px solid;
	font-size: 1.8rem;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: .3s;
}

@media (any-hover: hover) {
	.c-btn.-animation {
		z-index: 3;
	}
	.c-btn.-animation::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		background-color: var(--color-main);
		-webkit-transform-origin: 100% 50%;
		transform-origin: 100% 50%;
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
		transition: -webkit-transform linear .3s;
		transition: transform linear .3s;
		transition: transform linear .3s, -webkit-transform linear .3s;
	}
	.c-btn.-animation:hover {
		background-color: transparent;
	}
	.c-btn.-animation:hover::before {
		-webkit-transform-origin: 0 50%;
		transform-origin: 0 50%;
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
	}
}
.c-btn[data-proposal-reset ]::before, .c-btn[data-proposal-reset ]::after {
	content: none;
}

.c-btn.-filter, .c-btn[data-proposal-reset ] {
	max-width: none;
	min-height: 48px;
	padding-inline: 20px;
	font-size: 1.5rem;
}

.c-btn[disabled] {
	border-color: var(--color-gray);
	color: var(--color-gray);
	pointer-events: none;
}

.c-btn b {
	flex: 1 0 auto;
	font-weight: 700;
}

.c-btn i {
	position: relative;
	width: 80px;
	height: 2px;
	border-radius: calc(infinity * 1px);
	background-color: var(--color-main);
	transition: background-color .3s;
}

.c-btn i::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 2px;
	height: 12px;
	border-radius: calc(infinity * 1px);
	background-color: var(--color-main);
	-webkit-transform-origin: 0 100%;
	transform-origin: 0 100%;
	translate: 0 calc(-50% - 6px);
	rotate: -45deg;
	transition: background-color .3s;
}

@media (any-hover: hover) {
	.c-btn:hover {
		border-color: var(--color-main);
		background-color: var(--color-main);
		color: #fff;
	}
	.c-btn:hover i {
		background-color: #fff;
	}
	.c-btn:hover i::after {
		background-color: #fff;
	}
}
@media (max-width: 767px) {
	.c-btn {
		gap: calc(8 / var(--base-number-sp) * 100vw);
		max-width: none;
		min-height: calc(48 / var(--base-number-sp) * 100vw) !important;
		padding: calc(4 / var(--base-number-sp) * 100vw) calc(20 / var(--base-number-sp) * 100vw) !important;
		font-size: calc(15 / var(--base-number-sp) * 100vw) !important;
	}
	.c-btn.-filter, .c-btn[data-proposal-reset ] {
		width: 100%;
		text-align: center;
	}
	.c-btn i {
		width: calc(44 / var(--base-number-sp) * 100vw);
		height: calc(2 / var(--base-number-sp) * 100vw);
	}
	.c-btn i::after {
		width: calc(2 / var(--base-number-sp) * 100vw);
		height: calc(12 / var(--base-number-sp) * 100vw);
		translate: 0 calc(-50% - 6 / var(--base-number-sp) * 100vw);
	}
}
/* c-btn-more */
.c-btn-more {
	display: block;
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding-right: 24px;
	padding-bottom: 12px;
	font-family: var(--font-en);
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-decoration: none;
	transition: .3s;
}

.c-btn-more::before, .c-btn-more::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	border-radius: calc(infinity * 1px);
	background-color: #707070;
}

.c-btn-more::before {
	left: 0;
	height: 2px;
}

.c-btn-more::after {
	width: 2px;
	height: 12px;
	rotate: -45deg;
	-webkit-transform-origin: 0 100%;
	transform-origin: 0 100%;
}

@media (any-hover: hover) {
	.c-btn-more {
		color: var();
	}
}
@media (max-width: 767px) {
	.c-btn-more {
		padding-right: calc(16 / var(--base-number-sp) * 100vw);
		padding-bottom: calc(8 / var(--base-number-sp) * 100vw);
		font-size: calc(10 / var(--base-number-sp) * 100vw);
	}
	.c-btn-more::before {
		height: calc(2 / var(--base-number-sp) * 100vw);
	}
	.c-btn-more::after {
		width: calc(2 / var(--base-number-sp) * 100vw);
		height: calc(12 / var(--base-number-sp) * 100vw);
	}
}
/* LINK
------------------------------ */
/* c-link-tag */
.c-link-tag {
	display: flex;
	align-items: center;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	min-height: 32px;
	padding: 4px 8px 4px 16px;
	border: 1px solid;
	border-radius: calc(infinity * 1px);
	background-color: #fff;
	font-size: 1.4rem;
	line-height: 1.25;
	text-decoration: none;
}

@media (any-hover: hover) {
	.c-link-tag:hover {
		border-color: var(--color-main);
		background-color: var(--color-main);
		color: #fff;
	}
}
@media (max-width: 767px) {
	.c-link-tag {
		min-height: calc(26 / var(--base-number-sp) * 100vw);
		padding: calc(4 / var(--base-number-sp) * 100vw) calc(6 / var(--base-number-sp) * 100vw) calc(4 / var(--base-number-sp) * 100vw) calc(10 / var(--base-number-sp) * 100vw);
		font-size: calc(12 / var(--base-number-sp) * 100vw);
	}
}
/* PAGINATION
------------------------------ */
/* c-pagination */
.c-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.c-pagination a {
	text-decoration: none;
}

.c-pagination .c-pagination__prev, .c-pagination .c-pagination__next {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-en);
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: .08em;
}

.c-pagination .c-pagination__prev.-hidden, .c-pagination .c-pagination__next.-hidden {
	visibility: hidden;
	opacity: 0;
}

.c-pagination .c-pagination__prev::before, .c-pagination .c-pagination__prev::after, .c-pagination .c-pagination__next::before, .c-pagination .c-pagination__next::after {
	width: 8px;
	height: 12px;
	background: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgOCAxMiIgd2lkdGg9IjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTYuNSAxMC44MDAyLTQuOC00LjggNC44LTQuOCIgc3Ryb2tlPSIjNDQ0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIvPjwvc3ZnPg==) center/contain no-repeat;
}

.c-pagination .c-pagination__prev::before {
	content: "";
}

.c-pagination .c-pagination__next::after {
	content: "";
	margin-left: -.08em;
	rotate: 180deg;
}

.c-pagination .c-pagination__number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--color-gray);
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.c-pagination .c-pagination__number.-current {
	border-color: var(--color-main);
	background-color: var(--color-main);
	color: #fff;
	pointer-events: none;
}

@media (any-hover: hover) {
	.c-pagination .c-pagination__number:hover {
		border-color: var(--color-main);
		background-color: var(--color-main);
		color: #fff;
	}
}
.c-pagination .c-pagination__dots {
	width: 16px;
	height: 16px;
	background: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTcgMTYiIHdpZHRoPSIxNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjNDQ0Ij48Y2lyY2xlIGN4PSIzLjUiIGN5PSI4IiByPSIxLjUiLz48Y2lyY2xlIGN4PSI4LjUiIGN5PSI4IiByPSIxLjUiLz48Y2lyY2xlIGN4PSIxMy41IiBjeT0iOCIgcj0iMS41Ii8+PC9nPjwvc3ZnPg==) center/contain no-repeat;
}

@media (max-width: 767px) {
	.c-pagination {
		gap: calc(8 / var(--base-number-sp) * 100vw);
	}
	.c-pagination .c-pagination__prev, .c-pagination .c-pagination__next {
		gap: calc(6 / var(--base-number-sp) * 100vw);
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
	.c-pagination .c-pagination__prev::before, .c-pagination .c-pagination__prev::after, .c-pagination .c-pagination__next::before, .c-pagination .c-pagination__next::after {
		width: calc(8 / var(--base-number-sp) * 100vw);
		height: calc(12 / var(--base-number-sp) * 100vw);
	}
	.c-pagination .c-pagination__number {
		width: calc(36 / var(--base-number-sp) * 100vw);
		height: calc(36 / var(--base-number-sp) * 100vw);
	}
	.c-pagination .c-pagination__dots {
		width: calc(16 / var(--base-number-sp) * 100vw);
		height: calc(16 / var(--base-number-sp) * 100vw);
	}
}
/* FORM
------------------------------ */
/* c-input-checkbox */
.c-input-checkbox {
	position: absolute;
	filter: alpha(opacity=0);
	opacity: 0;
}

.c-input-checkbox + label {
	display: flex;
	align-items: center;
	gap: 6px;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	min-height: 32px;
	padding: 4px 8px;
	border: 1px solid;
	border-radius: calc(infinity * 1px);
	background-color: #fff;
	font-size: 1.4rem;
	line-height: 1.25;
	transition: .3s;
	cursor: pointer;
}

.c-input-checkbox + label i {
	position: relative;
	flex-shrink: 0;
	width: 21px;
	height: 21px;
	border-radius: 100%;
	background-color: var(--color-sub);
	transition: background-color .3s;
}

.c-input-checkbox + label i::before, .c-input-checkbox + label i::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 11px;
	height: 1px;
	background-color: var(--color-main);
	transition: opacity .3s, translate .3s;
}

.c-input-checkbox + label i::after {
	rotate: 90deg;
}

.c-input-checkbox + label b {
	font-weight: 400;
}

.c-input-checkbox:checked + label {
	border-color: var(--color-main);
	background-color: var(--color-main);
	color: #fff;
}

.c-input-checkbox:checked + label i {
	background-color: #fff;
}

.c-input-checkbox:checked + label i::before, .c-input-checkbox:checked + label i::after {
	background-color: var(--color-main);
}

.c-input-checkbox:checked + label i::after {
	opacity: 0;
}

@media (max-width: 767px) {
	.c-input-checkbox + label {
		gap: calc(6 / var(--base-number-sp) * 100vw);
		min-height: calc(26 / var(--base-number-sp) * 100vw);
		padding: calc(4 / var(--base-number-sp) * 100vw) calc(6 / var(--base-number-sp) * 100vw);
		font-size: calc(12 / var(--base-number-sp) * 100vw);
	}
	.c-input-checkbox + label i {
		width: calc(17 / var(--base-number-sp) * 100vw);
		height: calc(17 / var(--base-number-sp) * 100vw);
	}
	.c-input-checkbox + label i::before, .c-input-checkbox + label i::after {
		width: calc(9 / var(--base-number-sp) * 100vw);
		height: calc(1 / var(--base-number-sp) * 100vw);
	}
}
/* --------------------------------------------------
 Project
-------------------------------------------------- */
/* --------------------------------------------------
 INDEX
-------------------------------------------------- */
/* p-visual */
.p-visual {
	position: fixed;
	inset: 0;
	height: calc(100dvh - .3px);
	background-color: #000;
}

.p-visual.is-scroll .p-visual__scroll {
	opacity: 0;
}

.p-visual video {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-visual .p-visual__scroll {
	overflow: hidden;
	position: absolute;
	left: 50%;
	bottom: 20px;
	height: 80px;
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
	translate: -50%;
	transition: .3s;
	-webkit-animation: fadeIn .7s cubic-bezier(.55, .055, .675, .19) 7s both;
	animation: fadeIn .7s cubic-bezier(.55, .055, .675, .19) 7s both;
}

.p-visual .p-visual__scroll::after {
	content: "";
	position: absolute;
	top: 25px;
	left: 50%;
	width: 1px;
	height: 0;
	background-color: #fff;
	-webkit-transform-origin: 50% 0;
	transform-origin: 50% 0;
	-webkit-animation: scrollStretch 2s ease-in-out infinite;
	animation: scrollStretch 2s ease-in-out infinite;
}

@media (max-width: 767px) {
	.p-visual video {
		aspect-ratio: 375/667;
	}
}
/* p-area-intro */
.p-area-intro {
	position: relative;
	z-index: 3;
	margin-top: 100vh;
}

.p-area-intro .p-area-intro__main {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100vh;
	background-color: rgba(255, 255, 255, .7);
	-webkit-backdrop-filter: blur(50px) brightness(1.3);
	backdrop-filter: blur(50px) brightness(1.3);
}

.p-area-intro .p-area-intro__lead p {
	color: #000;
	font-size: 2.4rem;
	line-height: 2.667;
}

@media (max-width: 767px) {
	.p-area-intro .p-area-intro__lead p {
		font-size: calc(18 / var(--base-number-sp) * 100vw);
		line-height: 2;
	}
	.p-area-intro .p-area-intro__lead p:not(:first-child) {
		margin-top: 1.5em;
	}
}
/* p-area-feature */
.p-area-feature {
	position: relative;
	z-index: 3;
	background-color: #fff;
}

.p-area-feature .l-wrap {
	position: relative;
	max-width: 1256px;
}

.p-area-feature .p-area-feature__headline {
	position: absolute;
	top: 50%;
	left: 20px;
	color: var(--color-main-dark);
	font-size: 2.4rem;
	letter-spacing: .65em;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	translate: 0 -50%;
}

.p-area-feature .p-area-feature__list {
	position: relative;
	max-width: var(--base-width);
	margin-inline: auto;
	padding-inline: 60px;
	height: 100vh;
}

.p-area-feature .p-area-feature__item {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: absolute;
	height: 100%;
}

.p-area-feature .p-area-feature__item.-item01 .p-area-feature__em {
	background-image: linear-gradient(to right, #7de0cd, #dbf6cc 62.5%, #333 100%);
}

.p-area-feature .p-area-feature__item.-item02 .p-area-feature__em {
	background-image: linear-gradient(to right, #fcc0c0, #d7bcef 50%, #333 100%);
}

.p-area-feature .p-area-feature__item.-item03 .p-area-feature__em {
	background-image: linear-gradient(to right, #a0b2d3, #333 100%);
}

.p-area-feature .p-area-feature__item[aria-hidden=false] .p-area-feature__em, .p-area-feature .p-area-feature__item[aria-hidden=false] .p-area-feature__jp, .p-area-feature .p-area-feature__item[aria-hidden=false] .p-area-feature__text {
	opacity: 1;
	translate: 0;
	transition: opacity .4s cubic-bezier(.37, .16, .12, 1), translate .4s cubic-bezier(.37, .16, .12, 1);
}

.p-area-feature .p-area-feature__em, .p-area-feature .p-area-feature__jp, .p-area-feature .p-area-feature__text {
	opacity: 0;
	translate: 0 10px;
	transition: opacity .2s cubic-bezier(.55, .055, .675, .19), translate .2s cubic-bezier(.55, .055, .675, .19);
}

.p-area-feature .p-area-feature__em {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-family: var(--font-en);
	font-size: 12rem;
	font-weight: 600;
	letter-spacing: .1em;
	line-height: 1;
	background-size: 200% 200%;
	-webkit-animation: animationBG 3s infinite alternate;
	animation: animationBG 3s infinite alternate;
}

.p-area-feature .p-area-feature__jp {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 20px;
	padding-inline: 40px calc(40px - .5em);
	color: var(--color-main-dark);
	font-family: var(--font-serif);
	font-size: 4.8rem;
	font-weight: 700;
	letter-spacing: .5em;
}

.p-area-feature .p-area-feature__jp::before, .p-area-feature .p-area-feature__jp::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 40px;
	border-style: solid;
}

.p-area-feature .p-area-feature__jp::before {
	top: 0;
	left: 0;
	border-width: 1px 0 0 1px;
}

.p-area-feature .p-area-feature__jp::after {
	right: 0;
	bottom: 0;
	border-width: 0 1px 1px 0;
}

.p-area-feature .p-area-feature__text {
	margin-top: 70px;
	font-size: 1.8rem;
	line-height: 2.25;
}

@media (max-width: 767px) {
	.p-area-feature .p-area-feature__headline {
		left: calc(15 / var(--base-number-sp) * 100vw);
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
	.p-area-feature .p-area-feature__list {
		padding-inline: calc(30 / var(--base-number-sp) * 100vw) 0;
	}
	.p-area-feature .p-area-feature__em {
		font-size: calc(36 / var(--base-number-sp) * 100vw);
	}
	.p-area-feature .p-area-feature__jp {
		margin-top: calc(10 / var(--base-number-sp) * 100vw);
		padding-inline: calc(30 / var(--base-number-sp) * 100vw) calc(30 / var(--base-number-sp) * 100vw - .5em);
		font-size: calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-area-feature .p-area-feature__jp::before, .p-area-feature .p-area-feature__jp::after {
		width: calc(10 / var(--base-number-sp) * 100vw);
		height: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-feature .p-area-feature__text {
		margin-top: calc(35 / var(--base-number-sp) * 100vw);
	}
}
/* p-area-business */
.p-area-business {
	position: relative;
	z-index: 3;
	margin-top: -2px;
	background-color: #fff;
}

.p-area-business .p-area-business__header {
	padding-block: 150px 195px;
}

.p-area-business .p-area-business__headline {
	font-family: var(--font-serif);
	font-size: 5rem;
	font-weight: 700;
	letter-spacing: .5em;
}

.p-area-business .p-area-business__list {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 65px calc(50% - 50vw) 0;
}

.p-area-business .p-area-business__item {
	flex-basis: 50%;
	padding-right: clamp(20px, 1.772px + 2.373vw, 35px);
}

.p-area-business .p-area-business__item:nth-child(even) {
	margin-top: 60px;
}

.p-area-business .p-area-business__item a {
	display: block;
	position: relative;
	text-decoration: none;
}

.p-area-business .p-area-business__item a:hover .p-area-business__contents {
	right: clamp(20px, 1.772px + 2.373vw, 35px);
	bottom: 0;
	width: calc(100% - clamp(20px, 1.772px + 2.373vw, 35px));
	height: 100%;
	max-height: 100%;
	padding: 20px 50px;
}

.p-area-business .p-area-business__item a:hover .p-area-business__text {
	display: block;
}

.p-area-business .p-area-business__item a:hover .p-area-business__more {
	margin-top: clamp(20px, -48.182px + 6.818vw, 50px);
}

.p-area-business .p-area-business__image {
	padding-right: clamp(20px, 1.772px + 2.373vw, 35px);
}

.p-area-business .p-area-business__image img {
	width: 100%;
}

.p-area-business .p-area-business__contents {
	overflow: hidden;
	display: grid;
	align-content: center;
	position: absolute;
	right: 0;
	bottom: 30px;
	width: 385px;
	max-height: 200px;
	padding: 35px 20px 20px 20px;
	background-color: rgba(255, 255, 255, .9);
	box-shadow: 0 0 40px rgba(0, 0, 0, .16);
	letter-spacing: .08em;
	transition: .3s;
}

.p-area-business .p-area-business__headline-sub {
	font-family: var(--font-serif);
	font-size: 2.3rem;
	font-weight: 700;
	line-height: 1.209;
}

.p-area-business .p-area-business__headline-sub span {
	display: block;
	margin-top: 5px;
	font-size: 2rem;
}

.p-area-business .p-area-business__text {
	display: none;
	margin-top: clamp(20px, -2.727px + 2.273vw, 30px);
	font-size: 1.5rem;
	letter-spacing: -.05em;
	line-height: 2.334;
}

.p-area-business .p-area-business__more {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 30px;
	padding-right: 24px;
	padding-bottom: 12px;
	font-family: var(--font-en);
	font-size: 1.4rem;
	font-weight: 700;
	transition: .3s;
}

.p-area-business .p-area-business__more::before, .p-area-business .p-area-business__more::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	border-radius: calc(infinity * 1px);
	background-color: #707070;
}

.p-area-business .p-area-business__more::before {
	left: 0;
	height: 2px;
}

.p-area-business .p-area-business__more::after {
	width: 2px;
	height: 12px;
	rotate: -45deg;
	-webkit-transform-origin: 0 100%;
	transform-origin: 0 100%;
}

@media screen and (max-width: 1000px) {
	.p-area-business .p-area-business__list {
		display: block;
	}
	.p-area-business .p-area-business__item {
		padding-right: 30px;
	}
	.p-area-business .p-area-business__item:not(:first-child) {
		margin-top: 20px;
	}
	.p-area-business .p-area-business__item:nth-child(even) {
		padding-right: 0;
		padding-left: 30px;
	}
	.p-area-business .p-area-business__item a:hover .p-area-business__contents {
		right: 60px;
		width: calc(100% - 60px);
	}
	.p-area-business .p-area-business__item a:hover .p-area-business__more {
		margin-top: 50px;
	}
	.p-area-business .p-area-business__image {
		padding-right: 60px;
	}
	.p-area-business .p-area-business__text {
		margin-top: 30px;
	}
}
@media (max-width: 767px) {
	.p-area-business .p-area-business__header {
		padding-block: calc(75 / var(--base-number-sp) * 100vw);
	}
	.p-area-business .p-area-business__headline {
		font-size: calc(30 / var(--base-number-sp) * 100vw);
	}
	.p-area-business .p-area-business__list {
		margin-top: calc(40 / var(--base-number-sp) * 100vw);
	}
	.p-area-business .p-area-business__item {
		display: block;
		padding-right: calc(30 / var(--base-number-sp) * 100vw);
	}
	.p-area-business .p-area-business__item:not(:first-child) {
		margin-top: calc(30 / var(--base-number-sp) * 100vw);
	}
	.p-area-business .p-area-business__item:nth-child(even) {
		padding-right: 0;
		padding-left: calc(30 / var(--base-number-sp) * 100vw);
	}
	.p-area-business .p-area-business__item a:hover .p-area-business__contents {
		height: auto;
		max-height: auto;
	}
	.p-area-business .p-area-business__image {
		padding-right: calc(60 / var(--base-number-sp) * 100vw);
	}
	.p-area-business .p-area-business__contents {
		position: relative;
		z-index: 3;
		right: auto !important;
		bottom: auto !important;
		width: calc(285 / var(--base-number-sp) * 100vw) !important;
		max-height: none;
		margin-top: calc(-120 / var(--base-number-sp) * 100vw);
		margin-left: auto;
		padding: calc(20 / var(--base-number-sp) * 100vw) !important;
		box-shadow: 0 0 calc(40 / var(--base-number-sp) * 100vw) rgba(0, 0, 0, .16);
	}
	.p-area-business .p-area-business__headline-sub {
		font-size: calc(15 / var(--base-number-sp) * 100vw);
	}
	.p-area-business .p-area-business__headline-sub span {
		margin-top: calc(5 / var(--base-number-sp) * 100vw);
		font-size: calc(10 / var(--base-number-sp) * 100vw);
	}
	.p-area-business .p-area-business__text {
		display: block;
		margin-top: calc(15 / var(--base-number-sp) * 100vw);
		font-size: calc(12 / var(--base-number-sp) * 100vw);
		line-height: 1.834;
	}
	.p-area-business .p-area-business__more {
		margin-top: calc(10 / var(--base-number-sp) * 100vw) !important;
		padding-right: calc(16 / var(--base-number-sp) * 100vw);
		padding-bottom: calc(8 / var(--base-number-sp) * 100vw);
		font-size: calc(10 / var(--base-number-sp) * 100vw);
	}
	.p-area-business .p-area-business__more::before {
		height: calc(2 / var(--base-number-sp) * 100vw);
	}
	.p-area-business .p-area-business__more::after {
		width: calc(2 / var(--base-number-sp) * 100vw);
		height: calc(12 / var(--base-number-sp) * 100vw);
	}
}
/* p-area-scroll */
.p-area-scroll {
	position: relative;
	z-index: 3;
}

.p-area-scroll .p-area-scroll__item {
	display: grid;
	grid-template-columns: 1fr calc(630 / var(--base-number-view) * 100vw);
	background-image: linear-gradient(#fff, var(--color-gray-light));
}

.p-area-scroll .p-area-scroll__item.-item03.is-check .p-area-scroll__contents, .p-area-scroll .p-area-scroll__item.-item04.is-check .p-area-scroll__contents {
	padding-bottom: 70px;
}

.p-area-scroll .p-area-scroll__item.-item03.is-check .p-area-scroll__step, .p-area-scroll .p-area-scroll__item.-item04.is-check .p-area-scroll__step {
	visibility: hidden;
	opacity: 0;
}

.p-area-scroll .p-area-scroll__image {
	position: sticky;
	top: 0;
	z-index: 3;
	width: 100%;
	height: 100vh;
}

.p-area-scroll .p-area-scroll__image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-area-scroll .p-area-scroll__contents {
	order: -1;
	position: relative;
	padding: 150px 20px;
}

.p-area-scroll .p-area-scroll__inner {
	width: 100%;
	max-width: 630px;
	margin-inline: auto;
}

.p-area-scroll .p-area-scroll__en {
	color: #808080;
	font-family: var(--font-en);
	font-size: 1.8rem;
	letter-spacing: .05em;
	line-height: 1.286;
}

.p-area-scroll .p-area-scroll__headline {
	margin-top: 10px;
	font-family: var(--font-serif);
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.2;
}

.p-area-scroll .p-area-scroll__headline span {
	display: block;
	margin-top: 8px;
	font-size: 2rem;
}

.p-area-scroll .p-area-scroll__group {
	position: relative;
	margin-top: 80px;
}

.p-area-scroll .p-area-scroll__text:not(:first-child) {
	margin-top: 80px;
}

.p-area-scroll .p-area-scroll__text > p, .p-area-scroll .p-area-scroll__text > dd {
	font-size: 1.5rem;
	line-height: 2;
}

.p-area-scroll .p-area-scroll__text > p:not(:first-child), .p-area-scroll .p-area-scroll__text > dd:not(:first-child) {
	margin-top: 1.5em;
}

.p-area-scroll .p-area-scroll__text > dt {
	margin-bottom: 30px;
	font-family: var(--font-serif);
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .05em;
}

.p-area-scroll .p-area-scroll__text > dt:has(b) {
	padding-bottom: 10px;
}

.p-area-scroll .p-area-scroll__text > dt b {
	border-bottom: 2px solid;
}

.p-area-scroll .p-area-scroll__step {
	margin-top: 100px;
}

.p-area-scroll .p-area-scroll__step dt {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-basis: 100%;
	font-family: var(--font-en);
	font-size: 1.8rem;
	letter-spacing: .08em;
}

.p-area-scroll .p-area-scroll__step dt::after {
	content: "";
	flex: 1;
	border-top: 1px solid #707070;
}

.p-area-scroll .p-area-scroll__step dd {
	margin-top: 15px;
}

.p-area-scroll .p-area-scroll__step ol {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 18px;
}

.p-area-scroll .p-area-scroll__step li {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 90px;
	height: 90px;
	border-radius: 100%;
	background-color: #fff;
	font-size: 1.2rem;
	letter-spacing: .022em;
	line-height: 1.334;
	text-align: center;
}

.p-area-scroll .p-area-scroll__step li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -16px;
	width: 14px;
	height: 14px;
	background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxyZWN0IGlkPSLplbfmlrnlvaJfMjA1OCIgZGF0YS1uYW1lPSLplbfmlrnlvaIgMjA1OCIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNjkgNTMzNS45MjcpIiBmaWxsPSIjZmZmIiBzdHJva2U9IiM3MDcwNzAiIHN0cm9rZS13aWR0aD0iMSIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9IuODnuOCueOCr+OCsOODq+ODvOODl18yMSIgZGF0YS1uYW1lPSLjg57jgrnjgq/jgrDjg6vjg7zjg5cgMjEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zNjkgLTUzMzUuOTI3KSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcGF0aCkiPgogICAgPGcgaWQ9ImZsb3ciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM2OSA1MzM1LjkyNykiPgogICAgICA8cGF0aCBpZD0i44OR44K5XzEwODgwIiBkYXRhLW5hbWU9IuODkeOCuSAxMDg4MCIgZD0iTTcuMzE1LDIuOTg5bDQuMjkxLDQuMjg0SC45OTQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzQ0NCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBzdHJva2Utd2lkdGg9IjEuMDUiLz4KICAgICAgPHJlY3QgaWQ9IumVt+aWueW9ol8yMDU5IiBkYXRhLW5hbWU9IumVt+aWueW9oiAyMDU5IiB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIGZpbGw9Im5vbmUiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=) center/contain no-repeat;
	translate: 0 -50%;
}

.p-area-scroll .p-area-scroll__pagination {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: 35px;
	position: absolute;
	top: 0;
	right: 25px;
	z-index: 5;
	height: 100vh;
}

.p-area-scroll .p-area-scroll__pagination.is-fixed {
	position: fixed;
}

.p-area-scroll .p-area-scroll__pagination.is-finished {
	top: auto;
	bottom: 0;
}

.p-area-scroll .p-area-scroll__pagination li {
	text-align: right;
}

.p-area-scroll .p-area-scroll__pagination li a {
	display: block;
	position: relative;
	padding-right: 30px;
	color: transparent;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.334;
	text-decoration: none;
	pointer-events: none;
}

.p-area-scroll .p-area-scroll__pagination li a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 5px;
	width: 10px;
	height: 10px;
	border-radius: 100%;
	background-color: #fff;
	box-shadow: 0 0 10px rgba(0, 0, 0, .7);
	translate: 0 -50%;
	pointer-events: auto;
	transition: .3s;
}

.p-area-scroll .p-area-scroll__pagination li a.is-active, .p-area-scroll .p-area-scroll__pagination li a:hover {
	color: #fff;
	pointer-events: auto;
}

.p-area-scroll .p-area-scroll__pagination li a.is-active::after, .p-area-scroll .p-area-scroll__pagination li a:hover::after {
	right: 0;
	width: 20px;
	height: 20px;
	border: 5px solid rgba(0, 0, 0, .7);
}

@media only screen and (max-width: 767px) {
	.p-area-scroll .p-area-scroll__item {
		display: block;
	}
	.p-area-scroll .p-area-scroll__image {
		top: calc(60 / var(--base-number-sp) * 100vw);
		height: calc(180 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__image::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		height: calc(80 / var(--base-number-sp) * 100vw);
		background-image: linear-gradient(rgba(0, 0, 0, .4), transparent);
	}
	.p-area-scroll .p-area-scroll__contents {
		padding: calc(40 / var(--base-number-sp) * 100vw) calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__inner {
		display: grid;
	}
	.p-area-scroll .p-area-scroll__en {
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__headline {
		margin-top: calc(10 / var(--base-number-sp) * 100vw);
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__headline span {
		margin-top: calc(5 / var(--base-number-sp) * 100vw);
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__group {
		display: contents;
	}
	.p-area-scroll .p-area-scroll__text {
		margin-top: calc(30 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__text:not(:first-child) {
		margin-top: calc(30 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__text:has(.p-unit-scroll) {
		order: 10;
		margin-top: calc(40 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__text > p, .p-area-scroll .p-area-scroll__text > dd {
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__text > dt {
		margin-bottom: calc(20 / var(--base-number-sp) * 100vw);
		font-size: calc(16 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__text > dt:has(b) {
		padding-bottom: calc(10 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__text > dt b {
		border-bottom-width: calc(2 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__step {
		margin-top: calc(30 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__step dt {
		gap: calc(15 / var(--base-number-sp) * 100vw);
		font-size: calc(16 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__step dd {
		margin-top: calc(10 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__step ol {
		justify-content: flex-start;
		gap: calc(5 / var(--base-number-sp) * 100vw) calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__step li {
		width: calc(135 / var(--base-number-sp) * 100vw);
		height: calc(30 / var(--base-number-sp) * 100vw);
		border-radius: calc(30 / var(--base-number-sp) * 100vw);
		font-size: calc(10 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__step li:not(:last-child)::after {
		right: calc(-19 / var(--base-number-sp) * 100vw);
		width: calc(14 / var(--base-number-sp) * 100vw);
		height: calc(14 / var(--base-number-sp) * 100vw);
	}
	.p-area-scroll .p-area-scroll__pagination {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		gap: calc(20 / var(--base-number-sp) * 100vw);
		inset: calc(70 / var(--base-number-sp) * 100vw) 0 auto !important;
		height: auto;
	}
	.p-area-scroll .p-area-scroll__pagination li {
		text-align: center;
	}
	.p-area-scroll .p-area-scroll__pagination li a {
		padding-right: 0;
		padding-bottom: calc(10 / var(--base-number-sp) * 100vw);
		font-size: calc(10 / var(--base-number-sp) * 100vw) !important;
		color: rgba(255, 255, 255, .7);
		pointer-events: auto;
	}
	.p-area-scroll .p-area-scroll__pagination li a::after {
		visibility: hidden;
		opacity: 0;
		inset: auto 0 0 50%;
		width: calc(4 / var(--base-number-sp) * 100vw) !important;
		height: calc(4 / var(--base-number-sp) * 100vw) !important;
		box-shadow: 0 calc(3 / var(--base-number-sp) * 100vw) calc(6 / var(--base-number-sp) * 100vw) rgba(0, 0, 0, .28);
		translate: -50%;
	}
	.p-area-scroll .p-area-scroll__pagination li a.is-active::after, .p-area-scroll .p-area-scroll__pagination li a:hover::after {
		visibility: visible;
		opacity: 1;
		border: 0;
	}
}
/* p-unit-scroll */
.p-unit-scroll {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.p-unit-scroll .p-unit-scroll__item {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.p-unit-scroll .p-unit-scroll__image {
	position: relative;
}

.p-unit-scroll .p-unit-scroll__image i {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 2px 5px;
	border-top-right-radius: 5px;
	background-color: var(--color-main);
	color: #fff;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
}

.p-unit-scroll .p-unit-scroll__list > div {
	display: grid;
	grid-template-columns: 4.5em 1fr;
	gap: 10px;
	font-size: 1.1rem;
}

.p-unit-scroll .p-unit-scroll__list > div:not(:first-child) {
	margin-top: 10px;
}

.p-unit-scroll .p-unit-scroll__link {
	margin-top: auto;
}

.p-unit-scroll .p-unit-scroll__link a {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding-right: 24px;
	padding-bottom: 12px;
	font-size: 1.1rem;
	font-weight: 700;
	text-decoration: none;
	transition: .3s;
}

.p-unit-scroll .p-unit-scroll__link a::before, .p-unit-scroll .p-unit-scroll__link a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	border-radius: calc(infinity * 1px);
	background-color: #707070;
	transition: .3s;
}

.p-unit-scroll .p-unit-scroll__link a::before {
	left: 0;
	width: 100%;
	height: 2px;
}

.p-unit-scroll .p-unit-scroll__link a::after {
	width: 2px;
	height: 12px;
	rotate: -45deg;
	-webkit-transform-origin: 0 100%;
	transform-origin: 0 100%;
}

.p-unit-scroll .p-unit-scroll__link a:hover::before {
	width: calc(100% + 5px);
}

.p-unit-scroll .p-unit-scroll__link a:hover::after {
	translate: 5px;
}

@media (max-width: 767px) {
	.p-unit-scroll {
		grid-template-columns: repeat(2, 1fr);
		gap: calc(15 / var(--base-number-sp) * 100vw);
	}
	.p-unit-scroll .p-unit-scroll__item {
		gap: calc(15 / var(--base-number-sp) * 100vw);
	}
	.p-unit-scroll .p-unit-scroll__item:nth-child(n+3) {
		display: none;
	}
	.p-unit-scroll .p-unit-scroll__image i {
		padding: calc(2 / var(--base-number-sp) * 100vw) calc(5 / var(--base-number-sp) * 100vw);
		border-top-right-radius: calc(5 / var(--base-number-sp) * 100vw);
		font-size: calc(10 / var(--base-number-sp) * 100vw);
	}
	.p-unit-scroll .p-unit-scroll__list > div {
		gap: calc(10 / var(--base-number-sp) * 100vw);
		font-size: calc(11 / var(--base-number-sp) * 100vw);
	}
	.p-unit-scroll .p-unit-scroll__list > div:not(:first-child) {
		margin-top: calc(5 / var(--base-number-sp) * 100vw);
	}
	.p-unit-scroll .p-unit-scroll__link a {
		padding-right: calc(24 / var(--base-number-sp) * 100vw);
		padding-bottom: calc(12 / var(--base-number-sp) * 100vw);
		font-size: calc(11 / var(--base-number-sp) * 100vw);
	}
	.p-unit-scroll .p-unit-scroll__link a::before {
		height: calc(2 / var(--base-number-sp) * 100vw);
	}
	.p-unit-scroll .p-unit-scroll__link a::after {
		width: calc(2 / var(--base-number-sp) * 100vw);
		height: calc(12 / var(--base-number-sp) * 100vw);
	}
	.p-unit-scroll .p-unit-scroll__link a:hover::before {
		width: calc(100% + 5 / var(--base-number-sp) * 100vw);
	}
	.p-unit-scroll .p-unit-scroll__link a:hover::after {
		translate: calc(5 / var(--base-number-sp) * 100vw);
	}
}
/* p-area-overview */
.p-area-overview {
	position: relative;
	z-index: 3;
	padding-block: 160px;
	background-color: #fff;
}

.p-area-overview .p-area-overview__headline {
	display: flex;
	align-items: center;
	gap: 30px;
	font-family: var(--font-serif);
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: .08em;
}

.p-area-overview .p-area-overview__headline span {
	font-family: var(--font-en);
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: .3em;
}

.p-area-overview .p-area-overview__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	margin-top: 30px;
}

.p-area-overview .p-area-overview__item {
	display: table;
	padding-block: 30px;
	border-top: 1px solid;
	border-bottom: 1px solid;
}

.p-area-overview .p-area-overview__item > div {
	display: table-row;
}

.p-area-overview .p-area-overview__item dt, .p-area-overview .p-area-overview__item dd {
	display: table-cell;
	padding-block: 20px;
}

.p-area-overview .p-area-overview__item dt {
	white-space: nowrap;
	width: 100px;
	padding-right: 35px;
	font-weight: 700;
}

@media (max-width: 767px) {
	.p-area-overview {
		padding-block: calc(100 / var(--base-number-sp) * 100vw);
	}
	.p-area-overview .p-area-overview__headline {
		gap: calc(30 / var(--base-number-sp) * 100vw);
		font-size: calc(26 / var(--base-number-sp) * 100vw);
		letter-spacing: .5em;
	}
	.p-area-overview .p-area-overview__headline span {
		font-size: calc(12 / var(--base-number-sp) * 100vw);
	}
	.p-area-overview .p-area-overview__list {
		display: block;
		margin-top: calc(30 / var(--base-number-sp) * 100vw);
		padding-block: calc(30 / var(--base-number-sp) * 100vw);
		border-top: 1px solid;
		border-bottom: 1px solid;
	}
	.p-area-overview .p-area-overview__item {
		display: grid;
		row-gap: calc(20 / var(--base-number-sp) * 100vw);
		padding-block: 0;
		border-top: 0;
		border-bottom: 0;
	}
	.p-area-overview .p-area-overview__item:not(:first-child) {
		margin-top: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-overview .p-area-overview__item > div {
		display: grid;
		grid-template-columns: calc(90 / var(--base-number-sp) * 100vw) 1fr;
		gap: calc(10 / var(--base-number-sp) * 100vw);
	}
	.p-area-overview .p-area-overview__item dt, .p-area-overview .p-area-overview__item dd {
		display: block;
		padding-block: 0;
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
	.p-area-overview .p-area-overview__item dt {
		white-space: revert;
		width: auto;
		padding-right: 0;
	}
}
/* --------------------------------------------------
 CONTACT
-------------------------------------------------- */
/* .p-area-contact */
.p-area-contact {
	padding-top: 45px;
}

@media (max-width: 767px) {
	.p-area-contact {
		padding-top: calc(40 / var(--base-number-sp) * 100vw);
	}
}
/* --------------------------------------------------
 PROPOSAL
-------------------------------------------------- */
/* .p-visual-proposal */
.p-visual-proposal {
	position: relative;
	height: calc(100dvh - 60px);
	min-height: 732px;
	color: var(--color-main-dark);
}

.p-visual-proposal.-top {
	min-height: 862px;
}

.p-visual-proposal::before, .p-visual-proposal::after {
	content: "";
	position: absolute;
	z-index: 3;
}

.p-visual-proposal::before {
	bottom: 100px;
	left: calc(50% - 16px);
	width: 721px;
	height: 218px;
	background: url(../img/proposal/visual-proposal_tx.svg) center/contain no-repeat;
	mix-blend-mode: color-dodge;
}

.p-visual-proposal::after {
	inset: 0;
	background-color: rgba(255, 255, 255, .5);
}

.p-visual-proposal video {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-visual-proposal .p-visual-proposal__contents {
	position: absolute;
	inset: 0;
	z-index: 5;
	padding-bottom: 60px;
}

.p-visual-proposal .p-visual-proposal__contents .l-wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
}

.p-visual-proposal .p-visual-proposal__headline {
	font-size: 6rem;
	font-family: var(--font-serif);
	text-shadow: 3px 3px 0 #fff;
	font-weight: 700;
	letter-spacing: .18em;
}

.p-visual-proposal .p-visual-proposal__headline span {
	font-weight: 4.8rem;
}

.p-visual-proposal .p-visual-proposal__text {
	margin-top: 40px;
	font-size: 1.8rem;
	line-height: 2.3;
}

.p-visual-proposal .p-visual-proposal__btn {
	margin-top: 48px;
}

.p-visual-proposal .p-visual-proposal__btn .c-btn {
	margin-left: 0;
}

@media (max-width: 767px) {
	.p-visual-proposal {
		height: calc(100dvh - 60 / var(--base-number-sp) * 100vw);
		min-height: calc(582 / var(--base-number-sp) * 100vw);
	}
	.p-visual-proposal.-top {
		min-height: calc(730 / var(--base-number-sp) * 100vw);
	}
	.p-visual-proposal::before {
		inset: auto calc(-2 / var(--base-number-sp) * 100vw) calc(40 / var(--base-number-sp) * 100vw) auto;
		width: calc(348 / var(--base-number-sp) * 100vw);
		height: calc(105 / var(--base-number-sp) * 100vw);
	}
	.p-visual-proposal .p-visual-proposal__contents {
		padding-bottom: calc(80 / var(--base-number-sp) * 100vw);
	}
	.p-visual-proposal .p-visual-proposal__headline {
		font-size: calc(32 / var(--base-number-sp) * 100vw);
		text-shadow: calc(2 / var(--base-number-sp) * 100vw) calc(2 / var(--base-number-sp) * 100vw) 0 #fff;
		white-space: nowrap;
	}
	.p-visual-proposal .p-visual-proposal__headline span {
		font-weight: calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-visual-proposal .p-visual-proposal__text {
		margin-top: calc(18 / var(--base-number-sp) * 100vw);
		font-size: calc(18 / var(--base-number-sp) * 100vw);
		line-height: 2;
	}
	.p-visual-proposal .p-visual-proposal__btn {
		margin-top: calc(32 / var(--base-number-sp) * 100vw);
	}
}
/* p-area-proposal */
.p-area-proposal {
	padding-block: 80px;
}

.p-area-proposal.-top {
	position: relative;
	background-color: #dddfe2;
}

@media (max-width: 767px) {
	.p-area-proposal {
		padding-block: calc(40 / var(--base-number-sp) * 100vw) calc(80 / var(--base-number-sp) * 100vw);
	}
	.p-area-proposal.-top {
		padding-top: 0;
	}
}
/* p-block-filter */
.p-block-filter {
	background-color: #fff;
	box-shadow: 0 0 40px rgba(0, 0, 0, .25);
	scroll-behavior: smooth;
}

.p-block-filter .p-block-filter__headline {
	position: relative;
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 40px;
	font-family: var(--font-serif);
	font-size: 2.4rem;
	font-weight: 600;
	cursor: pointer;
}

.p-block-filter .p-block-filter__headline[aria-expanded=true] i::after {
	opacity: 0;
}

.p-block-filter .p-block-filter__headline span {
	font-family: var(--font-base);
	font-size: 1.5rem;
	font-weight: 400;
}

.p-block-filter .p-block-filter__headline i {
	position: absolute;
	inset: 0 40px 0 auto;
	width: 33px;
	height: 33px;
	margin-block: auto;
	border-radius: 100%;
	background-color: var(--color-main);
}

.p-block-filter .p-block-filter__headline i::before, .p-block-filter .p-block-filter__headline i::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 17px;
	height: 1px;
	background-color: #fff;
	transition: opacity .3s, translate .3s;
}

.p-block-filter .p-block-filter__headline i::after {
	rotate: 90deg;
}

.p-block-filter .p-block-filter__contents {
	padding: 0 40px 40px;
}

.p-block-filter .p-block-filter__contents[aria-hidden=true] {
	display: none;
}

.p-block-filter .p-block-filter__contents[id] {
	margin-top: -80px;
	padding-top: 80px;
}

.p-block-filter .p-block-filter__list {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 12px;
}

.p-block-filter .p-block-filter__unit {
	display: flex;
	gap: 24px;
	margin-top: 32px;
}

@media (max-width: 767px) {
	.p-block-filter {
		margin-inline: calc(50% - 50vw);
		box-shadow: 0 0 calc(40 / var(--base-number-sp) * 100vw) rgba(0, 0, 0, .25);
	}
	.p-block-filter .p-block-filter__headline {
		flex-direction: column;
		align-items: flex-start;
		gap: calc(10 / var(--base-number-sp) * 100vw);
		padding: calc(24 / var(--base-number-sp) * 100vw) calc(52 / var(--base-number-sp) * 100vw) calc(24 / var(--base-number-sp) * 100vw) calc(20 / var(--base-number-sp) * 100vw);
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-block-filter .p-block-filter__headline span {
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
	.p-block-filter .p-block-filter__headline i {
		top: calc(24 / var(--base-number-sp) * 100vw);
		right: calc(20 / var(--base-number-sp) * 100vw);
		width: calc(33 / var(--base-number-sp) * 100vw);
		height: calc(33 / var(--base-number-sp) * 100vw);
		margin-block: 0;
	}
	.p-block-filter .p-block-filter__headline i::before, .p-block-filter .p-block-filter__headline i::after {
		width: calc(17 / var(--base-number-sp) * 100vw);
		height: calc(1 / var(--base-number-sp) * 100vw);
	}
	.p-block-filter .p-block-filter__contents {
		padding: 0 calc(20 / var(--base-number-sp) * 100vw) calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-block-filter .p-block-filter__list {
		gap: calc(12 / var(--base-number-sp) * 100vw) calc(8 / var(--base-number-sp) * 100vw);
	}
	.p-block-filter .p-block-filter__unit {
		flex-direction: column;
		gap: calc(16 / var(--base-number-sp) * 100vw);
		margin-top: calc(24 / var(--base-number-sp) * 100vw);
	}
}
/* p-block-proposal */
.p-block-proposal.-top {
	position: relative;
	z-index: 5;
}

.p-block-proposal.-top .p-block-proposal__list {
	grid-template-columns: calc(630 / var(--base-number-wide) * 100%) calc(420 / var(--base-number-wide) * 100%);
	gap: 50px calc(70 / var(--base-number-wide) * 100%);
}

.p-block-proposal.-top .p-block-proposal__item {
	align-items: start;
	background-color: transparent;
	box-shadow: none;
}

.p-block-proposal.-top .p-block-proposal__item:first-child {
	grid-row: 1/3;
}

.p-block-proposal.-top .p-block-proposal__item:nth-child(2) {
	margin-top: -150px;
}

.p-block-proposal.-top .p-block-proposal__item a {
	display: block;
	background-color: #fff;
	box-shadow: 0 0 40px rgba(0, 0, 0, .25);
}

.p-block-proposal:not(:first-child) {
	margin-top: 80px;
}

.p-block-proposal .p-block-proposal__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 80px 40px;
}

.p-block-proposal .p-block-proposal__item {
	position: relative;
	background-color: #fff;
	box-shadow: 0 0 40px rgba(0, 0, 0, .25);
}

.p-block-proposal .p-block-proposal__item.is-active .p-block-proposal__image span.-after {
	-webkit-animation: fadeImage 12s 6s cubic-bezier(.45, 0, .55, 1) infinite alternate both, fadeImage 5s .5s cubic-bezier(.45, 0, .55, 1);
	animation: fadeImage 12s 6s cubic-bezier(.45, 0, .55, 1) infinite alternate both, fadeImage 5s .5s cubic-bezier(.45, 0, .55, 1);
}

.p-block-proposal .p-block-proposal__item a {
	text-decoration: none;
}

.p-block-proposal .p-block-proposal__new {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: -8px;
	left: -8px;
	z-index: 3;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	min-width: calc(80px - .02em);
	min-height: 48px;
	padding: 4px 12px;
	background-color: var(--color-main);
	color: #fff;
	font-family: var(--font-en);
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1;
}

.p-block-proposal .p-block-proposal__image {
	position: relative;
	text-align: center;
}

.p-block-proposal .p-block-proposal__image img {
	width: 100%;
}

.p-block-proposal .p-block-proposal__image span.-after {
	opacity: 0;
	overflow: hidden;
	position: absolute;
	inset: 0;
	transition: opacity .3s;
}

.p-block-proposal .p-block-proposal__contents {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 16px;
	padding: 24px;
}

.p-block-proposal .p-block-proposal__unit {
	flex: 1;
}

.p-block-proposal .p-block-proposal__label {
	display: flex;
	align-items: center;
	justify-content: center;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	min-height: 28px;
	margin-bottom: 12px;
	padding: 4px calc(12px - .02em) 4px 12px;
	background-color: var(--color-sub);
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: .02em;
}

.p-block-proposal .p-block-proposal__headline {
	font-family: var(--font-serif);
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: .08em;
	line-height: 1.334;
}

.p-block-proposal .p-block-proposal__more {
	margin-left: auto;
	align-self: flex-end;
}

.p-block-proposal .p-block-proposal__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding: 0 24px 24px;
}

.p-block-proposal .p-block-proposal__pagination {
	margin-top: 80px;
}

@media (max-width: 767px) {
	.p-block-proposal.-top .p-block-proposal__item:nth-child(2) {
		margin-top: 0;
	}
	.p-block-proposal.-top .p-block-proposal__item a {
		box-shadow: 0 0 calc(40 / var(--base-number-sp) * 100vw) rgba(0, 0, 0, .25);
	}
	.p-block-proposal:not(:first-child) {
		margin-top: calc(80 / var(--base-number-sp) * 100vw);
	}
	.p-block-proposal .p-block-proposal__list {
		grid-template-columns: none !important;
		row-gap: calc(48 / var(--base-number-sp) * 100vw) !important;
		margin-inline: calc(50% - 50vw);
	}
	.p-block-proposal .p-block-proposal__item {
		box-shadow: 0 0 calc(40 / var(--base-number-sp) * 100vw) rgba(0, 0, 0, .25);
	}
	.p-block-proposal .p-block-proposal__new {
		top: calc(-8 / var(--base-number-sp) * 100vw);
		left: 0;
		min-width: calc(80 / var(--base-number-sp) * 100vw - .02em);
		min-height: calc(48 / var(--base-number-sp) * 100vw);
		padding: calc(4 / var(--base-number-sp) * 100vw) calc(12 / var(--base-number-sp) * 100vw);
		font-size: calc(16 / var(--base-number-sp) * 100vw);
	}
	.p-block-proposal .p-block-proposal__contents {
		flex-direction: column;
		gap: calc(20 / var(--base-number-sp) * 100vw);
		padding: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-block-proposal .p-block-proposal__unit {
		flex: auto;
	}
	.p-block-proposal .p-block-proposal__label {
		min-height: calc(28 / var(--base-number-sp) * 100vw);
		margin-bottom: calc(12 / var(--base-number-sp) * 100vw);
		padding: calc(4 / var(--base-number-sp) * 100vw) calc(12 / var(--base-number-sp) * 100vw - .02em) calc(4 / var(--base-number-sp) * 100vw) calc(12 / var(--base-number-sp) * 100vw);
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
	.p-block-proposal .p-block-proposal__headline {
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-block-proposal .p-block-proposal__more {
		margin-left: 0;
		align-self: flex-start;
	}
	.p-block-proposal .p-block-proposal__tags {
		gap: calc(8 / var(--base-number-sp) * 100vw);
		flex-basis: auto;
		padding: 0 calc(20 / var(--base-number-sp) * 100vw) calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-block-proposal .p-block-proposal__pagination {
		margin-top: calc(40 / var(--base-number-sp) * 100vw);
	}
}
/* p-detail-proposal */
.p-detail-proposal {
	padding-bottom: 80px;
}

.p-detail-proposal .p-detail-proposal__header {
	padding-top: 40px;
}

.p-detail-proposal .p-detail-proposal__label {
	display: flex;
	align-items: center;
	justify-content: center;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	min-height: 28px;
	margin-bottom: 12px;
	padding: 4px calc(12px - .02em) 4px 12px;
	background-color: var(--color-sub);
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: .02em;
}

.p-detail-proposal .p-detail-proposal__headline {
	font-family: var(--font-serif);
	font-size: 3.2rem;
	font-weight: 600;
	letter-spacing: .08em;
	line-height: 1.334;
}

.p-detail-proposal .p-detail-proposal__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}

.p-detail-proposal .p-detail-proposal__contents {
	margin-top: 48px;
}

.p-detail-proposal .p-detail-proposal__inner {
	max-width: 840px;
	margin-inline: auto;
}

.p-detail-proposal .p-detail-proposal__slide {
	margin-inline: calc(50% - 50vw);
	padding-inline: calc(50vw - 50%);
}

.p-detail-proposal .p-detail-proposal__slide .swiper {
	overflow: visible;
}

.p-detail-proposal .p-detail-proposal__slide .swiper-wrapper {
	align-items: flex-end;
}

.p-detail-proposal .p-detail-proposal__slide .swiper-slide {
	opacity: .6;
	scale: .857;
	-webkit-transform-origin: 50% 100%;
	transform-origin: 50% 100%;
	transition: scale .3s;
}

.p-detail-proposal .p-detail-proposal__slide .swiper-slide span {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: -8px;
	left: -8px;
	z-index: 3;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	min-width: calc(80px - .02em);
	min-height: 48px;
	padding: 4px 12px;
	background-color: var(--color-main);
	color: #fff;
	font-family: var(--font-en);
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1;
}

.p-detail-proposal .p-detail-proposal__slide .swiper-slide-active {
	opacity: 1;
	scale: 1;
}

.p-detail-proposal .p-detail-proposal__slide .swiper-pagination {
	position: static;
	margin-top: 28px;
	font-size: 0;
}

.p-detail-proposal .p-detail-proposal__slide .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin-inline: 4px;
}

.p-detail-proposal .p-detail-proposal__slide .swiper-pagination-bullet {
	opacity: 1;
	width: 10px;
	height: 10px;
	border: 1px solid var(--color-gray);
	background-color: transparent;
}

.p-detail-proposal .p-detail-proposal__slide .swiper-pagination-bullet-active {
	border-color: var(--color-main);
	background-color: var(--color-main);
}

.p-detail-proposal .p-detail-proposal__slide .swiper-button-prev, .p-detail-proposal .p-detail-proposal__slide .swiper-button-next {
	top: calc(50% - 19px);
	width: 60px;
	height: 60px;
	margin-top: 0;
	border: 1px solid var(--color-main);
	border-radius: 100%;
	background-color: var(--color-main);
	color: #fff;
	translate: 0 -50%;
	transition: .3s;
}

.p-detail-proposal .p-detail-proposal__slide .swiper-button-prev:after, .p-detail-proposal .p-detail-proposal__slide .swiper-button-next:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 15px;
	height: 15px;
	border-bottom: 1px solid;
	border-left: 1px solid;
	translate: -50% -50%;
	transition: border-color .3s;
}

.p-detail-proposal .p-detail-proposal__slide .swiper-button-prev:hover, .p-detail-proposal .p-detail-proposal__slide .swiper-button-next:hover {
	background-color: #fff;
	color: var(--color-main);
}

.p-detail-proposal .p-detail-proposal__slide .swiper-button-prev {
	left: -84px;
}

.p-detail-proposal .p-detail-proposal__slide .swiper-button-prev::after {
	-webkit-transform: translateX(4px) rotate(45deg);
	transform: translateX(4px) rotate(45deg);
}

.p-detail-proposal .p-detail-proposal__slide .swiper-button-next {
	right: -84px;
}

.p-detail-proposal .p-detail-proposal__slide .swiper-button-next::after {
	-webkit-transform: translateX(-4px) rotate(-135deg);
	transform: translateX(-4px) rotate(-135deg);
}

.p-detail-proposal .p-detail-proposal__text {
	margin-top: 24px;
}

.p-detail-proposal .p-detail-proposal__text p {
	font-size: 1.5rem;
	line-height: 1.8;
}

.p-detail-proposal .p-detail-proposal__text p.-price {
	margin-top: 16px;
	color: var(--color-gray);
	font-size: 1.6rem;
	line-height: 1.2;
}

@media (max-width: 767px) {
	.p-detail-proposal {
		padding-bottom: calc(80 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__header {
		padding-top: calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__label {
		min-height: calc(28 / var(--base-number-sp) * 100vw);
		margin-bottom: calc(8 / var(--base-number-sp) * 100vw);
		padding: calc(4 / var(--base-number-sp) * 100vw) calc(12 / var(--base-number-sp) * 100vw - .02em) calc(4 / var(--base-number-sp) * 100vw) calc(12 / var(--base-number-sp) * 100vw);
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__headline {
		font-size: calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__tags {
		gap: calc(12 / var(--base-number-sp) * 100vw) calc(8 / var(--base-number-sp) * 100vw);
		margin-top: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__contents {
		margin-top: calc(40 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__slide .swiper-slide {
		max-width: calc(300 / var(--base-number-sp) * 100vw);
		margin-inline: calc(10 / var(--base-number-sp) * 100vw);
		scale: 1;
	}
	.p-detail-proposal .p-detail-proposal__slide .swiper-slide span {
		top: calc(-8 / var(--base-number-sp) * 100vw);
		left: 0;
		min-width: calc(64 / var(--base-number-sp) * 100vw - .02em);
		min-height: calc(32 / var(--base-number-sp) * 100vw);
		padding: calc(4 / var(--base-number-sp) * 100vw) calc(12 / var(--base-number-sp) * 100vw);
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__slide .swiper-pagination {
		margin-top: calc(16 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__slide .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin-inline: calc(4 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__slide .swiper-pagination-bullet {
		width: calc(10 / var(--base-number-sp) * 100vw);
		height: calc(10 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__slide .swiper-button-prev, .p-detail-proposal .p-detail-proposal__slide .swiper-button-next {
		top: calc(50% - 13 / var(--base-number-sp) * 100vw);
		width: calc(40 / var(--base-number-sp) * 100vw);
		height: calc(40 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__slide .swiper-button-prev:after, .p-detail-proposal .p-detail-proposal__slide .swiper-button-next:after {
		width: calc(10 / var(--base-number-sp) * 100vw);
		height: calc(10 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__slide .swiper-button-prev {
		left: calc(-8 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__slide .swiper-button-prev::after {
		-webkit-transform: translateX(calc(2 / var(--base-number-sp) * 100vw)) rotate(45deg);
		transform: translateX(calc(2 / var(--base-number-sp) * 100vw)) rotate(45deg);
	}
	.p-detail-proposal .p-detail-proposal__slide .swiper-button-next {
		right: calc(-8 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__slide .swiper-button-next::after {
		-webkit-transform: translateX(calc(-2 / var(--base-number-sp) * 100vw)) rotate(-135deg);
		transform: translateX(calc(-2 / var(--base-number-sp) * 100vw)) rotate(-135deg);
	}
	.p-detail-proposal .p-detail-proposal__text {
		margin-top: calc(24 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__text p {
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
	.p-detail-proposal .p-detail-proposal__text p.-price {
		margin-top: calc(16 / var(--base-number-sp) * 100vw);
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
}
/* p-info-proposal */
.p-info-proposal {
	margin-top: 80px;
}

.p-info-proposal .p-info-proposal__item:not(:first-child) {
	margin-top: 60px;
}

.p-info-proposal .p-info-proposal__headline {
	display: flex;
	align-items: center;
	gap: 16px;
	font-family: var(--font-serif);
	font-size: 3rem;
	font-weight: 600;
	line-height: 1.334;
}

.p-info-proposal .p-info-proposal__headline::before {
	content: "";
	width: 60px;
	border-top: 1px solid;
	translate: 0 2px;
}

.p-info-proposal .p-info-proposal__slide {
	position: relative;
	margin-top: 20px;
}

.p-info-proposal .p-info-proposal__slide .swiper-slide {
	text-align: center;
}

.p-info-proposal .p-info-proposal__slide .swiper-pagination-floor {
	margin-top: 24px;
	font-size: 0;
	text-align: center;
	transition: opacity .3s;
}

.p-info-proposal .p-info-proposal__slide .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin-inline: 4px;
}

.p-info-proposal .p-info-proposal__slide .swiper-pagination-bullet {
	opacity: 1;
	width: 10px;
	height: 10px;
	border: 1px solid var(--color-gray);
	background-color: transparent;
}

.p-info-proposal .p-info-proposal__slide .swiper-pagination-bullet-active {
	border-color: var(--color-main);
	background-color: var(--color-main);
}

.p-info-proposal .p-info-proposal__slide .swiper-button-prev-floor, .p-info-proposal .p-info-proposal__slide .swiper-button-next-floor {
	position: absolute;
	top: min(33.2142857143vw, 279px);
	z-index: 3;
	width: 60px;
	height: 60px;
	border: 1px solid var(--color-main);
	border-radius: 100%;
	background-color: var(--color-main);
	color: #fff;
	translate: 0 -50%;
	cursor: pointer;
	transition: .3s;
}

.p-info-proposal .p-info-proposal__slide .swiper-button-prev-floor:after, .p-info-proposal .p-info-proposal__slide .swiper-button-next-floor:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 15px;
	height: 15px;
	border-bottom: 1px solid;
	border-left: 1px solid;
	translate: -50% -50%;
	transition: border-color .3s;
}

.p-info-proposal .p-info-proposal__slide .swiper-button-prev-floor:hover, .p-info-proposal .p-info-proposal__slide .swiper-button-next-floor:hover {
	background-color: #fff;
	color: var(--color-main);
}

.p-info-proposal .p-info-proposal__slide .swiper-button-prev-floor {
	left: clamp(-84px, 81.455px - 14.773vw, -32px);
}

.p-info-proposal .p-info-proposal__slide .swiper-button-prev-floor::after {
	-webkit-transform: translateX(4px) rotate(45deg);
	transform: translateX(4px) rotate(45deg);
}

.p-info-proposal .p-info-proposal__slide .swiper-button-next-floor {
	right: clamp(-84px, 81.455px - 14.773vw, -32px);
}

.p-info-proposal .p-info-proposal__slide .swiper-button-next-floor::after {
	-webkit-transform: translateX(-4px) rotate(-135deg);
	transform: translateX(-4px) rotate(-135deg);
}

.p-info-proposal .p-info-proposal__slide .p-info-proposal__image {
	margin-top: 0;
}

.p-info-proposal .p-info-proposal__text {
	margin-top: 24px;
	font-size: 1.5rem;
	line-height: 1.8;
	text-align: left;
}

.p-info-proposal .p-info-proposal__image {
	margin-top: 20px;
	border: 1px solid;
	background-color: var(--color-gray-light);
	text-align: center;
}

.p-info-proposal .p-info-proposal__table {
	margin-top: 20px;
}

.p-info-proposal .p-info-proposal__table table {
	width: 100%;
}

.p-info-proposal .p-info-proposal__table th, .p-info-proposal .p-info-proposal__table td {
	height: 40px;
	padding: 4px 24px;
	border: 1px solid var(--color-main);
	font-size: 1.5rem;
	vertical-align: middle;
}

.p-info-proposal .p-info-proposal__table th {
	width: 240px;
	background-color: #e2e3e5;
}

@media (max-width: 767px) {
	.p-info-proposal {
		margin-top: calc(40 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__item:not(:first-child) {
		margin-top: calc(40 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__headline {
		gap: calc(16 / var(--base-number-sp) * 100vw);
		font-size: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__headline::before {
		content: "";
		width: calc(40 / var(--base-number-sp) * 100vw);
		translate: 0 calc(2 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__slide {
		margin-top: calc(16 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__slide .swiper {
		overflow: visible;
		border: 0;
		background-color: transparent;
	}
	.p-info-proposal .p-info-proposal__slide .swiper-slide {
		max-width: calc(300 / var(--base-number-sp) * 100vw);
		margin-inline: calc(8 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__slide .swiper-pagination-floor {
		margin-top: calc(16 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__slide .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin-inline: calc(4 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__slide .swiper-pagination-bullet {
		width: calc(10 / var(--base-number-sp) * 100vw);
		height: calc(10 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__slide .swiper-button-prev-floor, .p-info-proposal .p-info-proposal__slide .swiper-button-next-floor {
		top: calc(102 / var(--base-number-sp) * 100vw);
		width: calc(40 / var(--base-number-sp) * 100vw);
		height: calc(40 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__slide .swiper-button-prev-floor:after, .p-info-proposal .p-info-proposal__slide .swiper-button-next-floor:after {
		width: calc(10 / var(--base-number-sp) * 100vw);
		height: calc(10 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__slide .swiper-button-prev-floor {
		left: calc(-8 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__slide .swiper-button-prev-floor::after {
		-webkit-transform: translateX(calc(2 / var(--base-number-sp) * 100vw)) rotate(45deg);
		transform: translateX(calc(2 / var(--base-number-sp) * 100vw)) rotate(45deg);
	}
	.p-info-proposal .p-info-proposal__slide .swiper-button-next-floor {
		right: calc(-8 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__slide .swiper-button-next-floor::after {
		-webkit-transform: translateX(calc(-2 / var(--base-number-sp) * 100vw)) rotate(-135deg);
		transform: translateX(calc(-2 / var(--base-number-sp) * 100vw)) rotate(-135deg);
	}
	.p-info-proposal .p-info-proposal__slide .p-info-proposal__image {
		margin-top: 0;
	}
	.p-info-proposal .p-info-proposal__slide .p-info-proposal__image img {
		max-width: 100%;
		height: auto;
	}
	.p-info-proposal .p-info-proposal__text {
		margin-top: calc(16 / var(--base-number-sp) * 100vw);
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__image {
		margin-top: calc(16 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__image img {
		width: auto;
		max-width: none;
		height: calc(221 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__table {
		margin-top: calc(16 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__table th, .p-info-proposal .p-info-proposal__table td {
		height: calc(40 / var(--base-number-sp) * 100vw);
		padding: calc(4 / var(--base-number-sp) * 100vw) calc(16 / var(--base-number-sp) * 100vw);
		font-size: calc(14 / var(--base-number-sp) * 100vw);
	}
	.p-info-proposal .p-info-proposal__table th {
		width: calc(132 / var(--base-number-sp) * 100vw);
	}
}
/* p-area-tags */
.p-area-tags {
	padding-block: 80px;
	background-color: var(--color-gray-light);
}

.p-area-tags .p-area-tags__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px 12px;
	margin-top: 36px;
}

@media (max-width: 767px) {
	.p-area-tags {
		padding-block: calc(80 / var(--base-number-sp) * 100vw);
	}
	.p-area-tags .p-area-tags__list {
		gap: calc(12 / var(--base-number-sp) * 100vw) calc(8 / var(--base-number-sp) * 100vw);
		margin-top: calc(20 / var(--base-number-sp) * 100vw);
	}
}
/* p-area-recommend */
.p-area-recommend {
	padding-block: 80px;
}

.p-area-recommend .p-area-recommend__slide {
	margin-top: 36px;
}

.p-area-recommend .p-area-recommend__slide .swiper {
	overflow: visible;
}

.p-area-recommend .p-area-recommend__slide .swiper-slide {
	max-width: 540px;
	margin-inline: 16px;
}

.p-area-recommend .p-area-recommend__btn {
	margin-top: 40px;
}

@media (max-width: 767px) {
	.p-area-recommend {
		padding-block: calc(80 / var(--base-number-sp) * 100vw);
	}
	.p-area-recommend .p-area-recommend__slide {
		margin-top: calc(20 / var(--base-number-sp) * 100vw);
	}
	.p-area-recommend .p-area-recommend__slide .swiper-slide {
		max-width: calc(216 / var(--base-number-sp) * 100vw);
		margin-inline: calc(6 / var(--base-number-sp) * 100vw);
	}
	.p-area-recommend .p-area-recommend__btn {
		margin-top: calc(24 / var(--base-number-sp) * 100vw);
	}
}