@charset "UTF-8";
:root {
	--gold: #C9A96E;
	--gold-light: #E8D5A8;
	--gold-pale: #F5EDD8;
	--gold2: #AA9D79;
	--gold3: #675524;
	--dark: #0E0D0B;
	--dark-2: #242422;
	--dark-3: #1E1B16;
	--dark-4: #252118;
	--grey: #707070;
	--warm-gray: #9B9389;
	--cream: #F0EAE0;
	--text-muted: #6B6358;
	--white: #fff;
	--border: rgba(201, 169, 110, 0.2);
	--grad-brw: linear-gradient(135deg, rgba(118,100,76,1) 0%,rgba(59,50,38,1) 100%);
	--easeInQuad: cubic-bezier(.55, .085, .68, .53);
	--easeInQuint: cubic-bezier(0.0, 0, 0.99, 0);
	--easeOutQuad: cubic-bezier(0.23, 1, 0.32, 1);
	--easeOutQuint: cubic-bezier(.25, .46, .45, .94);
	--easeOutSine: cubic-bezier(0.39, 0.575, 0.565, 1);
	--easeOutCubic: cubic-bezier(0.215, 0.61, 0.355, 1);
	--easeInOutQuad: cubic-bezier(0.45, 0, 0.55, 1);
	--easeInOutCubic: cubic-bezier(0.65, 0, 0.35, 1);
}

/*--------------------------------
reset
--------------------------------*/
html, body, div, p, img, iframe, a, span, blockquote, q, address, cite,
pre, code, em, small, strong, b, i,
header, article, section, nav, figure, figcaption, hgroup, menu, aside, footer, time,
h1, h2, h3, h4, h5, h6,
ul, ol, li, dl, dt, dd,
table, tbody, thead, tfoot, th, tr, td,
form, fieldset, legend, label, select, input, textarea, button {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	vertical-align: baseline;
}

header, article, section, nav, figure, figcaption, hgroup, menu, aside, footer {
	display: block;
}

ul li {
	list-style-type: none;
}

a {
	text-decoration: none;
}

img {
	vertical-align: middle;
}

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

sup,
sub {
	font-size: xx-small;
}

select, option, input:not([type=checkbox]):not([type=radio]), textarea, button {
	font-family: inherit;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
}

blockquote::before, blockquote::after, q::before, q::after {
	content: "";
	content: none;
}

[type=submit], [type=button], [type=reset], [type=file], button {
	cursor: pointer;
}

:focus {
	outline: none;
}

html {
	font-size: 62.5%;
}

body {
	margin: 0;
	padding: 0;
	font-size: 1.6rem;
}

body {
	background: var(--dark-2);
	color: #E8E0D4;
	font-family: "MFW-YuMinPr6N-Regular", serif;
	font-weight: 300;
	line-height: 1.8;
	font-size: 1.6rem;
	overflow-x: hidden;
}

img {
	max-width: 100%;
	transition: 0.3s;
}

.fit-img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}

main {
	display: block;
	position: relative;
	overflow: clip;
}

@media screen and (max-width: 767px) {
	.u-pc-only {
		display: none !important;
	}
}
@media screen and (min-width: 768px) {
	.u-sp-only {
		display: none !important;
	}
}
.u-none {
	display: none !important;
}

@keyframes fadeUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 25px 45px;
	backdrop-filter: blur(12px);
	transition: 0.3s;
}
@media screen and (max-width: 767px) {
	header {
		padding: 15px 7.5%;
	}
}

.nav-logo {
	font-family: "itc-benguiat-condensed", sans-serif;
	color: var(--gold2);
	font-size: clamp(2.1rem, 1.96rem + 0.4375vw, 2.8rem);
	letter-spacing: 0.1em;
	text-decoration: none;
	position: relative;
	z-index: 100;
}
.nav-sep {
	width: 0.5px;
	height: 14px;
	display: inline-block;
	margin: 0 0.5rem;
	vertical-align: middle;
}
@media screen and (max-width: 1000px) {
	.nav-sep {
		display: none;
	}
}
.nav-links {
	display: flex;
	gap: clamp(2rem, 1.6rem + 1.25vw, 4rem);
	align-items: center;
}
@media screen and (max-width: 767px) {
	.nav-links {
		column-count: 2;
		padding-block-start: 35%;
	}
}
.nav-links a {
	font-size: clamp(1.4rem, 1.36rem + 0.125vw, 1.6rem);
	font-family: "Cinzel", serif;
	color: var(--warm-gray);
	text-decoration: none;
	transition: color 0.3s;
}
@media screen and (max-width: 767px) {
	.nav-links a {
		display: block;
		width: 100%;
		font-size: 2rem;
		color: var(--gold2);
		margin-block-end: 20px;
	}
}
.nav-links a:hover {
	color: var(--gold-light);
}
.nav-links a.active {
	color: var(--gold);
}
.nav-links a.nav-sub {
	color: var(--text-muted);
	font-size: 0.68rem;
}
.nav-links a.nav-sub:hover {
	color: var(--gold-light);
}
.nav-links a.-break {
	break-before: column;
}
.nav-links a.-blog {
	display: flex;
	align-items: center;
	gap: 5px;
}
.nav-links a.-blog:after {
	content: "";
	width: 10px;
	height: 10px;
	display: inline-block;
	transform: translateY(-2px);
	background-size: cover;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210.287%22%20height%3D%2210.083%22%20viewBox%3D%220%200%2010.287%2010.083%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_5%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%205%22%20transform%3D%22matrix(0.588%2C%20-0.809%2C%200.809%2C%200.588%2C%20-828.415%2C%20990.348)%22%3E%20%3Cg%20id%3D%22Icon_feather-arrow-right%22%20data-name%3D%22Icon%20feather-arrow-right%22%20transform%3D%22translate(1284.98%2091)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_3%22%20data-name%3D%22%E3%83%91%E3%82%B9%203%22%20d%3D%22M18%2C7.5l4.5%2C4.047L18%2C15.594%22%20transform%3D%22translate(-18%20-7.5)%22%20fill%3D%22none%22%20stroke%3D%22%23aa9d79%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_4%22%20data-name%3D%22%E3%83%91%E3%82%B9%204%22%20d%3D%22M0%2C0H7.773%22%20transform%3D%22translate(1281.093%2095.047)%22%20fill%3D%22%23aa9d79%22%20stroke%3D%22%23aa9d79%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}
.nav-links a.-contact {
	border: 1px solid #585343;
	padding: 5px clamp(1.2rem, 0.94rem + 0.8125vw, 2.5rem);
}
@media screen and (max-width: 767px) {
	.nav-links a.-contact {
		border: none;
		padding: 0;
	}
}
.nav-links a.-contact2 {
	display: none;
}
@media screen and (max-width: 767px) {
	.nav-links a.-contact2 {
		margin: 0;
		display: block;
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 80px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: clamp(1.4rem, 1.34rem + 0.1875vw, 1.7rem);
		background: linear-gradient(135deg, rgb(118, 100, 76) 0%, rgb(59, 50, 38) 100%);
		color: var(--white);
	}
	.nav-links a.-contact2:after {
		content: "";
		position: absolute;
		right: 30px;
		width: 7px;
		height: 9px;
		display: inline-block;
		margin-inline-start: 10px;
		background-size: cover;
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227.167%22%20height%3D%229.599%22%20viewBox%3D%220%200%207.167%209.599%22%3E%20%3Cg%20id%3D%22Icon_feather-arrow-right%22%20data-name%3D%22Icon%20feather-arrow-right%22%20transform%3D%22translate(1%201)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_3%22%20data-name%3D%22%E3%83%91%E3%82%B9%203%22%20d%3D%22M18%2C16.1a1%2C1%2C0%2C0%2C1-.593-1.806L21.479%2C11.3%2C17.408%2C8.306a1%2C1%2C0%2C0%2C1%2C1.185-1.611l5.167%2C3.8a1%2C1%2C0%2C0%2C1%2C0%2C1.611l-5.167%2C3.8A1%2C1%2C0%2C0%2C1%2C18%2C16.1Z%22%20transform%3D%22translate(-18%20-7.5)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
	}
}
@media screen and (max-width: 1000px) {
	.nav-links {
		visibility: hidden;
		opacity: 0;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: #483D3E;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2.2rem;
		z-index: 99;
		overflow-y: auto;
		transition: 0.3s;
	}
}
@media screen and (max-width: 1000px) and (max-width: 767px) {
	.nav-links {
		align-items: flex-start;
		gap: 1.5rem;
		padding-inline: 7.5%;
	}
}
@media screen and (max-width: 1000px) {
	.nav-links.open {
		display: flex;
		display: block;
		visibility: visible;
		opacity: 1;
	}
	.nav-links a {
		text-decoration: none;
		transition: color 0.3s;
	}
	.nav-links a:hover {
		color: var(--gold);
	}
}
.nav-cta {
	font-size: 0.7rem !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	border: 0.5px solid var(--gold);
	padding: 0.5rem 1.2rem;
	transition: background 0.3s, color 0.3s !important;
}
.nav-cta:hover {
	background: var(--gold) !important;
	color: var(--dark-2) !important;
}
.nav-hamburger {
	display: none;
	flex-direction: column;
	gap: 5px;
	cursor: pointer;
	padding: 4px;
	background: none;
	border: none;
	z-index: 101;
	position: relative;
	width: 43px;
}
.nav-hamburger span {
	display: block;
	width: 100%;
	height: 2px;
	background: var(--gold2);
	transition: transform 0.3s, opacity 0.3s;
}
.nav-hamburger span:nth-child(1) {
	width: 100%;
}
.nav-hamburger span:nth-child(2) {
	width: 60%;
}
.nav-hamburger span:nth-child(3) {
	width: 30%;
}
.nav-hamburger.open span:nth-child(1) {
	transform: translateY(6px) rotate(205deg) scaleX(1);
}
.nav-hamburger.open span:nth-child(2) {
	opacity: 0;
}
.nav-hamburger.open span:nth-child(3) {
	transform: translateY(-8px) rotate(-205deg) scaleX(1);
	width: 100%;
}
@media screen and (max-width: 1000px) {
	.nav-hamburger {
		display: flex;
	}
}

