@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Noto+Serif+JP:wght@400;500;600;700;900&family=Sacramento&display=swap");

:root {
	--ratio-zoom: 1.166667;

	--red: #d12128;
	--red-dark: #b3161d;
	--red-dark-2: #731216;
	--red-dark-3: #d12128;
	--ink: #2b2b2b;
	--ink-soft: #4a4344;
	--gray-text: #6d6466;
	--event-bg: #f7edec;
	--plan-bg: #eedbdc;
	--card-x: #fbf4f2;
	--pink-soft: #f3e2e2;
	--gold: #c9a24b;
	--line: #e2d3d3;

	--color-1: var(--red);
	--color-2: var(--red-dark);
	--color-3: var(--red-dark-2);
	--color-4: var(--red-dark-3);
	--color-5: var(--ink);
	--color-6: var(--ink-soft);
	--color-7: var(--gray-text);
	--color-8: var(--event-bg);
	--color-9: var(--plan-bg);
	--color-10: var(--card-x);
	--color-11: var(--pink-soft);
	--color-12: var(--gold);
	--color-13: var(--line);
	--color-14: #fff47a;
	--color-15: #a1957b;
	--color-16: #f7f0e2;
	--color-17: #f2ece1;
	--color-18: #faefef;
	--color-19: #d1c9b6;
	--color-20: #eee;

	--gradient-1: linear-gradient(45deg, #ffccc1, #bc1e1e);

	--collection-c-1: linear-gradient(45deg, #99a3ff 50%, #99b9ff 50%);
	--collection-c-2: linear-gradient(45deg, #a0cc8b 50%, #c2e3b1 50%);
	--collection-c-3: linear-gradient(45deg, #ec8484 50%, #ec9c9c 50%);
	--collection-c-4: linear-gradient(45deg, #ffba61 50%, #ffcc8a 50%);
	--collection-c-5: linear-gradient(45deg, #e0d8cd 50%, #faf8f5 50%);
	--collection-c-6: linear-gradient(45deg, #9c9c9c 50%, #adadad 50%);

	--color-bg: var(--color-5);
	--color-link: var(--color-1);
	--color-link-hover: var(--color-2);

	--color-border-1: rgba(0, 0, 0, 0.3);
	--color-table-border-1: rgba(0, 0, 0, 0.18);

	--font-family-1: "Shippori Mincho B1", serif;
	--fw-normal: 500;
	--fw-bold: 600;

	--fz-09: min(2.46vw, 0.9rem);
	--fz-10: min(2.67vw, 1rem);
	--fz-11: min(2.93vw, 1.1rem);
	--fz-12: min(3.2vw, 1.2rem);
	--fz-13: min(3.47vw, 1.3rem);
	--fz-14: min(3.73vw, 1.4rem);
	--fz-15: min(4vw, 1.5rem);
	--fz-16: min(4.27vw, 1.6rem);
	--fz-17: min(4.53vw, 1.7rem);
	--fz-18: min(4.8vw, 1.8rem);
	--fz-19: min(5.07vw, 1.9rem);
	--fz-20: min(5.33vw, 2rem);
	--fz-21: min(5.83vw, 2.1rem);
	--fz-22: min(6.11vw, 2.2rem);
	--fz-23: min(6.39vw, 2.3rem);
	--fz-24: min(6.67vw, 2.4rem);

	--color-font: var(--ink);
	--font-sans: "Noto Sans JP", sans-serif;
	--font-mincho: "Noto Serif JP", serif;
	--font-jp: var(--font-mincho);
	--font-latin: "Cormorant Garamond", serif;
	--font-script: "Sacramento", cursive;

	--nav-bg: #fcf1f1;
	--nav-color: var(--ink-soft);

	--wrap-max-width: 530px;

	--gutter-xxs: 2cqw;
	--gutter-xs: min(4cqw, 22px);
	--gutter-s: min(8.4cqw, 32px);
	--gutter-m: min(14cqw, 64px);
	--gutter-l: 26cqw;
	--gutter-container: 8.4cqw;
	--gutter-p: 1em;
	--gutter-counter-bleed: -10.1cqw;

	--radius-m: min(8.9vw, 36px);

	/* --header-height: min(14cqw, 64px); */
	--header-height: 48px;
	--header-text-height: 23px;

	--z-header: 98;
	--z-nav-wrapper: 99;
	--z-link-covero-1-link: 10;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}
html, body { font-size: 12px; }
html {
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
	font-family: var(--font-jp);
	color: var(--color-font);
	line-height: 1.8;
	background-image: linear-gradient(160deg, #f0e2e2, #eac6c8);
    background-repeat: no-repeat;
    background-color: #edd3d4;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
}
a {
	color: var(--color-1);
	text-decoration: none;
}

/* ======================================================
// MARK: container
// ====================================================== */

.wrap {
	width: 100%;
	max-width: var(--wrap-max-width);
	margin: 0 auto;
	background: #ffffff;
	overflow: hidden;
	box-shadow: 0 0 40px rgba(120, 60, 60, 0.15);
}
.container {
	container-type: inline-size;
	padding-inline: min(10cqw, 44px);
}

/* ======================================================
// MARK: titles
// ====================================================== */

.title-1 {
	text-align: center;
	font-family: var(--font-latin);
	font-weight: 600;
	font-size: 37px;
	line-height: 1;
	color: var(--ink);
	margin: 1.1em auto 0.8em;

	small {
		display: block;
		text-align: center;
		color: var(--red);
		font-family: var(--font-mincho);
		font-weight: normal;
		font-size: 12px;
		margin: 8px 0 0;
		padding-left: 0.4em;
	}
}

.title-2 {
	font-family: var(--font-mincho);
	font-weight: 600;
	font-size: 26px;
	line-height: 1.4;
	letter-spacing: 0.06em;
	margin: 0 0 0.4em;
}

.title-2-tag {
	display: inline-block;
	background: var(--red);
	color: #fff;
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.12em;
	padding: 1px 1.6em;
	border-radius: 300px;
	position: relative;
	line-height: 1.2;
}

.title-3 {
	font-weight: var(--fw-bold);
	color: var(--red-dark);
	font-size: var(--fz-20);
	margin: 0 0 1em;
}

.title-4 {
	font-weight: var(--fw-bold);
	font-size: var(--fz-21);
	margin: 0 0 .6em;
	padding-bottom: .4em;
	border-bottom: 1px solid;
	text-align: center;
}

.title-5 {
	font-weight: var(--fw-bold);
	font-size: var(--fz-16);
	margin: 1.1em 0 .6em;
	padding-top: 1.1em;
	border-top: 1px dashed;

	.num {
		margin-top: 0.2em;
	}
}

.title-6 {
	font-weight: var(--fw-bold);
	font-size: var(--fz-11);
	text-align: center;
	line-height: 1.4;
	margin: 1em auto;
	padding: 0.5em .2em;
	border-radius: 3px;
	background-color: var(--color-16);
}

/* ======================================================
// MARK: generic
// ====================================================== */

.divider-v {
	width: 1px;
	height: 22px;
	margin: min(3vw, 12px) auto;
	background-color: var(--ink);
}

/* ======================================================
// MARK: buttons
// ====================================================== */

.btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 0 auto;
	background: var(--red-dark-3);
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.08em;
	padding: 0.7em 1em;
	border-radius: 300px;
	box-shadow: 0 4px 8px rgb(166 19 26 / 18%);
	position: relative;
	transition:
		transform 0.15s,
		box-shadow 0.15s;
}

button.btn {
	width: 100%;
	border: none;
}

.btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 22px rgba(179, 22, 29, 0.35);
}
.btn .arrow {
	position: absolute;
	right: 22px;
	font-size: 18px;
}
.btn .arrow.down {
	rotate: 90deg;
    scale: 75%;
}
.btn.small {
	width: 70%;
	font-size: 15px;
	padding: 13px 20px;
}
.btn.small .pin {
	position: absolute;
	left: 26px;
}

/* ======================================================
// HEADER
// ====================================================== */

.site-header {
	position: fixed;
	z-index: var(--z-header);
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	container-type: inline-size;
	width: 100%;
	/* max-width: var(--wrap-max-width); */
	height: calc(var(--header-height) + var(--header-text-height));
	margin: 0 auto;
	background-color: #fff;
	box-shadow: 0 0 22px rgba(0, 0, 0, 0.06);
}

.header-inner {
	position: relative;
	max-width: var(--wrap-max-width);
	margin-inline: auto;
	height: 100%;
}

.header-title {
	position: relative;
	margin-left: var(--header-height);
	padding-top: 0.75em;
}

.header-texts {
	margin: 0;
	color: #bbbbbb;
	background-color: var(--ink-soft);
	font-size: min(2.6vw, 0.8rem);
	font-weight: normal;
	padding-left: 0.7em;
	line-height: 1;
	padding-block: 0.7em;
	height: var(--header-text-height);
	display: flex;
	align-items: center;
}

.header-logo {
	/* width: min(16.8%, 106px); */
	width: 52px;
}

.header-reservation {
	position: absolute;
	top: -36px;
	right: -3px;
	width: 92px;
}

.header-alternation-fixed {
	height: calc(var(--header-height) + var(--header-text-height));
}
/* ======================================================
//  MARK: Header scroll in
// ====================================================== */

.header-scroll-in .site-header {
	transition: 0.4s;
	transform: translate(-50%, -120px);
}

.header-scroll-in .nav-icon {
	top: -100px;
}

.contents-fixed.header-scroll-in .site-header {
	transform: translateX(-50%);
}

.contents-fixed.header-scroll-in .nav-icon {
	top: var(--header-text-height);
}

/* ======================================================
//  MARK: Navigation
// ====================================================== */

.nav-wrapper {
	position: relative;
	z-index: var(--z-nav-wrapper);
}

.nav-icon {
	width: var(--header-height);
	height: var(--header-height);
	position: fixed;
	z-index: 3;
	top: var(--header-text-height);
	left: 50%;
	transform: translateX(max(-50vw, calc(var(--wrap-max-width) * -0.5)));
	transition: 0.16s;
	cursor: pointer;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: min(2.5vw, 0.7rem);
	text-transform: uppercase;
}

.nav-icon span {
	display: block;
	width: 29%;
	height: 1px;
	margin: 3px auto;
	background: #333;
	border-radius: 2px;
	transition: 0.4s;
}

.nav-icon b {
	line-height: 1;
	margin-top: 0.5em;
}

.nav-icon span:nth-child(2) {
	display: none;
}

#nav-toggle:checked + .nav-icon {
	transform: translateX(-50vw);
	top: 0;

	b { display: none; }

	&::after {
		content: 'Close';
	}
}

#nav-toggle:checked + .nav-icon span:nth-child(1) {
	transform: translateY(3px) rotate(25deg);
	width: 46%;
}
#nav-toggle:checked + .nav-icon span:nth-child(2) {
	opacity: 0;
}
#nav-toggle:checked + .nav-icon span:nth-child(3) {
	transform: translateY(-4px) rotate(-25deg);
	width: 46%;
}

.overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	pointer-events: none;
	transition: 0.4s;
	z-index: 1;
	cursor: default;
}

#nav-toggle:checked ~ .overlay {
	opacity: 1;
	pointer-events: auto;
}

