@charset "UTF-8";

/* ==================================================
   翠美 共通レイアウト（ヘッダー・フッター・共通部品）
   ================================================== */

:root {
	--suivi-bg: #000000;
	--suivi-bg-mist: #050505;
	--suivi-text: #f5f1ea;
	--suivi-text-soft: #d1cbc3;
	--suivi-accent: #8f7358;
	--suivi-line: rgba(255, 255, 255, 0.13);
	--suivi-serif: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
	--suivi-sans: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
}html {
	scroll-behavior: smooth;
}body.suivi-site {
	margin: 0;
	background: var(--suivi-bg);
	color: var(--suivi-text);
	font-family: var(--suivi-sans);
	font-weight: 300;
}body.suivi-site * {
	box-sizing: border-box;
}body.suivi-site a {
	color: inherit;
	text-decoration: none;
}body.suivi-site img {
	max-width: 100%;
	height: auto;
}.suivi-container {
	width: min(100%, 1120px);
	margin: 0 auto;
	padding: 0 64px;
}.suivi-container--narrow {
	width: min(100%, 920px);
}.suivi-header {
	position: fixed;
	z-index: 1000;
	top: 0;
	right: 0;
	left: 0;
	transition: background-color 0.4s ease, box-shadow 0.4s ease;
}.suivi-header.is-scrolled {
	background: rgba(0, 0, 0, 0.94);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(10px);
}.suivi-header.is-scrolled .suivi-brand__jp,
.suivi-header.is-scrolled .suivi-brand__en,
.suivi-header.is-scrolled .suivi-nav a {
	color: #f5f1ea;
	text-shadow: none;
}.suivi-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 80px;
	padding: 0 40px;
}.suivi-brand {
	display: inline-flex;
	align-items: baseline;
	gap: 10px;
}.suivi-brand__jp {
	color: #211f1c;
	font-family: var(--suivi-serif);
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-shadow: 0 1px 3px rgba(255, 255, 255, 0.95);
}.suivi-brand__en {
	color: #4a4540;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-shadow: 0 1px 3px rgba(255, 255, 255, 0.95);
}.suivi-nav {
	display: flex;
	align-items: center;
	gap: 30px;
}.suivi-nav a {
	color: #282521;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-shadow: 0 1px 3px rgba(255, 255, 255, 0.95);
	transition: opacity 0.25s ease;
}.suivi-nav a:hover {
	opacity: 0.55;
}.suivi-menu-button,
.suivi-mobile-menu {
	display: none;
}.suivi-button {
	display: inline-flex;
	min-width: 188px;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 14px 28px;
	border: 1px solid rgba(29, 28, 26, 0.3);
	font-size: 12px;
	letter-spacing: 0.18em;
	transition: background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease;
}.suivi-button--dark {
	border-color: var(--suivi-text);
	background: var(--suivi-text);
	color: #fff !important;
}.suivi-button--dark:hover {
	background: #34312d;
}.suivi-button--light {
	background: rgba(248, 245, 239, 0.42);
}.suivi-button--light:hover {
	border-color: var(--suivi-text);
	background: rgba(248, 245, 239, 0.82);
}.suivi-footer {
	border-top: 1px solid var(--suivi-line);
	background: #050505;
}.suivi-footer__inner {
	padding-top: 62px;
	padding-bottom: 34px;
}.suivi-footer__grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr;
	gap: 64px;
	padding-bottom: 58px;
}.suivi-brand--footer {
	margin-bottom: 20px;
}.suivi-footer p {
	margin: 0;
	color: var(--suivi-text-soft);
	font-size: 12px;
	letter-spacing: 0.05em;
	line-height: 1.8;
}.suivi-footer h3 {
	margin: 0 0 22px;
	color: #77716a;
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}.suivi-footer nav {
	display: flex;
	flex-direction: column;
	gap: 13px;
}.suivi-footer nav a,
.suivi-footer__social a {
	color: var(--suivi-text-soft);
	font-size: 12px;
	letter-spacing: 0.08em;
	transition: color 0.25s ease;
}.suivi-footer nav a:hover,
.suivi-footer__social a:hover {
	color: var(--suivi-text);
}.suivi-footer__social {
	display: flex;
	flex-direction: column;
	gap: 13px;
}.suivi-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 26px;
	border-top: 1px solid var(--suivi-line);
}.suivi-footer__bottom a {
	color: #77716a;
	font-size: 10px;
	letter-spacing: 0.14em;
}.suivi-sp-only {
	display: none;
}@media screen and (max-width: 900px) {.suivi-container {
		padding-right: 32px;
		padding-left: 32px;
	}.suivi-header__inner {
		height: 68px;
		padding: 0 24px;
	}.suivi-nav--desktop {
		display: none;
	}.suivi-menu-button {
		display: flex;
		width: 34px;
		height: 34px;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 5px;
		padding: 0;
		border: 0;
		background: transparent;
		cursor: pointer;
	}.suivi-menu-button span:not(.screen-reader-text) {
		width: 22px;
		height: 1px;
		background: var(--suivi-text);
		transition: transform 0.3s ease, opacity 0.3s ease;
	}.suivi-menu-button.is-open span:nth-child(1) {
		transform: translateY(6px) rotate(45deg);
	}.suivi-menu-button.is-open span:nth-child(2) {
		opacity: 0;
	}.suivi-menu-button.is-open span:nth-child(3) {
		transform: translateY(-6px) rotate(-45deg);
	}.suivi-mobile-menu {
		position: fixed;
		z-index: 900;
		inset: 0;
		display: block;
		visibility: hidden;
		background: rgba(0, 0, 0, 0.97);
		opacity: 0;
		backdrop-filter: blur(12px);
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}.suivi-mobile-menu.is-open {
		visibility: visible;
		opacity: 1;
	}.suivi-mobile-menu__panel {
		padding: 104px 28px 40px;
	}.suivi-mobile-menu__title {
		margin-bottom: 24px;
		font-family: var(--suivi-serif);
		font-size: 18px;
		letter-spacing: 0.12em;
	}.suivi-mobile-menu nav {
		display: flex;
		flex-direction: column;
	}.suivi-mobile-menu nav a {
		padding: 14px 0;
		border-bottom: 1px solid var(--suivi-line);
		color: var(--suivi-text-soft);
		font-size: 15px;
		letter-spacing: 0.1em;
	}body.suivi-menu-open {
		overflow: hidden;
	}.suivi-footer__grid {
		grid-template-columns: 1fr 1fr;
	}.suivi-footer__grid > div:first-child {
		grid-column: 1 / -1;
	}}@media screen and (max-width: 600px) {.suivi-container {
		padding-right: 24px;
		padding-left: 24px;
	}.suivi-brand__jp {
		font-size: 21px;
	}.suivi-button {
		width: 100%;
		min-width: 0;
		padding: 14px 18px;
	}.suivi-footer__grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}.suivi-footer__grid > div:first-child {
		grid-column: auto;
	}.suivi-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}.suivi-sp-only {
		display: inline;
	}}.suivi-section .suivi-button--dark {
	border-color: #f5f1ea;
	background: #f5f1ea;
	color: #111111 !important;
}.suivi-section .suivi-button--dark:hover {
	background: #d8d1c8;
}.suivi-footer .suivi-brand__jp,
.suivi-footer .suivi-brand__en,
.suivi-footer h3,
.suivi-footer p,
.suivi-footer nav a,
.suivi-footer__social a,
.suivi-footer__bottom a {
	color: #d1cbc3;
	text-shadow: none;
}.suivi-footer nav a:hover,
.suivi-footer__social a:hover {
	color: #ffffff;
}.suivi-footer__bottom {
	border-top-color: rgba(255, 255, 255, 0.13);
}.suivi-mobile-menu__title,
.suivi-mobile-menu nav a {
	color: #f5f1ea;
}.suivi-mobile-menu nav a {
	border-bottom-color: rgba(255, 255, 255, 0.13);
}.suivi-header.is-scrolled .suivi-menu-button span:not(.screen-reader-text) {
	background: #f5f1ea;
}body.suivi-site .suivi-header:not(.is-scrolled) {
	background: transparent;
	box-shadow: none;
}body.suivi-site .suivi-header:not(.is-scrolled) .suivi-brand__jp {
	color: #211f1c;
	text-shadow: 0 1px 3px rgba(255, 255, 255, 0.95);
}body.suivi-site .suivi-header:not(.is-scrolled) .suivi-brand__en {
	color: #4a4540;
	text-shadow: 0 1px 3px rgba(255, 255, 255, 0.95);
}body.suivi-site .suivi-header:not(.is-scrolled) .suivi-nav a {
	color: #282521;
	text-shadow: 0 1px 3px rgba(255, 255, 255, 0.95);
}body.suivi-site .suivi-header.is-scrolled {
	background: rgba(0, 0, 0, 0.94);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(10px);
}body.suivi-site .suivi-header.is-scrolled .suivi-brand__jp,
body.suivi-site .suivi-header.is-scrolled .suivi-brand__en,
body.suivi-site .suivi-header.is-scrolled .suivi-nav a {
	color: #f5f1ea;
	text-shadow: none;
}body.suivi-site .suivi-hero .suivi-button--dark {
	border-color: #171614;
	background: #171614;
	color: #ffffff !important;
}body.suivi-site .suivi-hero .suivi-button--dark:hover {
	border-color: #34312d;
	background: #34312d;
	color: #ffffff !important;
}body.suivi-site .suivi-header:not(.is-scrolled) .suivi-menu-button span:not(.screen-reader-text) {
	background: #211f1c;
}body.suivi-site .suivi-header.is-scrolled .suivi-menu-button span:not(.screen-reader-text) {
	background: #f5f1ea;
}
/* フッター共通文字設定 */
.suivi-footer {
	color: #f5f1ea;
}

.suivi-footer p,
.suivi-footer nav a,
.suivi-footer__social a {
	color: #c1bfbc;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 2.4;
}