section {
	position: relative;
	z-index: 2;
}

.section-label {
	font-family: "Cinzel", serif;
	font-size: clamp(4rem, 2.6rem + 4.375vw, 11rem);
	font-weight: 400;
	color: var(--gold2);
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	gap: clamp(0.5rem, 0.4rem + 0.3125vw, 1rem);
}
@media screen and (max-width: 767px) {
	.section-label {
		line-height: 1.15;
	}
}
.section-label:before {
	content: "";
	width: 8px;
	height: 1px;
	background-color: var(--gold2);
	display: block;
	flex-shrink: 0;
}
.section-title {
	font-family: "MFW-YuMinPr6N-Light", serif;
	font-size: clamp(2.4rem, 1.92rem + 1.5vw, 4.8rem);
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: 0.1em;
	color: var(--white);
}
.section-lead {
	font-size: clamp(1.2rem, 1.16rem + 0.125vw, 1.4rem);
	color: var(--white);
	letter-spacing: 0.04em;
}

.divider {
	width: 40px;
	height: 0.5px;
	background: var(--gold);
	opacity: 0.5;
	margin: 2rem 0;
}

.hero {
	position: relative;
	min-height: 700px;
}
@media screen and (max-width: 767px) {
	.hero {
		z-index: 5;
	}
}
.hero-mv {
	position: relative;
	min-height: 100vh;
	height: 100vh;
}
.hero-video {
	width: 100%;
	height: 100%;
	height: 100dvh;
	object-fit: cover;
	z-index: 0;
	position: fixed;
	top: 0;
}
.hero-video video, .hero-video img, .hero-video canvas {
	object-fit: cover;
	width: 100% !important;
	height: 100% !important;
}
.hero-title {
	font-family: "itc-benguiat-condensed", sans-serif;
	font-size: clamp(8.3rem, 4.56rem + 11.6875vw, 27rem);
	font-weight: 400;
	line-height: 1.1;
	color: var(--white);
	letter-spacing: 0.1em;
	animation: fadeUp 1s ease 0.5s both;
	position: absolute;
	inset: 0;
	margin: auto;
	width: max-content;
	height: max-content;
}
.hero-sub {
	font-family: "Cinzel", serif;
	font-size: clamp(1.6rem, 1.44rem + 0.5vw, 2.4rem);
	font-weight: 400;
	color: var(--white);
	line-height: 2;
	letter-spacing: 0.1em;
	animation: fadeUp 1s ease 0.7s both;
	position: absolute;
	bottom: 0;
	overflow: hidden;
	display: flex;
	width: 100%;
	z-index: 2;
}
@media screen and (max-width: 767px) {
	.hero-sub {
		bottom: 100px;
	}
}
.hero-sub span {
	display: inline-block;
	white-space: nowrap;
	padding-right: 50px;
	animation: ticker-loop 20s linear infinite;
}
@keyframes ticker-loop {
	0% {
		transform: translateX(0);
	}
	100% {
		/* 等幅のテキストが並んでいるため、
		左に100%（1つ分の長さ）進んだ瞬間に最初に戻すことで、
		ユーザーには途切れずループしているように見えます。
		*/
		transform: translateX(-100%);
	}
}
.hero-contact {
	position: absolute;
	right: 2%;
	bottom: 70px;
}
@media screen and (max-width: 767px) {
	.hero-contact {
		display: none;
	}
}
.hero-contact a {
	width: 290px;
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: clamp(1.4rem, 1.34rem + 0.1875vw, 1.7rem);
	background: linear-gradient(135deg, rgb(118, 100, 76) 0%, rgb(59, 50, 38) 100%);
	color: var(--white);
	transition: all 0.6s var(--easeOutCubic);
}
@media screen and (max-width: 767px) {
	.hero-contact a {
		width: 100%;
		height: 100px;
		font-size: 1.7rem;
	}
}
.hero-contact a:after {
	content: "";
	transition: all 0.6s var(--easeOutCubic);
	width: 7px;
	height: 9px;
	display: inline-block;
	margin-inline-start: 10px;
	background-size: cover;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227.167%22%20height%3D%229.599%22%20viewBox%3D%220%200%207.167%209.599%22%3E%20%3Cg%20id%3D%22Icon_feather-arrow-right%22%20data-name%3D%22Icon%20feather-arrow-right%22%20transform%3D%22translate(1%201)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_3%22%20data-name%3D%22%E3%83%91%E3%82%B9%203%22%20d%3D%22M18%2C16.1a1%2C1%2C0%2C0%2C1-.593-1.806L21.479%2C11.3%2C17.408%2C8.306a1%2C1%2C0%2C0%2C1%2C1.185-1.611l5.167%2C3.8a1%2C1%2C0%2C0%2C1%2C0%2C1.611l-5.167%2C3.8A1%2C1%2C0%2C0%2C1%2C18%2C16.1Z%22%20transform%3D%22translate(-18%20-7.5)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}
@media screen and (max-width: 767px) {
	.hero-contact a:after {
		position: absolute;
		right: 30px;
	}
}
@media (any-hover: hover) {
	.hero-contact a:hover {
		filter: brightness(120%) saturate(120%);
	}
	.hero-contact a:hover:after {
		transform: translateX(5px);
	}
}
.hero-txt {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: var(--white);
	margin-block: clamp(10rem, 8rem + 6.25vw, 20rem);
}
.hero-txt h2 {
	font-size: clamp(2.4rem, 1.84rem + 1.75vw, 5.2rem);
	font-weight: 400;
	line-height: 1.3;
	font-family: "MFW-YuMinPr6N-Light", serif;
	margin-block-end: clamp(3.5rem, 2.8rem + 2.1875vw, 7rem);
}
.hero-txt h2 em {
	font-style: normal;
	color: var(--gold2);
}
.hero-txt h2 span {
	overflow: hidden;
	display: block;
}
.hero-txt h2 span span {
	transform: translateY(110%);
	transition: transform 0.78s cubic-bezier(0.16, 1, 0.3, 1);
}
.hero-txt p {
	font-size: clamp(1.3rem, 1.2rem + 0.3125vw, 1.8rem);
	font-family: "MFW-YuMinPr6N-Light", serif;
}
.hero-txt p span {
	display: block;
	margin-block-end: 2em;
	overflow: hidden;
	opacity: 0;
}
.hero-txt p .-img {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(1.5rem, 1.1rem + 1.25vw, 3.5rem);
	margin-block-start: clamp(2rem, 1.2rem + 2.5vw, 6rem);
}

#c {
	display: block;
	width: 100%;
	height: 100%;
	cursor: none;
	color: #fff;
}

aside {
	display: none;
}
@media screen and (max-width: 767px) {
	aside {
		display: block;
	}
	aside .hero-contact {
		display: block;
		position: fixed;
		z-index: 80;
		right: 0;
		bottom: 0;
		width: 100%;
	}
}