.nav {
	--max-width: 440px;
	position: fixed;
	top: 0;
	left: calc(var(--max-width) * -1);
	width: min(90%, var(--max-width));
	height: 100%;
	padding: min(17vw, 100px) 1.6em;
	background: var(--nav-bg);
	color: var(--nav-color);
	box-shadow: 2px 0 8px rgba(0, 0, 0, 0.2);
	transition: left 0.4s ease;
	z-index: 2;
	font-size: min(3.3vw, 1rem);
}

#nav-toggle:checked ~ .nav {
	left: 0;
}

.nav .conversion a {
	box-shadow: none;
}

.nav .conversion-contact {
	border-color: var(--color-1);
	color: var(--color-1);
}

.nav .footer-links {
	margin-bottom: 2.2em;
}

/* ======================================================
//  MARK: Footer
// ====================================================== */

.footer {
	background-color: var(--color-footer-bg, #fff);
	padding: 1px 20px 34px;
	color: var(--gray-text);
	font-size: 11px;
	text-align: center;
}

.footer a:not([class*="btn"]),
.footer-links a {
	display: flex;
	align-items: center;
	column-gap: 7px;
	color: var(--color-font);

	&::before {
		content: '';
		width: 10px;
		height: 7px;
		background-image: url(../img/icons/arrow-1.svg);
		background-repeat: no-repeat;
		background-position: 50% 50%;
	}
}

.footer-logo {
	display: flex;
	justify-content: center;
	margin-block: 35px;
}

.footer-links {
	list-style: none;
	margin-bottom: min(var(--gutter-m), 4em);
	padding: 0;
	border-top: 1px solid rgba(0, 0, 0, .1);
}

.footer-links a {
	display: flex;
	align-items: center;
	height: 100%;
	padding-block: 1em;
	padding-left: 1em;
	border-bottom: 1px solid rgba(0, 0, 0, .1);
}



/* ======================================================
//  MARK: Copyright
// ====================================================== */

.copyright {
	display: flex;	
	flex-direction: column;
	padding-bottom: var(--gutter-m);
	text-align: center;
	font-size: var(--fz-12);
}

.copyright-links {
	list-style: none;
	margin: 0 auto var(--gutter-s);
	padding: 0;
}


/* ======================================================
// MARK: links
// ====================================================== */

.links-1 {
	a {
		transition: 0.24s;
		color: var(--color-font);

		&:hover {
			color: var(--color-link-hover);
		}
	}
}

.link-cover-1 {
	position: relative;
	overflow: hidden;

	.image, .texts {
		transition: 0.24s;
	}

	&:hover {
		.image, .texts {
			opacity: .6;
		}
	}

	.link {
		z-index: var(--z-link-covero-1-link);
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		text-indent: -99em;
	}
}

/* ======================================================
// MARK: cards
// ====================================================== */

.card-1 {
	background-color: #fff;
	border-radius: 8px;
	border: 1px solid var(--color-15);
	padding: 24px 20px 26px;
	margin-top: 22px;
	box-shadow: 0 6px 20px rgba(120, 70, 70, 0.12);
}
.card-1-heading {
	padding-bottom: 1.4em;
    margin-bottom: 1em;
	border-bottom: 2px solid var(--red-dark);
}
.card-1-price {
	font-weight: 600;
	font-size: var(--fz-21);
	line-height: 1;
	margin: 0.1em 0 0;
}
.card-1-price small {
	font-family: var(--font-jp);
	font-size: 13px;
	font-weight: 500;
	margin-left: 2px;
}
.card-1-lead {
	font-size: 13.5px;
	color: var(--ink-soft);
	margin: 0 0 22px;
}


/* ======================================================
// MARK: labels
// ====================================================== */

.labels {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 3%;
	list-style: none;
	margin: 0 0 1em;
	padding: 0;

	> li {
		display: flex;
		justify-content: center;
		align-items: center;
		line-height: 1.3;
		margin-block: 0.3em;
		padding: 0.3em;
		border-radius: 3px;
		font-size: 10px;
		text-align: center;
	}
}


/* ======================================================
//  MARK: Tables
// ====================================================== */

.table {
	width: 100%;
}

.table-1 {
	border-top: 1px solid var(--color-table-border-1);
}

.table-1 th,
.table-1 td {
	padding: 1em .4em;
	vertical-align: middle;
	border-bottom: 1px solid var(--color-table-border-1)
}

.table-s th,
.table-s td {
	padding: 0.4em;
}

.table-th-bold th { font-weight: var(--fw-bold); }
.table-th-nowrap th { white-space: nowrap; }
.table-last-nowrap tr :last-child { white-space: nowrap; }
.table-last-right tr :last-child { text-align: right; }


/* ======================================================
//  MARK: Tabs
// ====================================================== */

.tabs-1 {
	list-style: none;
	margin: var(--gutter-xs) auto;
	padding: 0;
	display: grid;

	li {
		display: flex;
		
		&:first-child a {
			border-radius: 6px 0 0 6px;
			border-left: 1px solid var(--color-border-1);
		}
		&:last-child a {
			border-radius: 0 6px 6px 0;
			border-right: 1px solid var(--color-border-1);
		}

		+ li a {
			border-left: 1px solid var(--color-border-1);
		}
	}

	a {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		column-gap: 0.25em;
		line-height: 1.4;
		width: 100%;
		padding: 0.8em 0.2em;
		border-block: 1px solid var(--color-border-1);
		color: var(--color-font);

		&::before {
			content: '';
			display: block;
			width: 1.2em;
			height: 1.2em;
			margin-left: -1em;
			border-radius: 100px;
			background-color: var(--color-1);
			background-image: url(../img/icons/arrow-0.svg);
			background-repeat: no-repeat;
			background-position: 50% 50%;
			background-size: 7.7px auto;
			rotate: 90deg;
		}
	}
}

/* ======================================================
//  MARK: Accordion / checkbox
// ====================================================== */

.accordion-cbx {
	position: relative;
}

.accordion-cbx-state-controller {
	overflow: hidden;
	visibility: hidden;
	position: absolute;
	height: 0;
}

.accordion-cbx-state-controller:checked + .accordion-cbx-title label::before {
	content: '−';
	transform: rotate(540deg);
	border-radius: 100%;
	border-color: #ddd;
}

.accordion-cbx-state-controller:checked + .accordion-cbx-title + .accordion-cbx-body {
	grid-template-rows: 1fr;
}

.accordion-cbx-title {
	padding: 1em;
}

.accordion-cbx-title label {
	display: flex;
	align-items: center;
}

.accordion-cbx-title label::before {
	content: '＋';
	transition: 0.36s;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(6vw, 26px);
	height: min(6vw, 26px);
	margin-right: .8em;
	border-radius: 2px;
	/* border: 1px solid; */
	background-color: var(--color-1);
	color: #fff;
	font-size: min(4vw, 16px);
}

.accordion-cbx-body {
	display: grid; 
	grid-template-rows: 0fr;
	transition: 250ms grid-template-rows ease;
}

.accordion-cbx-body > div {
	overflow: hidden;
}

.accordion-cbx-body-inner {
	padding-inline: 1em;

	&::before {
		content: '';
		display: block;
		width: 100%;
		height: 1px;
		margin: 0 auto 1em;
		border-top: 1px solid var(--color-border-1);
	}
}

.accordion-cbx-body-close {
	text-align: right;
	line-height: 1;
	display: flex;
	justify-content: flex-end;
	margin-top: 6px;

	label {
		line-height: 1.2;
		padding: 5px 12px;
		border-top-left-radius: 6px;
		background-color: var(--color-7);
		color: #fff;
	}
}

.accordion-cbx-body-close label {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0.6em 1.7em;
	border-radius: 6px 6px 0 0;
	background-color: var(--color-4);
	color: #fff;
	font-size: var(--fz-11);
	text-transform: uppercase;
}

/* ======================================================
// MARK: HERO
// ====================================================== */

.hero {
	margin: 0;
}
.hero img {
	width: 100%;
}

.hero-1 {
	position: relative;
}
.hero-1::before {
	content: "";
	z-index: 1;
	position: absolute;
	inset: 0 50% 28% 0;
	background-image: linear-gradient(
		0deg,
		var(--red) 0%,
		var(--red) 89%,
		var(--red-dark-2) 89%,
		var(--red-dark-2) 100%
	);
}
.hero-1-image {
	overflow: hidden;
	z-index: 2;
	position: relative;
	width: 83.3333%;
	margin-left: auto;
	border-bottom-left-radius: 32px;
}
.hero-1-texts {
	z-index: 2;
	position: absolute;
	inset: 0;
	margin: 0;

	img {
		width: 100%;
	}
}
.hero-1-badge {
	z-index: 2;
	position: absolute;
	bottom: -6%;
	right: -1%;
	width: 50%;

	img {
		width: 100%;
	}
}

.hero-2 {
	container-type: inline-size;
	background-image: url(../img/bg/tx-4.svg);
	background-size: contain;
	background-repeat: no-repeat;
	position: relative;
}
.hero-2-image {
	overflow: hidden;
	z-index: 2;
	position: relative;
	width: 85.1cqw;
	margin-top: 6.666cqw;
	margin-left: 15cqw;
}
.hero-2-texts {
	z-index: 2;
	position: absolute;
	inset: 0;

	img {
		width: 100%;
	}
}

/* ======================================================
// MARK: SCHEDULE
// ====================================================== */

.schedule {
	container-type: inline-size;
	padding: 0 min(5.1cqw, 21px);
	margin-block: min(2.4cqw, 13px);
}
.schedule-days {
	margin: 1em auto 0;
	img {
		width: 100%;
	}
}

.venue {
	display: flex;
	gap: 4%;
	align-items: center;
	margin-top: 0.5em;
	margin-bottom: 1em;
}
.venue-image {
	width: 24%;
}
.venue-texts {
	width: 72%;
}
.venue-image img {
	object-fit: cover;
	border-radius: 6px;
	flex: none;
}
.venue .lbl {
	display: inline-block;
	background: var(--red);
	color: #fff;
	font-size: 11px;
	padding: 1px 8px;
	border-radius: 3px;
	margin-right: 0.4em;
	vertical-align: 2px;
	letter-spacing: 0.08em;
}
.venue .name {
	font-family: var(--font-mincho);
	font-weight: 600;
	font-size: 16px;
}
.venue .addr {
	font-size: 12px;
	color: var(--gray-text);
	line-height: 1.7;
	margin-top: 3px;
	margin-bottom: 0;
}

/* ======================================================
// MARK: EVENT
// ====================================================== */

.event-info {
	background: var(--event-bg);
	position: relative;
	overflow: hidden;
}

.event-flow-item {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
    background-color: #fff;
    border-radius: 8px;
    padding: 16px 19px;
    margin-top: 22px;

	+ .event-flow-item {
		margin-top: 20px;
	}

	+ .event-flow-item::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		transform: translate(0, -30px);
		display: block;
		width: 100%;
		height: 41px;
		margin: 0 auto;
		background-image: url(../img/icons/arrow-down-1.svg);
		background-size: 29px 41px;
		background-repeat: no-repeat;
		background-position: 50% 50%;
	}

	&:nth-child(even) {
		flex-direction: row-reverse;
	}
}

