/* =============================================================
   CAMMA theme — layout.css
   ヘッダー / フッター / BOOK NOW ボタン
   Figma: header 1:1500 (1920x100) / Footer 1:774 (1920x1771) /
          floating btn 1:871 (120x120)
   px→rem は全て ÷10 (1920px設計 = 192rem)。
   ============================================================= */

/* -------------------------------------------------------------
   Header (.l-header)
   Hero (Y0-1080) とヘッダー(Y0-100) は共に Y=0 起点のため、
   ヘッダーは Hero に重なる白帯として position:fixed で実装する。

	 表示の出し方は全ページ共通(PC):
	 - header.php が .l-header--reveal を付与し、初期は非表示。
	 - トップページは hero を超えてスクロールしたら、その他ページは読み込み時に
		 main.js が .is-visible を付けてフェード表示する。
   position:fixed のオーバーレイなので、非表示時も文書フローには一切
   影響しない(=本文の閲覧・レイアウトはJS無効時でも壊れない)。
   ※SP(≤920px)はデザイン上ヘッダー常時表示。下部のSPメディアクエリで
     opacity/visibility を固定し、.l-header--reveal の初期非表示を打ち消している。
   ------------------------------------------------------------- */
.l-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 10rem;
	background-color: var(--color-white);
	z-index: 100;
	/* 子(logo/nav/meta)を絶対配置から flex 行に変更。space-between で
	   logo=左端 / meta=右端 に張り付き nav が中央に来る。左右 padding は
	   Figma の logo 左端(2.9rem) と meta 右端の余白(6.3rem=63px@1920) に合わせる。
	   gap:4rem は最小間隔の床で、幅を狭めても各要素が重ならないことを保証する
	   (box-sizing:border-box は base.css のグローバル指定済みなので width:100% に padding が含まれる)。 */
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 4rem;
	padding: 0 6.3rem 0 3.5rem;
}

/* トップページ専用: 初期非表示(hero に重ねない)。hero を超えたら main.js が
   .is-visible を付けてフェード表示する。フェードし終えてから visibility を
   切り替え、非表示時にクリックを拾わないようにする(opacity は 0.3s で遷移)。 */
.l-header--reveal {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}

.l-header--reveal.is-visible {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.3s ease, visibility 0s linear 0s;
}

.l-header__logo {
	flex-shrink: 0;
	width: 17.4rem;
	height: auto; /* 高さはロゴ画像のアスペクト比に合わせて自動 */
}

.l-header__logo img {
	width: 100%;
	height: 100%;
}

/* Sauna / Cafe / Work / Story / Events / Access (等間隔 40px = 4rem) */
.l-header__nav {
	height: 2.1rem;
	display: flex;
	align-items: center;
	gap: 4rem;
}

/* Privacy Policy / Contact / Instagram (等間隔 40px = 4rem) */
.l-header__meta {
	flex-shrink: 0;
	height: 2.1rem;
	display: flex;
	align-items: center;
	gap: 4rem;
}

.l-header__nav a,
.l-header__meta a {
	font-family: var(--font-en);
	font-size: min(1.8vw,21px);
	line-height: 1;
	color: var(--color-text);
	white-space: nowrap;
}

.l-header__sns img {
	display: block;
	height: 100%;
}

/* -------------------------------------------------------------
   Footer (.l-footer)
   footer.php 内の座標は全て Figma 座標から 21495px (Footerノードの
   ページ内Y開始位置) を引いたローカル座標を rem 換算している。
   ------------------------------------------------------------- */
.l-footer {
	position: relative;
	width: 100%;
	min-height: 177.1rem;
	background-color: var(--color-white);
}

/* フル版フッター(トップ等)のコンテナ。上段(.l-footer__main)→backtotop→copyright を
   縦に並べ、大きな余白は justify-content:space-between で自動配分(高さ177.1rem維持で
   幅可変でも肥大化しない)。simple版はこの :not() で除外し従来の中央寄せのまま。 */
.l-footer:not(.l-footer--simple) {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 1.9rem; /* copyright下端(175.2)→footer下端(177.1) */
}

/* 上段: company(左) | divider(中央/absolute) | cols(右) */
.l-footer__main {
	align-self: stretch;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 35rem 35rem 0 21.2rem; /* 旧:各要素top35rem/company left21.2rem/cols右端≒157rem */
	box-sizing: border-box;
}