.value-section {
	position: relative;
	z-index: 2;
}
.value-section .section-label {
	font-size: clamp(4rem, 3.2rem + 2.5vw, 8rem);
}
.value-section .c-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(3rem, 2.2rem + 2.5vw, 7rem);
}
@media screen and (max-width: 767px) {
	.value-section .c-grid {
		display: flex;
		flex-direction: column;
	}
}
.value-section .c-grid dl dt {
	font-family: "MFW-YuMinPr6N-Light", serif;
	font-size: clamp(1.9rem, 1.68rem + 0.6875vw, 3rem);
	color: var(--gold2);
	text-align: center;
	border-bottom: 1px solid var(--grey);
	margin-block-end: clamp(3rem, 2.6rem + 1.25vw, 5rem);
}
.value-section .c-grid dl dd dl dt {
	margin-block: clamp(2rem, 1.6rem + 1.25vw, 4rem);
	border: none;
	color: var(--white);
	font-size: clamp(1.7rem, 1.56rem + 0.4375vw, 2.4rem);
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 24px;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224.543%22%20height%3D%2211.592%22%20viewBox%3D%220%200%2024.543%2011.592%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_40%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2040%22%20transform%3D%22translate(-113.6%20-2791.204)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_56%22%20data-name%3D%22%E3%83%91%E3%82%B9%2056%22%20d%3D%22M2381.834%2C2057.328a12.187%2C12.187%2C0%2C0%2C1%2C0-5.149c.644-2.4%2C2.684-2.546%2C3.943-2.582.823-3.073%2C0-3.861%2C0-3.861h-2.269c-3.157%2C0-8.066%2C3.01-7.9%2C6.443a40.931%2C40.931%2C0%2C0%2C1%2C0%2C5.149Z%22%20transform%3D%22translate(-2262%20745.468)%22%20fill%3D%22%23aa9d79%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_57%22%20data-name%3D%22%E3%83%91%E3%82%B9%2057%22%20d%3D%22M2381.834%2C2057.328a12.187%2C12.187%2C0%2C0%2C1%2C0-5.149c.644-2.4%2C2.684-2.546%2C3.943-2.582.823-3.073%2C0-3.861%2C0-3.861h-2.269c-3.157%2C0-8.066%2C3.01-7.9%2C6.443a40.931%2C40.931%2C0%2C0%2C1%2C0%2C5.149Z%22%20transform%3D%22translate(-2248%20745.468)%22%20fill%3D%22%23aa9d79%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}
.value-section .c-grid dl dd dl dd {
	font-family: "MFW-YuMinPr6N-Light", serif;
	color: var(--white);
	font-size: clamp(1.3rem, 1.28rem + 0.0625vw, 1.4rem);
}
@media screen and (max-width: 767px) {
	.value-section .c-grid dl dd dl dd {
		font-size: 1.4rem;
	}
}
.value-inner {
	max-width: 1500px;
	width: 90%;
	margin-inline: auto;
}

.why {
	background: var(--dark-2);
	position: relative;
	z-index: 2;
}
.why-mv {
	position: sticky;
	top: 0;
	transform-origin: center top;
}
@media screen and (max-width: 767px) {
	.why-mv {
		height: 100dvh;
	}
	.why-mv img {
		object-fit: cover;
		height: 100%;
		object-position: right top;
	}
}
.why-inner {
	width: 90%;
	max-width: 1500px;
	margin: 0 auto;
	position: relative;
}
.why-header {
	gap: 4rem;
	margin-bottom: 5rem;
	align-items: end;
}
.why-header .section-title {
	margin-block-end: clamp(2.5rem, 2.1rem + 1.25vw, 4.5rem);
}
.why-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5px;
	background: var(--border);
}
@media screen and (max-width: 767px) {
	.why-cards {
		grid-template-columns: 1fr;
	}
}
.why-cards-row1 {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 15px;
}
@media screen and (max-width: 767px) {
	.why-cards-row1 {
		display: flex;
		flex-direction: column;
	}
}
.why h4 {
	font-family: garamond-premier-pro, serif;
	color: var(--gold2);
	font-size: clamp(1.4rem, 1.32rem + 0.25vw, 1.8rem);
	letter-spacing: 0.1em;
	margin-block-end: clamp(2rem, 1.6rem + 1.25vw, 4rem);
	display: flex;
	align-items: center;
	gap: 10px;
}
.why h4:before {
	content: "";
	width: 8px;
	height: 1px;
	background-color: var(--gold2);
	display: block;
}
.why-card {
	background: #2E2D2D;
	padding: clamp(1.5rem, 1.2rem + 0.9375vw, 3rem);
	position: relative;
	display: grid;
	align-items: center;
	grid-template-columns: 1fr;
	transition: background 0.4s;
	gap: clamp(2rem, 1.6rem + 1.25vw, 4rem);
}
@media screen and (max-width: 767px) {
	.why-card {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
}
.why-card:nth-of-type(1) {
	grid-area: 1/1/2/4;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(2.5rem, 1.9rem + 1.875vw, 5.5rem);
}
@media screen and (max-width: 1250px) {
	.why-card:nth-of-type(1) {
		grid-area: 1/1/2/7;
	}
}
.why-card:nth-of-type(1) figure {
	width: 100%;
}
@media screen and (max-width: 767px) {
	.why-card:nth-of-type(1) figure {
		width: 70%;
	}
}
.why-card:nth-of-type(2) {
	grid-area: 1/4/2/7;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(2.5rem, 1.9rem + 1.875vw, 5.5rem);
}
@media screen and (max-width: 1250px) {
	.why-card:nth-of-type(2) {
		grid-area: 2/1/2/7;
	}
}
.why-card:nth-of-type(2) figure {
	width: 100%;
}
@media screen and (max-width: 767px) {
	.why-card:nth-of-type(2) figure {
		width: 70%;
	}
}
.why-card:nth-of-type(3) {
	grid-area: 2/1/3/3;
}
@media screen and (max-width: 1250px) {
	.why-card:nth-of-type(3) {
		grid-area: 3/1/3/3;
	}
}
.why-card:nth-of-type(4) {
	grid-area: 2/3/3/5;
}
@media screen and (max-width: 1250px) {
	.why-card:nth-of-type(4) {
		grid-area: 3/3/3/5;
	}
}
.why-card:nth-of-type(5) {
	grid-area: 2/5/3/7;
}
@media screen and (max-width: 1250px) {
	.why-card:nth-of-type(5) {
		grid-area: 3/5/3/7;
	}
}
.why-card-num {
	position: absolute;
	top: clamp(1.5rem, 1.2rem + 0.9375vw, 3rem);
	right: clamp(1.5rem, 1.2rem + 0.9375vw, 3rem);
	font-family: garamond-premier-pro, serif;
	font-style: italic;
	font-size: clamp(1.8rem, 1.64rem + 0.5vw, 2.6rem);
	font-weight: 400;
	color: var(--gold2);
	line-height: 1;
	width: clamp(5rem, 4.56rem + 1.375vw, 7.2rem);
	height: clamp(5rem, 4.56rem + 1.375vw, 7.2rem);
	border: 1px solid var(--gold2);
	border-radius: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.why-card-title {
	font-family: "MFW-YuMinPr6N-Light", serif;
	font-size: clamp(1.8rem, 1.5rem + 0.9375vw, 3.3rem);
	font-weight: 400;
	line-height: 1.4;
	margin-bottom: 1rem;
	color: var(--gold2);
}
.why-card-body {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: clamp(1.2rem, 1.16rem + 0.125vw, 1.4rem);
	color: #8D8E85;
}
@media screen and (max-width: 767px) {
	.why-card-body {
		font-size: 1.4rem;
	}
}
.why-card-img {
	width: 70%;
}
.why-airbnb-note {
	margin-top: 1.5rem;
	padding: 1rem 1.2rem;
	border: 0.5px solid var(--border);
	background: rgba(201, 169, 110, 0.04);
	font-size: 0.78rem;
	color: var(--warm-gray);
	line-height: 1.9;
	letter-spacing: 0.03em;
	font-family: "Noto Serif JP", serif;
}

.needs-section {
	background: var(--dark-2);
	position: relative;
}
.needs-inner {
	max-width: 1100px;
	margin: 0 auto;
}
.needs-header {
	margin-bottom: 4rem;
}
.needs-header .section-lead {
	max-width: 600px;
}
.needs-list {
	display: flex;
	flex-direction: column;
}
.needs-card {
	display: grid;
	grid-template-columns: 80px 72px 1fr auto;
	gap: 0 2rem;
	align-items: center;
	padding: 2rem 0;
	border-top: 0.5px solid var(--border);
	position: relative;
}
.needs-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(201, 169, 110, 0.03);
	opacity: 0;
	transition: opacity 0.3s;
	pointer-events: none;
}
.needs-card:hover::after {
	opacity: 1;
}
.needs-card:last-child {
	border-bottom: 0.5px solid var(--border);
}
@media (max-width: 768px) {
	.needs-card {
		grid-template-columns: 60px 1fr;
		gap: 1rem;
	}
}
.needs-icon-wrap {
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.needs-icon-wrap svg {
	width: 56px;
	height: 64px;
}
.needs-num {
	font-family: "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 4rem;
	font-weight: 300;
	color: var(--gold);
	opacity: 0.25;
	line-height: 1;
	letter-spacing: -0.02em;
}
@media (max-width: 768px) {
	.needs-num {
		display: none;
	}
}
.needs-title {
	font-family: "Cormorant Garamond", "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 400;
	color: #E8E0D4;
	margin-bottom: 0.6rem;
	letter-spacing: 0.02em;
	line-height: 1.3;
}
.needs-body {
	font-family: "Noto Serif JP", serif;
	font-size: 0.82rem;
	font-weight: 300;
	color: var(--warm-gray);
	line-height: 2;
	letter-spacing: 0.04em;
	max-width: 540px;
}
.needs-tag {
	font-size: 0.6rem;
	letter-spacing: 0.22rem;
	text-transform: uppercase;
	color: var(--gold);
	opacity: 0.7;
	border: 0.5px solid var(--border);
	padding: 0.4rem 1rem;
	white-space: nowrap;
}
@media (max-width: 768px) {
	.needs-tag {
		display: none;
	}
}

.services {
	background-image: url(../images/bg2.webp);
	background-size: cover;
	position: relative;
	z-index: 2;
	padding-block: clamp(5rem, 3.8rem + 3.75vw, 11rem);
}
.services-inner {
	width: 90%;
	max-width: 1550px;
	margin: 0 auto;
}
.services-header {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
	margin-bottom: 4rem;
	align-items: end;
}
@media screen and (max-width: 767px) {
	.services-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
}
.services-header .section-label {
	line-height: 0.6;
}
.services-header .section-title {
	font-size: clamp(1.6rem, 1.44rem + 0.5vw, 2.4rem);
	font-family: "MFW-YuMinPr6N-Medium", serif;
	color: var(--gold2);
}
.services-header .section-lead {
	color: var(--dark-2);
}
.services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}
@media (max-width: 768px) {
	.services-grid {
		grid-template-columns: 1fr 1fr !important;
		gap: 1px;
	}
}
@media screen and (max-width: 767px) {
	.services-grid {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}
}

.service-item {
	padding-inline: clamp(1.5rem, 1.3rem + 0.625vw, 2.5rem);
	padding-block: clamp(1.5rem, 1.3rem + 0.625vw, 2.5rem) clamp(2.5rem, 2.1rem + 1.25vw, 4.5rem);
	border: 1px solid #CCCCCC;
	position: relative;
}
.service-icon-wrap {
	text-align: right;
}
.service-icon-wrap svg {
	margin-inline: 0 auto;
}
.service-title {
	font-family: "MFW-YuMinPr6N-Medium", serif;
	font-size: clamp(1.8rem, 1.68rem + 0.375vw, 2.4rem);
	font-weight: 400;
	margin-bottom: 0.8rem;
	color: var(--gold2);
}
@media screen and (max-width: 767px) {
	.service-title {
		color: var(--gold3);
	}
}
.service-title span {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	color: #8D8E85;
	left: 20px;
	top: 20px;
	position: absolute;
}
.service-body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(1.2rem, 1.16rem + 0.125vw, 1.4rem);
	color: #606059;
	line-height: 2;
	letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
	.service-body {
		font-size: 1.4rem;
		line-height: 1.8;
	}
}

