@charset "UTF-8";

:root {
	--color-body-1: #333;
	--color-theme-1: #5f0e13;
	--color-theme-2: #cb9628;
	--font-family: YakuHanMP, "Zen Old Mincho", serif;
	--noto-sans: YakuHanMP, "Noto Sans JP", sans-serif;
	--padding: 15px;
	--container: 930px;
	--stack: 50px;
	--section: 50px;
	--h2: 29;
	--p: 16;

	--bs-border-radius: 10px;
}

::after,
::before,
* {
	--font-size: calc((var(--fs) / 16) * 1rem);
	font-size: var(--font-size);
}

html {
	scroll-behavior: smooth;
}

body {
	background: #000;
	color: var(--color-body-1);
	font-family: var(--font-family);
	letter-spacing: 0.1em;
	line-height: 1.6;
}

@media(max-width: 991px) {
	body.noscroll {
		overflow: hidden;
		touch-action: pinch-zoom;
	}
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
	transition: 0.2s;
}

a img {
	transition: 0.2s;
}

a:hover img {
	opacity: 0.6;
}

@media(min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

[id] {
	scroll-margin-top: 20px;
}

#terms {
	scroll-margin-top: 0;
}

td a:hover {
	opacity: 0.6;
}

.color-blue {
	color: #0066CC;
}

.container {
	padding-right: var(--padding);
	padding-left: var(--padding);
	max-width: calc(var(--container) + var(--padding) + var(--padding));
}

.stack {
	padding-top: var(--stack);
	padding-bottom: var(--stack);
}

.icon {
	aspect-ratio: 1;
	background-color: currentColor;
	-webkit-mask: no-repeat center center/contain;
	mask: no-repeat center center/contain;
	display: inline-block;
	height: auto;
	width: 1em;
}

.text-theme-1 {
	color: var(--color-theme-1) !important;
}

.text-theme-1-1 {
	color: var(--color-theme-1-1);
}

.text-theme-2 {
	color: var(--color-theme-2) !important;
}

.bg-theme-1 {
	background-color: var(--color-theme-1) !important;
}

.bg-theme-1-1 {
	background-color: var(--color-theme-1-1) !important;
}

.bg-theme-2 {
	background-color: var(--color-theme-2) !important;
}

.small {
	--fs: 12;
	font-size: calc((var(--fs) / 16) * 1rem);
}

.lead {
	--fs: 18;
	font-size: var(--font-size);
}

h2 {
	--fs: var(--h2);
	font-size: var(--font-size);
	font-weight: 700;
	letter-spacing: 0.1em;
}

