@charset "UTF-8";
/* Slider */
@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");
.slick-slider {
		position: relative;
		display: block;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		-ms-touch-action: pan-y;
		touch-action: pan-y;
		-webkit-tap-highlight-color: transparent;
}

.slick-list {
		position: relative;
		overflow: hidden;
		display: block;
		margin: 0;
		padding: 0;
}
.slick-list:focus {
		outline: none;
}
.slick-list.dragging {
		cursor: pointer;
		cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
}

.slick-track {
		position: relative;
		left: 0;
		top: 0;
		display: block;
		margin-left: auto;
		margin-right: auto;
}
.slick-track:before, .slick-track:after {
		content: "";
		display: table;
}
.slick-track:after {
		clear: both;
}
.slick-loading .slick-track {
		visibility: hidden;
}

.slick-slide {
		float: left;
		height: 100%;
		min-height: 1px;
		display: none;
}
[dir=rtl] .slick-slide {
		float: right;
}
.slick-slide img {
		display: block;
}
.slick-slide.slick-loading img {
		display: none;
}
.slick-slide.dragging img {
		pointer-events: none;
}
.slick-initialized .slick-slide {
		display: block;
}
.slick-loading .slick-slide {
		visibility: hidden;
}
.slick-vertical .slick-slide {
		display: block;
		height: auto;
}

.slick-arrow.slick-hidden {
		display: none;
}

/* Slider */
/* Icons */
@font-face {
		font-family: "slick";
		font-weight: normal;
		font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
		position: absolute;
		display: block;
		height: 20px;
		width: 20px;
		line-height: 0px;
		font-size: 0px;
		cursor: pointer;
		color: transparent;
		top: 50%;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
		padding: 0;
		border: none;
		outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
		outline: none;
		color: transparent;
}
.slick-prev:before,
.slick-next:before {
		font-family: "slick";
		font-size: 20px;
		line-height: 1;
		color: white;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
}

[dir=rtl] .slick-prev {
		left: auto;
}
[dir=rtl] .slick-next {
		right: auto;
}
/* Dots */
.slick-dots {
		position: absolute;
		bottom: -25px;
		list-style: none;
		display: block;
		text-align: center;
		padding: 0;
		margin: 0;
		width: 100%;
}
.slick-dots li {
		position: relative;
		display: inline-block;
		height: 20px;
		width: 20px;
		margin: 0 5px;
		padding: 0;
		cursor: pointer;
}
.slick-dots li button {
		border: 0;
		background: transparent;
		display: block;
		height: 20px;
		width: 20px;
		outline: none;
		line-height: 0px;
		font-size: 0px;
		color: transparent;
		padding: 5px;
		cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
		outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
		opacity: 1;
}
.slick-dots li button:before {
		position: absolute;
		top: 0;
		left: 0;
		content: "•";
		width: 20px;
		height: 20px;
		font-family: "slick";
		font-size: 6px;
		line-height: 20px;
		text-align: center;
		color: black;
		opacity: 0.25;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
		color: black;
		opacity: 0.75;
}

/*!
	Modaal - accessible modals - v0.4.4
	by Humaan, for all humans.
	http://humaan.com
 */
.modaal-noscroll {
		overflow: hidden;
}

.modaal-accessible-hide {
		position: absolute !important;
		clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
		clip: rect(1px, 1px, 1px, 1px);
		padding: 0 !important;
		border: 0 !important;
		height: 1px !important;
		width: 1px !important;
		overflow: hidden;
}

.modaal-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 9999;
		opacity: 0;
}

.modaal-wrapper {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 99999;
		overflow: auto;
		opacity: 1;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		-webkit-backdrop-filter: blur(10px);
		        backdrop-filter: blur(10px);
		-webkit-overflow-scrolling: touch;
		-webkit-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
}
.modaal-wrapper * {
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		-webkit-backface-visibility: hidden;
}
.modaal-wrapper .modaal-close {
		padding: 0;
		-webkit-appearance: none;
}
.modaal-wrapper.modaal-start_none {
		display: none;
		opacity: 1;
}
.modaal-wrapper.modaal-start_fade {
		opacity: 0;
}
.modaal-wrapper *[tabindex="0"] {
		outline: none !important;
}
.modaal-wrapper.modaal-fullscreen {
		overflow: hidden;
}

.modaal-outer-wrapper {
		display: table;
		position: relative;
		width: 100%;
		height: 100%;
}
.modaal-fullscreen .modaal-outer-wrapper {
		display: block;
}

.modaal-inner-wrapper {
		display: table-cell;
		width: 100%;
		height: 100%;
		position: relative;
		vertical-align: middle;
		text-align: center;
}
.modaal-fullscreen .modaal-inner-wrapper {
		padding: 0;
		display: block;
		vertical-align: top;
}

.modaal-container {
		position: relative;
		display: inline-block;
		width: 80%;
		margin: auto;
		text-align: left;
		max-width: 1000px;
		border-radius: 0px;
		cursor: auto;
}
.modaal-container.is_loading {
		height: 100px;
		width: 100px;
		overflow: hidden;
}
.modaal-fullscreen .modaal-container {
		max-width: none;
		height: 100%;
		overflow: auto;
}

.modaal-close {
		position: absolute;
		right: -25px;
		top: -25px;
		color: #fff;
		cursor: pointer;
		opacity: 1;
		width: 50px;
		height: 50px;
		background: rgb(0, 0, 0);
		border: 0.5px solid #fff;
		border-radius: 100%;
		-webkit-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;
}
.modaal-close:focus, .modaal-close:hover {
		outline: none;
}
.modaal-close span {
		position: absolute !important;
		clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
		clip: rect(1px, 1px, 1px, 1px);
		padding: 0 !important;
		border: 0 !important;
		height: 1px !important;
		width: 1px !important;
		overflow: hidden;
}
.modaal-close:before, .modaal-close:after {
		display: block;
		content: " ";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 3px;
		height: 36%;
		border-radius: 4px;
		background: #fff;
		translate: -50% -50%;
		-webkit-transition: background 0.2s ease-in-out;
		transition: background 0.2s ease-in-out;
}
.modaal-close:before {
		-webkit-transform: rotate(-45deg);
		        transform: rotate(-45deg);
}
.modaal-close:after {
		-webkit-transform: rotate(45deg);
		        transform: rotate(45deg);
}
.modaal-fullscreen .modaal-close {
		background: #afb7bc;
		right: 10px;
		top: 10px;
}