.pricing-section {
	background-image: url(../images/bg3.webp);
	background-size: cover;
	position: relative;
	z-index: 2;
	padding-block: clamp(5rem, 3.8rem + 3.75vw, 11rem) 0;
}
.pricing-inner {
	width: 90%;
	max-width: 1550px;
	margin-inline: auto;
}
.pricing-header {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
	margin-bottom: 4rem;
	align-items: end;
}
@media screen and (max-width: 767px) {
	.pricing-header {
		flex-direction: column;
		gap: 10px;
		align-items: flex-start;
	}
}
.pricing-header .section-label {
	line-height: 0.6;
}
.pricing-header .section-title {
	font-size: clamp(1.7rem, 1.54rem + 0.5vw, 2.5rem);
	font-family: "MFW-YuMinPr6N-Medium", serif;
	color: var(--gold2);
}
.pricing-header .section-lead {
	width: 100%;
	color: var(--dark-2);
}
.pricing-catch {
	font-size: clamp(1.3rem, 1.24rem + 0.1875vw, 1.6rem);
	color: var(--white);
	line-height: 1.9;
	letter-spacing: 0.04em;
	margin-bottom: 1.8rem;
}
.pricing-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: transparent;
	gap: clamp(2.5rem, 2.1rem + 1.25vw, 4.5rem);
	margin-top: 3rem;
}
@media screen and (max-width: 767px) {
	.pricing-grid {
		display: flex;
		flex-direction: column;
	}
}
.pricing-card {
	background: #403F3F;
	padding: 0;
	position: relative;
	display: flex;
	flex-direction: column;
}
.pricing-card:after {
	content: "";
	background-image: url(../images/price.webp);
	background-size: cover;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	mix-blend-mode: luminosity;
	opacity: 0.15;
}
.pricing-card-header {
	width: 95%;
	background-color: #2E2E2E;
	padding: clamp(1.5rem, 1.3rem + 0.625vw, 2.5rem) clamp(3rem, 2.3rem + 2.1875vw, 6.5rem);
}
@media screen and (max-width: 767px) {
	.pricing-card-header {
		padding: 13px;
	}
}
.pricing-type {
	font-size: 0.62rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--gold);
	opacity: 0.7;
	margin-bottom: 0.5rem;
}
.pricing-label {
	font-size: clamp(2.5rem, 2.26rem + 0.75vw, 3.7rem);
	color: var(--gold2);
	margin-bottom: clamp(1.5rem, 1.3rem + 0.625vw, 2.5rem);
	letter-spacing: 0.05em;
	line-height: 1.2;
}
.pricing-price {
	border-top: 1px solid #505050;
	padding-block-start: clamp(1rem, 0.8rem + 0.625vw, 2rem);
}
.pricing-price-multi {
	margin-bottom: 0.4rem;
}
.pricing-price-row {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	margin-bottom: 0.6rem;
}
.pricing-contract-term {
	font-size: 0.68rem;
	letter-spacing: 0.1em;
	color: var(--warm-gray);
	width: 4.5rem;
	flex-shrink: 0;
	padding-top: 0.2rem;
}
.pricing-num {
	font-size: clamp(2.1rem, 1.7rem + 1.25vw, 4.1rem);
	color: var(--gold2);
	line-height: 1;
	letter-spacing: -0.01em;
}
.pricing-num--sm {
	font-size: 2.2rem;
}
.pricing-unit {
	font-size: clamp(1.2rem, 1.16rem + 0.125vw, 1.4rem);
	color: var(--gold2);
}
.pricing-per {
	font-size: clamp(1.1rem, 1.06rem + 0.125vw, 1.3rem);
	color: var(--white);
	letter-spacing: 0.05em;
	margin-block-end: clamp(0.7rem, 0.6rem + 0.3125vw, 1.2rem);
}
.pricing-list {
	list-style: none;
	padding-inline: clamp(3.5rem, 2.9rem + 1.875vw, 6.5rem);
	padding-block: clamp(1.5rem, 1.3rem + 0.625vw, 2.5rem);
}
@media screen and (max-width: 767px) {
	.pricing-list {
		padding-inline: 20px;
	}
}
.pricing-list li {
	font-size: clamp(1.3rem, 1.26rem + 0.125vw, 1.5rem);
	color: var(--white);
	line-height: 1;
	padding: 0.75rem 0;
	letter-spacing: 0.03em;
	display: flex;
	align-items: center;
	gap: 0.7rem;
}
.pricing-list li::before {
	content: "";
	width: 2px;
	height: 2px;
	border-radius: 50%;
	background: var(--white);
	opacity: 1;
	flex-shrink: 0;
}
.pricing-note {
	margin-inline: clamp(2rem, 1.6rem + 1.25vw, 4rem);
	margin-block-end: clamp(2rem, 1.6rem + 1.25vw, 4rem);
	padding-inline: clamp(1.5rem, 1.1rem + 1.25vw, 3.5rem);
	font-size: clamp(1.1rem, 1.06rem + 0.125vw, 1.3rem);
	color: var(--white);
	line-height: 1.9;
	letter-spacing: 0.03em;
	border: 1px solid #505050;
}
@media screen and (max-width: 767px) {
	.pricing-note {
		padding-inline: 10px;
		margin-inline: 13px;
	}
}
.pricing-note p {
	border-bottom: 1px solid #505050;
	padding-block: clamp(0.5rem, 0.3rem + 0.625vw, 1.5rem);
}
.pricing-note p:last-of-type {
	border: none;
}
.pricing-note strong {
	color: var(--gold2);
	font-weight: 400;
}
.pricing-payment {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.72rem;
	color: var(--text-muted);
	letter-spacing: 0.05em;
	margin-top: auto;
	padding-top: 1.5rem;
	border-top: 0.5px solid var(--border);
}
.pricing-sub-plans {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-top: 0.6rem;
	flex-wrap: wrap;
}
.pricing-sub-item {
	font-size: 0.72rem;
	color: var(--text-muted);
	letter-spacing: 0.03em;
}
.pricing-sub-item strong {
	color: var(--warm-gray);
	font-weight: 400;
}
.pricing-sub-sep {
	color: var(--border);
	font-size: 0.72rem;
}

.message-section {
	background: url(../images/bg4.webp);
	background-size: cover;
	padding-block-start: clamp(5rem, 4rem + 3.125vw, 10rem);
}
.message-inner {
	width: 90%;
	max-width: 1350px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 41% 41%;
	justify-content: space-between;
}
@media screen and (max-width: 1100px) {
	.message-inner {
		grid-template-columns: 47% 47%;
	}
}
@media screen and (max-width: 767px) {
	.message-inner {
		display: flex;
		flex-direction: column;
		gap: 150px;
	}
}
.message-text .section-title {
	font-family: "MFW-YuMinPr6N-Light", serif;
	font-weight: 300;
	font-size: clamp(2rem, 1.7rem + 0.9375vw, 3.5rem);
	line-height: 1.5;
	margin-block-end: clamp(2.5rem, 1.9rem + 1.875vw, 5.5rem);
}
.message-body {
	font-family: "MFW-YuMinPr6N-Light", serif;
	font-size: clamp(1.4rem, 1.36rem + 0.125vw, 1.6rem);
	font-weight: 300;
	color: var(--white);
	line-height: 2.2;
	letter-spacing: 0.04em;
	margin-bottom: 1.2rem;
}
.message-sig {
	text-align: right;
	font-size: clamp(1.2rem, 1.16rem + 0.125vw, 1.4rem);
	color: var(--gold2);
	letter-spacing: 0.1em;
	margin-top: clamp(3rem, 2.4rem + 1.875vw, 6rem);
}