.event-flow-item-image {
	width: 33%;

	img {
		border-radius: 900px;
	}
}

.event-flow-item-texts {
	width: 64%;

	> * { margin: 0; }

	> * + p {
		margin-right: 0.5em;
	}
}


/* ======================================================
// MARK: Reason
// ====================================================== */

.reason-1 {
	position: relative;

	&::before {
		content: '';
		position: absolute;
		inset: 28% 0% 10% 8%;
		background-color: var(--color-8);
		background-image: url(../img/bg/tx-2.webp);
		background-size: 72px 72px;
	}
}

.reason-1-1 {
	position: relative;
	display: flex;
	margin-left: var(--gutter-counter-bleed);

	.image {
		width: 79%;
		margin-bottom: 0.4em;
	}

	.texts {
		writing-mode: vertical-rl;
		font-feature-settings: initial;
		text-orientation: upright;

		p {
			margin: 0 0 0 1em;
		}
	}
}

.reason-1-2 {
	position: relative;
	margin-right: var(--gutter-counter-bleed);

	.texts {
		position: absolute;
		bottom: 0;
		left: 0;
	}
}

.reason-2 {
	position: relative;

	&::before {
		content: '';
		position: absolute;
		inset: 38% -6% 34%;
		background-color: var(--color-16);
		background-image: url(../img/bg/tx-2.webp);
		background-size: 72px 72px;
	}
}