@media screen and (max-width: 800px) {
		.modaal-close {
				width: 36px;
				height: 36px;
		}
		.modaal-close:before, .modaal-close:after {
				width: 2px;
		}
}
.modaal-content-container {
		overflow: hidden;
		border: 1px solid #000;
}
.modaal-content-container video {
		width: 100%;
		height: auto;
}

.modaal-confirm-wrap {
		padding: 30px 0 0;
		text-align: center;
		font-size: 0;
}

.modaal-confirm-btn {
		font-size: 14px;
		display: inline-block;
		margin: 0 10px;
		vertical-align: middle;
		cursor: pointer;
		border: none;
		background: transparent;
}
.modaal-confirm-btn.modaal-ok {
		padding: 10px 15px;
		color: #fff;
		background: #555;
		border-radius: 3px;
		-webkit-transition: background 0.2s ease-in-out;
		transition: background 0.2s ease-in-out;
}
.modaal-confirm-btn.modaal-ok:hover {
		background: #2f2f2f;
}
.modaal-confirm-btn.modaal-cancel {
		text-decoration: underline;
}
.modaal-confirm-btn.modaal-cancel:hover {
		text-decoration: none;
		color: #2f2f2f;
}

@keyframes instaReveal {
		0% {
				opacity: 0;
		}
		100% {
				opacity: 1;
		}
}
@-webkit-keyframes instaReveal {
		0% {
				opacity: 0;
		}
		100% {
				opacity: 1;
		}
}
.modaal-instagram .modaal-container {
		width: auto;
		background: transparent;
		-webkit-box-shadow: none !important;
		        box-shadow: none !important;
}
.modaal-instagram .modaal-content-container {
		padding: 0;
		background: transparent;
}
.modaal-instagram .modaal-content-container > blockquote {
		width: 1px !important;
		height: 1px !important;
		opacity: 0 !important;
}
.modaal-instagram iframe {
		opacity: 0;
		margin: -6px !important;
		border-radius: 0 !important;
		width: 1000px !important;
		max-width: 800px !important;
		-webkit-box-shadow: none !important;
		        box-shadow: none !important;
		-webkit-animation: instaReveal 1s linear forwards;
		        animation: instaReveal 1s linear forwards;
}

.modaal-image .modaal-inner-wrapper {
		padding-left: 140px;
		padding-right: 140px;
}
.modaal-image .modaal-container {
		width: auto;
		max-width: 100%;
}

.modaal-gallery-wrap {
		position: relative;
		color: #fff;
}

.modaal-gallery-item {
		display: none;
}
.modaal-gallery-item img {
		display: block;
}
.modaal-gallery-item.is_active {
		display: block;
}

.modaal-gallery-label {
		position: absolute;
		left: 0;
		width: 100%;
		margin: 20px 0 0;
		font-size: 18px;
		text-align: center;
		color: #fff;
}
.modaal-gallery-label:focus {
		outline: none;
}

.modaal-gallery-control {
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		opacity: 1;
		cursor: pointer;
		color: #fff;
		width: 50px;
		height: 50px;
		background: rgba(0, 0, 0, 0);
		border: none;
		border-radius: 100%;
		-webkit-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;
}
.modaal-gallery-control.is_hidden {
		opacity: 0;
		cursor: default;
}
.modaal-gallery-control:focus, .modaal-gallery-control:hover {
		outline: none;
		background: #fff;
}
.modaal-gallery-control:focus:before, .modaal-gallery-control:focus:after, .modaal-gallery-control:hover:before, .modaal-gallery-control:hover:after {
		background: #afb7bc;
}
.modaal-gallery-control span {
		position: absolute !important;
		clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
		clip: rect(1px, 1px, 1px, 1px);
		padding: 0 !important;
		border: 0 !important;
		height: 1px !important;
		width: 1px !important;
		overflow: hidden;
}
.modaal-gallery-control:before, .modaal-gallery-control:after {
		display: block;
		content: " ";
		position: absolute;
		top: 16px;
		left: 25px;
		width: 4px;
		height: 18px;
		border-radius: 4px;
		background: #fff;
		-webkit-transition: background 0.2s ease-in-out;
		transition: background 0.2s ease-in-out;
}
.modaal-gallery-control:before {
		margin: -5px 0 0;
		-webkit-transform: rotate(-45deg);
		        transform: rotate(-45deg);
}
.modaal-gallery-control:after {
		margin: 5px 0 0;
		-webkit-transform: rotate(45deg);
		        transform: rotate(45deg);
}

.modaal-gallery-next-inner {
		left: 100%;
		margin-left: 40px;
}
.modaal-gallery-next-outer {
		right: 45px;
}

.modaal-gallery-prev:before, .modaal-gallery-prev:after {
		left: 22px;
}
.modaal-gallery-prev:before {
		margin: 5px 0 0;
		-webkit-transform: rotate(-45deg);
		        transform: rotate(-45deg);
}
.modaal-gallery-prev:after {
		margin: -5px 0 0;
		-webkit-transform: rotate(45deg);
		        transform: rotate(45deg);
}
.modaal-gallery-prev-inner {
		right: 100%;
		margin-right: 40px;
}
.modaal-gallery-prev-outer {
		left: 45px;
}