.company-info-header {
	margin-bottom: 2rem;
}
.company-table {
	width: 100%;
	border-collapse: collapse;
}
.company-table tr {
	border-bottom: 0.5px solid var(--border);
}
.company-table th {
	font-family: "MFW-YuMinPr6N-Light", serif;
	font-size: clamp(1.3rem, 1.26rem + 0.125vw, 1.5rem);
	letter-spacing: 0.12em;
	color: var(--gold2);
	font-weight: 300;
	text-align: left;
	padding-block: clamp(1.5rem, 1.3rem + 0.625vw, 2.5rem);
	width: 160px;
	vertical-align: middle;
}
@media screen and (max-width: 767px) {
	.company-table th {
		display: block;
		padding-block-end: 0;
	}
}
.company-table td {
	font-family: "MFW-YuMinPr6N-Light", serif;
	font-size: clamp(1.3rem, 1.26rem + 0.125vw, 1.5rem);
	font-weight: 300;
	color: var(--white);
	padding-block: clamp(1.5rem, 1.3rem + 0.625vw, 2.5rem);
	line-height: 2;
	letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
	.company-table td {
		display: block;
		padding-block-start: 0;
	}
}
.company-link {
	color: var(--gold2);
	text-decoration: none;
	letter-spacing: 0.05em;
	transition: opacity 0.3s;
	border-bottom: 1px solid var(--gold2);
}
.company-link:hover {
	opacity: 0.7;
}

.faq {
	background: url(../images/bg4.webp);
	background-size: cover;
	padding-block: clamp(5rem, 3.8rem + 3.75vw, 11rem);
}
.faq-inner {
	width: 90%;
	max-width: 1350px;
	margin: 0 auto;
}
.faq-header {
	display: flex;
	flex-wrap: wrap;
	gap: 7rem;
	margin-bottom: clamp(3rem, 2.3rem + 2.1875vw, 6.5rem);
	align-items: end;
}
@media screen and (max-width: 767px) {
	.faq-header {
		flex-direction: column;
		gap: 10px;
		align-items: flex-start;
	}
}
.faq-header .section-label {
	line-height: 0.6;
}
.faq-header .section-title {
	font-size: clamp(1.6rem, 1.44rem + 0.5vw, 2.4rem);
	font-family: "MFW-YuMinPr6N-Medium", serif;
	color: var(--gold2);
}
.faq-header .section-lead {
	width: 100%;
	color: var(--dark-2);
}
.faq-item {
	padding: 1.5rem 0;
}
.faq-item.open .faq-toggle {
	transform: rotate(45deg);
}
.faq-q {
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	gap: 2rem;
	background-color: #695A5B;
	padding: 17px 35px;
}
@media screen and (max-width: 767px) {
	.faq-q {
		padding: 12px 20px;
		gap: 5px;
	}
}
.faq-q-text {
	font-family: "MFW-YuMinPr6N-Light", serif;
	font-size: clamp(1.4rem, 1.2rem + 0.625vw, 2.4rem);
	font-weight: 300;
	color: var(--white);
	letter-spacing: 0.04em;
	display: flex;
	align-items: center;
	gap: 15px;
}
@media screen and (max-width: 767px) {
	.faq-q-text {
		line-height: 1.35;
	}
}
.faq-q-text span {
	color: var(--gold2);
	font-size: clamp(1.4rem, 1.32rem + 0.25vw, 1.8rem);
}
.faq-toggle {
	width: 25px;
	height: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: transform 0.3s;
	position: relative;
}
@media screen and (max-width: 767px) {
	.faq-toggle {
		width: 15px;
		height: 15px;
	}
}
.faq-toggle:before, .faq-toggle:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	background-color: var(--white);
}
.faq-toggle:before {
	width: 1px;
	height: 100%;
}
.faq-toggle:after {
	width: 100%;
	height: 1px;
}
.faq-a {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 300;
	font-size: clamp(1.4rem, 1.36rem + 0.125vw, 1.6rem);
	color: var(--white);
	line-height: 2;
	letter-spacing: 0.03em;
	overflow: hidden;
	transition: max-height 0.4s ease, padding 0.3s;
	height: 0;
	overflow: hidden;
	margin: 0; /* ブラウザ標準のpタグのマージンを消す */
	padding: 0; /* 高さを0にするため、ここではpaddingをかけない */
	transition: height 0.3s ease-out;
}
@media screen and (max-width: 767px) {
	.faq-a {
		line-height: 1.5;
	}
}
.faq-a span {
	display: block;
	padding-block: 1em 3em;
}
@media screen and (max-width: 767px) {
	.faq-a span {
		padding-block-end: 0;
	}
}

.blog {
	background: url(../images/bg4.webp);
	background-size: cover;
	padding-block: clamp(5rem, 3.8rem + 3.75vw, 11rem);
}
.blog-inner {
	width: 90%;
	max-width: 1400px;
	margin: 0 auto;
}
.blog-header {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
	margin-bottom: clamp(3rem, 2.3rem + 2.1875vw, 6.5rem);
	align-items: end;
}
@media screen and (max-width: 767px) {
	.blog-header {
		flex-direction: column;
		gap: 10px;
		align-items: flex-start;
	}
}
.blog-header .section-label {
	line-height: 0.6;
}
.blog-header .section-title {
	font-size: clamp(1.6rem, 1.44rem + 0.5vw, 2.4rem);
	font-family: "MFW-YuMinPr6N-Medium", serif;
	color: var(--gold2);
}
.blog-header .section-lead {
	width: 100%;
	color: var(--dark-2);
}
.blog-grid {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.blog-card {
	cursor: pointer;
	text-decoration: none;
	display: grid;
	grid-template-columns: max-content 1fr;
	align-items: center;
	column-gap: 55px;
	border: 1px solid #655557;
	padding: 10px;
	border-radius: 60px;
	position: relative;
	transition: 0.6s;
}
@media screen and (max-width: 767px) {
	.blog-card {
		column-gap: 10px;
	}
}
.blog-card:hover .blog-thumb img {
	transform: scale(1.1);
	opacity: 1;
}
@media (any-hover: hover) {
	.blog-card:hover {
		border-color: #837d7e;
	}
	.blog-card:hover::after {
		transform: translateX(5px);
	}
	.blog-card:hover .blog-card-title span {
		background-size: 100% 1px;
		background-position: bottom left;
	}
}
.blog-card::after {
	content: "";
	transition: 0.3s;
	width: 7px;
	height: 9px;
	display: inline-block;
	position: absolute;
	right: 50px;
	background-size: cover;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227.167%22%20height%3D%229.599%22%20viewBox%3D%220%200%207.167%209.599%22%3E%20%3Cg%20id%3D%22Icon_feather-arrow-right%22%20data-name%3D%22Icon%20feather-arrow-right%22%20transform%3D%22translate(-16%201)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_3%22%20data-name%3D%22%E3%83%91%E3%82%B9%203%22%20d%3D%22M18%2C16.1a1%2C1%2C0%2C0%2C1-.593-1.806L21.479%2C11.3%2C17.408%2C8.306a1%2C1%2C0%2C0%2C1%2C1.185-1.611l5.167%2C3.8a1%2C1%2C0%2C0%2C1%2C0%2C1.611l-5.167%2C3.8A1%2C1%2C0%2C0%2C1%2C18%2C16.1Z%22%20transform%3D%22translate(-1%20-7.5)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}
@media screen and (max-width: 767px) {
	.blog-card::after {
		display: none;
	}
}
.blog-card-tag {
	font-family: "Noto Sans JP", sans-serif;
	color: var(--gold2);
	font-size: clamp(1.1rem, 1.06rem + 0.125vw, 1.3rem);
	margin-block: auto 0;
}
.blog-card-title {
	font-size: clamp(1.4rem, 1.2rem + 0.625vw, 2.4rem);
	line-height: 1.8;
	color: var(--white);
	letter-spacing: 0.03em;
	margin-block: 0 auto;
}
.blog-card-title span {
	display: inline;
	box-decoration-break: slice;
	-webkit-box-decoration-break: slice;
	transition: background-size 1.2s ease-out;
	background-image: linear-gradient(#fff, #fff);
	background-size: 0 1px;
	background-position: bottom right;
	background-repeat: no-repeat;
	padding: 0 0 5px;
	transition: background-size 0.3s ease-out;
}
.blog-thumb {
	width: 140px;
	overflow: hidden;
	border-radius: 60px;
	grid-area: 1/1/3/2;
}
@media screen and (max-width: 767px) {
	.blog-thumb {
		width: 80px;
	}
}
.blog-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.85;
	transition: transform 0.5s ease, opacity 0.4s;
}
.blog-link {
	text-align: right;
	margin-block-start: clamp(2rem, 1.4rem + 1.875vw, 5rem);
}
.blog-link a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border-bottom: 1px solid var(--gold2);
	justify-content: flex-end;
	color: var(--gold2);
}
.blog-link a:after {
	content: "";
	width: 12px;
	height: 12px;
	transition: 0.3s;
	background-size: cover;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214.058%22%20height%3D%2213.843%22%20viewBox%3D%220%200%2014.058%2013.843%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_23%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2023%22%20transform%3D%22matrix(0.588%2C%20-0.809%2C%200.809%2C%200.588%2C%20-829.352%2C%20993.132)%22%3E%20%3Cg%20id%3D%22Icon_feather-arrow-right%22%20data-name%3D%22Icon%20feather-arrow-right%22%20transform%3D%22translate(1286.573%2091)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_3%22%20data-name%3D%22%E3%83%91%E3%82%B9%203%22%20d%3D%22M18.334%2C19.285l-.668-.744L23.6%2C13.206%2C17.666%2C7.872l.668-.744%2C6.351%2C5.706a.5.5%2C0%2C0%2C1%2C0%2C.744Z%22%20transform%3D%22translate(-18%20-7.5)%22%20fill%3D%22%23aa9d79%22%2F%3E%20%3C%2Fg%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_4%22%20data-name%3D%22%E3%83%91%E3%82%B9%204%22%20d%3D%22M10.961.5H0v-1H10.961Z%22%20transform%3D%22translate(1281.093%2096.706)%22%20fill%3D%22%23aa9d79%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}