.reason-2-1 {
	position: relative;
	display: flex;
	justify-content: space-between;

	.image {
		width: 46%;
	}

	.texts {
		width: 49%;

		p {
			margin: 0 0 1em;
		}
	}
}

.reason-2-2 {
	position: relative;

	.image {
		width: 54%;
		margin-left: auto;
	}
}

/* ======================================================
// MARK: Colloection
// ====================================================== */

.collection-colors {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 10.5%;
}

.collection-color-circle {
	container-type: inline-size;
	line-height: 1.3;
	margin-block: .5em;

	&::before {
		content: '';
		display: block;
		width: 100cqw;
		height: 100cqw;
		border-radius: 100cqw;
		margin-bottom: 0.5em;
	}
}

.collection-c-1::before { background-image: var(--collection-c-1); }
.collection-c-2::before { background-image: var(--collection-c-2); }
.collection-c-3::before { background-image: var(--collection-c-3); }
.collection-c-4::before { background-image: var(--collection-c-4); }
.collection-c-5::before { background-image: var(--collection-c-5); }
.collection-c-6::before { background-image: var(--collection-c-6); }

.collection-brands {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 10.5%;
}

.collection-brand {
	line-height: 1.3;
	margin-block: .75em;

	img {
		margin-bottom: 0.5em;
		border-radius: 8px;
	}
}

/* ======================================================
// MARK: PLAN
// ====================================================== */

