@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lexend+Giga:wght@300&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lexend+Giga&display=swap");
@-webkit-keyframes floatUp_5 {
		0% {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}
		100% {
				-webkit-transform: translateY(-5px);
				        transform: translateY(-5px);
		}
}
@keyframes floatUp_5 {
		0% {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}
		100% {
				-webkit-transform: translateY(-5px);
				        transform: translateY(-5px);
		}
}
@-webkit-keyframes floatUp_7 {
		0% {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}
		100% {
				-webkit-transform: translateY(-7px);
				        transform: translateY(-7px);
		}
}
@keyframes floatUp_7 {
		0% {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}
		100% {
				-webkit-transform: translateY(-7px);
				        transform: translateY(-7px);
		}
}
@-webkit-keyframes floatUp_10 {
		0% {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}
		100% {
				-webkit-transform: translateY(-10px);
				        transform: translateY(-10px);
		}
}
@keyframes floatUp_10 {
		0% {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}
		100% {
				-webkit-transform: translateY(-10px);
				        transform: translateY(-10px);
		}
}
@-webkit-keyframes floatUp_15 {
		0% {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}
		100% {
				-webkit-transform: translateY(-15px);
				        transform: translateY(-15px);
		}
}
@keyframes floatUp_15 {
		0% {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}
		100% {
				-webkit-transform: translateY(-15px);
				        transform: translateY(-15px);
		}
}
@-webkit-keyframes sway_15 {
		0% {
				-webkit-transform: translateX(0);
				        transform: translateX(0);
		}
		100% {
				-webkit-transform: translateX(-15px);
				        transform: translateX(-15px);
		}
}
@keyframes sway_15 {
		0% {
				-webkit-transform: translateX(0);
				        transform: translateX(0);
		}
		100% {
				-webkit-transform: translateX(-15px);
				        transform: translateX(-15px);
		}
}
@-webkit-keyframes slide_loop_y {
		0% {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}
		100% {
				-webkit-transform: translateY(-50%);
				        transform: translateY(-50%);
		}
}
@keyframes slide_loop_y {
		0% {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}
		100% {
				-webkit-transform: translateY(-50%);
				        transform: translateY(-50%);
		}
}
@-webkit-keyframes slide_loop_x {
		0% {
				-webkit-transform: translateX(0);
				        transform: translateX(0);
		}
		100% {
				-webkit-transform: translateX(-50%);
				        transform: translateX(-50%);
		}
}
@keyframes slide_loop_x {
		0% {
				-webkit-transform: translateX(0);
				        transform: translateX(0);
		}
		100% {
				-webkit-transform: translateX(-50%);
				        transform: translateX(-50%);
		}
}
@-webkit-keyframes rotate {
		0% {
				-webkit-transform: rotate(0);
				        transform: rotate(0);
		}
		100% {
				-webkit-transform: rotate(360deg);
				        transform: rotate(360deg);
		}
}
@keyframes rotate {
		0% {
				-webkit-transform: rotate(0);
				        transform: rotate(0);
		}
		100% {
				-webkit-transform: rotate(360deg);
				        transform: rotate(360deg);
		}
}
@-webkit-keyframes rotate_r {
		0% {
				-webkit-transform: rotate(0);
				        transform: rotate(0);
		}
		100% {
				-webkit-transform: rotate(-360deg);
				        transform: rotate(-360deg);
		}
}
@keyframes rotate_r {
		0% {
				-webkit-transform: rotate(0);
				        transform: rotate(0);
		}
		100% {
				-webkit-transform: rotate(-360deg);
				        transform: rotate(-360deg);
		}
}
.is-fade > *:not(.is-not) {
		opacity: 0;
		-webkit-transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
		transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
}
.is-fade > .is-not {
		opacity: 0;
		-webkit-transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
		transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
}
.is-fade.fadeIn > * {
		opacity: 1;
}

.box-fade {
		opacity: 0;
		-webkit-transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
		transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
}
.box-fade.fadeIn {
		opacity: 1;
}

.p_hover a:hover {
		opacity: 0.7;
}

.svg.c_white svg {
		fill: #fff;
}
.svg.c_black svg {
		fill: #000;
}

.img-fit img {
		width: 100%;
		height: 100%;
		-o-object-position: 50% 50%;
		   object-position: 50% 50%;
		-o-object-fit: cover;
		   object-fit: cover;
}

.replace_img {
		width: 100%;
		height: 100%;
		display: block;
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: 50% 50%;
}

@media screen and (min-width: 801px) {
		.l_tel {
				pointer-events: none;
		}
}
.slick-prev,
.slick-next {
		width: 80px;
		height: 80px;
		background-color: var(--c_base2);
		border-radius: 35px;
		z-index: 10;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.slick-prev::before,
.slick-next::before {
		width: 16px;
		aspect-ratio: 1/1;
		content: "";
		display: block;
		background-color: var(--c_key1);
		-webkit-mask-image: url(../img/common/ico_arrow.svg);
		        mask-image: url(../img/common/ico_arrow.svg);
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-position: 0 0;
		        mask-position: 0 0;
		-webkit-mask-size: auto 100%;
		        mask-size: auto 100%;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}

.slick-prev::before {
		rotate: -135deg;
}

.slick-next::before {
		rotate: 45deg;
}

@media screen and (max-width: 800px) {
		.slick-prev,
		.slick-next {
				width: 40px;
				height: 40px;
		}
		.slick-prev::before,
		.slick-next::before {
				width: 8px;
		}
		.slick-prev {
				left: 0;
				border-radius: 0 min(4.375vw, 17.5px) min(4.375vw, 17.5px) 0;
		}
		.slick-next {
				right: 0;
				border-radius: min(4.375vw, 17.5px) 0 0 min(4.375vw, 17.5px);
		}
}
.hl_en {
		font-family: "Lexend Giga", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		color: var(--c_key1);
		text-transform: uppercase;
}

.hl_jp {
		font-size: 17px;
		font-weight: 500;
		position: relative;
}
.hl_jp::before {
		width: 100%;
		height: 100%;
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		background-color: #9ab1d6;
		border: 1px solid #000;
		border-radius: 30px;
		z-index: -1;
		-webkit-transition: all 0.4s cubic-bezier(0.37, 0, 0.63, 1);
		transition: all 0.4s cubic-bezier(0.37, 0, 0.63, 1);
}
.hl_jp span {
		height: 38px;
		display: inline-block;
		position: relative;
		padding: 0 15px 1px;
		background-color: #fff;
		border: 1px solid #000;
		border-radius: 30px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		z-index: 2;
}
.fadeIn .hl_jp::before {
		translate: 10px 10px;
}

@media screen and (max-width: 800px) {
		.hl_jp {
				font-size: 13px;
				font-size: clamp(10.5px, 3.25vw, 13px);
		}
		.hl_jp span {
				height: 23px;
				min-width: unset;
				padding: 0 8px 1px;
		}
		.fadeIn .hl_jp::before {
				translate: 5px 5px;
		}
}
.page_title {
		overflow: hidden;
		position: relative;
		padding-bottom: 110px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-transition-duration: 0.6s, 0s;
		        transition-duration: 0.6s, 0s;
		-webkit-transition-delay: 0.2s, 0s;
		        transition-delay: 0.2s, 0s;
		-webkit-transition-property: opacity, padding;
		transition-property: opacity, padding;
		z-index: 1;
}
.page_title:not(.page_title._noimg)::before, .page_title:not(.page_title._noimg)::after {
		content: "";
}
.page_title:not(.page_title._noimg) .hl_en {
		margin-top: -0.6em;
}
.page_title:not(.page_title._noimg).fadeIn .img {
		scale: 1;
}
.page_title:not(.page_title._noimg).fadeIn::before, .page_title:not(.page_title._noimg).fadeIn::after {
		scale: 1;
		opacity: 1;
}
.page_title._noimg {
		padding: 102px 0 10px;
}
.page_title::before, .page_title::after {
		display: block;
		position: absolute;
		bottom: 13px;
		background-repeat: no-repeat;
		background-size: auto 100%;
		background-position: 0 0;
		pointer-events: none;
		z-index: 3;
		scale: 0.8;
		opacity: 0;
		-webkit-transition: all 1s cubic-bezier(0.22, 1, 0.36, 1);
		transition: all 1s cubic-bezier(0.22, 1, 0.36, 1);
		-webkit-transition-delay: 0.4s;
		        transition-delay: 0.4s;
		-webkit-transition-property: scale, opacity;
		transition-property: scale, opacity;
		-webkit-animation: floatUp_15 1.6s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		        animation: floatUp_15 1.6s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
}
.page_title::before {
		right: 50%;
		margin-right: min(25vw, 350px);
		-webkit-transform-origin: 0 100%;
		        transform-origin: 0 100%;
}
.page_title::after {
		left: 50%;
		margin-left: min(25vw, 350px);
		-webkit-transform-origin: 100% 100%;
		        transform-origin: 100% 100%;
}
.page_title .hl_en {
		font-family: "Lexend Giga", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		color: var(--c_key1);
		font-size: min(8.3334vw, 100px);
		letter-spacing: -0.05em;
		text-align: center;
		position: relative;
		margin-bottom: 12px;
		z-index: 5;
}
.page_title .hl_jp {
		font-size: 20px;
}
.page_title .hl_jp::before {
		-webkit-transition-delay: 0.6s;
		        transition-delay: 0.6s;
}
.page_title .hl_jp span {
		height: 38px;
		padding: 0 19px 1px;
}
.page_title .img {
		width: 97%;
		max-width: 1350px;
		aspect-ratio: 2700/1080;
		overflow: hidden;
		position: relative;
		margin: 0 auto;
		border-radius: 270px;
		z-index: 1;
		scale: 0.8;
		-webkit-transition: all 1s cubic-bezier(0.22, 1, 0.36, 1);
		transition: all 1s cubic-bezier(0.22, 1, 0.36, 1);
		-webkit-transition-delay: 0.2s;
		        transition-delay: 0.2s;
}
.page_title .img img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
}
.page_title::before {
		width: min(49.0715%, 687px);
		aspect-ratio: 1374/562;
		background-image: url(../img/room/title_illust01.png);
}
.page_title::after {
		width: min(49.1429%, 688px);
		aspect-ratio: 1376/558;
		background-image: url(../img/room/title_illust02.png);
}