@media (any-hover: hover) {
	.blog-link a:hover:after {
		transform: translate(3px, -3px);
	}
}

.chart-section {
	background: var(--dark-2);
	margin-block-start: clamp(5rem, 3.8rem + 3.75vw, 11rem);
}
.chart-inner {
	width: 90%;
	max-width: 1240px;
	margin: 0 auto;
}
.chart-top {
	margin-bottom: 2.5rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: clamp(3rem, 2.6rem + 1.25vw, 5rem);
}
.chart-top .section-label {
	line-height: 0.5;
}
.chart-top .section-title {
	font-size: clamp(2.4rem, 2.24rem + 0.5vw, 3.2rem);
}
.chart-stats {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	align-items: flex-end;
}
.chart-stats-row {
	width: 100%;
	display: flex;
	align-items: flex-end;
}
@media screen and (max-width: 767px) {
	.chart-stats-row {
		flex-direction: column;
		align-items: flex-start;
	}
}
.chart-stats-row .chart-stat {
	text-align: left;
}
.chart-stat {
	text-align: right;
	border-right: 1px solid #505050;
	padding-inline: clamp(2rem, 1.6rem + 1.25vw, 4rem) clamp(5rem, 4rem + 3.125vw, 10rem);
}
@media screen and (max-width: 767px) {
	.chart-stat {
		width: 100%;
		border: none;
		border-bottom: 1px solid #505050;
		padding-block-end: 10px;
		margin-block-end: 10px;
	}
	.chart-stat:nth-of-type(2) {
		border: none;
	}
}
.chart-stat-num {
	font-family: garamond-premier-pro, serif;
	font-style: italic;
	font-size: clamp(4.5rem, 4.24rem + 0.8125vw, 5.8rem);
	font-weight: 400;
	color: var(--gold2);
	line-height: 1;
	display: block;
	margin-bottom: 0.4rem;
}
@media screen and (max-width: 767px) {
	.chart-stat-num {
		display: flex;
		gap: 10px;
		align-items: baseline;
	}
}
.chart-stat-unit {
	font-size: clamp(1.6rem, 1.4rem + 0.625vw, 2.6rem);
	color: var(--white);
	font-style: normal;
	padding-inline: 2em 1em;
}
@media screen and (max-width: 767px) {
	.chart-stat-unit {
		padding: 0;
	}
}
.chart-stat-label {
	font-size: clamp(1rem, 0.96rem + 0.125vw, 1.2rem);
	color: var(--white);
	letter-spacing: 0.05em;
	font-family: "Noto Sans JP", sans-serif;
}
.chart-wrap {
	position: relative;
	background: var(--dark-3);
	border: 0.5px solid var(--border);
	padding: 2rem;
	margin-block-end: clamp(1rem, 0.8rem + 0.625vw, 2rem);
}
.chart-wrap canvas {
	width: 100% !important;
	height: 320px !important;
}
.chart-legend {
	display: flex;
	gap: 2rem;
	justify-content: center;
	margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
	.chart-legend {
		flex-direction: column;
		gap: 5px;
	}
}

.legend-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(1rem, 0.96rem + 0.125vw, 1.2rem);
	color: var(--warm-gray);
	letter-spacing: 0.05em;
}
.legend-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
}

.dot-with {
	background: var(--gold);
}

.dot-without {
	background: var(--text-muted);
}

.cta-section {
	background: var(--dark-2);
	position: relative;
	overflow: hidden;
	padding-block: clamp(5rem, 3.8rem + 3.75vw, 11rem);
}
.cta-header {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
	margin-bottom: clamp(3rem, 2.3rem + 2.1875vw, 6.5rem);
	align-items: end;
}
.cta-header .section-label {
	line-height: 0.6;
}
.cta-header .section-title {
	font-size: clamp(1.6rem, 1.44rem + 0.5vw, 2.4rem);
	font-family: "MFW-YuMinPr6N-Medium", serif;
	color: var(--gold2);
}
.cta-header .section-lead {
	width: 100%;
	color: var(--dark-2);
}
.cta-inner {
	width: 90%;
	max-width: 1300px;
	margin: 0 auto;
	text-align: center;
	position: relative;
	z-index: 1;
}
.form-group {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0.4rem;
	font-family: "MFW-YuMinPr6N-Light", serif;
	font-size: clamp(1.4rem, 1.28rem + 0.375vw, 2rem);
	font-weight: 300;
	margin-block-end: clamp(1rem, 0.8rem + 0.625vw, 2rem);
}
@media screen and (max-width: 767px) {
	.form-group {
		flex-direction: column;
	}
}
.form-group.full {
	grid-column: 1/-1;
}
.form-group .smf-placeholder {
	width: calc(100% - 300px);
	text-align: left;
}
.form-group input[type=text], .form-group input[type=tel], .form-group input[type=email], .form-group textarea {
	width: 100%;
}
.form-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--white);
	flex-shrink: 0;
	width: 260px;
}
@media screen and (max-width: 767px) {
	.form-label {
		width: 100%;
		justify-content: flex-start;
	}
}
.form-required {
	font-size: clamp(1.2rem, 1.16rem + 0.125vw, 1.4rem);
	letter-spacing: 0.1em;
	color: var(--gold);
	border: 0.5px solid var(--gold);
	width: 68px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: 0.5rem;
	opacity: 0.85;
}

.form-select, .form-textarea, .form-input, .form-group input[type=text], .form-group input[type=tel], .form-group input[type=email], .form-group textarea {
	background: #2B2B2B;
	border: none;
	padding: 1.25rem 30px;
	font-size: clamp(1.4rem, 1.28rem + 0.375vw, 2rem);
	color: var(--white);
	letter-spacing: 0.05em;
	outline: none;
	transition: border-color 0.3s;
}
@media screen and (max-width: 767px) {
	.form-select, .form-textarea, .form-input, .form-group input[type=text], .form-group input[type=tel], .form-group input[type=email], .form-group textarea {
		width: 100%;
		padding: 10px 15px;
	}
}
.form-select::placeholder, .form-textarea::placeholder, .form-input::placeholder, .form-group input[type=text]::placeholder, .form-group input[type=tel]::placeholder, .form-group input[type=email]::placeholder, .form-group textarea::placeholder {
	color: #8D8E85;
}
.form-select:focus, .form-textarea:focus, .form-input:focus, .form-group input[type=text]:focus, .form-group input[type=tel]:focus, .form-group input[type=email]:focus, .form-group textarea:focus {
	border-bottom-color: var(--gold-light);
	background: rgba(232, 213, 168, 0.04);
}

.form-textarea {
	resize: none;
	height: 140px;
}

.form-select {
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%239B9389'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0 center;
	background-size: 10px;
	cursor: pointer;
}
.form-select option {
	background: var(--dark-2);
	color: var(--cream);
}

.checkbox-group {
	width: calc(100% - 300px);
	gap: 0.6rem;
	margin: 0.5rem 0;
}
@media screen and (max-width: 767px) {
	.checkbox-group {
		width: 100%;
	}
}
.checkbox-group .smf-checkbox-control {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: clamp(1.4rem, 1.28rem + 0.375vw, 2rem);
	color: var(--white);
	cursor: pointer;
	letter-spacing: 0.03em;
}
.checkbox-group input {
	accent-color: var(--gold);
}
.checkbox-label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: clamp(1.4rem, 1.28rem + 0.375vw, 2rem);
	color: var(--white);
	cursor: pointer;
	letter-spacing: 0.03em;
}
.checkbox-label input {
	accent-color: var(--gold);
}