h3 {
	--fs: 24;
	font-size: var(--font-size);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

h4 {
	--fs: 18;
	font-size: var(--font-size);
	font-weight: 700;
	line-height: 1.6;
}

.header {
	/* position: sticky;
	top: 0; */
	z-index: 900;
}

.header-menu {
	background: var(--color-theme-1);
	padding: 0;
	margin: 0;
}

.header-menu-list {
	display: flex;
	justify-content: center;
	max-width: 1265px;
	width: 100%;
	list-style: none;
	padding: 0;
	margin: 0 auto;
}

.header-menu-item {
	position: relative;
	transition: 0.2s;
}

.header-menu-item:not(:first-child)::before {
	content: "";
	width: 1px;
	height: 15px;
	background: #FFF;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(-50%,-50%);
}

.header-menu-item:hover {
	background: var(--color-theme-2);
}

.header-menu-item:hover::before,
.header-menu-item:hover + .header-menu-item::before {
	content: none;
}

.header-menu-item a {
	display: grid;
	place-items: center;
	min-height: 85px;
	--fs: 16;
	font-weight: 900;
	color: #FFF;
	padding: 20px;
}

@media(max-width: 991px) {
	.global-nav-button {
		width: 50px;
		height: 50px;
		background: transparent;
		border: none;
		position: absolute;
		top: 0;
		right: 5px;
		padding: 0;
		z-index: 999;
	}
	.global-nav-button span {
		width: 30px;
		height: 2px;
		background: #FFF;
		position: absolute;
		top: 50%;
		left: 50%;
		transition: 0.3s;
	}
	.global-nav-button span:nth-child(1) {
		transform: translate(-50%,calc(-50% - 8px));
	}
	.global-nav-button span:nth-child(2) {
		transform: translate(-50%,-50%);
	}
	.global-nav-button span:nth-child(3) {
		transform: translate(-50%,calc(-50% + 8px));
	}
	body.noscroll .global-nav-button span:nth-child(1) {
		transform: translate(-50%,-50%) rotate(30deg);
	}
	body.noscroll .global-nav-button span:nth-child(2) {
		opacity: 0;
	}
	body.noscroll .global-nav-button span:nth-child(3) {
		transform: translate(-50%,-50%) rotate(-30deg);
	}
	.header-nav {
		background: var(--color-theme-1);
		height: 100vh;
		padding: 110px 20px 65px;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		opacity: 0;
		visibility: hidden;
		overflow: scroll;
		z-index: 900;
		transition: 0.3s;
	}
	body.noscroll .header-nav {
		opacity: 1;
		visibility: visible;
	}
	.header-menu {
		position: relative;
		max-width: 600px;
		background: url(img/header-menu-deco02.png) repeat-y center / 100%;
		margin-inline: auto;
	}
	.header-menu::before {
		content: "";
		width: 100%;
		aspect-ratio: 660 / 68;
		background: url(img/header-menu-deco01.png) no-repeat center / 100%;
		position: absolute;
		top: 1px;
		left: 50%;
		transform: translate(-50%,-100%);
	}
	.header-menu::after {
		content: "";
		width: 100%;
		aspect-ratio: 660 / 68;
		background: url(img/header-menu-deco01.png) no-repeat center / 100%;
		position: absolute;
		bottom: 1px;
		left: 50%;
		transform: translate(-50%,100%) scale(1,-1);
	}
	.header-menu-list {
		flex-direction: column;
	}
	.header-menu-item:hover {
		background: transparent;
	}
	.header-menu-item:not(:first-child)::before {
		content: none;
	}
	.header-menu-item a {
		--fs: 24;
		min-height: 0;
		padding: 7px 5px;
	}
	.header-menu-item a:hover {
		color: var(--color-theme-2);
	}
}

main {
	position: relative;
	overflow-x: clip;
}

.mv {
	position: relative;
	background: url(img/mv-bg.jpg) center center / cover;
	overflow: hidden;
}

.mv h1 {
	position: relative;
	margin-bottom: 0;
	z-index: 5;
}

.mv h1 img {
	position: relative;
	width: 118vw;
	max-width: 2275px;
	left: 50%;
	transform: translateX(-50%);
}

@media(max-width: 991px) {
	.mv {
		background: url(img/mv-bg_sp.jpg) center center / cover;
		padding-bottom: 10px;
	}
	.mv h1 img {
		max-width: 800px;
		width: 133vw;
		margin-left: -3%;
	}
}

/*		セクション		*/
.section-title {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	max-inline-size: max-content;
	min-width: 396px;
	color: #FFF;
	background: var(--color-theme-2);
	padding: 3px 40px;
	margin-inline: auto;
	margin-bottom: 60px;
	z-index: 5;
}

.section-title {
	background: url(img/section-title-bg02.png) repeat-x center / contain;
}

.section-title::before {
	content: "";
	height: 100%;
	aspect-ratio: 50 / 93;
	background: url(img/section-title-bg01.png) center / 100% 100%;
	position: absolute;
	top: 0;
	left: 1px;
	transform: translateX(-100%);
}

.section-title::after {
	content: "";
	height: 100%;
	aspect-ratio: 50 / 93;
	background: url(img/section-title-bg01.png) center / 100% 100%;
	position: absolute;
	top: 0;
	right: 1px;
	transform: translateX(100%) scale(-1,1);
}

@media(max-width: 767px) {
	.section-title {
		--fs: 20;
		min-height: 36px;
		min-width: 227px;
		background: url(img/section-title-bg02_sp.png) repeat-x center / contain;
	}
	.section-title::before,
	.section-title::after {
		background: url(img/section-title-bg01_sp.png) center / 100% 100%;
	}
	.section-title span {
		padding: 2px 5px;
	}
}

/*		キャンペーン概要		*/
.about {
	position: relative;
	margin-top: 150px;
	margin-bottom: 300px;
	overflow-x: clip;
}

.about::before {
	content: "";
	max-width: 1233px;
	min-width: 446px;
	width: 90%;
	aspect-ratio: 1233 / 895;
	background: url(img/site-bg01.png) center / cover;
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(-25%,-25%);
	z-index: -1;
}

.about-content {
	display: grid;
	grid-template-columns: 1fr 54%;
	align-items: flex-end;
	gap: 40px;
}

.about-text h2 {
	--fs: 26;
	color: var(--color-theme-2);
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: calc(65 / 38);
	margin-bottom: 30px;
}

.about-text p {
	--fs: 16;
	line-height: calc(40 / 24);
	letter-spacing: 0.075em;
	color: #FFF;
	margin-bottom: 0;
}

.about-image {
	display: flex;
	justify-content: end;
}

.about-image img {
	max-width: 882px;
	width: 230%;
}

@media(max-width: 767px) {
	.about {
		margin-top: 30px;
		margin-bottom: 100px;
	}
	.about::before {
		transform: translate(0%,-25%);
		z-index: 0;
	}
	.about-content {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.about-image {
		position: relative;
		max-width: 60vw;
		z-index: 5;
	}
	.about-text h2 {
		--fs: 18;
		margin-bottom: 15px;
	}
	.about-text p {
		--fs: 14;
	}
}

/*		intro		*/
.intro {
	position: relative;
	margin-bottom: 125px;
	overflow-x: clip;
}

.intro::before {
	content: "";
	width: 104%;
	max-width: 1393px;
	aspect-ratio: 1392 / 911;
	background: url(img/site-bg02.png) center / cover;
	min-width: 446px;
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(15%,-25%);
	z-index: -1;
}

.fs-lg {
	--fs: 34;
}

.fs-xl {
	--fs: 49;
}

.intro p {
	--fs: 26;
	color: #FFF;
	line-height: calc(45 / 26);
	letter-spacing: 0.075em;
	font-weight: 700;
}

.intro p .fs-xl {
	line-height: 1;
	vertical-align: text-bottom;
}

.intro p .marker {
	position: relative;
}

.intro p .marker::before {
	content: "";
	width: 125%;
	height: 72px;
	background: url(img/marker_pc.png) center center / 100% 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-45%);
	z-index: -1;
}

@media(max-width: 767px) {
	.intro {
		margin-bottom: 90px;
	}
	.intro::before {
		transform: translate(5%,-15%);
	}
	.intro p {
		--fs: 17;
	}
	.intro p span.text-theme-2 {
		--fs: 22;
	}
	.intro p .fs-xl {
		--fs: 35;
	}
}

@media(max-width: 575px) {
	.intro p .marker::before {
		min-width: 310px;
		height: 100%;
		top: 0;
		transform: translate(-50%,-25%);
	}
	.intro p .marker::after {
		content: "";
		width: 125%;
		min-width: 310px;
		height: 100%;
		background: url(img/marker_pc.png) center center / 100% 100%;
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translate(-50%, 35%);
		z-index: -1;
	}
}

.present {
	margin-bottom: 190px;
}

.present .section-title {
	margin-bottom: 100px;
}

.present-content {
	position: relative;
	background: url(img/box-deco02.png) repeat-y center / 100% auto;
	padding: 5px 45px 0px;
}

.present-content::before {
	content: "";
	width: 100%;
	aspect-ratio: 1884 / 72;
	background: url(img/box-deco01.png) no-repeat center / 100%;
	position: absolute;
	top: 1px;
	left: 50%;
	transform: translate(-50%,-100%);
}

.present-content::after {
	content: "";
	width: 100%;
	aspect-ratio: 1884 / 72;
	background: url(img/box-deco01.png) no-repeat center / 100%;
	position: absolute;
	bottom: 1px;
	left: 50%;
	transform: translate(-50%,100%) scale(1,-1);
}

.present-content > p {
	--fs: 11;
	font-family: var(--noto-sans);
	letter-spacing: 0;
}

.present-list {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	justify-content: space-between;
	gap: 90px;
	margin-bottom: 25px;
}

.present-item {
	position: relative;
	max-width: 375px;
	width: 100%;
	z-index: 1;
}

.present-image {
	margin-bottom: 15px;
}

.present-item .place {
	display: flex;
	place-items: center;
	min-height: 32px;
	--fs: 22;
	line-height: 1.3;
	color: #FFF;
	font-weight: 700;
	background: var(--color-theme-2);
	max-inline-size: max-content;
	border-radius: 40px;
	padding: 2px 15px;
	margin-inline: auto;
	margin-bottom: 10px;
}

.present-item h3 {
	--fs: 32;
	font-weight: 900;
	text-align: center;
	line-height: calc(41 / 32);
	margin-bottom: 10px;
}

.present-item .price {
	--fs: 41;
	text-align: center;
	color: #aa7922;
	line-height: 1;
	letter-spacing: 0;
	font-weight: 900;
}

.present-item .price span {
	--fs: 63;
}

@media(max-width: 991px) {
	.present-list {
		gap: 60px;
	}
}

@media(max-width: 767px) {
	.present .section-title {
		margin-bottom: 70px;
	}
	.present-content {
		padding: 5px 25px 0;
	}
	.present-list {
		grid-template-columns: 1fr;
		gap: 50px;
	}
	.present-item {
		max-width: 100%;
	}
	.present-image {
		margin-bottom: 10px;
	}
	.present-item .place {
		--fs: 16;
		min-height: 23px;
		margin-bottom: 5px;
	}
	.present-item h3 {
		--fs: 23;
		line-height: calc(30 / 23);
		margin-bottom: 5px;
	}
	.present-item .price {
		--fs: 30;
	}
	.present-item .price span {
		--fs: 46;
	}
}

@media(max-width: 575px) {
	.present-content {
		background: url(img/box-deco02_sp.png) repeat-y center / 100% auto;
	}
	.present-content::before {
		aspect-ratio: 660 / 70;
		background: url(img/box-deco01_sp.png) no-repeat center / 100%;
	}
	.present-content::after {
		aspect-ratio: 660 / 70;
		background: url(img/box-deco01_sp.png) no-repeat center / 100%;
		transform: translate(-50%,100%) scale(1,-1);
	}
}

.entry {
	margin-bottom: 80px;
}

.entry .section-title {
	background: url(img/entry-title-bg02.png) repeat-x center / contain;
}

.entry .section-title::before,
.entry .section-title::after {
	background: url(img/entry-title-bg01.png) center / 100% 100%;
}

.entry-content {
	position: relative;
}

.entry-content::before {
	content: "";
	width: 104vw;
	max-width: 1393px;
	min-width: 446px;
	aspect-ratio: 1392 / 911;
	background: url(img/site-bg02.png) center / cover;
	position: absolute;
	right: 0;
	bottom: 0;
	transform: translate(0%, 67%) scale(-1,1);
	mix-blend-mode: screen;
	z-index: 1;
}

.entry-flow {
	background: var(--color-theme-1);
	border: 7px solid var(--color-theme-2);
	border-radius: 20px;
	padding: 40px 55px;
	position: relative;
	z-index: 1;
}

.entry-step:not(:last-child) {
	position: relative;
	margin-bottom: 60px;
}

.entry-step:not(:last-child)::before {
	content: "";
	width: 85px;
	aspect-ratio: 1/cos(75deg);
	clip-path: polygon(50% 100%,100% 0,0 0);
	background: linear-gradient(45deg,var(--color-theme-2));
	position: absolute;
	bottom: -30px;
	left: 50%;
	transform: translate(-50%,50%);
}

.entry-step-header {
	display: grid;
	grid-template-columns: 116px 1fr;
	gap: 45px;
	background: #4b3c31;
	padding: 20px 30px;
}

.entry-step-header span {
	position: relative;
	height: 100%;
	padding: 7px 0;
}

.entry-step-header span::before {
	content: "";
	width: 5px;
	height: 90%;
	background: #fdfbe9;
	position: absolute;
	top: 50%;
	right: calc(45px / -2);
	transform: translate(50%,-50%);
}

.entry-step-header h3 {
	position: relative;
	--fs: 33;
	font-size: var(--font-size);
	font-weight: 700;
	line-height: calc(43 / 33);
	letter-spacing: 0.1em;
	color: #fdfbe9;
	margin-bottom: 0;
}

.entry-step-body {
	background: #fdfbe9;
	padding: 20px 25px;
}

.entry-step-body h4 {
	--fs: 28;
	line-height: calc(40 / 28);
	font-weight: 700;
	color: #604c3f;
	margin-bottom: 20px;
}

.entry-step-body p {
	--fs: 14;
	font-family: var(--noto-sans);
	font-weight: 500;
	margin-bottom: 0;
}

@media(max-width: 767px) {
	.entry {
		margin-bottom: 150px;
	}
	/* .entry .section-title {
		background: url(img/entry-title-bg02_sp.png) repeat-x center / contain;
		margin-bottom: 30px;
	}
	.entry .section-title::before,
	.entry .section-title::after {
		background: url(img/entry-title-bg01_sp.png) center / 100% 100%;
	} */
	.entry-content::before {
		transform: translate(0%, 125%) scale(-1,1);
	}
	.entry-content::after {
		content: "";
		width: 104vw;
		max-width: 1393px;
		min-width: 446px;
		aspect-ratio: 1392 / 911;
		background: url(img/site-bg02.png) center / cover;
		position: absolute;
		right: 0;
		top: 0;
		transform: translate(0%, -50%) scale(-1, 1);
		z-index: -1;
	}
	.entry-flow {
		border: 2px solid var(--color-theme-2);
		border-radius: 15px;
		padding: 30px;
	}
	.entry-step-header {
		grid-template-columns: 1fr;
		gap: 7px;
		padding: 15px;
	}
	.entry-step-header span {
		max-inline-size: max-content;
		padding: 0;
	}
	.entry-step-header span::before {
		right: -20px;
		width: 3px;
	}
	.entry-step-header span img {
		width: 95px;
	}
	.entry-step-header h3 {
		--fs: 22;
	}
	.entry-step-body {
		padding: 15px;
	}
	.entry-step-body h4 {
		--fs: 18;
		margin-bottom: 10px;
	}
	.entry-step-body p {
		--fs: 12;
		letter-spacing: 0;
		margin-bottom: 10px;
	}
	.entry-step-body img {
		width: 100%;
	}
}

.shop {
	margin-bottom: 235px;
}

.shop .section-title {
	margin-bottom: 90px;
}

.shop-content {
	position: relative;
	background: url(img/box-deco02.png) repeat-y center / 100% auto;
	padding: 10px 25px 70px;
}

.shop-content::before {
	content: "";
	width: 100%;
	aspect-ratio: 1884 / 72;
	background: url(img/box-deco01.png) no-repeat center / 100%;
	position: absolute;
	top: 1px;
	left: 50%;
	transform: translate(-50%,-100%);
}

.shop-content::after {
	content: "";
	width: 100%;
	aspect-ratio: 1884 / 72;
	background: url(img/box-deco01.png) no-repeat center / 100%;
	position: absolute;
	bottom: 1px;
	left: 50%;
	transform: translate(-50%,100%) scale(1,-1);
}

.shop-content h3 {
	display: grid;
	place-items: center;
	--fs: 22;
	font-size: var(--font-size);
	letter-spacing: 0.1em;
	font-weight: 700;
	color: #FFF;
	min-width: 275px;
	min-height: 38px;
	background: var(--color-theme-2);
	border-radius: 30px;
	max-inline-size: max-content;
	margin-inline: auto;
	position: relative;
	margin-bottom: 65px;
	z-index: 1;
}

.shop-content h3::before {
	content: "";
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	border: 1px solid #FFF;
	border-radius: 30px;
}

.shop-list {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 55px 35px;
	list-style: none;
	max-width: 825px;
	padding: 0;
	margin-inline: auto;
	z-index: 1;
}

.shop-list:not(:last-child) {
	margin-bottom: 90px;
}

.shop-item {
	display: grid;
	grid-template-rows: auto auto auto 1fr auto auto;
}

.shop-item img {
	margin-bottom: 15px;
}

.shop-area {
	display: grid;
	place-items: center;
	--fs: 11;
	max-inline-size: max-content;
	min-width: 98px;
	min-height: 22px;
	letter-spacing: 0.075em;
	color: #FFF;
	background: var(--color-theme-2);
	border-radius: 30px;
	padding: 2px 5px;
	margin-inline: auto;
	margin-bottom: 10px;
}

.shop-name {
	--fs: 16;
	line-height: calc(24 / 16);
	letter-spacing: 0.075em;
	text-align: center;
	font-weight: 900;
	color: var(--color-theme-2);
	margin-bottom: 5px;
}

.shop-menu {
	--fs: 16;
	line-height: calc(24 / 16);
	letter-spacing: 0.07em;
	font-weight: 900;
	text-align: center;
	margin-bottom: 10px;
}

.shop-item address {
	--fs: 10;
	font-weight: bold;
	line-height: calc(14 / 9);
	letter-spacing: 0.1em;
	border-top: 1px dashed var(--color-theme-2);
	border-bottom: 1px dashed var(--color-theme-2);
	padding-top: 10px;
	padding-bottom: 10px;
	margin-bottom: 15px;
}

.shop-link {
	display: grid;
	place-items: center;
	min-height: 28px;
	--fs: 16;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #FFF;
	background: var(--color-theme-2);
	border-radius: 12px;
	padding: 2px 10px;
}

.shop-link:hover {
	opacity: 0.7;
}

@media(max-width: 767px) {
	.shop {
		margin-bottom: 90px;
	}
	.shop .section-title {
		margin-bottom: 70px;
	}
	.shop-content {
		padding: 10px 15px 30px;
	}
	.shop-content h3 {
		--fs: 16;
		min-width: 180px;
		min-height: 32px;
		margin-bottom: 30px;
	}
	.shop-list {
		grid-template-columns: repeat(2,1fr);
		gap: 40px 15px;
	}
	.shop-item img {
		margin-bottom: 10px;
	}
	.shop-area {
		min-width: 85px;
		min-height: 20px;
		padding: 0 10px;
		margin-bottom: 5px;
	}
	.shop-name {
		--fs: 14;
		letter-spacing: 0;
		margin-bottom: 0;
	}
	.shop-menu {
		--fs: 14;
		letter-spacing: 0;
		margin-bottom: 5px;
	}
	.shop-item address {
		--fs: 10;
		letter-spacing: 0;
		padding-top: 5px;
		padding-bottom: 5px;
		margin-bottom: 10px;
	}
	.shop-link {
		--fs: 14;
		border-radius: 10px;
	}
}

@media(max-width: 575px) {
	.shop-content {
		background: url(img/box-deco02_sp.png) repeat-y center / 100% auto;
	}
	.shop-content::before {
		aspect-ratio: 660 / 70;
		background: url(img/box-deco01_sp.png) no-repeat center / 100%;
	}
	.shop-content::after {
		aspect-ratio: 660 / 70;
		background: url(img/box-deco01_sp.png) no-repeat center / 100%;
		transform: translate(-50%,100%) scale(1,-1);
	}
}

.terms {
	background: var(--color-theme-1);
	padding-top: 115px;
}

.terms .section-title {
	margin-bottom: 90px;
}

.terms-deco {
	width: 104vw;
	max-width: 1393px;
	min-width: 446px;
	aspect-ratio: 1392 / 911;
	background: url(img/site-bg02.png) center / cover;
	mix-blend-mode: screen;
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(2%, -12%);
	z-index: 1;
}

.terms-content {
	position: relative;
	font-family: var(--noto-sans);
	background: url(img/box-deco02.png) repeat-y center / 100% auto;
	padding: 60px 50px 40px;
	z-index: 5;
}

.terms-content::before {
	content: "";
	width: 100%;
	aspect-ratio: 1884 / 72;
	background: url(img/box-deco01.png) no-repeat center / 100%;
	position: absolute;
	top: 1px;
	left: 50%;
	transform: translate(-50%,-100%);
}

.terms-content::after {
	content: "";
	width: 100%;
	aspect-ratio: 1884 / 72;
	background: url(img/box-deco01.png) no-repeat center / 100%;
	position: absolute;
	bottom: 1px;
	left: 50%;
	transform: translate(-50%,100%) scale(1,-1);
}

.terms-content h3 {
	--fs: 16;
	font-size: var(--font-size);
	font-weight: 600;
	letter-spacing: 0.05em;
	margin-bottom: 0;
}

.terms-content * + h3{
	margin-top: 35px;
}

.terms-content p {
	--fs: 16;
	font-size: var(--font-size);
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: calc(30 / 16);
	margin-bottom: 0;
}

.terms-content ul {
	list-style: none;
	padding: 0;
	margin-bottom: 0;
}

.terms-content ul li {
	font-weight: 500;
	text-indent: -5px;
	margin-left: 10px;
	margin-bottom: 0;
}

.terms-content ul li::before {
	content: "・";
	display: inline-block;
}

@media(max-width: 767px) {
	.terms {
		padding-top: 50px;
	}
	.terms-content {
		padding: 0 15px 25px;
	}
	.terms-content p {
		--fs: 14;
	}
	.terms-content h3 {
		--fs: 14;
	}
	.terms-content * + h3 {
		margin-top: 25px;
	}
	.terms-content ul li {
		--fs: 14;
		text-indent: -4px;
		margin-left: 8px;
	}
}

@media(max-width: 575px) {
	.terms-content {
		background: url(img/box-deco02_sp.png) repeat-y center / 100% auto;
	}
	.terms-content::before {
		aspect-ratio: 660 / 70;
		background: url(img/box-deco01_sp.png) no-repeat center / 100%;
	}
	.terms-content::after {
		aspect-ratio: 660 / 70;
		background: url(img/box-deco01_sp.png) no-repeat center / 100%;
		transform: translate(-50%,100%) scale(1,-1);
	}
}

.contact {
	background: var(--color-theme-1);
	padding-top: 170px;
	padding-bottom: 120px;
}

.contact-content {
	position: relative;
	font-family: var(--noto-sans);
	color: #FFF;
	text-align: center;
	max-inline-size: max-content;
	margin-inline: auto;
	z-index: 0;
}

.contact-content::before {
	content: "";
	width: 104vw;
	max-width: 1393px;
	min-width: 446px;
	aspect-ratio: 1392 / 911;
	background: url(img/site-bg03.png) center / cover;
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(15%, -60%);
	z-index: -1;
}

.contact-content h3 {
	display: grid;
	gap: 20px;
	--fs: 32;
	font-size: var(--font-size);
	letter-spacing: 0.14em;
	line-height: calc(37 / 32);
	text-align: center;
	margin-bottom: 20px;
}

.contact-content h3 span {
	--fs: 22;
	letter-spacing: 0.14em;
	font-weight: 400;
}

.contact-content a {
	--fs: 50;
	font-size: var(--font-size);
	letter-spacing: 0.07em;
	line-height: 1;
	font-weight: 600;
	text-align: center;
}

.contact-content p {
	--fs: 14;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-top: 50px;
	margin-bottom: 0;
}

@media(max-width: 767px) {
	.contact {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.contact .section-title {
		margin-bottom: 30px;
	}
	.contact-content::before {
		transform: translate(-5%, -45%) scale(-1,1) rotate(-45deg);
	}
	.contact-content h3 {
		--fs: 20;
		gap: 10px;
		margin-bottom: 15px;
	}
	.contact-content h3 span {
		--fs: 14;
	}
	.contact-content a {
		--fs: 30;
	}
	.contact-content p {
		margin-top: 30px;
	}
}

.footer {
	position: relative;
	background: #000;
	padding: 30px var(--padding);
	z-index: 10;
}

.footer p {
	--fs: 16;
	line-height: 1.3;
	letter-spacing: 0.1em;
	color: #FFF;
}

@media(max-width: 767px) {
	.footer {
		padding: 20px var(--padding);
	}
	.footer p {
		--fs: 12;
		letter-spacing: 0;
	}
}