.plan {
	background: var(--plan-bg);
	position: relative;
	overflow: hidden;
}
.plan::before {
	width: 260px;
	height: 260px;
	right: -120px;
	top: 300px;
	background: radial-gradient(circle at 30% 30%, #dcc6c9, #e6d3d4 70%);
}
.plan > * {
	position: relative;
	z-index: 1;
}

.benefits {
	margin-inline: -10px;
	padding-bottom: 1em;
	border-radius: 8px;
	background-color: var(--color-18);
}

.benefit-list {
	list-style: none;
	margin: 1em 10px;
	padding: 0;
}
.benefit-list li {
	border-top: 1px solid var(--line);
	padding: 7px 9px;
	font-size: 13.5px;
	font-weight: 500;
}
.benefit-list li:last-child {
	border-bottom: 1px solid var(--line);
}
.benefit-notes {
	font-size: 11px;
	color: var(--gray-text);
	line-height: 1.7;
	margin: 14px 19px 1em;
}

.premium {
	background-image: url(../img/bg/tx-3.webp);
	background-position: 50% 19%;
	background-size: 704px 384px;
	color: #fff;
	border-radius: 4px;
	padding: 18px 20px;
	margin: 26px 0;
	text-align: center;
}
.premium .p {
	font-weight: 600;
	font-size: 28px;
	line-height: 1.1;
}
.premium .p small {
	font-family: var(--font-jp);
	font-size: 12px;
	font-weight: 500;
}

.plan .btn {
	margin-top: 26px;
}

/* ======================================================
//  MARK: FAQ
// ====================================================== */

.faq-section {
	border-radius: 4px;
	background-color: #fff;

	+ .faq-section {
		margin-top: 1em;
	}
}

.faq-section .accordion-cbx-title {
	padding: 1em;
}

.faq-item {
	margin: 0 1em;
	padding-inline: 1em;
	border-top: 1px solid var(--color-border-1);
}


/* ======================================================
//  MARK: Util's
// ====================================================== */

.image-note {
	position: absolute;
	bottom: 4%;
	right: 4%;
	line-height: 1.5;
	padding: 0.1em 0.8em;
	background-color: rgb(255 255 255 / 0.5);
	font-size: var(--fz-09);
}

.separator {
	margin-bottom: min(40vw, 300px);
}
.full-bleed { margin-right: var(--gutter-counter-bleed); margin-left: var(--gutter-counter-bleed); }
.right-hand-bleed { margin-right: var(--gutter-counter-bleed);}
.left-hand-bleed { margin-left: var(--gutter-counter-bleed);}

.p-xxs { padding: var(--gutter-xxs); }
.p-v-xxs { padding-top: var(--gutter-xxs); padding-bottom: var(--gutter-xxs); }
.p-h-xxs { padding-right: var(--gutter-xxs); padding-left: var(--gutter-xxs); }
.p-t-xxs { padding-top: var(--gutter-xxs); }
.p-b-xxs { padding-bottom: var(--gutter-xxs); }
.p-r-xxs { padding-right: var(--gutter-xxs); }
.p-l-xxs { padding-left: var(--gutter-xxs); }

.p-xs { padding: var(--gutter-xs); }
.p-v-xs { padding-top: var(--gutter-xs); padding-bottom: var(--gutter-xs); }
.p-h-xs { padding-right: var(--gutter-xs); padding-left: var(--gutter-xs); }
.p-t-xs { padding-top: var(--gutter-xs); }
.p-b-xs { padding-bottom: var(--gutter-xs); }
.p-r-xs { padding-right: var(--gutter-xs); }
.p-l-xs { padding-left: var(--gutter-xs); }

.p-s { padding: var(--gutter-s); }
.p-v-s { padding-top: var(--gutter-s); padding-bottom: var(--gutter-s); }
.p-h-s { padding-right: var(--gutter-s); padding-left: var(--gutter-s); }
.p-t-s { padding-top: var(--gutter-s); }
.p-b-s { padding-bottom: var(--gutter-s); }
.p-r-s { padding-right: var(--gutter-s); }
.p-l-s { padding-left: var(--gutter-s); }

.p-m { padding: var(--gutter-m); }
.p-v-m { padding-top: var(--gutter-m); padding-bottom: var(--gutter-m); }
.p-h-m { padding-right: var(--gutter-m); padding-left: var(--gutter-m); }
.p-t-m { padding-top: var(--gutter-m); }
.p-b-m { padding-bottom: var(--gutter-m); }
.p-r-m { padding-right: var(--gutter-m); }
.p-l-m { padding-left: var(--gutter-m); }

.p-l { padding: var(--gutter-l); }
.p-v-l { padding-top: var(--gutter-l); padding-bottom: var(--gutter-l); }
.p-h-l { padding-right: var(--gutter-l); padding-left: var(--gutter-l); }
.p-t-l { padding-top: var(--gutter-l); }
.p-b-l { padding-bottom: var(--gutter-l); }
.p-r-l { padding-right: var(--gutter-l); }
.p-l-l { padding-left: var(--gutter-l); }

.p-v-1 { padding-top: 1px; padding-bottom: 1px; }
.p-h-0 { padding-inline: 0; }
.p-t-1 { padding-top: 1px; }
.p-b-1 { padding-bottom: 1px; }
.p-r-1 { padding-right: 1px; }
.p-l-1 { padding-left: 1px; }
.p-t-0 { padding-top: 0; }
.p-b-0 { padding-bottom: 0; }
.p-r-0 { padding-right: 0; }
.p-l-0 { padding-left: 0; }

.p-v-1em { padding-block: 1em; }
.p-v-4 { padding-block: 4px; }
.p-t-30p { padding-top: 30%; }
.p-h-5p { padding-inline: 5%; }

.g-h-a { margin-inline: auto; }

.g-v-xxs { margin-top: var(--gutter-xxs); margin-bottom: var(--gutter-xxs); }
.g-h-xxs { margin-right: var(--gutter-xxs); margin-left: var(--gutter-xxs); }
.g-t-xxs { margin-top: var(--gutter-xxs); }
.g-b-xxs { margin-bottom: var(--gutter-xxs); }
.g-r-xxs { margin-right: var(--gutter-xxs); }
.g-l-xxs { margin-left: var(--gutter-xxs); }

.g-v-xs { margin-top: var(--gutter-xs); margin-bottom: var(--gutter-xs); }
.g-h-xs { margin-right: var(--gutter-xs); margin-left: var(--gutter-xs); }
.g-t-xs { margin-top: var(--gutter-xs); }
.g-b-xs { margin-bottom: var(--gutter-xs); }
.g-r-xs { margin-right: var(--gutter-xs); }
.g-l-xs { margin-left: var(--gutter-xs); }

.g-v-s { margin-top: var(--gutter-s); margin-bottom: var(--gutter-s); }
.g-h-s { margin-right: var(--gutter-s); margin-left: var(--gutter-s); }
.g-t-s { margin-top: var(--gutter-s); }
.g-b-s { margin-bottom: var(--gutter-s); }
.g-r-s { margin-right: var(--gutter-s); }
.g-l-s { margin-left: var(--gutter-s); }

.g-v-m { margin-top: var(--gutter-m); margin-bottom: var(--gutter-m); }
.g-h-m { margin-right: var(--gutter-m); margin-left: var(--gutter-m); }
.g-t-m { margin-top: var(--gutter-m); }
.g-b-m { margin-bottom: var(--gutter-m); }
.g-r-m { margin-right: var(--gutter-m); }
.g-l-m { margin-left: var(--gutter-m); }

.g-v-l { margin-top: var(--gutter-l); margin-bottom: var(--gutter-l); }
.g-h-l { margin-right: var(--gutter-l); margin-left: var(--gutter-l); }
.g-t-l { margin-top: var(--gutter-l); }
.g-b-l { margin-bottom: var(--gutter-l); }
.g-r-l { margin-right: var(--gutter-l); }
.g-l-l { margin-left: var(--gutter-l); }

.g-h--9p { margin-right: -9%; margin-left: -9%; }
.g-h--8p { margin-right: -8%; margin-left: -8%; }
.g-h--6p { margin-right: -6%; margin-left: -6%; }
.g-h--4p { margin-right: -4%; margin-left: -4%; }

.g-v-0 { margin-block: 0; }
.g-h-0 { margin-inline: 0; }
.g-t-0 { margin-top: 0; }
.g-b-0 { margin-bottom: 0; }
.g-r-0 { margin-right: 0; }
.g-l-0 { margin-left: 0; }

.g-t--1 { margin-top: -1px; }
.g-t--1em { margin-top: -1em; }
.g-t--2em { margin-top: -2em; }

.g-r-2 { margin-right: 2px; }

/* width 1 - 100% */
.w-1p { width: 1%; } .w-2p { width: 2%; } .w-3p { width: 3%; } .w-4p { width: 4%; } .w-5p { width: 5%; } .w-6p { width: 6%; } .w-7p { width: 7%; } .w-8p { width: 8%; } .w-9p { width: 9%; } .w-10p { width: 10%; } .w-11p { width: 11%; } .w-12p { width: 12%; } .w-13p { width: 13%; } .w-14p { width: 14%; } .w-15p { width: 15%; } .w-16p { width: 16%; } .w-17p { width: 17%; } .w-18p { width: 18%; } .w-19p { width: 19%; } .w-20p { width: 20%; } .w-21p { width: 21%; } .w-22p { width: 22%; } .w-23p { width: 23%; } .w-24p { width: 24%; } .w-25p { width: 25%; } .w-26p { width: 26%; } .w-27p { width: 27%; } .w-28p { width: 28%; } .w-29p { width: 29%; } .w-30p { width: 30%; } .w-31p { width: 31%; } .w-32p { width: 32%; } .w-33p { width: 33%; } .w-34p { width: 34%; } .w-35p { width: 35%; } .w-36p { width: 36%; } .w-37p { width: 37%; } .w-38p { width: 38%; } .w-39p { width: 39%; } .w-40p { width: 40%; } .w-41p { width: 41%; } .w-42p { width: 42%; } .w-43p { width: 43%; } .w-44p { width: 44%; } .w-45p { width: 45%; } .w-46p { width: 46%; } .w-47p { width: 47%; } .w-48p { width: 48%; } .w-49p { width: 49%; } .w-50p { width: 50%; } .w-51p { width: 51%; } .w-52p { width: 52%; } .w-53p { width: 53%; } .w-54p { width: 54%; } .w-55p { width: 55%; } .w-56p { width: 56%; } .w-57p { width: 57%; } .w-58p { width: 58%; } .w-59p { width: 59%; } .w-60p { width: 60%; } .w-61p { width: 61%; } .w-62p { width: 62%; } .w-63p { width: 63%; } .w-64p { width: 64%; } .w-65p { width: 65%; } .w-66p { width: 66%; } .w-67p { width: 67%; } .w-68p { width: 68%; } .w-69p { width: 69%; } .w-70p { width: 70%; } .w-71p { width: 71%; } .w-72p { width: 72%; } .w-73p { width: 73%; } .w-74p { width: 74%; } .w-75p { width: 75%; } .w-76p { width: 76%; } .w-77p { width: 77%; } .w-78p { width: 78%; } .w-79p { width: 79%; } .w-80p { width: 80%; } .w-81p { width: 81%; } .w-82p { width: 82%; } .w-83p { width: 83%; } .w-84p { width: 84%; } .w-85p { width: 85%; } .w-86p { width: 86%; } .w-87p { width: 87%; } .w-88p { width: 88%; } .w-89p { width: 89%; } .w-90p { width: 90%; } .w-91p { width: 91%; } .w-92p { width: 92%; } .w-93p { width: 93%; } .w-94p { width: 94%; } .w-95p { width: 95%; } .w-96p { width: 96%; } .w-97p { width: 97%; } .w-98p { width: 98%; } .w-99p { width: 99%; } .w-100p { width: 100%; }
.h-100p { height: 100%; }
.h-20 { height: 20px; }
.h-30 { height: 30px; }
.h-40p { height: 40%; }
.h-78p { height: 78%; }
.h-90p { height: 90%; }

.max-w-400 { max-width: 400px; }

.min-h-350 { min-height: 350px; }

.z-0 { z-index: 0; } .z-1 { z-index: 1; } .z-2 { z-index: 2; } .z-3 { z-index: 3; } .z-4 { z-index: 4; } .z-5 { z-index: 5; } .z-6 { z-index: 6; } .z-7 { z-index: 7; } .z-8 { z-index: 8; } .z-9 { z-index: 9; } .z-10 { z-index: 10; }

.pos-r { position: relative; }
.pos-a { position: absolute; }

.d-b { display: block; } .d-i { display: inline; } .d-ib { display: inline-block; } .d-f { display: flex; } .d-if { display: inline-flex; } .d-g { display: grid; }
.ai-bl { align-items: baseline; }
.ai-c { align-items: center; }
.ai-fs { align-items: flex-start; }
.ai-fe { align-items: flex-end; }
.jc-c { justify-content: center; }
.jc-fs { justify-content: flex-start; }
.jc-fe { justify-content: flex-end; }
.jc-sa { justify-content: space-around; }
.jc-sb { justify-content: space-between; }
.as-s { align-self: stretch; }
.as-c { align-self: center; }
.as-fs { align-self: flex-start; }
.as-fe { align-self: flex-end; }
.fxw-n { flex-wrap: nowrap; }
.fxw-w { flex-wrap: wrap; }
.fxd-r { flex-direction: row; }
.fxd-rr { flex-direction: row-reverse; }
.fxd-c { flex-direction: column; }
.fxd-cr { flex-direction: column-reverse; }

.ov-h { overflow: hidden; }

.t-0 { top: 0; }
.b-0 { bottom: 0; }
.r-0 { right: 0; }
.l-0 { left: 0; }
.l-50p { left: 50%; }

.translate-x--50p { transform: translateX(-50%); }
.translate-y--50p { transform: translateY(-50%); }
.translate-x-50p { transform: translateX(50%); }
.translate-y-50p { transform: translateY(50%); }
.translate--50p-50p { transform: translate(-50%, 50%); }
.translate--50p--50p { transform: translate(-50%, -50%); }

.rotate-4 { transform: rotate(4deg); }

.grid-col-1 { grid-template-columns: repeat(1, 1fr); }
.grid-col-2 { grid-template-columns: repeat(2, 1fr); }
.grid-col-3 { grid-template-columns: repeat(3, 1fr); }
.grid-col-4 { grid-template-columns: repeat(4, 1fr); }
.grid-col-5 { grid-template-columns: repeat(5, 1fr); }
.grid-col-6 { grid-template-columns: repeat(6, 1fr); }

.gap-4cqw { gap: 4cqw; }

.gap-h-1p { column-gap: 1%; }
.gap-h-2p { column-gap: 2%; }
.gap-h-3p { column-gap: 3%; }
.gap-h-4p { column-gap: 4%; }
.gap-h-5p { column-gap: 5%; }
.gap-h-6p { column-gap: 6%; }
.gap-h-7p { column-gap: 7%; }
.gap-h-8p { column-gap: 8%; }
.gap-h-9p { column-gap: 9%; }
.gap-h-10p { column-gap: 10%; }
.gap-h-11p { column-gap: 11%; }
.gap-h-12p { column-gap: 12%; }
.gap-h-13p { column-gap: 13%; }
.gap-h-14p { column-gap: 14%; }
.gap-h-15p { column-gap: 15%; }
.gap-h-16p { column-gap: 16%; }

.flex-fit-content > * { flex: 1 0 fit-content; }

.shadow-none { box-shadow: none; }

.auto-counter {
	counter-reset: num 0;

	.num {

		&::before {
			counter-increment: num 1;
			content: counter(num);
			display: inline-flex;
			justify-content: center;
			align-items: center;
			line-height: 1;
			width: 1.7em;
			height: 1.7em;
			border-radius: 3px;
			background-color: var(--color-1);
			color: #fff;
		}
	}
}


/* ======================================================
//  MARK: Texts
// ====================================================== */

.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }

