@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

:root {
	--white: #fff;
	--base-brown: #8a7463;
	--base-orange: #ecb760;
}

/* PC */
@media (min-width: 769px) {
	html {
		--pc-view: calc(100vw / ( 769 / 1 ));
		font-size: min(var(--pc-view), 1px);
	}
	header,
	main,
	footer {
		width: 450rem;
		margin-inline: auto;
	}
	.sp_only {
		display: none !important;
	}
}
/* SP */
@media (max-width: 768px) {
	html {
		font-size: calc(100vw / ( 450 / 1 ));
	}
	.pc_only {
		display: none !important;
	}
}

/* 基本設定 */
body {
	font-size: 100%;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	letter-spacing: .05em;
	line-height: 1.5;
	text-align: left;
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
	margin: 0;
	padding: 0;
	position: relative;
	overflow-x: clip
}
*,
*:before,
*:after {
	box-sizing: border-box
}
th,
td {
	border: none;
}
img,
iframe {
	display: block;
}
img {
	width: 100%;
	max-width: 100%;
	height: auto;
}
i {
	font-style: normal;
}
u {
	text-decoration: none;
}

header {
	display: flex;
	align-items: center;
	position: fixed;
	inset: 0 0 auto;
	z-index: 999;
}
main,
footer {
	position: relative;
}
main {
	min-height: 100vh;
}

/* ACUSISiframe高さ最小値 */
.acusisIframe {
	min-height: 800rem !important;
}
/* アニメーション */
.ani_over,
.ani_over::before,
.ani_over::after {
	transition: all .3s ease-out;
}
/* フォント */
.fig {
	font-family: "Figtree", sans-serif;
}
.ta_center {
	text-align: center;
}
.ta_right {
	text-align: right;
}
/* 正方形 */
.square {
	aspect-ratio: 1 / 1;
}
/* 角丸 */
.round {
	border-radius: 100vmax;

	/* 角丸ボタン */
	&.btn {
		display: grid;
		place-content: center;
	}
}
.round_5 {
	border-radius: 5rem;
}
.round_10 {
	border-radius: 10rem;
}
.round_20 {
	border-radius: 20rem;
}
/* 傍点 */
.dot {
	position: relative;

	&::before {
		content: '';
		aspect-ratio: 1 / 1;
		border-radius: 100vmax;
		margin-inline: auto;
		position: absolute;
		inset: 0 0 auto;
	}
}
/* スラッシュ囲み見出し */
.slash {
	display: inline-block;
	position: relative;

	&::before,
	&::after {
		content: '';
		margin-block: auto;
		position: absolute;
		inset: 0 auto;
	}
	&::before {
		left: 0;
	}
	&::after {
		right: 0;
	}
}
/* 袋文字 */
.outline {
	paint-order: stroke;
}
/* アコーディオン */
.acc-trigger {
	position: relative;
	cursor: pointer;

	&::before,
	&::after {
		content: '';
		width: 20rem;
		height: 1px;
		margin-block: auto;
		position: absolute;
		inset: 0 0 0 auto;
	}
	&::before {
		rotate: -90deg;
	}
	&.open::before {
		background-color: transparent;
		rotate: 0deg;
	}
}
.acc-content {
	display: none;
}