.l-footer__company {
	width: 31.8rem; /* 会社概要テキスト幅 */
}

.l-footer__cols {
	display: flex;
	align-items: flex-start; /* divider(高40rem)に合わせて列が引き伸ばされないように */
	gap: 16.95rem;
}

.l-footer__heading {
	font-family: var(--font-ja);
	font-size: 20px;
	line-height: 28px;
	letter-spacing: 2px;
	color: var(--color-text);
}

.l-footer__company-text {
	margin-top: 4rem; /* 旧:top41.8rem(heading下端37.8から) */
	width: 31.8rem;
	font-family: var(--font-ja);
	font-size: 13px;
	line-height: 21px;
	color: var(--color-text);
}

/* 中央の縦罫線(Figma上は0幅の線を90°回転させて表現。ここでは単純な1px罫線として実装) */
.l-footer__divider {
	/* Contents/Information の左に立つ縦罫線。cols(flex)の先頭アイテムとして列と
	   一緒に動くので、幅を狭めても列と重ならない(旧: absoluteで画面中央に固定して
	   いたが、狭幅で列が中央へ広がり罫線を跨いで重なっていた)。 */
	flex: 0 0 auto;
	width: 0.1rem; /* 1px罫線。極細のため0への丸めは行わない */
	height: 40rem;
	background-color: var(--color-text);
}

.l-footer__label {
	margin-bottom: 2rem; /* 旧:list/tel top3.4rem(label行高1.4rem分を差し引いた間隔) */
	font-family: var(--font-sans); /* Figma指定どおり Inter */
	font-size: 14px;
	line-height: 1;
	color: var(--color-text);
	white-space: nowrap;
}

/* ラベルの 3.4rem 下からリンク一覧(Contents / Information 共通) */
.l-footer__list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.l-footer__list a {
	font-family: var(--font-en);
	font-size: 21px;
	line-height: 1;
	color: var(--color-text);
	white-space: nowrap;
}

.l-footer__list .l-footer__sns {
	display: block;
	width: 1.5rem;
	height: 1.5rem;
}

.l-footer__list .l-footer__sns img {
	display: block;
	width: 100%;
	height: 100%;
}

/* Information列内の Tel 見出し+電話番号(Contentsより手前でグルーピングし直す) */
.l-footer__tel-group {
	margin-top: 3rem; /* 旧:top12.1rem(Information列のlist下端から) */
}

.l-footer__tel-group .l-footer__tel {
	display: block;
	font-family: var(--font-en);
	font-size: 21px;
	line-height: 1;
	color: var(--color-text);
	white-space: nowrap;
}