.modaal-video-wrap {
		width: 92.8572%;
		max-width: 1300px;
		margin: auto;
		position: relative;
		border-radius: 30px;
		overflow: hidden;
}

@media screen and (max-width: 800px) {
		.modaal-video-wrap {
				border-radius: 15px;
		}
}
.modaal-video-container {
		position: relative;
		padding-bottom: 56.25%;
		height: 0;
		overflow: hidden;
		max-width: 100%;
		-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
		        box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
		background: #000;
		max-width: 1300px;
		margin-left: auto;
		margin-right: auto;
}
.modaal-video-container iframe,
.modaal-video-container object,
.modaal-video-container embed,
.modaal-video-container video {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}

.modaal-iframe .modaal-content {
		width: 100%;
		height: 100%;
}

.modaal-iframe-elem {
		width: 100%;
		height: 100%;
		display: block;
}

@media only screen and (min-width: 1400px) {
		.modaal-video-container {
				padding-bottom: 0;
				height: 731px;
		}
}
@media only screen and (max-width: 1140px) {
		.modaal-image .modaal-inner-wrapper {
				padding-left: 25px;
				padding-right: 25px;
		}
		.modaal-gallery-control {
				top: auto;
				bottom: 20px;
				-webkit-transform: none;
				        transform: none;
				background: rgba(0, 0, 0, 0.7);
		}
		.modaal-gallery-control:before, .modaal-gallery-control:after {
				background: #fff;
		}
		.modaal-gallery-next {
				left: auto;
				right: 20px;
		}
		.modaal-gallery-prev {
				left: 20px;
				right: auto;
		}
}
@media screen and (max-width: 900px) {
		.modaal-instagram iframe {
				width: 500px !important;
		}
}
@media screen and (max-height: 1100px) {
		.modaal-instagram iframe {
				width: 700px !important;
		}
}
@media screen and (max-height: 1000px) {
		.modaal-inner-wrapper {
				padding-top: 60px;
				padding-bottom: 60px;
		}
		.modaal-instagram iframe {
				width: 600px !important;
		}
}
@media screen and (max-height: 900px) {
		.modaal-instagram iframe {
				width: 500px !important;
		}
		.modaal-video-container {
				max-width: 900px;
				max-height: 510px;
		}
}
@media only screen and (max-width: 600px) {
		.modaal-instagram iframe {
				width: 280px !important;
		}
}
@media only screen and (max-height: 820px) {
		.modaal-gallery-label {
				display: none;
		}
}
.modaal-loading-spinner {
		background: none;
		position: absolute;
		width: 200px;
		height: 200px;
		top: 50%;
		left: 50%;
		margin: -100px 0 0 -100px;
		-webkit-transform: scale(0.25);
		        transform: scale(0.25);
}
@-webkit-keyframes modaal-loading-spinner {
		0% {
				opacity: 1;
				-webkit-transform: scale(1.5);
				transform: scale(1.5);
		}
		100% {
				opacity: 0.1;
				-webkit-transform: scale(1);
				transform: scale(1);
		}
}
@keyframes modaal-loading-spinner {
		0% {
				opacity: 1;
				-webkit-transform: scale(1.5);
				transform: scale(1.5);
		}
		100% {
				opacity: 0.1;
				-webkit-transform: scale(1);
				transform: scale(1);
		}
}
.modaal-loading-spinner > div {
		width: 24px;
		height: 24px;
		margin-left: 4px;
		margin-top: 4px;
		position: absolute;
}

.modaal-loading-spinner > div > div {
		width: 100%;
		height: 100%;
		border-radius: 15px;
		background: #fff;
}

.modaal-loading-spinner > div:nth-of-type(1) > div {
		-webkit-animation: modaal-loading-spinner 1s linear infinite;
		animation: modaal-loading-spinner 1s linear infinite;
		-webkit-animation-delay: 0s;
		animation-delay: 0s;
}