.whs-nw { white-space: nowrap; }
.whs-w { white-space: wrap; }

.lts-1 { letter-spacing: 0.025em; }

.lh-1_0 { line-height: 1; }
.lh-1_1 { line-height: 1.1; }
.lh-1_2 { line-height: 1.2; }
.lh-1_3 { line-height: 1.3; }
.lh-1_4 { line-height: 1.4; }
.lh-1_5 { line-height: 1.5; }
.lh-1_6 { line-height: 1.6; }
.lh-1_7 { line-height: 1.7; }
.lh-1_8 { line-height: 1.8; }
.lh-1_9 { line-height: 1.9; }
.lh-2_0 { line-height: 2; }
.lh-2_1 { line-height: 2.1; }
.lh-2_2 { line-height: 2.2; }
.lh-2_3 { line-height: 2.3; }
.lh-2_4 { line-height: 2.4; }

.fw-n { font-weight: var(--fw-normal); }
.fw-b { font-weight: var(--fw-bold); }

.fz-10p { font-size: 10%; }
.fz-20p { font-size: 20%; }
.fz-30p { font-size: 30%; }
.fz-40p { font-size: 40%; }
.fz-50p { font-size: 50%; }
.fz-60p { font-size: 60%; }
.fz-70p { font-size: 70%; }
.fz-80p { font-size: 80%; }
.fz-90p { font-size: 90%; }
.fz-100p { font-size: 100%; }
.fz-110p { font-size: 110%; }
.fz-120p { font-size: 120%; }
.fz-130p { font-size: 130%; }
.fz-140p { font-size: 140%; }
.fz-150p { font-size: 150%; }
.fz-160p { font-size: 160%; }
.fz-170p { font-size: 170%; }
.fz-180p { font-size: 180%; }
.fz-190p { font-size: 190%; }
.fz-200p { font-size: 200%; }
.fz-210p { font-size: 210%; }
.fz-220p { font-size: 220%; }
.fz-230p { font-size: 230%; }
.fz-240p { font-size: 240%; }
.fz-250p { font-size: 250%; }
.fz-260p { font-size: 260%; }
.fz-270p { font-size: 270%; }
.fz-280p { font-size: 280%; }
.fz-290p { font-size: 290%; }
.fz-300p { font-size: 300%; }
.fz-310p { font-size: 310%; }
.fz-320p { font-size: 320%; }