.l-footer__backtotop {
	width: 10rem;
	height: 8.4231rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.l-footer__backtotop-text {
	font-family: var(--font-en);
	font-size: 16px;
	line-height: 1;
	color: var(--color-text);
	white-space: nowrap;
}

/* Back to top の矢印。単一の arrow-up.svg を CSS マスクにして
   background-color で色を出し分ける(PNGは色替え不可のため廃止)。
   既定は黒(#000)。深緑フッター(イベント一覧・詳細)のみ白(#fff)にする(下記 .l-footer--green)。 */
.l-footer__backtotop-arrow {
	margin-top: 0.8rem; /* 旧:top3.273rem。テキスト下の矢印間隔(simple/SP版と同値) */
	width: 1.7037rem;
	height: 5.15rem;
	background-color: var(--color-text); /* #000 */
	-webkit-mask: url( ../img/common/arrow-up.svg ) no-repeat center / contain;
	mask: url( ../img/common/arrow-up.svg ) no-repeat center / contain;
}

.l-footer__copyright {
	width: 28rem;
	font-family: var(--font-sans); /* Figma指定どおり Inter */
	font-size: 12px;
	line-height: 19px;
	text-align: center;
	color: var(--color-text);
}

/* -------------------------------------------------------------
   Footer 簡易版 (.l-footer--simple)
   イベント一覧(カテゴリーアーカイブ)・イベント詳細(single.php)・固定ページ
   「ストーリー」(page-story.php)用。運営会社情報 + Contents/Information列
   (template-parts/footer/company.php)を持たず、BACK TO TOP + コピーライトのみを
   表示する「レイアウト」だけをここで定義する(配色は含まない)。出し分けは
   footer.php 側で camma_use_simple_footer() により PHP で行っており、ここは
   見た目の上書きのみを担当する。
   Figma: イベント一覧ページ (fileKey hq2oZ2NymsckMJQirVNzJJ, node 1:1004) の
   BACK TO TOP (104x80.23, 中央揃え) とコピーライト(中央)。フル版は運営会社情報を
   含む1771px大の縦長フッターだが、簡易版はその情報を持たないぶん高さが大きく
   異なるため、min-height を打ち消し、内部要素は絶対座標ではなく中央揃えの
   通常フローで再配置している。
   配色は持たない: 何も上書きしなければ .l-footer の既定色(白地・背景 /
   各要素の color: var(--color-text) による黒文字)がそのまま出る
   (固定ページ「ストーリー」用)。深緑地・白文字にする場合は下の
   .l-footer--green を併用する(イベント一覧・イベント詳細用)。
   ------------------------------------------------------------- */
.l-footer--simple {
	min-height: 0;
	padding: 8rem 0 6rem;
}

.l-footer--simple .l-footer__backtotop {
	position: relative;
	top: auto;
	left: auto;
	width: 10.4rem;
	height: 8.023rem;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.l-footer--simple .l-footer__backtotop-text {
	position: static;
	transform: none;
}

.l-footer--simple .l-footer__backtotop-arrow {
	position: static;
	margin-top: 0.8rem;
}

.l-footer--simple .l-footer__copyright {
	position: static;
	left: auto;
	margin: 4rem auto 0;
	transform: none;
}

/* -------------------------------------------------------------
   Footer 簡易版・深緑配色 (.l-footer--green)
   .l-footer--simple と併用してはじめて意味を持つ配色専用の修飾クラス。
   イベント一覧・イベント詳細用(footer.php の camma_use_green_footer())。
   固定ページ「ストーリー」はこのクラスを付与しないため、.l-footer--simple の
   レイアウトのまま白地・黒文字(.l-footer の既定色)になる。
   ------------------------------------------------------------- */
.l-footer--green {
	background-color: var(--color-green);
}

.l-footer--green .l-footer__backtotop-text,
.l-footer--green .l-footer__copyright {
	color: var(--color-white);
}

/* 深緑フッター(イベント一覧・詳細)では矢印を白に。それ以外は既定の黒のまま。 */
.l-footer--green .l-footer__backtotop-arrow {
	background-color: var(--color-white); /* #fff */
}

/* -------------------------------------------------------------
   BOOK NOW ボタン (.c-booknow)
   Figma座標 (x:1739 y:910, 120x120) は Hero の最初のビューポート
   (1920x1080) 右下から right:61px(=6.1rem) / bottom:50px(=5rem) の
   位置に一致する。この場所はページの一部としてではなく、常に画面
   右下に留まるフローティングボタンとして意図されていると判断し、
   position:fixed とした上でこの数値をそのまま採用した
   (仮の4remではなく実測値を使用)。
   ------------------------------------------------------------- */
.c-booknow {
	position: fixed;
	right: 6.1rem;
	bottom: 5rem;
	width: 93px;
	height: 93px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-white);
	border: 0.8px solid var(--color-text);
	border-radius: 50%;
	z-index: 200;
}

.c-booknow__text {
	font-family: var(--font-en);
	font-size: 20px;
	line-height: 26px;
	letter-spacing: 1px;
	text-align: center;
	text-transform: lowercase;
	color: var(--color-text);
}

/* =============================================================
   SP 土台 (ハンバーガーメニュー / フッター単一カラム / BOOK NOW)
   Figma: SPトップ全体 20:25 (390x14914) / ハンバーガーメニュー展開 20:1124 (390x844)
   fileKey hq2oZ2NymsckMJQirVNzJJ。ブレイクポイント 920px、px→rem は base.css の
   SP スケーリングにより PC と同じ「÷10」規約のまま成立する。
   ============================================================= */

/* -------------------------------------------------------------
   ハンバーガーボタン(.l-header__hamburger)とメニューオーバーレイ
   (.l-menu-overlay)はSP専用の新規要素。PCでは存在しない(=非表示)のが
   既定であるべきだが、これは新規要素のデフォルト状態を決めているだけで
   既存のPCルールを書き換えるものではない。表示はSPメディアクエリ内でのみ
   有効にする。
   ------------------------------------------------------------- */
.l-header__hamburger,
.l-menu-overlay {
	display: none;
}

@media (max-width: 920px) {

	/* ---------------------------------------------------------
	   Header → ハンバーガー
	   SP Figma: ヘッダー帯 390x90(白)、ロゴ 132x20 @ x11/y57、
	   ハンバーガー 30x10 @ x324/y60(右上)。
	   SPデザインはヒーロー上にヘッダーを重ねて常時表示するため、
	   「スクロールで出現」(PC挙動)を打ち消して常時 visible にする。
	   --------------------------------------------------------- */
	.l-header {
		height: 6rem;
		/* SPは常時表示。PCのスクロール出し入れ(opacity/visibility)を固定で打ち消す。 */
		opacity: 0;
		transition: none;
		 display: flex;
		 align-items: center;
		 z-index:999;
		 padding-left: 2.5rem; /* logo 左端の余白は PC と同値 */
	}

	.l-header__logo {
		position: absolute;
		top:auto;
		width: 13.2rem;
	}

	/* PCのテキストナビ / メタ情報はSPでは非表示。代わりにハンバーガーから開く
	   メニューオーバーレイ(.l-menu-overlay)に同等のリンクを収録する。 */
	.l-header__nav,
	.l-header__meta {
		display: none;
	}

	.l-header__hamburger {
		display: block;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 3.6rem;
		width: 3rem;
		height: 1rem;
	}

	/* 視覚サイズ(30x10px)は変えずにタップ領域だけ拡張する透明ヒットエリア。
	   絶対配置の擬似要素がボタン本体からはみ出しても、はみ出した範囲への
	   クリックはボタン自身のイベントとして扱われる(生成コンテンツのため)。 */
	.l-header__hamburger::before {
		content: '';
		position: absolute;
		top: -1.5rem;
		right: -1.5rem;
		bottom: -1.5rem;
		left: -1.5rem;
	}

	.l-header__hamburger-box {
		position: relative;
		width: 100%;
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

	.l-header__hamburger-line {
		display: block;
		width: 100%;
		height: 0.1rem;
		background-color: var(--color-text);
		transition: transform 0.3s ease, opacity 0.3s ease;
	}

	/* ボタンに .is-open が付くとハンバーガー→×に変形する(JSがトグル)。 */
	.l-header__hamburger.is-open .l-header__hamburger-line:nth-child(1) {
		transform: translateY(0.4rem) rotate(35deg);
	}


	.l-header__hamburger.is-open .l-header__hamburger-line:nth-child(2) {
		transform: translateY(-0.4rem) rotate(-35deg);
	}

	/* ---------------------------------------------------------
	   メニューオーバーレイ (Figma node 20:1124, 390x844)
	   全画面白。上から ロゴ+×ボタン / Contents(ラベル+リンク+Instagram) /
	   Information(ラベル+リンク) / BOOK NOW(右下)。
	   BOOK NOW は共通の .c-booknow (position:fixed, z-index 200) が
	   このオーバーレイ(z-index 150)より前面に表示され続けるため、
	   ここでは重複させて配置しない(header.php 側のコメントも参照)。
	   --------------------------------------------------------- */
	.l-menu-overlay {
		position: fixed;
		inset: 0;
		z-index: 150;
		background-color: var(--color-white);
		overflow-y: auto;
		padding: 9rem 3.6rem 4rem;
		height: 100vh;
	}

	.l-menu-overlay.is-open {
		display: block;
	}

	.l-menu-overlay__top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 6rem;
	}

	.l-menu-overlay__logo img {
		display: block;
		width: 13.2rem;
		height: 2rem;
	}

	.l-menu-overlay__close {
		position: relative;
		width: 3rem;
		height: 3rem;
	}

	.l-menu-overlay__close-line {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 2.4rem;
		height: 0.1rem;
		background-color: var(--color-text);
		transition: transform 0.3s ease;
	}

	.l-menu-overlay__close-line:first-child {
		transform: translate(-50%, -50%) rotate(40deg);
	}

	.l-menu-overlay__close-line:last-child {
		transform: translate(-50%, -50%) rotate(-40deg);
	}

	.l-menu-overlay__section {
		margin-bottom: 4.8rem;
	}

	.l-menu-overlay__label {
		font-family: var(--font-sans); /* Figma指定どおり Inter(footerのラベルと同じ扱い) */
		line-height: 1;
		color: var(--color-text);
		margin-bottom: 2.4rem;
	}

	.l-menu-overlay__list {
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}

	.l-menu-overlay__list a {
		font-family: var(--font-en); /* Cinzel(Trajan Sans Proの無料代替。header/footerのnavと同じ扱い) */
		line-height: 1;
		color: var(--color-text);
	}

	.l-menu-overlay__section .l-menu-overlay__sns {
		display: block;
		width: 1.8rem;
		height: 1.8rem;
		margin-top: 2.4rem;
	}

	.l-menu-overlay__sns img {
		display: block;
		width: 100%;
		height: 100%;
	}

	/* ---------------------------------------------------------
	   メニュー展開中は背面(body)のスクロールをロックする。
	   JS(assets/js/main.js)が開閉に合わせて body.is-menu-open を付け外しする。
	   --------------------------------------------------------- */
	body.is-menu-open {
		overflow: hidden;
	}

	/* ---------------------------------------------------------
	   Footer → 単一カラム(フル版のみ)
	   簡易版(.l-footer--simple / イベント一覧・イベント詳細・ストーリー)は
	   元々絶対配置を使わない中央寄せの通常フローのため対象外
	   (:not(.l-footer--simple) で明示的に除外し、簡易版の見た目に影響しない
	   ようにする)。SP Figmaの本文インデントは x=36(→3.6rem)左揃え。
	   --------------------------------------------------------- */
	.l-footer:not(.l-footer--simple) {
		display: block; /* PCのflex縦積み/space-betweenを解除(SPは単一カラム) */
		min-height: 0;
		padding: 8rem 3.6rem 6rem;
	}

	/* PCで足した上段ラッパーをSPでは解除して単一カラム縦積みに戻す。 */
	.l-footer__main {
		display: block;
		padding: 0;
	}

	.l-footer__company {
		width: auto;
	}

	.l-footer__cols {
		display: block;
	}

	/* フル版フッター専有の要素(company.php)。簡易版のDOMには存在しないため
	   :not(.l-footer--simple) を付けずとも簡易版に影響しない。 */
	.l-footer__heading,
	.l-footer__company-text,
	.l-footer__col,
	.l-footer__label,
	.l-footer__list,
	.l-footer__tel-group,
	.l-footer__tel-group .l-footer__tel {
		position: static;
		top: auto;
		left: auto;
		width: auto;
	}

	.l-footer__divider {
		display: none;
	}

	.l-footer__heading {
		margin-bottom: 2rem;
	}

	.l-footer__company-text {
		margin-top: 0; /* PCで足したmargin-top:4remを解除(SPの見出し→本文間隔は heading の margin-bottom:2rem 側で確保) */
		margin-bottom: 5rem;
	}

	.l-footer__col--contents {
		padding-top: 5rem;
		margin-bottom: 6rem;
		border-top: 0.1rem solid var(--color-text);
	}

	.l-footer__label {
		margin-bottom: 2rem;
	}

	.l-footer__tel-group {
		margin-top: 3rem;
	}

	/* backtotop / copyright はフル版・簡易版で共有する要素のため、フル版の
	   縦積み変換だけを :not(.l-footer--simple) で明示的にスコープし、
	   簡易版(既存の中央寄せレイアウト)には一切影響させない。 */
	.l-footer:not(.l-footer--simple) .l-footer__backtotop {
		position: relative;
		top: auto;
		left: auto;
		width: 10.4rem;
		height: 8.023rem;
		display: flex;
		flex-direction: column;
		align-items: center;
		margin: 6rem auto 0;
	}

	.l-footer:not(.l-footer--simple) .l-footer__backtotop-text {
		position: static;
		transform: none;
	}

	.l-footer:not(.l-footer--simple) .l-footer__backtotop-arrow {
		position: static;
		margin-top: 0.8rem;
	}

	.l-footer:not(.l-footer--simple) .l-footer__copyright {
		position: static;
		top: auto;
		left: auto;
		width: auto;
		transform: none;
		text-align: left;
		margin-top: 6rem;
	}

	/* ---------------------------------------------------------
	   BOOK NOW (.c-booknow)
	   SP Figma: 85x85 @ (269,729)。ヒーローのビューポート(390x844)基準で
	   right:390-269-85=36→3.6rem / bottom:844-729-85=30→3rem。
	   --------------------------------------------------------- */
	.c-booknow {
		right: 3.6rem;
		bottom: 3rem;
		width: 8.5rem;
		height: auto; /* 高さは幅に合わせて正方形にする */
		aspect-ratio: 1 /1;
		max-width: 100px;
	}
}

/* =============================================================
   SP フォント: タブレット/スマホ2段の固定px化
   背景: 上の @media (max-width:920px) はレイアウト(position/width/height/
   margin/padding等)をremのまま比例拡大させる土台で、それ自体は意図通り。
   しかし font-size/line-height/letter-spacing にもremを使うと、920pxに
   近づくほど文字だけ最大約2.4倍に膨らむ(base.cssのSPスケーリング
   calc(100vw/39)がhtmlのフォントサイズそのものを比例させるため)。
   これを避けるため、フォント3プロパティだけをvw非依存のpxに固定し、
   この2段のメディアクエリに集約する(上のブロックにあった同プロパティの
   rem指定は削除済み。レイアウトのremは上のブロックに残したまま)。

   スマホ値(≤767px)は390pxデザインの実測px、タブレット値(768–920px)は
   スマホ値 × 約1.35 を目安に丸めたもの。倍率を変える場合はタブレット
   ブロックの数値のみ調整すればよい(スマホ側の実測値は変えない)。

   注記: このセッションはFigma MCP (get_design_context)が未認証のため
   直接の再計測ができず、既存のSP rem値(920pxブロックで上書きされていた
   値、無ければPCのrem値)を"スマホpx"としてそのまま流用した。BOOK NOW /
   メニューラベル・ナビ等は元実装時のコメントでFigma実測済みと確認できる
   一方、フッター(フル版)の見出し・会社テキスト・ラベル・リンク・電話番号・
   backtotop・コピーライトはSP側の上書きが元々存在せず(=PCのrem値を
   そのまま継承していた)、SP専用の実測値ではない。Figma認証が復旧し次第
   の再検証を推奨(詳細は実装報告を参照)。
   ============================================================= */

/* SP フォント: タブレット (768–920px)。スマホpx × 約1.35。倍率調整はこのブロックの値のみ。 */
@media (min-width: 768px) and (max-width: 920px) {

	.l-menu-overlay__label {
		font-size: 19px; /* 14px × 1.35 = 18.9 */
	}

	.l-menu-overlay__list a {
		font-size: 28px; /* 21px × 1.35 = 28.35 */
	}

	.l-footer__heading {
		font-size: 27px; /* 20px × 1.35 = 27 */
		line-height: 38px; /* 28px × 1.35 = 37.8 */
		letter-spacing: 3px; /* 2px × 1.35 = 2.7 */
	}

	.l-footer__company-text {
		font-size: 18px; /* 13px × 1.35 = 17.55 */
		line-height: 28px; /* 21px × 1.35 = 28.35 */
	}

	.l-footer__label {
		font-size: 19px; /* 14px × 1.35 = 18.9 */
	}

	.l-footer__list a {
		font-size: 28px; /* 21px × 1.35 = 28.35 */
	}

	.l-footer__tel-group .l-footer__tel {
		font-size: 28px; /* 21px × 1.35 = 28.35 */
	}

	.l-footer__backtotop-text {
		font-size: 22px; /* 16px × 1.35 = 21.6 */
	}

	.l-footer__copyright {
		font-size: 16px; /* 12px × 1.35 = 16.2 */
		line-height: 26px; /* 19px × 1.35 = 25.65 */
	}

	.c-booknow__text {
		font-size: 19px; /* 14px × 1.35 = 18.9 */
		line-height: 24px; /* 18px × 1.35 = 24.3 */
		letter-spacing: 1px; /* 1px × 1.35 = 1.35 */
	}
}

/* SP フォント: スマホ (≤767px)。390pxデザインの実px。 */
@media (max-width: 767px) {

	.l-menu-overlay__label {
		font-size: 14px;
	}

	.l-menu-overlay__list a {
		font-size: 16px;
	}

	.l-footer__heading {
		font-size: 20px;
		line-height: 28px;
		letter-spacing: 2px;
	}

	.l-footer__company-text {
		font-size: 13px;
		line-height: 21px;
	}

	.l-footer__label {
		font-size: 14px;
	}

	.l-footer__list a {
		font-size: 16px;
	}

	.l-footer__tel-group .l-footer__tel {
		font-size: 16px;
	}

	.l-footer__backtotop-text {
		font-size: 16px;
	}

	.l-footer__copyright {
		font-size: 12px;
		line-height: 19px;
	}

	.c-booknow__text {
		font-size: 14px;
		line-height: 18px;
		letter-spacing: 1px;
	}
}