@media screen and (max-width: 800px) {
		.page_title {
				padding-bottom: calc(min(17.5vw, 70px) + 5px);
		}
		.page_title:not(.page_title._noimg) .hl_en {
				margin-top: 0;
		}
		.page_title._noimg {
				padding: 52px 0 10px;
		}
		.page_title .hl_en {
				font-size: min(13.75vw, 55px);
				line-height: 0.9091;
		}
		.page_title .hl_jp {
				font-size: clamp(11.2px, 3.5vw, 14px);
		}
		.page_title .hl_jp span {
				height: 23px;
				padding: 0 12px 1px;
		}
		.page_title .img {
				width: 100%;
				aspect-ratio: 800/600;
				max-width: unset;
				margin-bottom: 34px;
				border: 0.5px solid #000;
				border-radius: min(25vw, 200px);
		}
		.page_title::before {
				width: min(85.875%, 687px);
				bottom: -80px;
				margin-right: 80px;
		}
		.page_title::after {
				width: min(86%, 688px);
				bottom: -75px;
				margin-left: 81px;
		}
}
.cmn_bnr {
		overflow: hidden;
		position: relative;
		padding-bottom: 100px;
		background-color: var(--c_base2);
}
.cmn_bnr::before {
		width: 100%;
		height: calc(100% - min(17.8572vw, 250px));
		content: "";
		display: block;
		position: absolute;
		left: 0;
		bottom: 0;
		border-radius: 50px 50px 0 0;
		background-color: var(--c_base);
		z-index: 1;
}
.cmn_bnr_inner {
		width: 94%;
		max-width: 1300px;
		margin: 0 auto;
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		z-index: 2;
}
.cmn_bnr_item {
		position: relative;
		z-index: 1;
}
.cmn_bnr_item a {
		width: 100%;
		height: 100%;
		display: block;
		position: relative;
}
@media screen and (min-width: 801px) {
		.cmn_bnr_item a:hover .img img {
				scale: 1.1;
		}
		.cmn_bnr_item a:hover .box_text .sub::before {
				background-color: var(--c_key2);
		}
		.cmn_bnr_item a:hover .illust::before {
				rotate: 10deg;
				translate: 0 -4px;
		}
}
.cmn_bnr_item .img {
		overflow: hidden;
		position: relative;
		border-radius: 50px;
		z-index: 1;
}
.cmn_bnr_item .img img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.cmn_bnr_item .box_text {
		position: relative;
		z-index: 2;
}
.cmn_bnr_item .box_text .sub {
		font-family: "Lexend Giga", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-size: 12px;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		height: 26px;
		padding: 0 20px 0 10px;
		display: inline-block;
		background-color: #fff;
		border: 1px solid #000;
		border-radius: 26px;
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.cmn_bnr_item .box_text .sub::before {
		width: 10px;
		aspect-ratio: 1/1;
		content: "";
		display: block;
		margin-right: 9px;
		background-color: var(--c_key1);
		border-radius: 50%;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.cmn_bnr_item ._arrow {
		aspect-ratio: 1/1;
		display: block;
		background-color: var(--c_key1);
		background-image: url(../img/common/ico_arrow.svg);
		background-repeat: no-repeat;
		background-position: 50% 50%;
		border-radius: 50%;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.cmn_bnr_item._rounge {
		margin-bottom: 50px;
}
@media screen and (min-width: 801px) {
		.cmn_bnr_item._rounge a:hover ._arrow {
				background-color: var(--c_key2);
		}
}
.cmn_bnr_item._rounge .img {
		margin-bottom: -100px;
}
.cmn_bnr_item._rounge .box_text {
		width: 70%;
		max-width: 700px;
		display: inline-block;
		padding: 46px 0 0 55px;
		position: relative;
		background-color: var(--c_base);
		border-top-right-radius: 50px;
		z-index: 1;
}
.cmn_bnr_item._rounge .box_text::before, .cmn_bnr_item._rounge .box_text::after {
		width: 50px;
		aspect-ratio: 1/1;
		content: "";
		display: block;
		position: absolute;
		background-color: var(--c_base);
		-webkit-mask-image: url(../img/common/parts_radius.svg);
		        mask-image: url(../img/common/parts_radius.svg);
		-webkit-mask-size: 100% 100%;
		        mask-size: 100% 100%;
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		rotate: -90deg;
		z-index: 1;
}
.cmn_bnr_item._rounge .box_text::before {
		top: 0;
		left: 0;
		translate: 0 -100%;
}
.cmn_bnr_item._rounge .box_text::after {
		top: 100px;
		right: 0;
		translate: 100% -100%;
}
.cmn_bnr_item._rounge .box_text h3 {
		font-size: 40px;
		margin-bottom: 23px;
}
.cmn_bnr_item._rounge .box_text .sub {
		margin-left: -6px;
}
.cmn_bnr_item._rounge ._arrow {
		width: 70px;
		position: absolute;
		top: 50px;
		right: 50px;
		background-size: 28.5715%;
}
.cmn_bnr_item._rounge .illust {
		width: min(100%, 688px);
		position: absolute;
		right: -200px;
		bottom: -15px;
		z-index: 2;
		-webkit-user-select: none;
		   -moz-user-select: none;
		    -ms-user-select: none;
		        user-select: none;
		pointer-events: none;
		-webkit-animation: sway_15 1.8s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		        animation: sway_15 1.8s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
}
.cmn_bnr_item._rounge .illust::before, .cmn_bnr_item._rounge .illust::after {
		width: 100%;
		height: 100%;
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: 100%;
}
.cmn_bnr_item._rounge .illust::before {
		background-image: url(../img/common/cmn_bnr_illust03.png);
		z-index: 4;
		-webkit-transform-origin: 40% 40%;
		        transform-origin: 40% 40%;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.cmn_bnr_item._rounge .illust::after {
		background-image: url(../img/common/cmn_bnr_illust02.png);
		z-index: 3;
}
.cmn_bnr_item._rounge .illust span {
		display: block;
		position: relative;
		z-index: 5;
}
.cmn_bnr_item:not(._rounge) {
		width: 49.2308%;
		min-height: 220px;
}
@media screen and (min-width: 801px) {
		.cmn_bnr_item:not(._rounge) a:hover .icon ._arrow {
				background-color: var(--c_key2);
		}
}
.cmn_bnr_item:not(._rounge) .img {
		height: 100%;
}
.cmn_bnr_item:not(._rounge) .box_text {
		width: 100%;
		position: absolute;
		top: 50%;
		left: 0;
		translate: 0 -50%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.cmn_bnr_item:not(._rounge) .box_text h3 {
		color: #fff;
		font-size: 32px;
		margin-bottom: 20px;
}
.cmn_bnr_item:not(._rounge) .icon {
		width: 105px;
		height: 90px;
		position: absolute;
		right: 0;
		bottom: 0;
		background-color: var(--c_base);
		border-top-left-radius: 50px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		pointer-events: none;
		z-index: 2;
}
.cmn_bnr_item:not(._rounge) .icon::before, .cmn_bnr_item:not(._rounge) .icon::after {
		width: 45px;
		aspect-ratio: 1/1;
		content: "";
		display: block;
		position: absolute;
		background-color: var(--c_base);
		-webkit-mask-image: url(../img/common/parts_radius.svg);
		        mask-image: url(../img/common/parts_radius.svg);
		-webkit-mask-size: 100% 100%;
		        mask-size: 100% 100%;
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		rotate: -180deg;
		z-index: 1;
}
.cmn_bnr_item:not(._rounge) .icon::before {
		left: 0;
		bottom: 0;
		translate: -100% 0;
}
.cmn_bnr_item:not(._rounge) .icon::after {
		top: 0;
		right: 0;
		translate: 0 -100%;
}
.cmn_bnr_item:not(._rounge) .icon ._arrow {
		width: 50px;
		margin: 10px 0 0 0;
		background-size: 32%;
}

@media screen and (max-width: 800px) {
		.cmn_bnr {
				overflow: visible;
				padding-bottom: min(12.5vw, 50px);
		}
		.cmn_bnr::before {
				height: calc(100% - min(28.75vw, 230px));
				border-radius: min(6.25vw, 25px) min(6.25vw, 25px) 0 0;
		}
		.cmn_bnr_inner {
				width: 92.5%;
		}
		.cmn_bnr_item .img {
				border-radius: min(3.75vw, 30px);
		}
		.cmn_bnr_item .box_text .sub {
				font-size: 10px;
				height: 18px;
				margin-left: 3px;
				padding: 0 20px 0 7px;
				border-width: 0.5px;
		}
		.cmn_bnr_item .box_text .sub::before {
				width: 7px;
				margin-right: 8px;
		}
		.cmn_bnr_item._rounge {
				margin-bottom: min(7vw, 56px);
		}
		.cmn_bnr_item._rounge .img {
				aspect-ratio: 740/520;
				margin-bottom: -50px;
		}
		.cmn_bnr_item._rounge .box_text {
				width: 84%;
				max-width: 310px;
				padding: 24px 0 0 19px;
				border-top-right-radius: min(6.25vw, 25px);
		}
		.cmn_bnr_item._rounge .box_text::before, .cmn_bnr_item._rounge .box_text::after {
				width: min(6.25vw, 25px);
		}
		.cmn_bnr_item._rounge .box_text::after {
				top: 50px;
		}
		.cmn_bnr_item._rounge .box_text h3 {
				font-size: min(6.25vw, 25px);
				margin-bottom: 13px;
		}
		.cmn_bnr_item._rounge .box_text .sub {
				margin-left: 2px;
		}
		.cmn_bnr_item._rounge ._arrow {
				width: 35px;
				position: absolute;
				top: 25px;
				right: 33px;
		}
		.cmn_bnr_item._rounge .illust {
				width: 204px;
				overflow: hidden;
				top: -170px;
				bottom: auto;
				right: -5vw;
				-webkit-animation: floatUp_10 1.8s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
				        animation: floatUp_10 1.8s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		}
		.cmn_bnr_item._rounge .illust::before, .cmn_bnr_item._rounge .illust::after {
				width: 344px;
				aspect-ratio: 1376/828;
		}
		.cmn_bnr_item._rounge .illust span {
				width: 344px;
		}
		.cmn_bnr_item:not(._rounge) {
				width: 47.973%;
				min-height: unset;
		}
		.cmn_bnr_item:not(._rounge) .img {
				aspect-ratio: 355/340;
		}
		.cmn_bnr_item:not(._rounge) .box_text {
				padding-bottom: 5px;
		}
		.cmn_bnr_item:not(._rounge) .box_text h3 {
				font-size: clamp(14.4px, 4.5vw, 18px);
		}
		.cmn_bnr_item:not(._rounge) .icon {
				width: 55px;
				height: 45px;
				border-top-left-radius: min(6.25vw, 25px);
		}
		.cmn_bnr_item:not(._rounge) .icon::before, .cmn_bnr_item:not(._rounge) .icon::after {
				width: min(5vw, 20px);
		}
		.cmn_bnr_item:not(._rounge) .icon ._arrow {
				width: 25px;
		}
}
.cmn_movie {
		overflow: hidden;
		position: relative;
}
.cmn_movie.is-view .cmn_movie_inner::before {
		opacity: 0;
		translate: 10px -10px;
		-webkit-transform-origin: 100% 0%;
		        transform-origin: 100% 0%;
		-webkit-transition-duration: 0.6s;
		        transition-duration: 0.6s;
		-webkit-transition-delay: 0.8s;
		        transition-delay: 0.8s;
}
.cmn_movie.is-view .illust::before {
		opacity: 0;
		translate: 10px -10px;
		-webkit-transform-origin: 100% 0%;
		        transform-origin: 100% 0%;
		-webkit-transition-duration: 0.6s;
		        transition-duration: 0.6s;
		-webkit-transition-delay: 0.4s;
		        transition-delay: 0.4s;
}
.cmn_movie.is-view .illust::after {
		opacity: 0;
		translate: 10px -10px;
		-webkit-transform-origin: 100% 0%;
		        transform-origin: 100% 0%;
		-webkit-transition-duration: 0.6s;
		        transition-duration: 0.6s;
		-webkit-transition-delay: 0.6s;
		        transition-delay: 0.6s;
}
.cmn_movie.is-view .illust span {
		opacity: 0;
		-webkit-transition-duration: 0.8s;
		        transition-duration: 0.8s;
}
.cmn_movie.is-view.fadeIn .cmn_movie_inner::before {
		opacity: 1;
		translate: 0 0;
}
.cmn_movie.is-view.fadeIn .illust::before {
		opacity: 1;
		translate: 0 0;
}
.cmn_movie.is-view.fadeIn .illust::after {
		opacity: 1;
		translate: 0 0;
}
.cmn_movie.is-view.fadeIn .illust span {
		opacity: 1;
}
.cmn_movie_inner {
		width: 93%;
		max-width: 1300px;
		position: relative;
		margin: 0 auto;
		padding: 106px 0 100px;
}
.cmn_movie_inner::before {
		width: min(8.7693%, 114px);
		aspect-ratio: 228/150;
		content: "";
		display: block;
		position: absolute;
		bottom: 105px;
		left: 0;
		left: -3.923%;
		background-image: url(../img/concept/movie_illust04.png);
		background-repeat: no-repeat;
		background-size: 100% 100%;
		background-position: 0 0;
}
.cmn_movie_hl {
		position: relative;
		margin-bottom: 87px;
		margin-left: min(2.6154%, 34px);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		z-index: 3;
}
.cmn_movie_hl .hl_en {
		font-size: 110px;
		font-size: clamp(100px, 11vw, 110px);
		letter-spacing: -0.05em;
		margin-right: 28px;
}
.cmn_movie_list {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: start;
}
.cmn_movie_list_item {
		width: 49.2308%;
		overflow: hidden;
		border-radius: 50px;
}
.cmn_movie_list_item:nth-child(2) {
		margin-top: min(9.2308%, 120px);
}
.cmn_movie_list_item a {
		display: block;
		position: relative;
}
.cmn_movie_list_item a::before, .cmn_movie_list_item a::after {
		width: 100px;
		aspect-ratio: 1/1;
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: 50%;
		border-radius: 50%;
		translate: 50% -50%;
		z-index: 2;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.cmn_movie_list_item a::before {
		background-color: #2b2a23;
		background-image: url(../img/top/tourism_movie_btn_bg.png);
		background-repeat: no-repeat;
		background-size: 100%;
		-webkit-animation: rotate 10s infinite linear;
		        animation: rotate 10s infinite linear;
}
.cmn_movie_list_item a::after {
		background-image: url(../img/top/movie_btn_ico.png);
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: 14% auto;
		z-index: 3;
}
.cmn_movie_list_item a img {
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
@media screen and (min-width: 801px) {
		.cmn_movie_list_item a:hover img {
				scale: 1.1;
		}
}
.cmn_movie .illust {
		width: min(52.9231%, 688px);
		aspect-ratio: 1376/780;
		position: absolute;
		left: 50%;
		bottom: 50%;
		margin-bottom: -32px;
		margin-left: 11.5715%;
		-webkit-user-select: none;
		   -moz-user-select: none;
		    -ms-user-select: none;
		        user-select: none;
		pointer-events: none;
		z-index: 2;
}
.cmn_movie .illust::before, .cmn_movie .illust::after {
		content: "";
		display: block;
		position: absolute;
		background-repeat: no-repeat;
		background-size: 100% 100%;
		background-position: 0 0;
		z-index: 2;
}
.cmn_movie .illust::before {
		width: min(13.9535%, 96px);
		aspect-ratio: 192/126;
		bottom: 50%;
		left: 62.9361%;
		margin-bottom: 31.25%;
		background-image: url(../img/concept/movie_illust02.png);
}
.cmn_movie .illust::after {
		width: min(30.9594%, 213px);
		aspect-ratio: 426/222;
		top: 0;
		left: -23.9825%;
		margin-top: 15.8431%;
		background-image: url(../img/concept/movie_illust03.png);
}
.cmn_movie .illust span {
		display: block;
		-webkit-animation: floatUp_15 1.6s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		        animation: floatUp_15 1.6s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
}

@media screen and (max-width: 800px) {
		.cmn_movie {
				padding-top: 0;
		}
		.cmn_movie_inner {
				width: 92.5%;
				padding: 0 0 min(47.5vw, 190px);
		}
		.cmn_movie_inner::before {
				display: none;
		}
		.cmn_movie_hl {
				margin: 0 0 62px;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				    -ms-flex-direction: column;
				        flex-direction: column;
		}
		.cmn_movie_hl .hl_en {
				font-size: clamp(48px, 15vw, 60px);
				letter-spacing: -0.08em;
				margin-right: 0;
				margin-bottom: 7px;
		}
		.cmn_movie_hl .hl_jp span {
				width: 80px;
		}
		.cmn_movie_list {
				display: block;
		}
		.cmn_movie_list_item {
				width: 100%;
				border-radius: min(6.25vw, 25px);
		}
		.cmn_movie_list_item:nth-child(2) {
				margin-top: 15px;
		}
		.cmn_movie_list_item a::before, .cmn_movie_list_item a::after {
				width: 110px;
		}
		.cmn_movie .illust {
				width: min(105%, 840px);
				left: 50%;
				bottom: 0;
				margin-bottom: -29px;
				margin-left: -86px;
		}
}
.modaal-wrapper.tateya_02 .modaal-video-container {
		width: 100%;
		height: auto;
		aspect-ratio: 1920/1440;
		overflow: hidden;
		border-radius: min(3.9286vw, 55px);
}
.modaal-wrapper.tateya_02 .modaal-close {
		right: 50%;
		top: 50%;
		margin-top: max(-34.8214%, -487.5px);
		margin-right: max(-46.4285%, -650px);
		translate: 30% -30%;
}
.modaal-wrapper.tateya_01 .modaal-video-container {
		width: 100%;
		height: auto;
		aspect-ratio: 16/9;
		overflow: hidden;
}
.modaal-wrapper.tateya_01 .modaal-close {
		right: 50%;
		top: 50%;
		margin-top: max(-26.1071%, -365.5px);
		margin-right: max(-46.4285%, -650px);
		translate: 50% -50%;
}

@media screen and (max-width: 800px) {
		.modaal-wrapper.tateya_01 .modaal-close {
				right: 0;
				margin-right: 0;
				translate: 0% -50%;
		}
}
html, body, div, span, em, small, main, header, footer, section, nav, ::before, ::after,
h1, h2, h3, h4, h5, h6, p, a, img,
dl, dt, dd, ol, ul, li,
table, caption, tr, th, td,
input, button, textarea, select, option {
		font-style: normal;
		margin: 0;
		padding: 0;
		border: 0;
		font: inherit;
		vertical-align: baseline;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		word-break: break-all;
}

ol, ul {
		list-style: none;
}

img {
		vertical-align: bottom;
		-webkit-box-shadow: #000 0 0 0;
		        box-shadow: #000 0 0 0;
		-webkit-backface-visibility: hidden;
		max-width: 100%;
		width: 100%;
		height: auto;
}

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

a {
		color: inherit;
		text-decoration: none;
		outline: none;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}

select {
		background-color: transparent;
}
select:focus-visible {
		outline: none;
}

svg {
		width: 100%;
}

select,
textarea,
input[type=text],
input[type=email],
input[type=tel],
input[type=submit],
input[type=radio],
button {
		-webkit-appearance: none;
		color: inherit;
		font-family: inherit;
		font-size: inherit;
		border-radius: 0;
}

textarea:focus,
input:focus {
		outline: none;
}

@keyframes floatUp_5 {
		0% {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}
		100% {
				-webkit-transform: translateY(-5px);
				        transform: translateY(-5px);
		}
}
@keyframes floatUp_7 {
		0% {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}
		100% {
				-webkit-transform: translateY(-7px);
				        transform: translateY(-7px);
		}
}
@keyframes floatUp_10 {
		0% {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}
		100% {
				-webkit-transform: translateY(-10px);
				        transform: translateY(-10px);
		}
}
@keyframes floatUp_15 {
		0% {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}
		100% {
				-webkit-transform: translateY(-15px);
				        transform: translateY(-15px);
		}
}
@keyframes sway_15 {
		0% {
				-webkit-transform: translateX(0);
				        transform: translateX(0);
		}
		100% {
				-webkit-transform: translateX(-15px);
				        transform: translateX(-15px);
		}
}
@keyframes slide_loop_y {
		0% {
				-webkit-transform: translateY(0);
				        transform: translateY(0);
		}
		100% {
				-webkit-transform: translateY(-50%);
				        transform: translateY(-50%);
		}
}
@keyframes slide_loop_x {
		0% {
				-webkit-transform: translateX(0);
				        transform: translateX(0);
		}
		100% {
				-webkit-transform: translateX(-50%);
				        transform: translateX(-50%);
		}
}
@keyframes rotate {
		0% {
				-webkit-transform: rotate(0);
				        transform: rotate(0);
		}
		100% {
				-webkit-transform: rotate(360deg);
				        transform: rotate(360deg);
		}
}
@keyframes rotate_r {
		0% {
				-webkit-transform: rotate(0);
				        transform: rotate(0);
		}
		100% {
				-webkit-transform: rotate(-360deg);
				        transform: rotate(-360deg);
		}
}
.is-fade > *:not(.is-not) {
		opacity: 0;
		-webkit-transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
		transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
}
.is-fade > .is-not {
		opacity: 0;
		-webkit-transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
		transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
}
.is-fade.fadeIn > * {
		opacity: 1;
}

.box-fade {
		opacity: 0;
		-webkit-transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
		transition: all 0.6s cubic-bezier(0.37, 0, 0.63, 1);
}
.box-fade.fadeIn {
		opacity: 1;
}

.p_hover a:hover {
		opacity: 0.7;
}

.svg.c_white svg {
		fill: #fff;
}
.svg.c_black svg {
		fill: #000;
}

.img-fit img {
		width: 100%;
		height: 100%;
		-o-object-position: 50% 50%;
		   object-position: 50% 50%;
		-o-object-fit: cover;
		   object-fit: cover;
}

.replace_img {
		width: 100%;
		height: 100%;
		display: block;
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: 50% 50%;
}

@media screen and (min-width: 801px) {
		.l_tel {
				pointer-events: none;
		}
}
.slick-prev,
.slick-next {
		width: 80px;
		height: 80px;
		background-color: var(--c_base2);
		border-radius: 35px;
		z-index: 10;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.slick-prev::before,
.slick-next::before {
		width: 16px;
		aspect-ratio: 1/1;
		content: "";
		display: block;
		background-color: var(--c_key1);
		-webkit-mask-image: url(../img/common/ico_arrow.svg);
		        mask-image: url(../img/common/ico_arrow.svg);
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-position: 0 0;
		        mask-position: 0 0;
		-webkit-mask-size: auto 100%;
		        mask-size: auto 100%;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}

.slick-prev::before {
		rotate: -135deg;
}

.slick-next::before {
		rotate: 45deg;
}

@media screen and (max-width: 800px) {
		.slick-prev,
		.slick-next {
				width: 40px;
				height: 40px;
		}
		.slick-prev::before,
		.slick-next::before {
				width: 8px;
		}
		.slick-prev {
				left: 0;
				border-radius: 0 min(4.375vw, 17.5px) min(4.375vw, 17.5px) 0;
		}
		.slick-next {
				right: 0;
				border-radius: min(4.375vw, 17.5px) 0 0 min(4.375vw, 17.5px);
		}
}
.hl_en {
		font-family: "Lexend Giga", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		color: var(--c_key1);
		text-transform: uppercase;
}

.hl_jp {
		font-size: 17px;
		font-weight: 500;
		position: relative;
}
.hl_jp::before {
		width: 100%;
		height: 100%;
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		background-color: #9ab1d6;
		border: 1px solid #000;
		border-radius: 30px;
		z-index: -1;
		-webkit-transition: all 0.4s cubic-bezier(0.37, 0, 0.63, 1);
		transition: all 0.4s cubic-bezier(0.37, 0, 0.63, 1);
}
.hl_jp span {
		height: 38px;
		display: inline-block;
		position: relative;
		padding: 0 15px 1px;
		background-color: #fff;
		border: 1px solid #000;
		border-radius: 30px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		z-index: 2;
}
.fadeIn .hl_jp::before {
		translate: 10px 10px;
}

@media screen and (max-width: 800px) {
		.hl_jp {
				font-size: 13px;
				font-size: clamp(10.5px, 3.25vw, 13px);
		}
		.hl_jp span {
				height: 23px;
				min-width: unset;
				padding: 0 8px 1px;
		}
		.fadeIn .hl_jp::before {
				translate: 5px 5px;
		}
}
.page_title {
		overflow: hidden;
		position: relative;
		padding-bottom: 110px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-transition-duration: 0.6s, 0s;
		        transition-duration: 0.6s, 0s;
		-webkit-transition-delay: 0.2s, 0s;
		        transition-delay: 0.2s, 0s;
		-webkit-transition-property: opacity, padding;
		transition-property: opacity, padding;
		z-index: 1;
}
.page_title:not(.page_title._noimg)::before, .page_title:not(.page_title._noimg)::after {
		content: "";
}
.page_title:not(.page_title._noimg) .hl_en {
		margin-top: -0.6em;
}
.page_title:not(.page_title._noimg).fadeIn .img {
		scale: 1;
}
.page_title:not(.page_title._noimg).fadeIn::before, .page_title:not(.page_title._noimg).fadeIn::after {
		scale: 1;
		opacity: 1;
}
.page_title._noimg {
		padding: 102px 0 10px;
}
.page_title::before, .page_title::after {
		display: block;
		position: absolute;
		bottom: 13px;
		background-repeat: no-repeat;
		background-size: auto 100%;
		background-position: 0 0;
		pointer-events: none;
		z-index: 3;
		scale: 0.8;
		opacity: 0;
		-webkit-transition: all 1s cubic-bezier(0.22, 1, 0.36, 1);
		transition: all 1s cubic-bezier(0.22, 1, 0.36, 1);
		-webkit-transition-delay: 0.4s;
		        transition-delay: 0.4s;
		-webkit-transition-property: scale, opacity;
		transition-property: scale, opacity;
		-webkit-animation: floatUp_15 1.6s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		        animation: floatUp_15 1.6s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
}
.page_title::before {
		right: 50%;
		margin-right: min(25vw, 350px);
		-webkit-transform-origin: 0 100%;
		        transform-origin: 0 100%;
}
.page_title::after {
		left: 50%;
		margin-left: min(25vw, 350px);
		-webkit-transform-origin: 100% 100%;
		        transform-origin: 100% 100%;
}
.page_title .hl_en {
		font-family: "Lexend Giga", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		color: var(--c_key1);
		font-size: min(8.3334vw, 100px);
		letter-spacing: -0.05em;
		text-align: center;
		position: relative;
		margin-bottom: 12px;
		z-index: 5;
}
.page_title .hl_jp {
		font-size: 20px;
}
.page_title .hl_jp::before {
		-webkit-transition-delay: 0.6s;
		        transition-delay: 0.6s;
}
.page_title .hl_jp span {
		height: 38px;
		padding: 0 19px 1px;
}
.page_title .img {
		width: 97%;
		max-width: 1350px;
		aspect-ratio: 2700/1080;
		overflow: hidden;
		position: relative;
		margin: 0 auto;
		border-radius: 270px;
		z-index: 1;
		scale: 0.8;
		-webkit-transition: all 1s cubic-bezier(0.22, 1, 0.36, 1);
		transition: all 1s cubic-bezier(0.22, 1, 0.36, 1);
		-webkit-transition-delay: 0.2s;
		        transition-delay: 0.2s;
}
.page_title .img img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
}
.page_title::before {
		width: min(49.0715%, 687px);
		aspect-ratio: 1374/562;
		background-image: url(../img/room/title_illust01.png);
}
.page_title::after {
		width: min(49.1429%, 688px);
		aspect-ratio: 1376/558;
		background-image: url(../img/room/title_illust02.png);
}

@media screen and (max-width: 800px) {
		.page_title {
				padding-bottom: calc(min(17.5vw, 70px) + 5px);
		}
		.page_title:not(.page_title._noimg) .hl_en {
				margin-top: 0;
		}
		.page_title._noimg {
				padding: 52px 0 10px;
		}
		.page_title .hl_en {
				font-size: min(13.75vw, 55px);
				line-height: 0.9091;
		}
		.page_title .hl_jp {
				font-size: clamp(11.2px, 3.5vw, 14px);
		}
		.page_title .hl_jp span {
				height: 23px;
				padding: 0 12px 1px;
		}
		.page_title .img {
				width: 100%;
				aspect-ratio: 800/600;
				max-width: unset;
				margin-bottom: 34px;
				border: 0.5px solid #000;
				border-radius: min(25vw, 200px);
		}
		.page_title::before {
				width: min(85.875%, 687px);
				bottom: -80px;
				margin-right: 80px;
		}
		.page_title::after {
				width: min(86%, 688px);
				bottom: -75px;
				margin-left: 81px;
		}
}
.cmn_bnr {
		overflow: hidden;
		position: relative;
		padding-bottom: 100px;
		background-color: var(--c_base2);
}
.cmn_bnr::before {
		width: 100%;
		height: calc(100% - min(17.8572vw, 250px));
		content: "";
		display: block;
		position: absolute;
		left: 0;
		bottom: 0;
		border-radius: 50px 50px 0 0;
		background-color: var(--c_base);
		z-index: 1;
}
.cmn_bnr_inner {
		width: 94%;
		max-width: 1300px;
		margin: 0 auto;
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		z-index: 2;
}
.cmn_bnr_item {
		position: relative;
		z-index: 1;
}
.cmn_bnr_item a {
		width: 100%;
		height: 100%;
		display: block;
		position: relative;
}
@media screen and (min-width: 801px) {
		.cmn_bnr_item a:hover .img img {
				scale: 1.1;
		}
		.cmn_bnr_item a:hover .box_text .sub::before {
				background-color: var(--c_key2);
		}
		.cmn_bnr_item a:hover .illust::before {
				rotate: 10deg;
				translate: 0 -4px;
		}
}
.cmn_bnr_item .img {
		overflow: hidden;
		position: relative;
		border-radius: 50px;
		z-index: 1;
}
.cmn_bnr_item .img img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.cmn_bnr_item .box_text {
		position: relative;
		z-index: 2;
}
.cmn_bnr_item .box_text .sub {
		font-family: "Lexend Giga", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-size: 12px;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		height: 26px;
		padding: 0 20px 0 10px;
		display: inline-block;
		background-color: #fff;
		border: 1px solid #000;
		border-radius: 26px;
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.cmn_bnr_item .box_text .sub::before {
		width: 10px;
		aspect-ratio: 1/1;
		content: "";
		display: block;
		margin-right: 9px;
		background-color: var(--c_key1);
		border-radius: 50%;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.cmn_bnr_item ._arrow {
		aspect-ratio: 1/1;
		display: block;
		background-color: var(--c_key1);
		background-image: url(../img/common/ico_arrow.svg);
		background-repeat: no-repeat;
		background-position: 50% 50%;
		border-radius: 50%;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.cmn_bnr_item._rounge {
		margin-bottom: 50px;
}
@media screen and (min-width: 801px) {
		.cmn_bnr_item._rounge a:hover ._arrow {
				background-color: var(--c_key2);
		}
}
.cmn_bnr_item._rounge .img {
		margin-bottom: -100px;
}
.cmn_bnr_item._rounge .box_text {
		width: 70%;
		max-width: 700px;
		display: inline-block;
		padding: 46px 0 0 55px;
		position: relative;
		background-color: var(--c_base);
		border-top-right-radius: 50px;
		z-index: 1;
}
.cmn_bnr_item._rounge .box_text::before, .cmn_bnr_item._rounge .box_text::after {
		width: 50px;
		aspect-ratio: 1/1;
		content: "";
		display: block;
		position: absolute;
		background-color: var(--c_base);
		-webkit-mask-image: url(../img/common/parts_radius.svg);
		        mask-image: url(../img/common/parts_radius.svg);
		-webkit-mask-size: 100% 100%;
		        mask-size: 100% 100%;
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		rotate: -90deg;
		z-index: 1;
}
.cmn_bnr_item._rounge .box_text::before {
		top: 0;
		left: 0;
		translate: 0 -100%;
}
.cmn_bnr_item._rounge .box_text::after {
		top: 100px;
		right: 0;
		translate: 100% -100%;
}
.cmn_bnr_item._rounge .box_text h3 {
		font-size: 40px;
		margin-bottom: 23px;
}
.cmn_bnr_item._rounge .box_text .sub {
		margin-left: -6px;
}
.cmn_bnr_item._rounge ._arrow {
		width: 70px;
		position: absolute;
		top: 50px;
		right: 50px;
		background-size: 28.5715%;
}
.cmn_bnr_item._rounge .illust {
		width: min(100%, 688px);
		position: absolute;
		right: -200px;
		bottom: -15px;
		z-index: 2;
		-webkit-user-select: none;
		   -moz-user-select: none;
		    -ms-user-select: none;
		        user-select: none;
		pointer-events: none;
		-webkit-animation: sway_15 1.8s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		        animation: sway_15 1.8s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
}
.cmn_bnr_item._rounge .illust::before, .cmn_bnr_item._rounge .illust::after {
		width: 100%;
		height: 100%;
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: 100%;
}
.cmn_bnr_item._rounge .illust::before {
		background-image: url(../img/common/cmn_bnr_illust03.png);
		z-index: 4;
		-webkit-transform-origin: 40% 40%;
		        transform-origin: 40% 40%;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.cmn_bnr_item._rounge .illust::after {
		background-image: url(../img/common/cmn_bnr_illust02.png);
		z-index: 3;
}
.cmn_bnr_item._rounge .illust span {
		display: block;
		position: relative;
		z-index: 5;
}
.cmn_bnr_item:not(._rounge) {
		width: 49.2308%;
		min-height: 220px;
}
@media screen and (min-width: 801px) {
		.cmn_bnr_item:not(._rounge) a:hover .icon ._arrow {
				background-color: var(--c_key2);
		}
}
.cmn_bnr_item:not(._rounge) .img {
		height: 100%;
}
.cmn_bnr_item:not(._rounge) .box_text {
		width: 100%;
		position: absolute;
		top: 50%;
		left: 0;
		translate: 0 -50%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.cmn_bnr_item:not(._rounge) .box_text h3 {
		color: #fff;
		font-size: 32px;
		margin-bottom: 20px;
}
.cmn_bnr_item:not(._rounge) .icon {
		width: 105px;
		height: 90px;
		position: absolute;
		right: 0;
		bottom: 0;
		background-color: var(--c_base);
		border-top-left-radius: 50px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		pointer-events: none;
		z-index: 2;
}
.cmn_bnr_item:not(._rounge) .icon::before, .cmn_bnr_item:not(._rounge) .icon::after {
		width: 45px;
		aspect-ratio: 1/1;
		content: "";
		display: block;
		position: absolute;
		background-color: var(--c_base);
		-webkit-mask-image: url(../img/common/parts_radius.svg);
		        mask-image: url(../img/common/parts_radius.svg);
		-webkit-mask-size: 100% 100%;
		        mask-size: 100% 100%;
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		rotate: -180deg;
		z-index: 1;
}
.cmn_bnr_item:not(._rounge) .icon::before {
		left: 0;
		bottom: 0;
		translate: -100% 0;
}
.cmn_bnr_item:not(._rounge) .icon::after {
		top: 0;
		right: 0;
		translate: 0 -100%;
}
.cmn_bnr_item:not(._rounge) .icon ._arrow {
		width: 50px;
		margin: 10px 0 0 0;
		background-size: 32%;
}

@media screen and (max-width: 800px) {
		.cmn_bnr {
				overflow: visible;
				padding-bottom: min(12.5vw, 50px);
		}
		.cmn_bnr::before {
				height: calc(100% - min(28.75vw, 230px));
				border-radius: min(6.25vw, 25px) min(6.25vw, 25px) 0 0;
		}
		.cmn_bnr_inner {
				width: 92.5%;
		}
		.cmn_bnr_item .img {
				border-radius: min(3.75vw, 30px);
		}
		.cmn_bnr_item .box_text .sub {
				font-size: 10px;
				height: 18px;
				margin-left: 3px;
				padding: 0 20px 0 7px;
				border-width: 0.5px;
		}
		.cmn_bnr_item .box_text .sub::before {
				width: 7px;
				margin-right: 8px;
		}
		.cmn_bnr_item._rounge {
				margin-bottom: min(7vw, 56px);
		}
		.cmn_bnr_item._rounge .img {
				aspect-ratio: 740/520;
				margin-bottom: -50px;
		}
		.cmn_bnr_item._rounge .box_text {
				width: 84%;
				max-width: 310px;
				padding: 24px 0 0 19px;
				border-top-right-radius: min(6.25vw, 25px);
		}
		.cmn_bnr_item._rounge .box_text::before, .cmn_bnr_item._rounge .box_text::after {
				width: min(6.25vw, 25px);
		}
		.cmn_bnr_item._rounge .box_text::after {
				top: 50px;
		}
		.cmn_bnr_item._rounge .box_text h3 {
				font-size: min(6.25vw, 25px);
				margin-bottom: 13px;
		}
		.cmn_bnr_item._rounge .box_text .sub {
				margin-left: 2px;
		}
		.cmn_bnr_item._rounge ._arrow {
				width: 35px;
				position: absolute;
				top: 25px;
				right: 33px;
		}
		.cmn_bnr_item._rounge .illust {
				width: 204px;
				overflow: hidden;
				top: -170px;
				bottom: auto;
				right: -5vw;
				-webkit-animation: floatUp_10 1.8s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
				        animation: floatUp_10 1.8s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		}
		.cmn_bnr_item._rounge .illust::before, .cmn_bnr_item._rounge .illust::after {
				width: 344px;
				aspect-ratio: 1376/828;
		}
		.cmn_bnr_item._rounge .illust span {
				width: 344px;
		}
		.cmn_bnr_item:not(._rounge) {
				width: 47.973%;
				min-height: unset;
		}
		.cmn_bnr_item:not(._rounge) .img {
				aspect-ratio: 355/340;
		}
		.cmn_bnr_item:not(._rounge) .box_text {
				padding-bottom: 5px;
		}
		.cmn_bnr_item:not(._rounge) .box_text h3 {
				font-size: clamp(14.4px, 4.5vw, 18px);
		}
		.cmn_bnr_item:not(._rounge) .icon {
				width: 55px;
				height: 45px;
				border-top-left-radius: min(6.25vw, 25px);
		}
		.cmn_bnr_item:not(._rounge) .icon::before, .cmn_bnr_item:not(._rounge) .icon::after {
				width: min(5vw, 20px);
		}
		.cmn_bnr_item:not(._rounge) .icon ._arrow {
				width: 25px;
		}
}
.cmn_movie {
		overflow: hidden;
		position: relative;
}
.cmn_movie.is-view .cmn_movie_inner::before {
		opacity: 0;
		translate: 10px -10px;
		-webkit-transform-origin: 100% 0%;
		        transform-origin: 100% 0%;
		-webkit-transition-duration: 0.6s;
		        transition-duration: 0.6s;
		-webkit-transition-delay: 0.8s;
		        transition-delay: 0.8s;
}
.cmn_movie.is-view .illust::before {
		opacity: 0;
		translate: 10px -10px;
		-webkit-transform-origin: 100% 0%;
		        transform-origin: 100% 0%;
		-webkit-transition-duration: 0.6s;
		        transition-duration: 0.6s;
		-webkit-transition-delay: 0.4s;
		        transition-delay: 0.4s;
}
.cmn_movie.is-view .illust::after {
		opacity: 0;
		translate: 10px -10px;
		-webkit-transform-origin: 100% 0%;
		        transform-origin: 100% 0%;
		-webkit-transition-duration: 0.6s;
		        transition-duration: 0.6s;
		-webkit-transition-delay: 0.6s;
		        transition-delay: 0.6s;
}
.cmn_movie.is-view .illust span {
		opacity: 0;
		-webkit-transition-duration: 0.8s;
		        transition-duration: 0.8s;
}
.cmn_movie.is-view.fadeIn .cmn_movie_inner::before {
		opacity: 1;
		translate: 0 0;
}
.cmn_movie.is-view.fadeIn .illust::before {
		opacity: 1;
		translate: 0 0;
}
.cmn_movie.is-view.fadeIn .illust::after {
		opacity: 1;
		translate: 0 0;
}
.cmn_movie.is-view.fadeIn .illust span {
		opacity: 1;
}
.cmn_movie_inner {
		width: 93%;
		max-width: 1300px;
		position: relative;
		margin: 0 auto;
		padding: 106px 0 100px;
}
.cmn_movie_inner::before {
		width: min(8.7693%, 114px);
		aspect-ratio: 228/150;
		content: "";
		display: block;
		position: absolute;
		bottom: 105px;
		left: 0;
		left: -3.923%;
		background-image: url(../img/concept/movie_illust04.png);
		background-repeat: no-repeat;
		background-size: 100% 100%;
		background-position: 0 0;
}
.cmn_movie_hl {
		position: relative;
		margin-bottom: 87px;
		margin-left: min(2.6154%, 34px);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		z-index: 3;
}
.cmn_movie_hl .hl_en {
		font-size: 110px;
		font-size: clamp(100px, 11vw, 110px);
		letter-spacing: -0.05em;
		margin-right: 28px;
}
.cmn_movie_list {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: start;
}
.cmn_movie_list_item {
		width: 49.2308%;
		overflow: hidden;
		border-radius: 50px;
}
.cmn_movie_list_item:nth-child(2) {
		margin-top: min(9.2308%, 120px);
}
.cmn_movie_list_item a {
		display: block;
		position: relative;
}
.cmn_movie_list_item a::before, .cmn_movie_list_item a::after {
		width: 100px;
		aspect-ratio: 1/1;
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: 50%;
		border-radius: 50%;
		translate: 50% -50%;
		z-index: 2;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.cmn_movie_list_item a::before {
		background-color: #2b2a23;
		background-image: url(../img/top/tourism_movie_btn_bg.png);
		background-repeat: no-repeat;
		background-size: 100%;
		-webkit-animation: rotate 10s infinite linear;
		        animation: rotate 10s infinite linear;
}
.cmn_movie_list_item a::after {
		background-image: url(../img/top/movie_btn_ico.png);
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: 14% auto;
		z-index: 3;
}
.cmn_movie_list_item a img {
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
@media screen and (min-width: 801px) {
		.cmn_movie_list_item a:hover img {
				scale: 1.1;
		}
}
.cmn_movie .illust {
		width: min(52.9231%, 688px);
		aspect-ratio: 1376/780;
		position: absolute;
		left: 50%;
		bottom: 50%;
		margin-bottom: -32px;
		margin-left: 11.5715%;
		-webkit-user-select: none;
		   -moz-user-select: none;
		    -ms-user-select: none;
		        user-select: none;
		pointer-events: none;
		z-index: 2;
}
.cmn_movie .illust::before, .cmn_movie .illust::after {
		content: "";
		display: block;
		position: absolute;
		background-repeat: no-repeat;
		background-size: 100% 100%;
		background-position: 0 0;
		z-index: 2;
}
.cmn_movie .illust::before {
		width: min(13.9535%, 96px);
		aspect-ratio: 192/126;
		bottom: 50%;
		left: 62.9361%;
		margin-bottom: 31.25%;
		background-image: url(../img/concept/movie_illust02.png);
}
.cmn_movie .illust::after {
		width: min(30.9594%, 213px);
		aspect-ratio: 426/222;
		top: 0;
		left: -23.9825%;
		margin-top: 15.8431%;
		background-image: url(../img/concept/movie_illust03.png);
}
.cmn_movie .illust span {
		display: block;
		-webkit-animation: floatUp_15 1.6s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		        animation: floatUp_15 1.6s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
}

@media screen and (max-width: 800px) {
		.cmn_movie {
				padding-top: 0;
		}
		.cmn_movie_inner {
				width: 92.5%;
				padding: 0 0 min(47.5vw, 190px);
		}
		.cmn_movie_inner::before {
				display: none;
		}
		.cmn_movie_hl {
				margin: 0 0 62px;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				    -ms-flex-direction: column;
				        flex-direction: column;
		}
		.cmn_movie_hl .hl_en {
				font-size: clamp(48px, 15vw, 60px);
				letter-spacing: -0.08em;
				margin-right: 0;
				margin-bottom: 7px;
		}
		.cmn_movie_hl .hl_jp span {
				width: 80px;
		}
		.cmn_movie_list {
				display: block;
		}
		.cmn_movie_list_item {
				width: 100%;
				border-radius: min(6.25vw, 25px);
		}
		.cmn_movie_list_item:nth-child(2) {
				margin-top: 15px;
		}
		.cmn_movie_list_item a::before, .cmn_movie_list_item a::after {
				width: 110px;
		}
		.cmn_movie .illust {
				width: min(105%, 840px);
				left: 50%;
				bottom: 0;
				margin-bottom: -29px;
				margin-left: -86px;
		}
}
.modaal-wrapper.tateya_02 .modaal-video-container {
		width: 100%;
		height: auto;
		aspect-ratio: 1920/1440;
		overflow: hidden;
		border-radius: min(3.9286vw, 55px);
}
.modaal-wrapper.tateya_02 .modaal-close {
		right: 50%;
		top: 50%;
		margin-top: max(-34.8214%, -487.5px);
		margin-right: max(-46.4285%, -650px);
		translate: 30% -30%;
}
.modaal-wrapper.tateya_01 .modaal-video-container {
		width: 100%;
		height: auto;
		aspect-ratio: 16/9;
		overflow: hidden;
}
.modaal-wrapper.tateya_01 .modaal-close {
		right: 50%;
		top: 50%;
		margin-top: max(-26.1071%, -365.5px);
		margin-right: max(-46.4285%, -650px);
		translate: 50% -50%;
}

@media screen and (max-width: 800px) {
		.modaal-wrapper.tateya_01 .modaal-close {
				right: 0;
				margin-right: 0;
				translate: 0% -50%;
		}
}
:root {
		--c_base: #f6f5f4;
		--c_base2: #fbfaf9;
		--c_base3: #fcf9ef;
		--c_key1: #184a9a;
		--c_key2: #e05727;
		--c_text: #131313;
}

html {
		font-size: 10px;
}

body {
		color: #131313;
		line-height: 1;
		font-family: "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
		font-weight: 400;
		-webkit-text-size-adjust: 100%;
		padding-top: 144px;
		background-color: var(--c_base2);
}
body::before, body::after {
		width: 100%;
		height: 280px;
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		background-repeat: no-repeat;
		background-size: auto 100%;
		pointer-events: none;
		z-index: 100;
}
body::before {
		background-image: url(../img/common/head_bg_deco_l.png);
		background-position: 0 0;
}
body::after {
		background-image: url(../img/common/head_bg_deco_r.png);
		background-position: 100% 0;
}
body.nav_active {
		overflow: hidden;
}

.grecaptcha-badge {
		z-index: 10;
}

@media screen and (min-width: 801px) {
		.pc_off {
				display: none !important;
		}
}
@media screen and (max-width: 800px) {
		body {
				padding-top: 100px;
		}
		body::before, body::after {
				height: 115px;
		}
		.sp_off {
				display: none !important;
		}
}
.wrap_1200 {
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
}

/* ========================================

header

======================================== */
.header {
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1000;
		opacity: 0;
}
.header .logo {
		width: min(10%, 121px);
		position: absolute;
}
.header_nav {
		margin: 0 auto;
}
.header_nav ul {
		font-size: clamp(12.5px, 1.25vw, 15px);
		font-weight: 500;
		height: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
@media screen and (min-width: 801px) {
		.header_nav ul li a:hover {
				color: var(--c_key1);
		}
}
.header_btn {
		position: absolute;
}
.header_btn_item {
		position: relative;
}
.header_btn_item a {
		color: #fff;
		font-weight: 500;
		width: 100%;
		height: 100%;
}
.header_btn_item a::before {
		aspect-ratio: 1/1;
		content: "";
		display: block;
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-position: 50% 0;
		        mask-position: 50% 0;
}
@media screen and (min-width: 801px) {
		.header_btn_item a:hover {
				scale: 0.9;
		}
}
.header_btn_item._access a {
		background-color: var(--c_key2);
}
.header_btn_item._access a::before {
		background-color: #fff;
		-webkit-mask-image: url(../img/common/ico_pin.svg);
		        mask-image: url(../img/common/ico_pin.svg);
		-webkit-mask-size: auto 100%;
		        mask-size: auto 100%;
}
.header_btn_item._reserve a {
		background-color: var(--c_key1);
}
.header_btn_item._reserve a::before {
		background-image: url(../img/common/head_btn_reserve_icon.png);
		background-size: 100% auto;
}
.header_normal {
		width: 93%;
		max-width: 1300px;
		position: relative;
		margin: 0 auto;
		padding-top: 40px;
}
.header_normal .logo {
		position: absolute;
		left: 10px;
		top: 46px;
}
.header_normal .header_nav {
		width: 65%;
		max-width: 700px;
		height: 64px;
		position: relative;
		padding: 3px 0;
		background-color: var(--c_key1);
		border-radius: 30px;
}
.header_normal .header_nav::before, .header_normal .header_nav::after {
		width: 10px;
		aspect-ratio: 1/1;
		content: "";
		display: block;
		position: absolute;
		top: calc(50% - 10px);
		background-color: var(--c_key2);
		border: 5px solid var(--c_base2);
		border-radius: 50%;
		-webkit-box-sizing: content-box;
		        box-sizing: content-box;
}
.header_normal .header_nav::before {
		left: -9px;
}
.header_normal .header_nav::after {
		right: -9px;
}
.header_normal .header_nav ul {
		padding: 0 min(2.8572vw, 40px);
		background-color: var(--c_base2);
		border-radius: 29px;
}
.header_normal .header_btn {
		width: clamp(125px, 14.4616%, 188px);
		top: 40px;
		right: 0;
}
.header_normal .header_btn_item {
		width: 58.5107%;
		aspect-ratio: 1/1;
}
.header_normal .header_btn_item a {
		padding-bottom: 8px;
		border: 1px solid #fff;
		border-radius: min(3.5715vw, 50px);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.header_normal .header_btn_item a::before {
		margin-bottom: 9.2593%;
}
.header_normal .header_btn_item._access {
		z-index: 1;
}
.header_normal .header_btn_item._access a {
		font-size: clamp(13px, 1.2308vw, 16px);
}
.header_normal .header_btn_item._access a::before {
		width: 20.3704%;
		max-width: 22px;
}
.header_normal .header_btn_item._reserve {
		margin-top: -22.3405%;
		margin-left: auto;
		z-index: 3;
}
.header_normal .header_btn_item._reserve a {
		font-size: clamp(13px, 1.3077vw, 17px);
}
.header_normal .header_btn_item._reserve a::before {
		width: 24.0741%;
		max-width: 26px;
}
.header_fixed {
		width: 100%;
		max-width: 1300px;
		height: 70px;
		padding: 0 min(2vw, 30px);
		background-color: #fff;
		border-radius: 0 0 30px 30px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		position: fixed;
		top: 0;
		right: 50%;
		translate: 50% -100%;
		-webkit-transition: translate 0.3s;
		transition: translate 0.3s;
		z-index: 5;
}
.header_fixed .logo {
		width: min(13.2%, 132px);
		top: calc(50% - 3px);
		left: min(2vw, 30px);
		translate: 0 -50%;
}
.header_fixed .header_nav {
		padding-bottom: 3px;
}
.header_fixed .header_nav ul li:not(:last-of-type) {
		margin-right: 1.6em;
}
.header_fixed .header_nav ul li a .en {
		display: none;
}
.header_fixed .header_btn {
		right: 30px;
		top: 50%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: row-reverse;
		        flex-direction: row-reverse;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		translate: 0 -50%;
}
.header_fixed .header_btn_item {
		width: clamp(90px, 10vw, 110px);
		width: clamp(90px, 9.1667vw, 110px);
		height: 32px;
}
.header_fixed .header_btn_item a {
		font-size: clamp(12px, 1.2728vw, 14px);
		border-radius: 32px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.header_fixed .header_btn_item a::before {
		width: 18px;
}
.header_fixed .header_btn_item a .jp {
		padding-bottom: 2px;
}
.header_fixed .header_btn_item a .en {
		display: none;
}
.header_fixed .header_btn_item._access {
		margin-left: 5px;
}
.header_fixed .header_btn_item._access a {
		padding-left: 8.1819%;
}
.header_fixed .header_btn_item._access a::before {
		margin-right: 4.5455%;
}
.header_fixed .header_btn_item._reserve a {
		padding-left: 6.3634%;
}
.header_fixed .header_btn_item._reserve a::before {
		margin-right: 7.2728%;
}
.header_fixed .header_btn_item._out {
		display: none;
}
@media screen and (min-width: 801px) {
		body.fixed .header_fixed {
				-webkit-transition: translate 0.3s;
				transition: translate 0.3s;
				translate: 50% 0;
				opacity: 1;
		}
}

@media screen and (max-width: 1000px) {
		.header_fixed {
				-webkit-box-pack: end;
				    -ms-flex-pack: end;
				        justify-content: flex-end;
		}
		.header_fixed .header_nav {
				margin: 0 20px 0 0;
		}
		.header_fixed .header_btn {
				position: relative;
				top: auto;
				right: auto;
				translate: 0 0;
		}
}
@media screen and (max-width: 900px) {
		.header_normal .header_nav {
				width: 68%;
		}
		.header_normal .header_btn {
				width: min(12%, 100px);
				min-width: unset;
				height: 64px;
		}
		.header_normal .header_btn_item {
				width: 100%;
		}
		.header_normal .header_btn_item._access {
				display: none;
		}
		.header_normal .header_btn_item._reserve {
				height: 100%;
				aspect-ratio: auto;
				margin-top: 0;
		}
		.header_normal .header_btn_item._reserve a {
				padding-bottom: 0;
		}
		.header_normal .header_btn_item._reserve a::before {
				width: 20px;
		}
		.header_fixed .header_btn_item._access {
				display: none;
		}
}
@media screen and (max-width: 800px) {
		.header {
				height: 100px;
		}
		body.fixed .header::before {
				opacity: 1;
		}
		.header::before {
				width: 100%;
				height: 100px;
				content: "";
				display: block;
				position: fixed;
				top: 0;
				left: 0;
				-webkit-backdrop-filter: blur(1.5px);
				        backdrop-filter: blur(1.5px);
				-webkit-mask-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0)), color-stop(30%, rgba(0, 0, 0, 0.5)), to(rgb(0, 0, 0)));
				-webkit-mask-image: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 30%, rgb(0, 0, 0) 100%);
				        mask-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0)), color-stop(30%, rgba(0, 0, 0, 0.5)), to(rgb(0, 0, 0)));
				        mask-image: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 30%, rgb(0, 0, 0) 100%);
				-webkit-mask-composite: source-in, xor;
				        mask-composite: intersect;
				-webkit-transition: all 0.4s linear;
				transition: all 0.4s linear;
				opacity: 0;
		}
		.header .header_normal {
				width: 100%;
				height: 100px;
				position: fixed;
				padding: min(6.25vw, 25px) 0 0 0;
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: justify;
				    -ms-flex-pack: justify;
				        justify-content: space-between;
				-webkit-box-align: start;
				    -ms-flex-align: start;
				        align-items: flex-start;
				z-index: 100;
		}
		.header .header_normal .logo {
				width: min(41.5vw, 166px);
				height: 46px;
				position: relative;
				top: auto;
				left: auto;
				margin-right: min(2.5vw, 10px);
				margin-left: min(5vw, 20px);
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: center;
				    -ms-flex-align: center;
				        align-items: center;
		}
		.header .header_normal .header_nav {
				display: none;
		}
		.header .header_normal .header_btn {
				width: min(27.5vw, 110px);
				height: 46px;
				max-width: unset;
				margin-top: 2px;
				margin-right: calc(min(5vw, 20px) + 60px);
				position: relative;
				top: auto;
				right: auto;
		}
		.header .header_normal .header_btn_item._access {
				display: none;
		}
		.header .header_normal .header_btn_item._reserve a {
				font-size: clamp(10.5px, 3.25vw, 13px);
				padding-bottom: 0;
				border: none;
				border-radius: 45px;
				-webkit-box-orient: horizontal;
				-webkit-box-direction: normal;
				    -ms-flex-direction: row;
				        flex-direction: row;
		}
		.header .header_normal .header_btn_item._reserve a::before {
				width: min(5vw, 20px);
				margin-bottom: 0;
				margin-right: min(2.5vw, 10px);
		}
		.header_inner {
				height: 100vh;
				height: 100dvh;
				position: fixed;
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
				overflow-y: auto;
				z-index: 101;
				opacity: 0;
				visibility: hidden;
				-webkit-transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
				transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
				pointer-events: none;
		}
		.header_fixed {
				height: auto;
				padding: min(32.5vw, 130px) 0 0 0;
				position: relative;
				right: auto;
				top: auto;
				background-color: var(--c_base2);
				border-radius: 0;
				background-image: url(../img/common/head_bg_deco_l.png), url(../img/common/head_bg_deco_r.png);
				background-repeat: no-repeat;
				background-size: auto 115px;
				background-position: 0 0, 100% 0;
				-webkit-box-pack: start;
				    -ms-flex-pack: start;
				        justify-content: start;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				    -ms-flex-direction: column;
				        flex-direction: column;
				translate: 0 0;
				z-index: 99;
		}
		.header_fixed::after {
				width: 100%;
				height: 382px;
				content: "";
				display: block;
				background-image: url(../img/common/foot_bg_map_sp.png);
				background-repeat: no-repeat;
				background-size: auto 100%;
				background-position: 50% 100%;
				pointer-events: none;
				z-index: 1;
		}
		.header_fixed_inner {
				height: 100vh;
				overflow: scroll;
		}
		.header_fixed .logo {
				width: min(41.5vw, 166px);
				height: 46px;
				position: absolute;
				top: min(6.25vw, 25px);
				left: min(5vw, 20px);
				margin-right: min(2.5vw, 10px);
				translate: 0 0;
				-ms-flex-negative: 0;
				    flex-shrink: 0;
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-align: center;
				    -ms-flex-align: center;
				        align-items: center;
		}
		.header_fixed .header_nav {
				width: calc(100% - min(20vw, 80px));
				margin: 0 0 min(7.5vw, 30px);
				-ms-flex-negative: 0;
				    flex-shrink: 0;
		}
		.header_fixed .header_nav ul {
				font-size: clamp(12.8px, 4vw, 16px);
				width: 100%;
				display: block;
				padding-bottom: 0;
		}
		.header_fixed .header_nav ul li {
				height: min(17.75vw, 71px);
		}
		.header_fixed .header_nav ul li:not(:last-of-type) {
				margin: 0;
				border-bottom: 0.5px solid #2e2717;
		}
		.header_fixed .header_nav ul li a {
				width: 100%;
				height: 100%;
				position: relative;
				padding-right: calc(min(7.5vw, 30px) + min(5vw, 20px));
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-pack: justify;
				    -ms-flex-pack: justify;
				        justify-content: space-between;
				-webkit-box-align: center;
				    -ms-flex-align: center;
				        align-items: center;
		}
		.header_fixed .header_nav ul li a::before, .header_fixed .header_nav ul li a::after {
				width: min(7.5vw, 30px);
				aspect-ratio: 1/1;
				display: block;
				content: "";
				position: absolute;
				right: 0;
				top: 50%;
				border-radius: 50%;
				translate: 0 -50%;
		}
		.header_fixed .header_nav ul li a::before {
				background-color: var(--c_key1);
		}
		.header_fixed .header_nav ul li a::after {
				background-color: #fff;
				-webkit-mask-image: url(../img/common/ico_arrow.svg);
				        mask-image: url(../img/common/ico_arrow.svg);
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-size: min(33.3334%, 10px);
				        mask-size: min(33.3334%, 10px);
				-webkit-mask-position: 50% 50%;
				        mask-position: 50% 50%;
				border-radius: 50%;
		}
		.header_fixed .header_nav ul li a .en {
				font-family: "Lexend Giga", sans-serif;
				font-optical-sizing: auto;
				font-weight: 400;
				color: var(--c_key1);
				font-size: 10px;
				text-transform: uppercase;
				display: block;
				margin-left: auto;
		}
		.header_fixed .header_btn {
				width: calc(100% - min(20vw, 80px));
				margin-bottom: min(18.75vw, 75px);
				-webkit-box-orient: vertical;
				-webkit-box-direction: reverse;
				    -ms-flex-direction: column-reverse;
				        flex-direction: column-reverse;
		}
		.header_fixed .header_btn_item {
				width: 100%;
				height: 50px;
		}
		.header_fixed .header_btn_item a::before {
				width: 20px;
		}
		.header_fixed .header_btn_item a .en {
				font-family: "Lexend Giga", sans-serif;
				font-optical-sizing: auto;
				font-weight: 400;
				color: #fff;
				font-size: 10px;
				text-transform: uppercase;
				display: block;
				margin-left: auto;
		}
		.header_fixed .header_btn_item._access {
				display: block;
		}
		.header_fixed .header_btn_item._access a {
				font-size: 14px;
				padding: 0 30px 0 15px;
		}
		.header_fixed .header_btn_item._access a::before {
				width: 20px;
				margin-right: 15px;
		}
		.header_fixed .header_btn_item._reserve {
				margin-bottom: 10px;
		}
		.header_fixed .header_btn_item._reserve a {
				font-size: 14px;
				padding: 0 30px 0 15px;
		}
		.header_fixed .header_btn_item._reserve a::before {
				width: 20px;
				margin-right: 15px;
		}
		.header_fixed .header_btn_item._out {
				width: min(27.5vw, 110px);
				height: 46px;
				display: block;
				position: absolute;
				top: calc(min(6.25vw, 25px) + 2px);
				right: calc(min(5vw, 20px) + 60px);
		}
		.header_fixed .header_btn_item._out a {
				font-size: clamp(10.5px, 3.25vw, 13px);
				padding: 0;
				-webkit-box-pack: center;
				    -ms-flex-pack: center;
				        justify-content: center;
		}
		.header_fixed .header_btn_item._out a::before {
				width: min(5vw, 20px);
				margin-bottom: 0;
				margin-right: min(2.5vw, 10px);
		}
		.header_fixed .header_btn_item._out a .jp {
				padding-bottom: 0;
		}
		.header .btn_nav {
				cursor: pointer;
				width: 50px;
				height: 50px;
				display: block;
				position: fixed;
				top: min(6.25vw, 25px);
				right: min(5vw, 20px);
				background-color: var(--c_key1);
				border-radius: 20px;
				z-index: 999;
				-webkit-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
				transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
		}
		.header .btn_nav .menu {
				width: 100%;
				height: calc(100% - 6px);
				margin-top: 3px;
				background-color: #fbfaf9;
				border-radius: 22.5px;
		}
		.header .btn_nav span, .header .btn_nav::before, .header .btn_nav::after {
				width: 20px;
				height: 2.5px;
				display: block;
				position: absolute;
				left: calc(50% - 10px);
				background: var(--c_key2);
				-webkit-transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
				transition: all 0.3s cubic-bezier(0.33, 1, 0.68, 1);
		}
		.header .btn_nav span {
				top: 50%;
		}
		.header .btn_nav::before, .header .btn_nav::after {
				content: "";
				-webkit-transform-origin: 50% 50%;
				        transform-origin: 50% 50%;
		}
		.header .btn_nav::before {
				-webkit-animation: btn_nav_top_off cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
				        animation: btn_nav_top_off cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
		}
		.header .btn_nav::after {
				-webkit-animation: btn_nav_bottom_off cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
				        animation: btn_nav_bottom_off cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
		}
		body.nav_active .header::before {
				height: 100vh;
		}
		body.nav_active .header_inner {
				opacity: 1;
				visibility: visible;
				pointer-events: unset;
		}
		body.nav_active .header .btn_nav span {
				opacity: 0;
		}
		body.nav_active .header .btn_nav::before {
				-webkit-animation: btn_nav_top_on cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
				        animation: btn_nav_top_on cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
		}
		body.nav_active .header .btn_nav::after {
				-webkit-animation: btn_nav_bottom_on cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
				        animation: btn_nav_bottom_on cubic-bezier(0.33, 1, 0.68, 1) 0.4s forwards;
		}
}
@-webkit-keyframes btn_nav_top_off {
		0% {
				top: 50%;
				scale: 1.2 1;
				-webkit-transform: rotate(30deg);
				        transform: rotate(30deg);
		}
		50% {
				top: 50%;
				scale: 1 1;
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
		100% {
				top: calc(50% - 5px);
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
}
@keyframes btn_nav_top_off {
		0% {
				top: 50%;
				scale: 1.2 1;
				-webkit-transform: rotate(30deg);
				        transform: rotate(30deg);
		}
		50% {
				top: 50%;
				scale: 1 1;
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
		100% {
				top: calc(50% - 5px);
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
}
@-webkit-keyframes btn_nav_top_on {
		0% {
				top: calc(50% - 5px);
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
		50% {
				top: 50%;
				scale: 1.2 1;
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
		100% {
				top: 50%;
				scale: 1.2 1;
				-webkit-transform: rotate(30deg);
				        transform: rotate(30deg);
		}
}
@keyframes btn_nav_top_on {
		0% {
				top: calc(50% - 5px);
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
		50% {
				top: 50%;
				scale: 1.2 1;
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
		100% {
				top: 50%;
				scale: 1.2 1;
				-webkit-transform: rotate(30deg);
				        transform: rotate(30deg);
		}
}
@-webkit-keyframes btn_nav_bottom_off {
		0% {
				top: 50%;
				scale: 1.2 1;
				-webkit-transform: rotate(-30deg);
				        transform: rotate(-30deg);
		}
		50% {
				top: 50%;
				scale: 1.2 1;
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
		100% {
				top: calc(50% + 5px);
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
}
@keyframes btn_nav_bottom_off {
		0% {
				top: 50%;
				scale: 1.2 1;
				-webkit-transform: rotate(-30deg);
				        transform: rotate(-30deg);
		}
		50% {
				top: 50%;
				scale: 1.2 1;
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
		100% {
				top: calc(50% + 5px);
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
}
@-webkit-keyframes btn_nav_bottom_on {
		0% {
				top: calc(50% + 5px);
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
		50% {
				top: 50%;
				scale: 1.2 1;
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
		100% {
				top: 50%;
				scale: 1.2 1;
				-webkit-transform: rotate(-30deg);
				        transform: rotate(-30deg);
		}
}
@keyframes btn_nav_bottom_on {
		0% {
				top: calc(50% + 5px);
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
		50% {
				top: 50%;
				scale: 1.2 1;
				-webkit-transform: rotate(0deg);
				        transform: rotate(0deg);
		}
		100% {
				top: 50%;
				scale: 1.2 1;
				-webkit-transform: rotate(-30deg);
				        transform: rotate(-30deg);
		}
}
/* ========================================

footer

======================================== */
.footer {
		background-color: #fff;
}
.footer::after {
		width: 100%;
		height: 558px;
		content: "";
		display: block;
		pointer-events: none;
		background-image: url(../img/common/foot_bg_map.png);
		background-repeat: no-repeat;
		background-position: 50% 0%;
		background-size: auto 100%;
		z-index: 10;
}
.footer_inner {
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
}
.footer_info {
		margin-right: 5%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-ms-flex-negative: 0;
		    flex-shrink: 0;
}
.footer_info .logo {
		width: 118px;
		width: clamp(90px, 9.077vw, 118px);
		margin-right: clamp(30px, 3.8462vw, 50px);
}
.footer_info_text {
		padding-bottom: 7px;
}
.footer_info_text_address {
		font-family: "Lexend Giga", "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
		font-weight: 400;
		font-size: clamp(12.5px, 1.077vw, 14px);
		font-size: 14px;
		line-height: 1.5715;
		margin-bottom: 0.7143em;
}
.footer_info_text_tel {
		font-family: "Lexend Giga", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-size: clamp(13px, 1.154vw, 15px);
		margin-bottom: 1.9334em;
}
.footer_info_text_tel em {
		font-size: clamp(19px, 1.692vw, 22px);
		font-weight: 300;
		letter-spacing: -0.03em;
		margin-left: 0.3em;
}
.footer_info_text_instagram {
		font-family: "Lexend Giga", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-size: 15px;
}
.footer_info_text_instagram a {
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.footer_info_text_instagram a::before {
		width: 20px;
		height: 20px;
		content: "";
		display: block;
		margin-right: 15px;
		background-color: var(--c_text);
		-webkit-mask-image: url(../img/common/footer_info_insta_icon.png);
		        mask-image: url(../img/common/footer_info_insta_icon.png);
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-position: 0 0;
		        mask-position: 0 0;
		-webkit-mask-size: auto 100%;
		        mask-size: auto 100%;
		-webkit-transition: inherit;
		transition: inherit;
}
.footer_info_text_instagram a span {
		border-bottom: 1px solid var(--c_text);
		-webkit-transition: inherit;
		transition: inherit;
}
@media screen and (min-width: 801px) {
		.footer_info_text_instagram a:hover:before {
				background-color: #d95a2e;
		}
		.footer_info_text_instagram a:hover span {
				color: #d95a2e;
				border-color: #d95a2e;
		}
}
.footer_nav {
		margin-bottom: 30px;
		padding-top: 18px;
}
.footer_nav_main {
		font-size: clamp(15px, 1.231vw, 16px);
		margin-bottom: 0.75em;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
}
.footer_nav_main li {
		margin-bottom: 0.75em;
}
@media screen and (min-width: 1201px) {
		.footer_nav_main li:not(:first-of-type) {
				margin-left: 1.85em;
		}
		.footer_nav_main li a:hover {
				color: var(--c_key1);
				text-shadow: 0.2px 0.2px 0 var(--c_key1), -0.2px -0.2px 0 var(--c_key1), -0.2px -0.2px 0 var(--c_key1), 0.2px 0.2px 0 var(--c_key1);
		}
}
.footer_nav_sub {
		font-size: 13px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
}
.footer_nav_sub li {
		margin-bottom: 1em;
}
@media screen and (min-width: 1201px) {
		.footer_nav_sub li:not(:last-of-type)::after {
				content: "/";
				margin: 0 1em;
		}
}
@media screen and (min-width: 801px) {
		.footer_nav_sub li a:hover {
				opacity: 0.6;
		}
}
.footer_sub {
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
		margin-top: -10px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: end;
		    -ms-flex-align: end;
		        align-items: flex-end;
}
.footer_sub .copyright {
		font-family: "Lexend Giga", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-size: 13px;
		text-transform: uppercase;
		margin-bottom: 32px;
		padding-left: 12px;
}
.footer_sub .pagetop {
		width: 174px;
		margin-right: -20px;
		-webkit-user-select: none;
		   -moz-user-select: none;
		    -ms-user-select: none;
		        user-select: none;
}
.footer_sub .pagetop a {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.footer_sub .pagetop a::after {
		width: 100%;
		aspect-ratio: 174/100;
		content: "";
		display: block;
		position: relative;
		background-image: url(../img/common/foot_pagetop_illust_human.png);
		background-repeat: no-repeat;
		background-size: 100% auto;
		-webkit-animation: floatUp_7 0.8s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		        animation: floatUp_7 0.8s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		z-index: 2;
}
.footer_sub .pagetop a::before {
		width: 67px;
		height: 59px;
		content: "";
		display: block;
		position: absolute;
		right: 36px;
		top: 6px;
		background-image: url(../img/common/foot_pagetop_illust_star.png);
		background-repeat: no-repeat;
		background-size: 100% auto;
		-webkit-animation: floatUp_7 0.8s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		        animation: floatUp_7 0.8s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		z-index: 1;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		opacity: 0;
}
.footer_sub .pagetop a span {
		width: 110px;
		position: relative;
		display: block;
		margin-bottom: 9px;
		z-index: 3;
}
@media screen and (min-width: 801px) {
		.footer_sub .pagetop a:hover:before {
				opacity: 1;
		}
}

@media screen and (min-width: 801px) and (max-width: 1200px) {
		.footer_nav {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-flex: 1;
				    -ms-flex-positive: 1;
				        flex-grow: 1;
		}
		.footer_nav_main {
				font-size: clamp(13.5px, 1.25vw, 15px);
				margin-right: 8.6419%;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				    -ms-flex-direction: column;
				        flex-direction: column;
		}
		.footer_nav_sub {
				font-size: clamp(11.5px, 1.0834vw, 13px);
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				    -ms-flex-direction: column;
				        flex-direction: column;
				-webkit-box-pack: start;
				    -ms-flex-pack: start;
				        justify-content: flex-start;
		}
}
@media screen and (max-width: 800px) {
		.footer {
				position: relative;
				padding-top: 50px;
				background-color: #fcf9ef;
		}
		.footer::after {
				height: 382px;
				background-image: url(../img/common/foot_bg_map_sp.png);
				background-size: auto 100%;
		}
		.footer::before {
				width: 100%;
				height: 80px;
				content: "";
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				background-color: #fcf9ef;
				clip-path: ellipse(130% 511px at 50% 511px);
				translate: 0 -40px;
				z-index: 2;
		}
		.footer_inner {
				width: 100%;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				    -ms-flex-direction: column;
				        flex-direction: column;
		}
		.footer_info {
				width: 90%;
				margin: 0 auto 40px;
				padding: 0;
				-webkit-box-pack: center;
				    -ms-flex-pack: center;
				        justify-content: center;
				-webkit-box-align: start;
				    -ms-flex-align: start;
				        align-items: flex-start;
		}
		.footer_info .logo {
				width: clamp(60px, 18.5vw, 74px);
				margin-right: clamp(16px, 5vw, 20px);
		}
		.footer_info_text {
				margin-top: -6px;
		}
		.footer_info_text_address {
				font-size: clamp(11.2px, 3.5vw, 14px);
				margin-bottom: 0.5715em;
		}
		.footer_info_text_tel {
				font-size: clamp(10.5px, 3.25vw, 13px);
				margin-bottom: 0.7693em;
		}
		.footer_info_text_tel em {
				font-size: clamp(16px, 5vw, 20px);
		}
		.footer_info_text_instagram {
				font-size: clamp(11.2px, 3.5vw, 14px);
		}
		.footer_info_text_instagram a::before {
				width: 24px;
				height: 24px;
				margin-right: 12px;
		}
		.footer_nav {
				width: 80%;
				margin: 0 auto 4px;
				padding: 0;
		}
		.footer_nav_main {
				font-size: clamp(12px, 3.75vw, 15px);
				margin-bottom: 38px;
				padding-bottom: 25px;
				border-bottom: 1px solid rgba(48, 48, 48, 0.3);
				-webkit-box-pack: center;
				    -ms-flex-pack: center;
				        justify-content: center;
		}
		.footer_nav_main li {
				margin: 0 13px 15px;
		}
		.footer_nav_sub {
				font-size: clamp(10.5px, 3.25vw, 13px);
				max-width: 360px;
				margin: 0 auto;
				-webkit-box-pack: center;
				    -ms-flex-pack: center;
				        justify-content: center;
		}
		.footer_nav_sub li:nth-child(odd)::after {
				content: "/";
				margin: 0 1em;
		}
		.footer_sub {
				display: block;
				margin-top: 0;
				margin-bottom: 58px;
		}
		.footer_sub .copyright {
				font-size: 11px;
				text-align: center;
		}
		.footer_sub .pagetop {
				width: 150px;
				margin-right: 0;
				position: absolute;
				top: -135px;
				right: 50%;
				translate: 50% 0%;
				z-index: 200;
		}
}
/* ========================================

cmn_attention

======================================== */
.cmn_attention {
		position: relative;
		padding: 100px 0 80px;
		background-color: var(--c_base);
		z-index: 2;
}
.cmn_attention::before {
		width: 100%;
		height: 100%;
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		background-color: #fff;
		border-radius: 50px 50px 0 0;
}
.cmn_attention_inner {
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
		position: relative;
		padding: 59px 0 65px;
		background-color: var(--c_base);
		border-radius: 25px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
}
.cmn_attention_inner::after {
		width: 118px;
		aspect-ratio: 118/120;
		content: "";
		display: block;
		position: absolute;
		bottom: -29px;
		left: -20px;
		background-image: url(../img/common/cmn_attention_illust02.png);
		background-repeat: no-repeat;
		background-size: 100% auto;
}
.cmn_attention_hl {
		width: clamp(100px, 12.5%, 150px);
		margin-left: 5%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
		-ms-flex-negative: 0;
		    flex-shrink: 0;
}
@media screen and (min-width: 801px) {
		.cmn_attention_hl {
				-webkit-writing-mode: vertical-rl;
				    -ms-writing-mode: tb-rl;
				        writing-mode: vertical-rl;
		}
}
.cmn_attention_hl .jp {
		font-size: 30px;
		font-weight: 500;
		margin-right: 18px;
}
.cmn_attention_hl .en {
		font-family: "Lexend Giga", sans-serif;
		font-optical-sizing: auto;
		font-weight: 500;
		color: var(--c_key1);
		font-size: 14px;
		text-transform: uppercase;
		letter-spacing: -0.05em;
		margin-top: 4px;
}
.cmn_attention_cont {
		width: calc(90% - clamp(100px, 12.5%, 150px));
		max-width: 920px;
		margin-right: 5%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-flex: 1;
		    -ms-flex-positive: 1;
		        flex-grow: 1;
}
.cmn_attention_cont > div {
		margin-bottom: 23px;
}
.cmn_attention_cont > div._facilities {
		width: min(40.5%, 370px);
		margin-right: 30px;
}
.cmn_attention_cont > div._note {
		width: calc(100% - min(40.5%, 370px) - 30px);
}
.cmn_attention_cont > div._cancel {
		width: 100%;
		margin-bottom: 0;
}
.cmn_attention_cont dt {
		margin-bottom: 14px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.cmn_attention_cont dt::before {
		font-size: min(1.8vw, 18px);
		content: "/";
		margin: 0 0.8em;
}
.cmn_attention_cont dt em {
		font-size: 18px;
		font-weight: 500;
		-ms-flex-negative: 0;
		    flex-shrink: 0;
		-webkit-box-ordinal-group: 0;
		    -ms-flex-order: -1;
		        order: -1;
}
.cmn_attention_cont dt .en {
		font-family: "Lexend Giga", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-size: 12px;
		font-size: min(1.3334vw, 12px);
		margin-top: 2px;
}
.cmn_attention_cont dd {
		font-size: 14px;
		line-height: 1.7143;
}

@media screen and (max-width: 800px) {
		.cmn_attention {
				padding: min(12.5vw, 50px) 0 200px;
				background-color: #fff;
		}
		.cmn_attention::before {
				display: none;
		}
		.cmn_attention_inner {
				width: 92.5%;
				display: block;
				padding: 49px 0 20px;
				border-radius: 15px;
		}
		.cmn_attention_inner::after {
				width: clamp(75px, 23.5vw, 94px);
				scale: -1 1;
				top: 21px;
				right: 20px;
				bottom: auto;
				left: auto;
		}
		.cmn_attention_hl {
				width: 86.4865%;
				margin: 0 auto;
				margin-bottom: min(12.5vw, 50px);
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				    -ms-flex-direction: column;
				        flex-direction: column;
		}
		.cmn_attention_hl .jp {
				font-size: clamp(17px, 5.5vw, 22px);
				margin: 0 0 9px;
		}
		.cmn_attention_hl .en {
				font-size: clamp(10px, 3vw, 12px);
		}
		.cmn_attention_cont {
				width: 86.4865%;
				margin: 0 auto;
		}
		.cmn_attention_cont > div {
				width: 100%;
				padding-bottom: 20px;
		}
		.cmn_attention_cont > div:not(:last-of-type) {
				border-bottom: 1px solid rgba(48, 48, 48, 0.3);
		}
		.cmn_attention_cont > div._facilities {
				width: 100%;
				margin-right: 0;
		}
		.cmn_attention_cont > div._note {
				width: 100%;
		}
		.cmn_attention_cont dt {
				margin-bottom: 10px;
		}
		.cmn_attention_cont dt::before {
				font-size: clamp(10px, 3vw, 12px);
				margin: 0 0.7em;
		}
		.cmn_attention_cont dt em {
				font-size: clamp(12px, 3.75vw, 15px);
		}
		.cmn_attention_cont dt .en {
				font-size: clamp(10px, 3vw, 12px);
		}
		.cmn_attention_cont dd {
				font-size: 13px;
				line-height: 1.5385;
		}
}
.page_title::before {
		width: min(49.0715%, 687px);
		aspect-ratio: 1374/470;
		bottom: 118px;
		background-image: url(../img/contact/title_illust01.png);
}
.page_title::after {
		width: min(49.0715%, 687px);
		aspect-ratio: 1374/470;
		bottom: 128px;
		background-image: url(../img/contact/title_illust02.png);
}

@media screen and (min-width: 801px) {
		.page_title .hl_en {
				font-size: min(9.1667vw 110px);
		}
}
@media screen and (max-width: 800px) {
		.page_title {
				padding-bottom: 155px;
		}
		.page_title::before, .page_title::after {
				width: min(86%, 688px);
		}
		.page_title::before {
				bottom: 25px;
		}
		.page_title::after {
				bottom: 32px;
		}
}
/* ========================================

contact

======================================== */
.contact {
		width: min(93%, 1300px);
		position: relative;
		margin: 0 auto 100px;
		padding: 95px 0 80px;
		background-color: #fff;
		border-radius: 25px;
}
.contact:has(.bnr_faq) {
		margin-top: 58px;
		padding-top: 200px;
		padding-bottom: 100px;
}
.contact .bnr_faq {
		width: min(90%, 900px);
		margin: 0 auto;
		padding: 4px 0;
		position: absolute;
		top: -78px;
		right: 50%;
		background-color: var(--c_key1);
		border-radius: 60px;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		translate: 50% 0;
}
@media screen and (min-width: 801px) {
		.contact .bnr_faq:hover {
				background-color: var(--c_key2);
		}
		.contact .bnr_faq:hover .txt_en {
				color: var(--c_key2);
		}
		.contact .bnr_faq:hover ._arrow {
				background-color: var(--c_key2);
		}
}
.contact .bnr_faq a {
		height: 148px;
		display: block;
		position: relative;
		background-color: #fff;
		background-image: url(../img/contact/bnr_faq_illust.png);
		background-repeat: no-repeat;
		background-position: 50% 100%;
		background-size: 620px;
		background-size: 68.8889%;
		border-radius: 60px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
}
.contact .bnr_faq .txt_jp {
		max-width: 250px;
		margin-bottom: 10px;
}
.contact .bnr_faq .txt_en {
		font-family: "Lexend Giga", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		color: var(--c_key1);
		font-size: 20px;
		text-align: center;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.contact .bnr_faq ._arrow {
		width: 60px;
		aspect-ratio: 1/1;
		position: absolute;
		top: 50%;
		right: 50px;
		border-radius: 50%;
		background-color: var(--c_key1);
		translate: 0 -50%;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.contact .bnr_faq ._arrow::before {
		width: 100%;
		height: 100%;
		content: "";
		display: block;
		background-color: #fff;
		-webkit-mask-image: url(../img/common/ico_arrow.svg);
		        mask-image: url(../img/common/ico_arrow.svg);
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-size: 33.3334%;
		        mask-size: 33.3334%;
		-webkit-mask-position: 50% 50%;
		        mask-position: 50% 50%;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.contact_step {
		margin-bottom: 80px;
}
.contact_step ol {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.contact_step ol::before, .contact_step ol::after {
		width: 23px;
		height: 0;
		content: "";
		display: block;
		margin: 0 29px;
		border-top: 2px dotted #000;
}
.contact_step ol::before {
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
}
.contact_step ol::after {
		-webkit-box-ordinal-group: 5;
		    -ms-flex-order: 4;
		        order: 4;
}
.contact_step ol li {
		color: #fff;
		font-size: 16px;
		font-weight: 500;
		width: 110px;
		aspect-ratio: 1/1;
		position: relative;
		background-color: #b1b1b1;
		border-radius: 50px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.contact_step ol li:nth-child(1) {
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
}
.contact_step ol li:nth-child(2) {
		-webkit-box-ordinal-group: 4;
		    -ms-flex-order: 3;
		        order: 3;
}
.contact_step ol li:nth-child(3) {
		-webkit-box-ordinal-group: 6;
		    -ms-flex-order: 5;
		        order: 5;
}
.contact_step ol li.current {
		background-color: var(--c_key1);
		background-image: url(../img/contact/step_illust01.png);
		background-repeat: no-repeat;
		background-position: 50% 100%;
		background-size: 45.4546%;
}
.contact_step ol li.current::before {
		width: 20px;
		aspect-ratio: 1/1;
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 50%;
		background-color: #ceb233;
		border: 1px solid #fff;
		border-radius: 50%;
		translate: -50% -50%;
}
.contact_form {
		width: min(93%, 1200px);
		margin: 0 auto;
}
.contact_form small.req {
		color: #fff;
		font-size: 13px;
		letter-spacing: 0;
		width: 24px;
		height: 24px;
		display: block;
		margin-top: 4px;
		margin-left: 8px;
		background-color: var(--c_key2);
		border-radius: 11px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.contact_form dl {
		font-size: 18px;
		font-weight: 500;
		letter-spacing: 0.06em;
		margin-bottom: 60px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		-webkit-box-align: end;
		    -ms-flex-align: end;
		        align-items: flex-end;
}
.contact_form dl > div {
		width: 100%;
}
.contact_form dl > div:not(._exc) {
		width: 49.1667%;
		margin-bottom: 32px;
}
.contact_form dl dt {
		margin-bottom: 20px;
		padding-left: 0.5em;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.contact_form dl dd input,
.contact_form dl dd textarea {
		color: var(--c_text);
		font-size: 16px;
		width: 100%;
		padding: 0 25px;
		border: 1px solid #131313;
		border-radius: 10px;
}
.contact_form dl dd input[type=text], .contact_form dl dd input[type=email], .contact_form dl dd input[type=tel],
.contact_form dl dd textarea[type=text],
.contact_form dl dd textarea[type=email],
.contact_form dl dd textarea[type=tel] {
		height: 70px;
}
.contact_form dl dd input::-webkit-input-placeholder, .contact_form dl dd textarea::-webkit-input-placeholder {
		color: #b8b8b8;
}
.contact_form dl dd input::-moz-placeholder, .contact_form dl dd textarea::-moz-placeholder {
		color: #b8b8b8;
}
.contact_form dl dd input:-ms-input-placeholder, .contact_form dl dd textarea:-ms-input-placeholder {
		color: #b8b8b8;
}
.contact_form dl dd input::-ms-input-placeholder, .contact_form dl dd textarea::-ms-input-placeholder {
		color: #b8b8b8;
}
.contact_form dl dd input::placeholder,
.contact_form dl dd textarea::placeholder {
		color: #b8b8b8;
}
.contact_form dl dd textarea {
		line-height: 1.7143;
		height: 300px;
		padding: 25px;
}
.contact_form_submit {
		width: min(98%, 1140px);
		margin: 0 auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
}
.contact_form_submit .privacy {
		margin-left: min(2.5%, 30px);
}
.contact_form_submit .privacy .txt {
		font-size: 16px;
		font-weight: 500;
		line-height: 1.3;
		margin-bottom: 20px;
}
.contact_form_submit .privacy .txt a {
		color: var(--c_key1);
		font-weight: 600;
		-webkit-text-decoration: underline 0.5px;
		        text-decoration: underline 0.5px;
		text-underline-offset: 2px;
}
.contact_form_submit .privacy label {
		font-size: 20px;
		font-weight: 500;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.contact_form_submit .privacy label input[type=checkbox] {
		width: 25px;
		height: 25px;
		position: relative;
		margin-right: 10px;
		-moz-appearance: none;
		-webkit-appearance: none;
		z-index: 2;
}
.contact_form_submit .privacy label input[type=checkbox]::before {
		width: 100%;
		height: 100%;
		content: "";
		display: block;
		z-index: 1;
		border: 1px solid #131313;
		background-color: #fff;
		border-radius: 10px;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.contact_form_submit .privacy label input[type=checkbox]::after {
		width: 12px;
		height: 8px;
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 2;
		border: 2px solid #b4b4b4;
		border-top: none;
		border-right: none;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		rotate: -45deg;
		translate: -50% calc(-50% - 2px);
}
.contact_form_submit .privacy label input[type=checkbox]:checked::after {
		border-color: var(--c_key2);
}
.contact_form .btn {
		font-size: 20px;
		font-weight: 500;
		width: 300px;
		height: 70px;
}
.contact_form .btn_wrap {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
}
.contact_form .btn_wrap .btn {
		margin: 0 10px;
}
.contact_form .btn button {
		width: 100%;
		height: 100%;
		display: block;
		position: relative;
		cursor: pointer;
		background-color: transparent;
		border: 1px solid #000;
		border-radius: 35px;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.contact_form .btn button:has(._arrow) {
		padding-left: 15px;
}
.contact_form .btn button ._arrow {
		width: 50px;
		aspect-ratio: 1/1;
		position: absolute;
		top: 50%;
		left: 10px;
		border-radius: 50%;
		background-color: var(--c_key2);
		translate: 0 -50%;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.contact_form .btn button ._arrow::before {
		width: 100%;
		height: 100%;
		content: "";
		display: block;
		background-color: #fff;
		-webkit-mask-image: url(../img/common/ico_arrow.svg);
		        mask-image: url(../img/common/ico_arrow.svg);
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-size: 33.3334%;
		        mask-size: 33.3334%;
		-webkit-mask-position: 50% 50%;
		        mask-position: 50% 50%;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
}
.contact_form .btn._conf {
		width: min(45%, 320px);
		margin-left: min(2.5%, 30px);
}
@media screen and (min-width: 801px) {
		.contact_form .btn._conf button:hover ._arrow {
				background-color: var(--c_key1);
		}
}
.contact_form .btn._send button {
		color: #fff;
		background-color: var(--c_key1);
}
.contact_form .btn._send button ._arrow {
		background-color: #fff;
}
.contact_form .btn._send button ._arrow::before {
		background-color: var(--c_key1);
}
@media screen and (min-width: 801px) {
		.contact_form .btn._send button:hover {
				color: var(--c_text);
				background-color: #fff;
		}
		.contact_form .btn._send button:hover ._arrow {
				background-color: var(--c_key1);
		}
		.contact_form .btn._send button:hover ._arrow::before {
				background-color: #fff;
		}
}
@media screen and (min-width: 801px) {
		.contact_form .btn._back button:hover {
				color: #fff;
				background-color: #2c2c2c;
		}
}
.contact_form._confirm dl dd input,
.contact_form._confirm dl dd textarea {
		background-color: var(--c_base2);
		border: none;
}
.contact_form._thanks .txt {
		font-size: 16px;
		text-align: center;
		line-height: 1.875;
		letter-spacing: 0.05em;
		margin-bottom: 56px;
}

@media screen and (max-width: 800px) {
		.contact {
				width: 100%;
				position: relative;
				margin-bottom: 0;
				padding: 50px 0 30px;
				border-radius: 25px 25px 0 0;
				z-index: 3;
		}
		.contact:has(.bnr_faq) {
				margin-top: 0;
				padding: 105px 0 30px;
		}
		.contact .bnr_faq {
				padding: 3px 0;
				top: -50px;
				border-radius: 40px;
		}
		.contact .bnr_faq a {
				height: 100px;
				padding-left: min(13.8889%, 50px);
				border-radius: 40px;
				background-image: url(../img/contact/bnr_faq_illust_sp.png);
				background-position: 80% 100%;
				background-size: 52px;
				-webkit-box-align: start;
				    -ms-flex-align: start;
				        align-items: flex-start;
		}
		.contact .bnr_faq .txt_jp {
				width: 160px;
		}
		.contact .bnr_faq .txt_en {
				font-size: 15px;
		}
		.contact .bnr_faq ._arrow {
				width: 40px;
				right: 25px;
		}
		.contact_step {
				margin-bottom: 50px;
		}
		.contact_step ol::before, .contact_step ol::after {
				width: 14px;
				margin: 0 15px;
		}
		.contact_step ol li {
				font-size: 13px;
				width: 80px;
				border-radius: 35px;
		}
		.contact_step ol li.current::before {
				width: 15px;
		}
		.contact_form {
				width: 90%;
		}
		.contact_form small.req {
				font-size: 11px;
				width: 20px;
				height: 20px;
				margin-top: 3px;
				margin-left: 6px;
				padding-bottom: 2px;
				border-radius: 9px;
		}
		.contact_form dl {
				font-size: 16px;
				margin-bottom: 35px;
		}
		.contact_form dl > div:not(._exc) {
				width: 100%;
				margin-bottom: 20px;
		}
		.contact_form dl dt {
				margin-bottom: 11px;
		}
		.contact_form dl dd input,
		.contact_form dl dd textarea {
				font-size: 14px;
		}
		.contact_form dl dd input[type=text], .contact_form dl dd input[type=email], .contact_form dl dd input[type=tel],
		.contact_form dl dd textarea[type=text],
		.contact_form dl dd textarea[type=email],
		.contact_form dl dd textarea[type=tel] {
				height: 55px;
				padding: 0 20px;
		}
		.contact_form dl dd textarea {
				height: 400px;
				padding: 15px 20px;
		}
		.contact_form_submit {
				width: 100%;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				    -ms-flex-direction: column;
				        flex-direction: column;
		}
		.contact_form_submit .privacy {
				margin: 0 0 28px;
		}
		.contact_form_submit .privacy .txt {
				font-size: clamp(11.2px, 3.5vw, 14px);
				text-align: center;
				line-height: 1.7143;
		}
		.contact_form_submit .privacy label {
				font-size: clamp(12.8px, 4vw, 16px);
				-webkit-box-pack: center;
				    -ms-flex-pack: center;
				        justify-content: center;
		}
		.contact_form .btn {
				font-size: 17px;
				width: min(100%, 320px);
				height: 60px;
				margin: 0 auto;
		}
		.contact_form .btn_wrap {
				display: block;
		}
		.contact_form .btn_wrap .btn {
				margin: 0 auto;
		}
		.contact_form .btn button ._arrow {
				width: 43px;
		}
		.contact_form .btn button ._arrow::before {
				-webkit-mask-size: 31.3954%;
				        mask-size: 31.3954%;
		}
		.contact_form .btn._conf {
				width: min(90%, 320px);
				margin: 0 auto;
		}
		.contact_form .btn._back {
				margin-bottom: 10px;
		}
		.contact_form._thanks {
				width: 80%;
		}
		.contact_form._thanks .txt {
				font-size: 15px;
				text-align: left;
				margin-bottom: 40px;
		}
}
/* ========================================

common

======================================== */
/* ========================================

common

======================================== */