.privacy-label {
	width: calc(100% - 300px);
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: clamp(1.6rem, 1.52rem + 0.25vw, 2rem);
	color: var(--white);
	cursor: pointer;
	margin: 1rem 0;
	text-align: left;
}
@media screen and (max-width: 767px) {
	.privacy-label {
		width: 100%;
	}
}
.privacy-label input {
	accent-color: var(--gold);
	flex-shrink: 0;
}
.privacy-label a {
	color: var(--gold2);
	border-bottom: 1px solid var(--gold2);
}

.privacy-exp {
	width: calc(100% - 300px);
	display: flex;
	align-items: center;
	margin-inline: auto 0;
	gap: 0.6rem;
	font-size: clamp(1.3rem, 1.24rem + 0.1875vw, 1.6rem);
	color: var(--gold2);
	text-align: left;
}
@media screen and (max-width: 767px) {
	.privacy-exp {
		width: 100%;
	}
}

#contact .smf-button-control {
	width: 100%;
}
#contact .smf-action {
	display: flex;
	padding-inline-start: 300px;
}
#contact .btn-submit, #contact .smf-button-control__control {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100% - 300px);
	width: 100%;
	height: 80px;
	gap: 0.8rem;
	border: 1px solid var(--gold2);
	background: transparent;
	color: var(--gold2);
	padding: 1rem 2.5rem;
	font-family: "MFW-YuMinPr6N-Light", serif;
	font-weight: 300;
	font-size: clamp(1.3rem, 1.22rem + 0.25vw, 1.7rem);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.3s;
	margin-top: clamp(2rem, 1.6rem + 1.25vw, 4rem);
	margin-inline: auto 0;
}
@media screen and (max-width: 767px) {
	#contact .btn-submit, #contact .smf-button-control__control {
		font-size: 1.6rem;
		letter-spacing: 0.1em;
		padding: 10px;
		height: 60px;
		width: 100%;
		margin-top: 40px;
	}
}
#contact .btn-submit:hover, #contact .smf-button-control__control:hover {
	background: var(--gold-light);
	color: var(--dark-2);
}
#contact .btn-submit svg, #contact .smf-button-control__control svg {
	width: 16px;
	height: 16px;
	stroke: currentColor;
	fill: none;
	stroke-width: 1.5;
}
#contact .smf-complete-content {
	text-align: center;
	padding-block: clamp(4rem, 3.2rem + 2.5vw, 8rem);
}
#contact .smf-complete-content p:nth-of-type(1) {
	font-size: clamp(2rem, 1.9rem + 0.3125vw, 2.5rem);
	font-weight: 400;
}
#contact .smf-complete-content p:nth-of-type(2) {
	margin: 40px 0;
	font-size: clamp(1.4rem, 1.36rem + 0.125vw, 1.6rem);
	line-height: 1.8;
	padding: 0;
	border: none;
}
#contact .smf-complete-content p a {
	font-size: clamp(1.3rem, 1.26rem + 0.125vw, 1.5rem);
	color: var(--gold2);
}

.fullwidth-img {
	width: 100%;
	overflow: hidden;
	display: block;
}
.fullwidth-img img, .fullwidth-img video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.page-hero {
	padding: 12rem 3rem 6rem;
	position: relative;
}
.page-hero-inner {
	max-width: 1100px;
	margin: 0 auto;
}

.cv-bar {
	padding-block: clamp(5rem, 3.8rem + 3.75vw, 11rem);
	text-align: center;
	position: relative;
	z-index: 2;
}
@media screen and (max-width: 767px) {
	.cv-bar {
		padding: 15% 1.5rem;
	}
}
.cv-btn {
	width: 290px;
	height: 66px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	color: var(--white);
	font-size: clamp(1.4rem, 1.34rem + 0.1875vw, 1.7rem);
	letter-spacing: 0.1em;
	text-decoration: none;
	transition: all 0.6s var(--easeOutCubic);
	font-weight: 400;
	background: var(--grad-brw);
}
@media (any-hover: hover) {
	.cv-btn:hover {
		filter: brightness(120%) saturate(120%);
	}
	.cv-btn:hover:after {
		transform: translateX(5px);
	}
}
.cv-btn::after {
	content: "";
	transition: all 0.6s var(--easeOutCubic);
	width: 7px;
	height: 9px;
	display: inline-block;
	background-size: cover;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227.167%22%20height%3D%229.599%22%20viewBox%3D%220%200%207.167%209.599%22%3E%20%3Cg%20id%3D%22Icon_feather-arrow-right%22%20data-name%3D%22Icon%20feather-arrow-right%22%20transform%3D%22translate(-16%201)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_3%22%20data-name%3D%22%E3%83%91%E3%82%B9%203%22%20d%3D%22M18%2C16.1a1%2C1%2C0%2C0%2C1-.593-1.806L21.479%2C11.3%2C17.408%2C8.306a1%2C1%2C0%2C0%2C1%2C1.185-1.611l5.167%2C3.8a1%2C1%2C0%2C0%2C1%2C0%2C1.611l-5.167%2C3.8A1%2C1%2C0%2C0%2C1%2C18%2C16.1Z%22%20transform%3D%22translate(-1%20-7.5)%22%20fill%3D%22%23fff%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}
@media screen and (max-width: 767px) {
	.cv-btn {
		width: 100%;
		justify-content: center;
	}
}

footer {
	background-image: url(../images/bg1.webp);
	background-size: cover;
	padding: clamp(2rem, 1.4rem + 1.875vw, 5rem);
	padding-block-end: clamp(1rem, 0.8rem + 0.625vw, 2rem);
}
@media screen and (max-width: 767px) {
	footer {
		flex-direction: column;
		gap: 0;
		text-align: center;
		padding-block-end: 120px;
	}
}

.footer-top {
	margin-bottom: clamp(5rem, 3rem + 6.25vw, 15rem);
	flex-wrap: wrap;
	gap: 2rem;
}
@media screen and (max-width: 767px) {
	.footer-top {
		margin-bottom: 10px;
	}
}
.footer-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 2rem;
	justify-content: center;
	align-items: center;
}
@media screen and (max-width: 767px) {
	.footer-nav {
		flex-direction: column;
		align-items: flex-start;
	}
}
.footer-nav a {
	font-family: "Cinzel", serif;
	font-size: clamp(1.6rem, 1.46rem + 0.4375vw, 2.3rem);
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--gold2);
	text-decoration: none;
	transition: color 0.3s;
}
@media screen and (max-width: 767px) {
	.footer-nav a {
		color: var(--gold3);
	}
}
.footer-nav a:hover {
	color: var(--gold);
}
.footer-nav a.-blog {
	display: flex;
	align-items: center;
	gap: 5px;
}
.footer-nav a.-blog:after {
	content: "";
	width: 10px;
	height: 10px;
	display: inline-block;
	transform: translateY(-2px);
	background-size: cover;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210.287%22%20height%3D%2210.083%22%20viewBox%3D%220%200%2010.287%2010.083%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_5%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%205%22%20transform%3D%22matrix(0.588%2C%20-0.809%2C%200.809%2C%200.588%2C%20-828.415%2C%20990.348)%22%3E%20%3Cg%20id%3D%22Icon_feather-arrow-right%22%20data-name%3D%22Icon%20feather-arrow-right%22%20transform%3D%22translate(1284.98%2091)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_3%22%20data-name%3D%22%E3%83%91%E3%82%B9%203%22%20d%3D%22M18%2C7.5l4.5%2C4.047L18%2C15.594%22%20transform%3D%22translate(-18%20-7.5)%22%20fill%3D%22none%22%20stroke%3D%22%23aa9d79%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_4%22%20data-name%3D%22%E3%83%91%E3%82%B9%204%22%20d%3D%22M0%2C0H7.773%22%20transform%3D%22translate(1281.093%2095.047)%22%20fill%3D%22%23aa9d79%22%20stroke%3D%22%23aa9d79%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}
.footer-nav a.-contact {
	border: 1px solid var(--gold2);
	padding: 5px clamp(1.2rem, 0.94rem + 0.8125vw, 2.5rem);
	margin-inline-start: 20px;
}
@media screen and (max-width: 767px) {
	.footer-nav a.-contact {
		border-color: var(--gold3);
		margin: 0;
		margin-block: 20px;
	}
}
.footer-bottom {
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
	.footer-bottom {
		flex-direction: column;
		gap: 10px;
	}
}
.footer-logo {
	font-family: "itc-benguiat-condensed", sans-serif;
	font-size: clamp(1.6rem, 1.4rem + 0.625vw, 2.6rem);
	font-weight: 400;
	color: var(--dark-2);
	letter-spacing: 0.15em;
	opacity: 0.7;
	text-decoration: none;
}
.footer-add {
	font-size: clamp(1.3rem, 1.26rem + 0.125vw, 1.5rem);
	color: var(--dark-2);
	letter-spacing: 0.1em;
}
.footer-add em, .footer-add a {
	color: var(--dark-2);
	font-style: normal;
}
.footer-copy {
	font-size: clamp(1rem, 0.96rem + 0.125vw, 1.2rem);
	color: var(--dark-2);
	letter-spacing: 0.1em;
}