.fz-09 { font-size: var(--fz-09); }
.fz-10 { font-size: var(--fz-10); }
.fz-11 { font-size: var(--fz-11); }
.fz-12 { font-size: var(--fz-12); }
.fz-13 { font-size: var(--fz-13); }
.fz-14 { font-size: var(--fz-14); }
.fz-15 { font-size: var(--fz-15); }
.fz-16 { font-size: var(--fz-16); }
.fz-17 { font-size: var(--fz-17); }
.fz-18 { font-size: var(--fz-18); }
.fz-19 { font-size: var(--fz-19); }
.fz-20 { font-size: var(--fz-20); }
.fz-21 { font-size: var(--fz-21); }
.fz-22 { font-size: var(--fz-22); }
.fz-23 { font-size: var(--fz-23); }
.fz-24 { font-size: var(--fz-24); }

.text-0 { color: var(--color-font); }
.text-fff { color: #fff !important; }
.text-1 { color: var(--color-1, #aaa); }
.text-2 { color: var(--color-2, #aaa); }
.text-3 { color: var(--color-3, #aaa); }
.text-4 { color: var(--color-4, #aaa); }
.text-5 { color: var(--color-5, #aaa); }
.text-6 { color: var(--color-6, #aaa); }
.text-7 { color: var(--color-7, #aaa); }
.text-8 { color: var(--color-8, #aaa); }
.text-9 { color: var(--color-9, #aaa); }
.text-10 { color: var(--color-10, #aaa); }
.text-11 { color: var(--color-11, #aaa); }
.text-12 { color: var(--color-12, #aaa); }
.text-13 { color: var(--color-13, #aaa); }
.text-14 { color: var(--color-14, #aaa); }
.text-15 { color: var(--color-15, #aaa); }
.text-16 { color: var(--color-16, #aaa); }
.text-17 { color: var(--color-17, #aaa); }
.text-18 { color: var(--color-18, #aaa); }
.text-19 { color: var(--color-19, #aaa); }
.text-20 { color: var(--color-20, #aaa); }

.text-marker-1 { background-image: linear-gradient(0deg, var(--color-1, #aaa) 50%, transparent 50%); }
.text-marker-2 { background-image: linear-gradient(0deg, var(--color-2, #aaa) 50%, transparent 50%); }
.text-marker-3 { background-image: linear-gradient(0deg, var(--color-3, #aaa) 50%, transparent 50%); }
.text-marker-4 { background-image: linear-gradient(0deg, var(--color-4, #aaa) 50%, transparent 50%); }
.text-marker-5 { background-image: linear-gradient(0deg, var(--color-5, #aaa) 50%, transparent 50%); }
.text-marker-6 { background-image: linear-gradient(0deg, var(--color-6, #aaa) 50%, transparent 50%); }
.text-marker-7 { background-image: linear-gradient(0deg, var(--color-7, #aaa) 50%, transparent 50%); }
.text-marker-8 { background-image: linear-gradient(0deg, var(--color-8, #aaa) 50%, transparent 50%); }
.text-marker-9 { background-image: linear-gradient(0deg, var(--color-9, #aaa) 50%, transparent 50%); }
.text-marker-10 { background-image: linear-gradient(0deg, var(--color-10, #aaa) 50%, transparent 50%); }
.text-marker-11 { background-image: linear-gradient(0deg, var(--color-11, #aaa) 50%, transparent 50%); }
.text-marker-12 { background-image: linear-gradient(0deg, var(--color-12, #aaa) 50%, transparent 50%); }
.text-marker-13 { background-image: linear-gradient(0deg, var(--color-13, #aaa) 50%, transparent 50%); }
.text-marker-14 { background-image: linear-gradient(0deg, var(--color-14, #aaa) 50%, transparent 50%); }
.text-marker-15 { background-image: linear-gradient(0deg, var(--color-15, #aaa) 50%, transparent 50%); }
.text-marker-16 { background-image: linear-gradient(0deg, var(--color-16, #aaa) 50%, transparent 50%); }
.text-marker-17 { background-image: linear-gradient(0deg, var(--color-17, #aaa) 50%, transparent 50%); }
.text-marker-18 { background-image: linear-gradient(0deg, var(--color-18, #aaa) 50%, transparent 50%); }
.text-marker-19 { background-image: linear-gradient(0deg, var(--color-19, #aaa) 50%, transparent 50%); }
.text-marker-20 { background-image: linear-gradient(0deg, var(--color-20, #aaa) 50%, transparent 50%); }

.text-uppercase { text-transform: uppercase; }
.text-lowercase { text-transform: lowercase; }
.text-capitalize { text-transform: capitalize; }


.text-vertical {
	writing-mode: vertical-rl;
	font-feature-settings: initial;

	a {
		text-decoration: overline;
	}
}

.text-orientation-upright {
	text-orientation: upright;
}

.text-combine {
	-webkit-text-combine: horizontal;
	-ms-text-combine-horizontal: all;
	text-combine-upright: all;
}

/* ======================================================
//  MARK: Backgrounds
// ====================================================== */

.bg-tx-1 {
	background-image: url(../img/bg/tx-1.svg);
	background-size: 100% auto;
}
.bg-tx-2 {
	background-image: url(../img/bg/tx-2.webp);
	background-size: 72px 72px;
}
.bg-tx-3 {
	background-image: url(../img/bg/tx-3.webp);
	background-size: 704px 384px;
}
.bg-tx-4 {
	background-image: url(../img/bg/tx-4.svg);
	background-size: contain;
}
.bg-arc-1 {
	background-image: url(../img/bg/arc-1.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.bg-frame-1 {
	position: relative;

	&::before,
	&::after {
		content: '';
		position: absolute;
        corner-shape: scoop;
        border-radius: 12px;
	}

	&::before {
		z-index: 0;
		inset: 16px;
		background-color: rgb(255 255 255 / 0.5);
	}

	&::after {
		inset: 20px;
        border: 1px solid hsl(41.43deg 33.87% 51.37% / 77%);
	}
}

.bg-0 { background-color: var(--color-bg); }
.bg-1 { background-color: var(--color-1, #aaa); }
.bg-2 { background-color: var(--color-2, #aaa); }
.bg-3 { background-color: var(--color-3, #aaa); }
.bg-4 { background-color: var(--color-4, #aaa); }
.bg-5 { background-color: var(--color-5, #aaa); }
.bg-6 { background-color: var(--color-6, #aaa); }
.bg-7 { background-color: var(--color-7, #aaa); }
.bg-8 { background-color: var(--color-8, #aaa); }
.bg-9 { background-color: var(--color-9, #aaa); }
.bg-10 { background-color: var(--color-10, #aaa); }
.bg-11 { background-color: var(--color-11, #aaa); }
.bg-12 { background-color: var(--color-12, #aaa); }
.bg-13 { background-color: var(--color-13, #aaa); }
.bg-14 { background-color: var(--color-14, #aaa); }
.bg-15 { background-color: var(--color-15, #aaa); }
.bg-16 { background-color: var(--color-16, #aaa); }
.bg-17 { background-color: var(--color-17, #aaa); }
.bg-18 { background-color: var(--color-18, #aaa); }
.bg-19 { background-color: var(--color-19, #aaa); }
.bg-20 { background-color: var(--color-20, #aaa); }

.bg-gradient-1 { background-image: var(--gradient-1); }

.bg-fff { background-color: #fff; }
.bg-transparent { background-color: transparent; }
.bgz-contain { background-size: contain; }
.bgz-cover { background-size: cover; }

/* ======================================================
//  MARK: Borders
// ====================================================== */

.border { border: 1px solid;}
.border-1 { border: 1px solid var(--color-border-1); }

.border-t { border-top: 1px solid;}
.border-b { border-bottom: 1px solid;}
.border-r { border-right: 1px solid;}
.border-l { border-left: 1px solid;}
.border-t-1 { border-top: 1px solid var(--color-border-1);}
.border-b-1 { border-bottom: 1px solid var(--color-border-1);}
.border-r-1 { border-right: 1px solid var(--color-border-1);}
.border-l-1 { border-left: 1px solid var(--color-border-1);}

.border-t-dashed-1 { border-top: 1px dashed rgba(0, 0, 0, 0.18); }
.border-b-dashed-1 { border-bottom: 1px dashed rgba(0, 0, 0, 0.18); }

.border-c-0 { border-color: var(--color-bg); }
.border-c-1 { border-color: var(--color-1, #aaa); }
.border-c-2 { border-color: var(--color-2, #aaa); }
.border-c-3 { border-color: var(--color-3, #aaa); }
.border-c-4 { border-color: var(--color-4, #aaa); }
.border-c-5 { border-color: var(--color-5, #aaa); }
.border-c-6 { border-color: var(--color-6, #aaa); }
.border-c-7 { border-color: var(--color-7, #aaa); }
.border-c-8 { border-color: var(--color-8, #aaa); }
.border-c-9 { border-color: var(--color-9, #aaa); }
.border-c-10 { border-color: var(--color-10, #aaa); }
.border-c-11 { border-color: var(--color-11, #aaa); }
.border-c-12 { border-color: var(--color-12, #aaa); }
.border-c-13 { border-color: var(--color-13, #aaa); }
.border-c-14 { border-color: var(--color-14, #aaa); }
.border-c-15 { border-color: var(--color-15, #aaa); }
.border-c-16 { border-color: var(--color-16, #aaa); }
.border-c-17 { border-color: var(--color-17, #aaa); }
.border-c-18 { border-color: var(--color-18, #aaa); }
.border-c-19 { border-color: var(--color-19, #aaa); }
.border-c-20 { border-color: var(--color-20, #aaa); }
.border-c-fff { border-color: #fff; }

.border-t-n { border-top: none; }
.border-b-n { border-bottom: none; }
.border-r-n { border-right: none; }
.border-l-n { border-left: none; }
.border-n { border: none; }
.border-c-tp { border-color: transparent; }

/* ======================================================
//  MARK: Radius
// ====================================================== */

.radius-0 { border-radius: 0; }
.radius-1 { border-radius: 1px; }
.radius-2 { border-radius: 2px; }
.radius-3 { border-radius: 3px; }
.radius-4 { border-radius: 4px; }
.radius-5 { border-radius: 5px; }
.radius-6 { border-radius: 6px; }
.radius-7 { border-radius: 7px; }
.radius-8 { border-radius: 8px; }
.radius-9 { border-radius: 9px; }
.radius-10 { border-radius: 10px; }
.radius-11 { border-radius: 11px; }
.radius-12 { border-radius: 12px; }
.radius-13 { border-radius: 13px; }
.radius-14 { border-radius: 14px; }
.radius-15 { border-radius: 15px; }
.radius-16 { border-radius: 16px; }
.radius-17 { border-radius: 17px; }
.radius-18 { border-radius: 18px; }
.radius-19 { border-radius: 19px; }
.radius-20 { border-radius: 20px; }
.radius-300 { border-radius: 300px; }
.radius-100p { border-radius: 100%; }

.radius-tl-br-m { border-radius: var(--radius-m) 0; }
.radius-tr-bl-m { border-radius: 0 var(--radius-m); }

/* ======================================================
// MARK: Simplelightbox
// ====================================================== */

.sl-wrapper { background-color: rgba(0, 0, 0, .8); }
.sl-wrapper .sl-close,
.sl-wrapper .sl-counter { color: #fff; }
.sl-wrapper .sl-image .sl-caption { transform: translate(0, 100%); }

/* ======================================================
// MARK: responsive tweaks
// ====================================================== */

@media (min-width: 520px) {
	body {
		padding: 24px 0;
	}
	.wrap {
		border-radius: 16px;
	}
	.header-alternation-fixed {
		height: calc(var(--header-height) + var(--header-text-height) - 24px);
	}
}