.modaal-loading-spinner > div:nth-of-type(2) > div, .modaal-loading-spinner > div:nth-of-type(3) > div {
		-ms-animation: modaal-loading-spinner 1s linear infinite;
		-moz-animation: modaal-loading-spinner 1s linear infinite;
		-webkit-animation: modaal-loading-spinner 1s linear infinite;
		-o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(1) {
		-webkit-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
		transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(2) > div {
		-webkit-animation: modaal-loading-spinner 1s linear infinite;
		        animation: modaal-loading-spinner 1s linear infinite;
		-webkit-animation-delay: 0.12s;
		animation-delay: 0.12s;
}

.modaal-loading-spinner > div:nth-of-type(2) {
		-webkit-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
		transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(3) > div {
		-webkit-animation: modaal-loading-spinner 1s linear infinite;
		        animation: modaal-loading-spinner 1s linear infinite;
		-webkit-animation-delay: 0.25s;
		animation-delay: 0.25s;
}

.modaal-loading-spinner > div:nth-of-type(4) > div, .modaal-loading-spinner > div:nth-of-type(5) > div {
		-ms-animation: modaal-loading-spinner 1s linear infinite;
		-moz-animation: modaal-loading-spinner 1s linear infinite;
		-webkit-animation: modaal-loading-spinner 1s linear infinite;
		-o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(3) {
		-webkit-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
		transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(4) > div {
		-webkit-animation: modaal-loading-spinner 1s linear infinite;
		        animation: modaal-loading-spinner 1s linear infinite;
		-webkit-animation-delay: 0.37s;
		animation-delay: 0.37s;
}

.modaal-loading-spinner > div:nth-of-type(4) {
		-webkit-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
		transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(5) > div {
		-webkit-animation: modaal-loading-spinner 1s linear infinite;
		        animation: modaal-loading-spinner 1s linear infinite;
		-webkit-animation-delay: 0.5s;
		animation-delay: 0.5s;
}

.modaal-loading-spinner > div:nth-of-type(6) > div, .modaal-loading-spinner > div:nth-of-type(7) > div {
		-ms-animation: modaal-loading-spinner 1s linear infinite;
		-moz-animation: modaal-loading-spinner 1s linear infinite;
		-webkit-animation: modaal-loading-spinner 1s linear infinite;
		-o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(5) {
		-webkit-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
		transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(6) > div {
		-webkit-animation: modaal-loading-spinner 1s linear infinite;
		        animation: modaal-loading-spinner 1s linear infinite;
		-webkit-animation-delay: 0.62s;
		animation-delay: 0.62s;
}

.modaal-loading-spinner > div:nth-of-type(6) {
		-webkit-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
		transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(7) > div {
		-webkit-animation: modaal-loading-spinner 1s linear infinite;
		        animation: modaal-loading-spinner 1s linear infinite;
		-webkit-animation-delay: 0.75s;
		animation-delay: 0.75s;
}

.modaal-loading-spinner > div:nth-of-type(7) {
		-webkit-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
		transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(8) > div {
		-webkit-animation: modaal-loading-spinner 1s linear infinite;
		animation: modaal-loading-spinner 1s linear infinite;
		-webkit-animation-delay: 0.87s;
		animation-delay: 0.87s;
}

.modaal-loading-spinner > div:nth-of-type(8) {
		-webkit-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
		transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
}

@-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/538;
		bottom: 117px;
		background-image: url(../img/concept/title_illust01.png);
}
.page_title::after {
		width: min(49.1429%, 688px);
		aspect-ratio: 1376/630;
		bottom: 124px;
		background-image: url(../img/concept/title_illust02.png);
}

@media screen and (min-width: 801px) {
		.cmn_attention {
				background-color: transparent;
		}
		.page_title {
				margin-bottom: -65px;
		}
		.page_title .hl_en {
				font-size: min(9.1667vw, 110px);
		}
}
@media screen and (max-width: 800px) {
		.page_title {
				margin-bottom: -35px;
				padding-bottom: calc(min(17.5vw, 70px) + 12.5vw + 2px);
				z-index: 10;
		}
		.page_title::before {
				width: min(85.875%, 687px);
				bottom: 5px;
				margin-right: 17.25vw;
		}
		.page_title::after {
				width: min(86%, 688px);
				bottom: 0;
				margin-left: 20.75vw;
		}
}
/* ========================================

intro

======================================== */
.intro {
		position: relative;
		overflow: hidden;
		z-index: 6;
}
.intro_inner {
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
		position: relative;
		padding-top: 20px;
		z-index: 2;
}
.intro .img {
		aspect-ratio: 1/1;
		position: relative;
		z-index: 1;
		-webkit-user-select: none;
		   -moz-user-select: none;
		    -ms-user-select: none;
		        user-select: none;
}
.intro .img span {
		display: block;
		position: relative;
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-position: 0 0;
		        mask-position: 0 0;
		-webkit-mask-size: 100% 100%;
		        mask-size: 100% 100%;
		z-index: 5;
}
.intro .img._01 {
		width: min(31.3334%, 376px);
		margin-left: auto;
		margin-right: -10%;
}
.intro .img._01::before {
		width: min(9.8405%, 37px);
		aspect-ratio: 74/80;
		content: "";
		display: block;
		position: absolute;
		top: -1.3297%;
		left: -8.2446%;
		background-image: url(../img/concept/intro_rotate_img01_parts01.png);
		background-repeat: no-repeat;
		background-size: 100%;
		background-position: 0 0;
		z-index: 2;
}
.intro .img._01::after {
		width: min(31.383%, 118px);
		aspect-ratio: 236/264;
		content: "";
		display: block;
		position: absolute;
		left: -28.7234%;
		bottom: 3.4575%;
		background-image: url(../img/concept/intro_rotate_img01_parts02.png);
		background-repeat: no-repeat;
		background-size: 100%;
		background-position: 0 0;
		z-index: 2;
}
.intro .img._01 p::before {
		width: min(20.7447%, 78px);
		aspect-ratio: 156/110;
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		right: 15.9575%;
		margin-bottom: -21.8085%;
		background-image: url(../img/concept/intro_rotate_img01_parts03.png);
		background-repeat: no-repeat;
		background-size: 100%;
		background-position: 0 0;
		z-index: 2;
		-webkit-animation: floatUp_10 1.2s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		        animation: floatUp_10 1.2s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		-webkit-animation-delay: 0.6s;
		        animation-delay: 0.6s;
}
.intro .img._01 p span {
		-webkit-mask-image: url(../img/top/star_rotate_mask03.png);
		        mask-image: url(../img/top/star_rotate_mask03.png);
}
.intro .img._01 p span img {
		-webkit-animation: rotate_s_r linear 60s infinite alternate;
		        animation: rotate_s_r linear 60s infinite alternate;
}
.intro .img._02 {
		width: min(44.5834%, 535px);
		margin-top: -18.8333%;
		margin-left: -8.3333%;
}
.intro .img._02.is-view::after {
		opacity: 0;
		translate: -30px 30px;
		-webkit-transform-origin: 0 0;
		        transform-origin: 0 0;
		-webkit-transition-duration: 1s;
		        transition-duration: 1s;
		-webkit-transition-delay: 1s;
		        transition-delay: 1s;
}
.intro .img._02.is-view.fadeIn::after {
		opacity: 1;
		translate: 0 0;
}
.intro .img._02::before {
		width: 100%;
		height: 100%;
		content: "";
		display: block;
		position: absolute;
		right: 50%;
		top: 50%;
		-webkit-mask-image: url(../img/concept/intro_rotate_mask02.png);
		        mask-image: url(../img/concept/intro_rotate_mask02.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%;
		translate: 50% -50%;
		background-color: rgba(248, 240, 211, 0.5);
		background-image: url(../img/concept/intro_rotate_mask02.png);
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: 84.7673%;
		scale: 1.3179;
		z-index: 3;
}
.intro .img._02::after {
		width: min(45.4206%, 243px);
		aspect-ratio: 486/284;
		content: "";
		display: block;
		position: absolute;
		top: 100%;
		left: 5.6075%;
		margin-top: 8.7851%;
		background-image: url(../img/concept/intro_illust_alien.png);
		background-repeat: no-repeat;
		background-size: 100% auto;
		z-index: 6;
}
.intro .img._02 p::before {
		width: min(32.7103%, 175px);
		aspect-ratio: 350/358;
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		margin-top: -26.1682%;
		margin-left: -5.4205%;
		background-image: url(../img/concept/intro_rotate_img02_parts01.png);
		background-repeat: no-repeat;
		background-size: 100% auto;
		-webkit-animation: floatUp_10 1.2s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		        animation: floatUp_10 1.2s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		z-index: 6;
}
.intro .img._02 p::after {
		width: min(49.9066%, 267px);
		aspect-ratio: 534/466;
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 62.6169%;
		margin-top: -17.9439%;
		background-image: url(../img/concept/intro_rotate_img02_parts02.png);
		background-repeat: no-repeat;
		background-size: 100% auto;
		z-index: 6;
}
.intro .img._02 p span {
		-webkit-mask-image: url(../img/concept/intro_rotate_mask02.png);
		        mask-image: url(../img/concept/intro_rotate_mask02.png);
}
.intro .img._02 p span img {
		-webkit-animation: rotate_s linear 60s infinite alternate;
		        animation: rotate_s linear 60s infinite alternate;
}
.intro .img._03 {
		width: min(24.25%, 291px);
		margin-left: auto;
		margin-right: 1.6667%;
}
.intro .img._03::before {
		width: 100%;
		height: 100%;
		content: "";
		display: block;
		position: absolute;
		right: 50%;
		top: 50%;
		-webkit-mask-image: url(../img/concept/intro_rotate_mask03.png);
		        mask-image: url(../img/concept/intro_rotate_mask03.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%;
		translate: 50% -50%;
		background-color: rgba(248, 240, 211, 0.5);
		background-image: url(../img/concept/intro_rotate_mask03.png);
		background-repeat: no-repeat;
		background-position: 50% 50%;
		background-size: 82.1783%;
		scale: 1.3884;
}
.intro .img._03::after {
		width: min(5.842%, 37px);
		aspect-ratio: 34/36;
		content: "";
		display: block;
		position: absolute;
		top: -1.7182%;
		left: -2.0618%;
		background-image: url(../img/concept/intro_rotate_img03_parts01.png);
		background-repeat: no-repeat;
		background-size: 100%;
		background-position: 0 0;
		z-index: 2;
}
.intro .img._03 p::before {
		width: min(10.3093%, 30px);
		aspect-ratio: 60/64;
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		right: 2.7492%;
		margin-bottom: -9.2783%;
		background-image: url(../img/concept/intro_rotate_img03_parts03.png);
		background-repeat: no-repeat;
		background-size: 100%;
		background-position: 0 0;
		z-index: 5;
		-webkit-animation: floatUp_10 1.2s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		        animation: floatUp_10 1.2s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		-webkit-animation-delay: 0.6s;
		        animation-delay: 0.6s;
}
.intro .img._03 p::after {
		width: min(32.3025%, 94px);
		aspect-ratio: 188/222;
		content: "";
		display: block;
		position: absolute;
		left: -35.7388%;
		top: 50%;
		margin-top: 28.5224%;
		background-image: url(../img/concept/intro_rotate_img03_parts02.png);
		background-repeat: no-repeat;
		background-size: 100%;
		background-position: 0 0;
		z-index: 2;
}
.intro .img._03 p span {
		-webkit-mask-image: url(../img/concept/intro_rotate_mask03.png);
		        mask-image: url(../img/concept/intro_rotate_mask03.png);
}
.intro .img._03 p span img {
		-webkit-animation: rotate_s_r linear 60s infinite alternate;
		        animation: rotate_s_r linear 60s infinite alternate;
}
.intro .illust {
		width: min(62.6667%, 752px);
		position: relative;
		margin-top: -47px;
		margin-top: -3.9166%;
		margin-right: -14.4999%;
		margin-left: auto;
		z-index: 2;
		-webkit-animation: floatUp_15 1.8s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		        animation: floatUp_15 1.8s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
}
.intro .illust.is-view::before {
		opacity: 0;
		translate: 10px 10px;
		-webkit-transform-origin: 0 0;
		        transform-origin: 0 0;
		-webkit-transition-duration: 0.6s;
		        transition-duration: 0.6s;
		-webkit-transition-delay: 0.6s;
		        transition-delay: 0.6s;
}
.intro .illust.is-view::after {
		opacity: 0;
		translate: -10px 10px;
		-webkit-transform-origin: 0 50%;
		        transform-origin: 0 50%;
		-webkit-transition-duration: 0.6s;
		        transition-duration: 0.6s;
		-webkit-transition-delay: 0.8s;
		        transition-delay: 0.8s;
}
.intro .illust.is-view.fadeIn::before {
		opacity: 1;
		translate: 0 0;
}
.intro .illust.is-view.fadeIn::after {
		opacity: 1;
		translate: 0 0;
}
.intro .illust::before {
		width: min(26.8618%, 202px);
		aspect-ratio: 404/420;
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 28.8564%;
		margin-top: -9.9734%;
		background-image: url(../img/concept/intro_illust_tateya_parts01.png);
		background-repeat: no-repeat;
		background-size: 100%;
		background-position: 0 0;
		z-index: 1;
}
.intro .illust::after {
		width: min(21.1437%, 159px);
		aspect-ratio: 318/182;
		content: "";
		display: block;
		position: absolute;
		top: 0;
		right: 23.1383%;
		margin-top: -10.6382%;
		background-image: url(../img/concept/intro_illust_tateya_parts02.png);
		background-repeat: no-repeat;
		background-size: 100%;
		background-position: 0 0;
		z-index: 1;
}
.intro .illust span {
		display: block;
		position: relative;
		z-index: 2;
}
.intro h2 {
		width: min(60%, 655px);
		position: relative;
		margin-left: auto;
		margin-top: -15%;
		margin-right: 50px;
		margin-bottom: 35px;
		z-index: 3;
}
.intro .txt {
		font-size: 18px;
		line-height: 1.8889;
		width: min(60%, 670px);
		margin-top: -110px;
		margin-left: 20px;
}

@-webkit-keyframes rotate_s {
		0% {
				-webkit-transform: rotate(-20deg);
				        transform: rotate(-20deg);
		}
		100% {
				-webkit-transform: rotate(20deg);
				        transform: rotate(20deg);
		}
}

@keyframes rotate_s {
		0% {
				-webkit-transform: rotate(-20deg);
				        transform: rotate(-20deg);
		}
		100% {
				-webkit-transform: rotate(20deg);
				        transform: rotate(20deg);
		}
}
@-webkit-keyframes rotate_s_r {
		0% {
				-webkit-transform: rotate(20deg);
				        transform: rotate(20deg);
		}
		100% {
				-webkit-transform: rotate(-20deg);
				        transform: rotate(-20deg);
		}
}
@keyframes rotate_s_r {
		0% {
				-webkit-transform: rotate(20deg);
				        transform: rotate(20deg);
		}
		100% {
				-webkit-transform: rotate(-20deg);
				        transform: rotate(-20deg);
		}
}
@media screen and (max-width: 800px) {
		.intro_inner {
				width: 100%;
				padding-top: 5px;
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				    -ms-flex-direction: column;
				        flex-direction: column;
		}
		.intro .img._01 {
				width: min(47%, 376px);
				margin-right: -20px;
				margin-bottom: 22%;
				-webkit-box-ordinal-group: -2;
				    -ms-flex-order: -3;
				        order: -3;
		}
		.intro .img._02 {
				width: min(67.25%, 538px);
				margin-top: 0;
				margin-left: -6.25%;
				margin-bottom: 7.5%;
				-webkit-box-ordinal-group: -1;
				    -ms-flex-order: -2;
				        order: -2;
		}
		.intro .img._03 {
				width: min(36.375%, 291px);
				margin-left: auto;
				margin-right: -2%;
				margin-bottom: 19.5%;
				-webkit-box-ordinal-group: 0;
				    -ms-flex-order: -1;
				        order: -1;
		}
		.intro .illust {
				width: min(87.25%, 698px);
				margin-top: 21%;
				margin-right: -17.75%;
		}
		.intro h2 {
				width: 79%;
				margin: 0 auto;
				margin-bottom: 10.5%;
		}
		.intro .txt {
				font-size: 15px;
				line-height: 2;
				width: 80%;
				margin: 0 auto;
		}
}
/* ========================================

promise

======================================== */
.promise {
		position: relative;
		margin-top: max(-13.9285%, -195px);
		padding: 295px 0 185px;
		background-color: var(--c_key2);
		z-index: 5;
}
.promise::before, .promise::after {
		width: 100%;
		height: 60px;
		content: "";
		display: block;
		position: absolute;
		left: 0;
		background-color: var(--c_base2);
		-webkit-mask-image: url(../img/common/parts_wave.svg);
		        mask-image: url(../img/common/parts_wave.svg);
		-webkit-mask-repeat: repeat-x;
		        mask-repeat: repeat-x;
		-webkit-mask-size: auto 100%;
		        mask-size: auto 100%;
		-webkit-mask-position: 50% 0%;
		        mask-position: 50% 0%;
		scale: 1 -1;
}
.promise::before {
		top: 0;
}
.promise::after {
		background-color: var(--c_key2);
		bottom: 0;
		translate: 0 100%;
}
.promise_inner {
		color: #fff;
		width: 93%;
		max-width: 1300px;
		margin: 0 auto;
		position: relative;
		padding: 100px 0;
		background-image: radial-gradient(circle, transparent 1px, rgba(0, 0, 0, 0.05) 1px);
		border-radius: 50px;
		z-index: 2;
}
.promise_inner::before, .promise_inner::after {
		width: 150px;
		height: calc(100% + 3px);
		content: "";
		display: block;
		position: absolute;
		top: -1.5px;
		border-radius: 50px 0 0 50px;
		border: 3px solid #fff;
		border-right: none;
		clip-path: polygon(0 0, 100% 0, 150px 150px, 0 150px, 0 calc(100% - 150px), 100% calc(100% - 150px), 150px 100%, 0 100%);
		z-index: 3;
		pointer-events: none;
}
.promise_inner::before {
		left: -1.5px;
}
.promise_inner::after {
		right: -1.5px;
		scale: -1 1;
}
.promise h2 {
		width: min(66.1539%, 860px);
		margin: 0 auto min(6.75vw, 81px);
}
.promise ol {
		width: min(88%, 880px);
		margin: 0 auto;
		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: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
}
.promise ol li {
		font-size: clamp(18px, 2vw, 24px);
		font-weight: 500;
		line-height: 158.3334%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
@media screen and (min-width: 801px) {
		.promise ol li {
				-webkit-writing-mode: vertical-rl;
				    -ms-writing-mode: tb-rl;
				        writing-mode: vertical-rl;
		}
}
.promise ol li .num {
		width: min(10.8334vw, 130px);
		aspect-ratio: 130/120;
		position: relative;
		margin-bottom: 30px;
		background-color: #fff;
		border: 1px solid #2e2717;
		border-radius: 48%;
		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-user-select: none;
		   -moz-user-select: none;
		    -ms-user-select: none;
		        user-select: none;
}
.promise ol li .num img {
		width: min(59.2308%, 77px);
}
.promise ol li .num::before {
		width: min(13.8462%, 18px);
		aspect-ratio: 18/19;
		content: "";
		display: block;
		position: absolute;
		top: 19px;
		left: -1px;
		background-color: #ecd34b;
		border: 1px solid #2e2717;
		border-radius: 50%;
}
.promise ol li .txt span {
		margin-top: -0.6em;
}
.promise .illust {
		-webkit-user-select: none;
		   -moz-user-select: none;
		    -ms-user-select: none;
		        user-select: none;
}
.promise .illust._01 {
		width: min(60.1667vw, 722px);
		position: absolute;
		bottom: -181px;
		left: -14.3571%;
		z-index: 2;
		display: none;
}
.promise .illust._02 {
		width: min(60.1667vw, 722px);
		position: absolute;
		bottom: -181px;
		right: 50%;
		margin-right: 12.7858%;
		z-index: 2;
		-webkit-animation: floatUp_10 1.6s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
		        animation: floatUp_10 1.6s cubic-bezier(0.42, 0, 0.58, 1) infinite alternate;
}

@media screen and (max-width: 800px) {
		.promise {
				margin-top: max(-30%, -120px);
				padding: 160px 0 122px;
		}
		.promise::before, .promise::after {
				height: 30px;
		}
		.promise::before {
				top: -1px;
		}
		.promise::after {
				bottom: 1px;
		}
		.promise_inner {
				width: 90%;
				padding: 63px 0 60px 0;
		}
		.promise_inner::before, .promise_inner::after {
				width: 75px;
				height: calc(100% + 2px);
				top: -1px;
				border-width: 2px;
				border-radius: min(6.25vw, 25px) 0 0 min(6.25vw, 25px);
				clip-path: polygon(0 0, 100% 0, 75px 75px, 0 75px, 0 calc(100% - 75px), 100% calc(100% - 75px), 75px 100%, 0 100%);
		}
		.promise h2 {
				width: min(70%, 250px);
				margin-bottom: 40px;
		}
		.promise ol {
				width: 84%;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				    -ms-flex-direction: column;
				        flex-direction: column;
		}
		.promise ol li {
				font-size: clamp(12.8px, 4vw, 16px);
				line-height: 137.5%;
				margin-bottom: 18px;
		}
		.promise ol li .num {
				width: min(22.5vw, 90px);
				aspect-ratio: 180/170;
				margin-right: 20px;
				margin-bottom: 0;
				-ms-flex-negative: 0;
				    flex-shrink: 0;
		}
		.promise ol li .num::before {
				top: 13px;
				left: 0;
		}
		.promise ol li .txt span {
				margin: 0 0 0 -0.6em;
		}
		.promise .illust._02 {
				width: min(90.25vw, 361px);
				bottom: -90px;
				right: auto;
				left: -85px;
				margin-right: 0;
		}
}
/* ========================================

message

======================================== */
.message {
		max-width: 1400px;
		overflow: hidden;
		margin: 0 auto 56px;
		padding-top: 275px;
		border-bottom-right-radius: 100px;
}
.message_top {
		width: 100%;
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: start;
		z-index: 0;
}
.message_top .message_hl {
		position: relative;
		margin-right: 6.0715%;
		margin-left: 3.5715%;
		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-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		z-index: 3;
}
.message_top .message_hl .hl_en {
		font-size: 110px;
		font-size: clamp(100px, 11vw, 110px);
		letter-spacing: -0.08em;
		-ms-flex-negative: 0;
		    flex-shrink: 0;
}
@media screen and (min-width: 801px) {
		.message_top .message_hl .hl_en {
				-webkit-writing-mode: vertical-rl;
				    -ms-writing-mode: tb-rl;
				        writing-mode: vertical-rl;
				margin-top: 44px;
				margin-left: 0.1273em;
		}
}
.message_top .message_hl .hl_jp span {
		width: 150px;
}
.message_top_cont {
		position: relative;
		overflow: scroll;
		padding-right: calc(min(30.5715%, 428px) + 8.5% + 1.1429%);
		z-index: 1;
}
.message_top_cont_inner {
		padding: 86px 0 120px;
}
.message_top_cont .txt {
		font-size: 17px;
		text-align: justify;
		line-height: 2;
		margin-bottom: 70px;
}
.message_top_cont .logo {
		width: 200px;
		margin-left: auto;
}
.message_top_slide {
		width: min(30.5715%, 428px);
		margin-left: auto;
		margin-left: 9.2858%;
		margin-right: 1.1429%;
		position: absolute;
		top: 0;
		right: 0;
		pointer-events: none;
		z-index: 20;
}
.message_top_slide .slick-list {
		height: 100% !important;
		overflow: visible;
}
.message_top_slide .slick-list .slick-track {
		position: absolute;
		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: end;
		    -ms-flex-align: end;
		        align-items: flex-end;
}
.message_top_slide .slick-list .slick-track .slick-slide {
		min-height: unset;
}
.message_top_slide .img {
		width: 79.4393%;
		max-width: 340px;
		position: relative;
}
.message_top_slide .img::before {
		width: 100%;
		aspect-ratio: 340/315;
		content: "";
		display: block;
		position: relative;
		top: 0;
		left: 0;
		z-index: 2;
}
.message_top_slide .img span {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 1;
		border: 1px solid #131313;
}
.message_top_slide .img._01 {
		rotate: -3deg;
		margin-right: 40px;
}
.message_top_slide .img._02 {
		margin-right: 88px;
		margin-bottom: 8px;
		rotate: 3deg;
}
.message_top_slide .img._03 {
		margin-left: auto;
		margin-bottom: 10px;
		rotate: -6deg;
}
.message_top_slide .img._04 {
		margin-right: 88px;
		margin-bottom: 8px;
		rotate: 3deg;
}
.message_top_slide .img._05 {
		margin-right: 20px;
		margin-bottom: 8px;
		rotate: -6deg;
}
.message_top_slide .img._06 {
		margin-right: 88px;
		margin-bottom: 14px;
		rotate: 3deg;
}
.message_manager {
		position: relative;
		padding: min(5%, 70px) 0 min(4.6429%, 65px);
		background-color: #fff;
		border: 1px solid #000;
		border-radius: 100px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		z-index: 5;
}
.message_manager .img {
		width: min(40%, 560px);
		overflow: hidden;
		margin-left: min(5%, 70px);
		border-radius: 60px;
}
.message_manager .img img {
		width: 100%;
		max-width: unset;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
}
.message_manager_cont {
		width: min(41.4286%, 580px);
		margin-right: min(7.1429%, 100px);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-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;
}
.message_manager_cont .profile {
		margin-bottom: min(2.5vw, 30px);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
.message_manager_cont .profile .pos {
		font-size: 16px;
		font-size: clamp(13px, 1.3334vw, 16px);
		font-weight: 500;
		-webkit-writing-mode: vertical-rl;
		    -ms-writing-mode: tb-rl;
		        writing-mode: vertical-rl;
		height: 70px;
		margin-right: min(3.1667vw, 38px);
		padding: 0 9px;
		border: 1px solid var(--c_text);
		border-radius: 18px;
		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;
		-ms-flex-negative: 0;
		    flex-shrink: 0;
}
.message_manager_cont .profile .name {
		font-size: clamp(20px, 2.6667vw, 32px);
		font-weight: 500;
		padding-bottom: 0.3125em;
		-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;
}
.message_manager_cont .profile .name .en {
		font-family: "Lexend Giga", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		color: var(--c_key1);
		font-size: 14px;
		font-size: clamp(11px, 1.1667vw, 14px);
		text-transform: uppercase;
		margin-left: min(2.5vw, 30px);
}
.message_manager_cont .txt {
		font-size: 16px;
		line-height: 1.875;
}

@media screen and (max-width: 800px) {
		.message {
				margin-bottom: 70px;
				padding-top: 125px;
				border-radius: unset;
		}
		.message_top {
				margin-bottom: 75px;
				padding-top: 10px;
				-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;
		}
		.message_top::before {
				display: none;
		}
		.message_top .message_hl {
				margin: 0 0 43px;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				    -ms-flex-direction: column;
				        flex-direction: column;
		}
		.message_top .message_hl .hl_en {
				font-size: clamp(48px, 15vw, 60px);
				letter-spacing: -0.08em;
				margin-right: 0;
				margin-bottom: 7px;
		}
		.message_top .message_hl .hl_jp span {
				width: 110px;
		}
		.message_top_cont {
				width: 80%;
				height: unset;
				overflow: visible;
				padding: 0;
		}
		.message_top_cont_inner {
				padding: 0;
		}
		.message_top_cont .txt {
				font-size: 15px;
				width: 100%;
				margin-bottom: 36px;
		}
		.message_top_cont .logo {
				width: 174px;
				margin: 0 auto;
		}
		.message_top_slide {
				width: 100%;
				position: relative;
				top: auto;
				right: auto;
				margin: 0 0 55px;
				-webkit-box-ordinal-group: 0;
				    -ms-flex-order: -1;
				        order: -1;
		}
		.message_top_slide .slick-list {
				height: auto;
		}
		.message_top_slide .slick-list .slick-track {
				position: relative;
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-orient: horizontal;
				-webkit-box-direction: normal;
				    -ms-flex-direction: row;
				        flex-direction: row;
				-webkit-box-align: start;
				    -ms-flex-align: start;
				        align-items: start;
		}
		.message_top_slide .img {
				width: min(42.5vw, 340px);
		}
		.message_top_slide .img span {
				border: none;
				position: relative;
				top: auto;
				right: auto;
		}
		.message_top_slide .img::before {
				position: absolute;
				aspect-ratio: 680/656;
				border: 1px solid #131313;
		}
		.message_top_slide .img._01 {
				margin: 0 14px;
		}
		.message_top_slide .img._02 {
				margin: 20px 14px 0;
		}
		.message_top_slide .img._03 {
				margin: 3px 20px;
		}
		.message_top_slide .img._04 {
				margin: 0 16px;
		}
		.message_top_slide .img._05 {
				margin: 3px 14px;
		}
		.message_top_slide .img._06 {
				margin: 0 14px;
		}
		.message_manager {
				width: 95%;
				margin: 0 auto;
				padding-top: 3.75vw;
				border-radius: min(12.5vw, 50px);
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				    -ms-flex-direction: column;
				        flex-direction: column;
		}
		.message_manager .img {
				width: 92.1053%;
				margin: 0 auto 40px;
				border-radius: min(10vw, 40px);
		}
		.message_manager_cont {
				width: 78.9474%;
				margin: 0 auto;
				padding-bottom: min(9vw, 36px);
		}
		.message_manager_cont .profile {
				margin-bottom: 24px;
				padding: 0 13px;
		}
		.message_manager_cont .profile .pos {
				font-size: 14px;
				height: 60px;
				margin-right: 27px;
				padding: 0 7px;
		}
		.message_manager_cont .profile .name {
				font-size: 23px;
				padding-bottom: 0;
				display: block;
				-webkit-box-flex: 1;
				    -ms-flex-positive: 1;
				        flex-grow: 1;
		}
		.message_manager_cont .profile .name .en {
				font-size: 11px;
				display: block;
				text-align: right;
				margin-top: 12px;
		}
		.message_manager_cont .txt {
				font-size: 14px;
				line-height: 1.7858;
		}
}