.blog-archive {
	position: relative;
	background-color: #483D3E;
	padding-block: 0 clamp(5rem, 3.8rem + 3.75vw, 11rem);
}
.blog-archive:after {
	content: "";
	background-image: url(../images/price.webp);
	background-size: 100%;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	mix-blend-mode: luminosity;
	opacity: 0.05;
}
@media screen and (max-width: 767px) {
	.blog-archive:after {
		background-size: cover;
	}
}
.blog-archive .page-hero {
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
	.blog-archive .page-hero {
		padding-block-end: 10px;
	}
}
.blog-archive .more {
	text-align: center;
	margin-block-start: clamp(5rem, 4rem + 3.125vw, 10rem);
}
.blog-archive .more a {
	font-family: "MFW-YuMinPr6N-Medium", serif;
	font-size: clamp(1.4rem, 1.32rem + 0.25vw, 1.8rem);
	color: var(--gold2);
	text-align: center;
	border-bottom: 1px solid var(--gold2);
	padding-block-end: 10px;
	transition: 0.3s;
}
@media (any-hover: hover) {
	.blog-archive .more a:hover {
		opacity: 0.6;
	}
}
.blog-archive .is-hidden {
	display: none;
}

.blog-archive-inner {
	width: 90%;
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.blog-archive-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.5rem 1.5rem;
}

.blog-archive-grid .blog-thumb {
	height: 220px;
}

@media (max-width: 768px) {
	.blog-archive-grid {
		grid-template-columns: 1fr;
	}
}
.blog-article {
	background-color: #483D3E;
	position: relative;
	/* 関連記事 */
}
.blog-article:after {
	content: "";
	background-image: url(../images/price2.webp);
	background-size: 100%;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	mix-blend-mode: luminosity;
	opacity: 0.05;
}
.blog-article .page-hero {
	padding: 0;
	position: absolute;
}
@media screen and (max-width: 1400px) {
	.blog-article .page-hero {
		position: relative;
	}
}
.blog-article .blog-header {
	flex-direction: column;
	align-items: flex-start;
}
.blog-article .article-hero {
	padding: 12rem 3rem 0;
	position: relative;
}
.blog-article .article-hero-inner {
	max-width: 800px;
	margin: 0 auto;
}
.blog-article .article-thumb {
	width: 100%;
	height: 480px;
	background: var(--dark-3);
	margin-top: 3rem;
	overflow: hidden;
}
.blog-article .article-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.9;
}
.blog-article .article-body-wrap {
	padding: 0;
	padding-block-end: clamp(2rem, 1.6rem + 1.25vw, 4rem);
}
.blog-article .article-body {
	max-width: 800px;
	background-color: #F7F6F0;
	padding: clamp(3rem, 2.6rem + 1.25vw, 5rem) clamp(1.5rem, 1.2rem + 0.9375vw, 3rem);
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.blog-article .article-body .section-title {
	font-family: "MFW-YuMinPr6N-Light", serif;
	font-size: clamp(2rem, 1.88rem + 0.375vw, 2.6rem);
	font-weight: 300;
	color: var(--dark-2);
	line-height: 1.4;
	letter-spacing: 0.03em;
	margin-bottom: 3rem;
	padding: 4rem 5rem;
	border: 0.5px solid var(--dark-2);
	border-radius: 70px;
}
.blog-article .article-meta {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	margin-bottom: 2rem;
}
.blog-article .article-tag {
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(1.1rem, 1.06rem + 0.125vw, 1.3rem);
	text-transform: uppercase;
	color: var(--gold2);
	margin-inline-start: clamp(1rem, 0.8rem + 0.625vw, 2rem);
}
.blog-article .article-date {
	font-size: clamp(1.2rem, 1.16rem + 0.125vw, 1.4rem);
	color: var(--text-muted);
	letter-spacing: 0.15em;
}
.blog-article .article-title {
	font-family: "MFW-YuMinPr6N-Light", serif;
	font-size: clamp(1.8rem, 1.64rem + 0.5vw, 2.6rem);
	font-weight: 300;
	color: var(--dark2);
	line-height: 1.4;
	letter-spacing: 0.03em;
	margin-bottom: 3rem;
	padding-bottom: 3rem;
	border-bottom: 0.5px solid var(--dark2);
}
.blog-article .article-content {
	padding: clamp(2rem, 1.6rem + 1.25vw, 4rem) clamp(1rem, 0.8rem + 0.625vw, 2rem);
	font-size: clamp(1.6rem, 1.56rem + 0.125vw, 1.8rem);
}
.blog-article .article-content h2 {
	font-family: var(--font-display);
	font-size: clamp(1.8rem, 1.68rem + 0.375vw, 2.4rem);
	font-weight: 400;
	background-color: var(--dark-3);
	margin: 3rem 0 1.2rem;
	padding: clamp(1.2rem, 1.04rem + 0.5vw, 2rem) clamp(1.7rem, 1.34rem + 1.125vw, 3.5rem);
	color: var(--white);
	letter-spacing: 0.03em;
	position: relative;
}
.blog-article .article-content h2:before {
	content: "";
	width: 18px;
	height: 1px;
	background-color: var(--gold2);
	position: absolute;
	left: 0;
	top: 50%;
}
.blog-article .article-content h3 {
	font-size: clamp(1.6rem, 1.48rem + 0.375vw, 2.2rem);
	font-weight: 400;
	margin: 8rem 0 1.5rem;
	color: var(--gold3);
	letter-spacing: 0.05em;
}
.blog-article .article-content p {
	font-size: clamp(1.6rem, 1.56rem + 0.125vw, 1.8rem);
	color: var(--dark-2);
	line-height: 1.7;
	letter-spacing: 0.04em;
	margin-bottom: 1.5rem;
}
.blog-article .article-content blockquote {
	border-left: 1px solid #8D8E85;
	padding: 1rem 0 1rem 2rem;
	margin: 8rem 0;
	opacity: 0.85;
}
.blog-article .article-content blockquote p {
	margin: 0;
	color: var(--gold3);
}
.blog-article .article-divider {
	width: 40px;
	height: 0.5px;
	background: var(--gold);
	opacity: 0.4;
	margin: 3rem 0;
}
.blog-article .article-back {
	margin-top: 5rem;
	padding-top: 3rem;
	border-top: 0.5px solid var(--border);
	display: flex;
	align-items: center;
	gap: 1rem;
}
.blog-article .article-back a {
	font-size: 0.7rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--gold);
	text-decoration: none;
	opacity: 0.8;
	transition: opacity 0.3s;
}
.blog-article .article-back a:hover {
	opacity: 1;
}
.blog-article .related {
	background: var(--dark-2);
}
.blog-article .related-inner {
	max-width: 1100px;
	margin: 0 auto;
}
.blog-article .wp-block-group.matome {
	margin-block-start: clamp(2rem, 0.8rem + 3.75vw, 8rem);
	border: 1px solid var(--gold2);
}
.blog-article .wp-block-group.matome h2 {
	background-color: var(--gold2);
	text-align: center;
	font-size: clamp(1.8rem, 1.64rem + 0.5vw, 2.6rem);
	color: var(--white);
	font-weight: 400;
	padding-block: clamp(1rem, 0.8rem + 0.625vw, 2rem);
	margin: 0;
}
.blog-article .wp-block-group.matome p {
	color: var(--gold3);
	padding: clamp(2rem, 1.6rem + 1.25vw, 4rem) clamp(3rem, 2.4rem + 1.875vw, 6rem);
}
.blog-article .post-nv {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-block-start: clamp(2rem, 0.8rem + 3.75vw, 8rem);
	padding: 0 clamp(1.5rem, 1.2rem + 0.9375vw, 3rem);
}
@media screen and (max-width: 767px) {
	.blog-article .post-nv {
		flex-wrap: wrap;
	}
}
@media screen and (max-width: 767px) {
	.blog-article .post-nv li {
		text-align: center;
	}
}
.blog-article .post-nv li a {
	font-size: clamp(1.4rem, 1.36rem + 0.125vw, 1.6rem);
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--gold2);
}
@media screen and (max-width: 767px) {
	.blog-article .post-nv li a {
		font-size: 1.5rem;
	}
}
.blog-article .post-nv li a span {
	border-bottom: 1px solid var(--color-bk);
	display: inline-block;
}
.blog-article .post-nv li.bk {
	order: 2;
}
@media screen and (max-width: 767px) {
	.blog-article .post-nv li.bk {
		margin-block-start: 20px;
		width: 100%;
		order: 3;
		text-align: center;
	}
}
@media screen and (max-width: 767px) {
	.blog-article .post-nv li.bk a {
		justify-content: center;
	}
}
.blog-article .post-nv li.bk a:before, .blog-article .post-nv li.bk a:after {
	display: none;
}
.blog-article .post-nv li.prev {
	order: 1;
}
@media screen and (max-width: 767px) {
	.blog-article .post-nv li.prev {
		text-align: left;
		order: 1;
	}
}
.blog-article .post-nv li.next {
	order: 3;
}
@media screen and (max-width: 767px) {
	.blog-article .post-nv li.next {
		text-align: right;
		order: 2;
	}
}
.blog-article .post-nv li.none a {
	opacity: 0.6;
	pointer-events: none;
}/*# sourceMappingURL=style.css.map */