@charset "UTF-8";
/*!
Theme Name: reno（リノベの家）
Theme URI: https://88myhouse.jp/reno/
Author: 88MyHOUSE
Author URI: https://88myhouse.jp/
Description: リノベの家 TOPテーマ
Version: 1.0.0
License: Private
Text Domain: reno
*/
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-weight: normal;
}

span {
  font-weight: inherit;
}

body {
  line-height: 1;
}

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

ul,
ol {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

th {
  text-align: left;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

/* --------------------------------------------------
	Form
-------------------------------------------------- */
input,
select {
  vertical-align: middle;
}

button {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

fieldset {
  border: none;
}

input {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: middle;
  outline: none;
  border: none;
}

textarea,
select,
label {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: middle;
  outline: none;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  resize: vertical;
}

legend {
  display: none;
}

img {
  max-width: 100%;
  height: auto;
}

img {
  vertical-align: bottom;
}

img.responsive {
  width: 100%;
}

img.svg {
  width: auto;
}

/*-- mixinフォルダの中の_index.scss --*/
/* ============================================
   サイト宣言変数
   SITE_CONFIG.md と必ず同期させること
============================================ */
/**************************
  カラーパレット
  ※SITE_CONFIG.md が正本。命名系統は維持する
**************************/
/**************************
  フォント（FontPlus / 2026-08-02 差し替え・family名確定）
  ※基本の和文（body既定）は こぶりなゴシック StdN W3（2026-08-06 案A採用・デザイナー意向）。
    使い分け: 本文・サブ見出し＝こぶりな（既定のまま）／見出し・メニュー・footer系の日本語＝
    筑紫Aオールド明朝（@include ff-tsukua-m / ff-tsukua-l を明示）。
    個別指定は _m-font-mixin.scss の ff-系mixin を使う
**************************/
/**************************
  z-index 管理
**************************/
/* ============================================
   関数（定義はこのファイルだけ。mixinファイル内での重複定義禁止）
============================================ */
/* ============================================
   正本mixin（棚卸し確定版 2026-03）
   これ以外の旧mixinは _m-archive.scss にあり、新規使用禁止
============================================ */
/*------------------------------------
 メディアクエリ MIXIN
---------------------------------*/
/*---------------------
 ★ 文字関連一括指定【全テキスト必須】
-----------------------*/
/*---------------------
 ★ 数値プロパティのvwシームレス可変
-----------------------*/
/*---------------------
 ★ リンク文字色 固定
-----------------------*/
/*---------------------
 ★ コンテナ
-----------------------*/
/*-------------------------------------
   レイアウト汎用（pp- = page-parts）
---------------------------------------*/
/*-----------------------------------
 上下余白（レスポンシブ2値）
-----------------------------------*/
/*-----------------------------------
 左余白（レスポンシブ）※左柱レイアウト採用サイトのみ
-----------------------------------*/
/*-----------------------------------
 改行制御
-----------------------------------*/
/*--------------------------------------------
 行数丸め…省略（複数行対応）
----------------------------------------------*/
/*-----------------------------------
 連続要素の間隔（段落間隔）
-----------------------------------*/
/* ============================================
   フォント ff-系mixin（FontPlus / 2026-08-02 差し替え）
   サイトごとに中身を差し替える（枠組みは維持）
   family 名は FontPlus 管理画面の記載どおり（確定・2026-08-02）
============================================ */
/* ============================================
   Webフォント（FontPlus スマートライセンス / 2026-08-02）
   読み込みスクリプト・豆腐化防止ブロックとも functions.php で出力
   （スクリプト: wp_head ／ .font-preload: wp_footer）。
   family 名の正本は _m-font-mixin.scss（ff-系mixin）。
============================================ */
/*
   豆腐化防止（先行サイト方式）
   FontPlus の動的サブセット読み込みの都合上、初期HTMLに存在しない文字
   （JSで後挿入・::before/::after・text-transform 後の文字など）は豆腐化する。
   → functions.php の wp_footer で .font-preload ブロックを出力し、
     使用全書体ぶんの英数記号・頻出文字を先行読み込みし非表示にする。
   対象文字: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!?税込….()（）概要
*/
.font-preload {
  display: none;
}

.font-preload__tsukua-m {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
}

.font-preload__tsukua-l {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 L", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
}

.font-preload__garamond {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
}

.font-preload__garamond-ita {
  font-family: "ITCGaramondStd-LtIta", "Times New Roman", serif;
  font-style: normal;
}

.font-preload__futura {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
}

.font-preload__koburina {
  font-family: "FP-こぶりなゴシック StdN W3", "FP-KoburinaGoStdN-W3", "Hiragino Sans", "ヒラギノ角ゴシック", "Yu Gothic", sans-serif;
}

/* ============================================
   Material Symbols Outlined（アイコンフォント / 2026-08-05追加）
   chevron_right のみ限定読込（functions.php wp_head）。
   Googleのcss2エンドポイントには基底クラス定義が含まれないため自前で用意する
   （公式ドキュメント記載の定型クラス。font-sizeは呼び出し側でfont-cg経由で指定する）
============================================ */
.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

/* ++++++++++++++++++++++++++++++++++++++++++
   グローバル既定
++++++++++++++++++++++++++++++++++++++++++*/
/*---------------------
 ★ スムーズスクロール
-----------------------*/
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

/*---------------------
 ★ body 既定
 旧: font-size 1.6rem(=16px@62.5%) / line-height 1.7。
 62.5%指定は撤廃し 1rem=16px 基準へ移行。font-cg(16) で 16px 等価を維持。
 letter-spacing は旧 normal。0 は視覚的に normal と等価のため 0 とする。
-----------------------*/
body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
  font-family: "FP-こぶりなゴシック StdN W3", "FP-KoburinaGoStdN-W3", "Hiragino Sans", "ヒラギノ角ゴシック", "Yu Gothic", sans-serif;
  background-color: #e6e6dc;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*---------------------
 ★ 太字強調
-----------------------*/
.b,
strong {
  font-weight: bold;
}

/*---------------------
 ★ リンク既定: 下線消去+色固定
 個別リンクは各所で @include linkColor($color) し、
 hover演出は後置 &:hover で上書きする。
 2026-08-05: 「薄くなる」opacity演出は視認性が落ちるため全廃（ユーザー指示）。
 既定（テキストリンクの基本形）は色をブランドカラーへ変える方式に統一。
 画像タイルは各所でscale、枠線ボタンはc-btn側でbackground塗りに個別対応。
-----------------------*/
a {
  color: #1a1a1a;
  text-decoration: none;
}
a:visited, a:hover, a:active, a:focus {
  color: #1a1a1a;
  text-decoration: none;
}
a {
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
a:hover {
  color: #c2a979;
}

/*---------------------
 ★ リンク無効
-----------------------*/
a.link-none {
  pointer-events: none !important;
}

/*---------------------
 ★ 画像 既定（サイト全体で width:100% + cover 運用）
 旧 default の指定を維持（reset の height:auto を width:100%/cover で上書き）
-----------------------*/
img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

/*---------------------
 ★ プレースホルダー（画像未配置時）
-----------------------*/
.no-img {
  background-color: #ddd;
}

/*-- componentフォルダの中の_index.scss --*/
/* _c-section-head.scss — セクション見出し共通 */
.c-section-head {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 12px auto;
  grid-template-columns: 1fr auto;
  -webkit-column-gap: 12px;
     -moz-column-gap: 12px;
          column-gap: 12px;
  row-gap: 4px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  padding: 40px 20px 24px;
}
.c-section-head--light .c-section-head__en,
.c-section-head--light .c-section-head__ja {
  color: #ffffff;
}
.c-section-head--light .c-section-head__link {
  color: rgba(255, 255, 255, 0.8);
}
.c-section-head__en {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.02em;
  line-height: 1;
}
.c-section-head__ja {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.c-section-head__link {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-row: 1/3;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2px;
  padding-bottom: 6px;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
  white-space: nowrap;
}
.c-section-head__link::before {
  content: "";
  position: absolute;
  left: 0;
  right: -20px;
  bottom: 0;
  height: 1px;
  background: currentColor;
}
.c-section-head__link .material-symbols-outlined {
  font-style: normal;
  font-weight: 400;
  font-size: calc(18 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0em;
  line-height: 1;
}
.c-section-head__link:hover {
  color: #c2a979;
}

/* _c-slider.scss — 横スライダー基盤 */
.c-slider {
  position: relative;
  overflow: hidden;
}
.c-slider.is-dragging {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: -webkit-grabbing;
  cursor: grabbing;
}
.c-slider__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow-x: auto;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  gap: 12px;
  padding: 0 20px 16px;
  scrollbar-width: none;
}
.c-slider__list::-webkit-scrollbar {
  display: none;
}
.c-slider__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  scroll-snap-align: start;
  width: 70%;
}
.c-slider__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
  padding: 12px 20px;
}
.c-slider__nav .c-slider__dots {
  padding: 0;
}
.c-slider__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  padding: 12px 0;
}
.c-slider__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e8e4de;
  cursor: pointer;
  -webkit-transition: background 0.2s ease, -webkit-transform 0.2s ease;
  transition: background 0.2s ease, -webkit-transform 0.2s ease;
  transition: background 0.2s ease, transform 0.2s ease;
  transition: background 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}
.c-slider__dot.is-active {
  background: #2c2c2c;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
}
.c-slider__counter {
  position: absolute;
  bottom: 20px;
  right: 24px;
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.c-slider__arrow-static {
  position: absolute;
  pointer-events: none;
}
.c-slider__arrow-static img {
  display: block;
  width: 100%;
  height: auto;
}
.c-slider__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #e8e4de;
  background: #ffffff;
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(18 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1;
  cursor: pointer;
  -webkit-transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.c-slider__arrow:hover {
  background: #c2a979;
  color: #ffffff;
  border-color: #c2a979;
}

/* _c-card.scss — 共通カード */
.c-card {
  display: block;
  background: #ffffff;
  overflow: hidden;
  color: #1a1a1a;
}
.c-card--service {
  position: relative;
}
.c-card__img-wrap {
  width: 100%;
  padding-top: 66.66%;
  position: relative;
  overflow: hidden;
  background: #ddd;
}
.c-card__img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.c-card__img-wrap--oval {
  padding-top: 140%;
  border-radius: 50%/40%;
}
.c-card__body {
  padding: 12px 4px;
}
.c-card__overlay {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 20px 16px;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.6)), color-stop(60%, rgba(0, 0, 0, 0)));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0) 60%);
}
.c-card__overlay .c-card__num,
.c-card__overlay .c-card__title {
  color: #ffffff;
}
.c-card__overlay .c-card__title {
  margin-bottom: 16px;
}
.c-card__num {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.1em;
  line-height: 1.7;
  display: block;
}
.c-card__tag {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-size: calc(10 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
  border: 1px solid #e8e4de;
  padding: 2px 8px;
  margin-bottom: 4px;
}
.c-card__date {
  font-style: normal;
  font-weight: 400;
  font-size: calc(10 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
  margin-bottom: 4px;
  display: block;
}
.c-card__area {
  font-style: normal;
  font-weight: 400;
  font-size: calc(10 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
  margin-bottom: 4px;
  display: block;
}
.c-card__role {
  font-style: normal;
  font-weight: 400;
  font-size: calc(10 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
  display: block;
}
.c-card__title {
  font-style: normal;
  font-weight: 500;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.5;
  margin-top: 4px;
}
.c-card__name {
  font-style: normal;
  font-weight: 500;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
  margin-top: 4px;
}
.c-card__desc {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 8px;
}
.c-card__excerpt {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
  margin-top: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.c-card__meta {
  margin-top: 8px;
}
.c-card__meta-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  font-style: normal;
  font-weight: 400;
  font-size: calc(11 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
}
.c-card__meta-row dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #1a1a1a;
}
.c-card__meta-row dd {
  color: #1a1a1a;
}
.c-card__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-top: 12px;
}
.c-card__works-num {
  position: absolute;
  bottom: 12px;
  left: 12px;
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(24 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.05em;
  line-height: 1.7;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

.c-card:hover .c-card__img-wrap img {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
}

.no-img {
  background-color: #ddd;
}

/* _c-btn.scss — 共通ボタン */
.c-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 14px 32px;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0.08em;
  line-height: 1.7;
  border: 1px solid transparent;
  -webkit-transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  cursor: pointer;
}
.c-btn--primary {
  background: #2c2c2c;
  color: #ffffff;
  border-color: #2c2c2c;
}
.c-btn--primary:visited {
  color: #ffffff;
}
.c-btn--primary:hover {
  background: rgb(18.5, 18.5, 18.5);
}
.c-btn--outline {
  background: transparent;
  color: #2c2c2c;
  border-color: #2c2c2c;
}
.c-btn--outline:visited {
  color: #2c2c2c;
}
.c-btn--outline:hover {
  background: #c2a979;
  border-color: #c2a979;
  color: #ffffff;
}
.c-btn--outline-light {
  background: transparent;
  color: #ffffff;
  border-color: #ffffff;
}
.c-btn--outline-light:visited {
  color: #ffffff;
}
.c-btn--outline-light:hover {
  background: #c2a979;
  border-color: #c2a979;
  color: #ffffff;
}

/* _c-bg-section.scss — 背景画像セクション */
.c-bg-section {
  position: relative;
  background-size: cover;
  background-position: center;
  background-attachment: scroll;
}
.c-bg-section__overlay {
  position: absolute;
  inset: 0;
  background: rgba(26, 26, 26, 0.22);
}
.c-bg-section > *:not(.c-bg-section__overlay) {
  position: relative;
  z-index: 1;
}

/* _c-photo-modal.scss — クリック拡大写真モーダル（FancyBox風・Vanilla自作）
   2026-08-13 新設（service-custom の ReFa 写真向け・今後どのページでも使える汎用）。
   生成・アニメ制御は assets/js/modules/photo-modal.js（FLIP方式）。
   マークアップはJSが body 直下に動的生成する:
     .c-photo-modal > .c-photo-modal__backdrop + .c-photo-modal__img
   body は zoom(--main-zoom) の外なので、zoom帯でも座標がズレない */
.is-zoomable {
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
}

.c-photo-modal {
  position: fixed;
  inset: 0;
  z-index: 300;
}

.c-photo-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 20, 20, 0);
  -webkit-transition: background 0.35s ease;
  transition: background 0.35s ease;
}

.c-photo-modal.is-open .c-photo-modal__backdrop {
  background: rgba(20, 20, 20, 0.82);
}

.c-photo-modal__img {
  position: absolute;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.22, 0.74, 0.36, 1);
  transition: -webkit-transform 0.4s cubic-bezier(0.22, 0.74, 0.36, 1);
  transition: transform 0.4s cubic-bezier(0.22, 0.74, 0.36, 1);
  transition: transform 0.4s cubic-bezier(0.22, 0.74, 0.36, 1), -webkit-transform 0.4s cubic-bezier(0.22, 0.74, 0.36, 1);
  will-change: transform;
}

/* ── ギャラリー連動版の追加UI（gallery-modal.js・Tour詳細 2026-09-12）──
   カウンター＋前後ボタン。is-open で暗幕と一緒にフェードイン */
.c-photo-modal__count {
  position: absolute;
  left: 50%;
  bottom: 20px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.1em;
  line-height: 1.4;
  opacity: 0;
  -webkit-transition: opacity 0.35s ease;
  transition: opacity 0.35s ease;
}

.c-photo-modal__nav {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: 1px solid #ffffff;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  opacity: 0;
  -webkit-transition: opacity 0.35s ease;
  transition: opacity 0.35s ease;
}
.c-photo-modal__nav::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
}
.c-photo-modal__nav--prev {
  left: 12px;
}
.c-photo-modal__nav--prev::before {
  -webkit-transform: translate(-30%, -50%) rotate(-135deg);
          transform: translate(-30%, -50%) rotate(-135deg);
}
.c-photo-modal__nav--next {
  right: 12px;
}
.c-photo-modal__nav--next::before {
  -webkit-transform: translate(-70%, -50%) rotate(45deg);
          transform: translate(-70%, -50%) rotate(45deg);
}

.c-photo-modal__label {
  position: absolute;
  padding: 3px 9px;
  background: rgba(20, 20, 20, 0.85);
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(11 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.12em;
  line-height: 1.4;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.35s ease;
  transition: opacity 0.35s ease;
}
.c-photo-modal__label:empty {
  display: none;
}

.c-photo-modal.is-open .c-photo-modal__count,
.c-photo-modal.is-open .c-photo-modal__label,
.c-photo-modal.is-open .c-photo-modal__nav {
  opacity: 1;
}

.c-photo-modal.is-open .c-photo-modal__nav:disabled {
  opacity: 0.25;
  pointer-events: none;
}

/* _c-datepicker.scss — 店休日選択不可カレンダー（自作datepicker）
   2026-08-13 新設。生成・開閉・無効日判定は assets/js/modules/holiday-datepicker.js。
   店休日データは assets/js/modules/shop-holidays.js（年次入れ替え）。
   パネルは body 直下に生成される（zoom帯でも位置がズレない）。 */
.is-datepicker {
  cursor: pointer;
  background-color: #ffffff;
}

.c-datepicker {
  position: absolute;
  z-index: 300;
  background: #ffffff;
  border: 1px solid #e8e4de;
  border-radius: 8px;
  -webkit-box-shadow: 0 8px 24px rgba(26, 26, 26, 0.15);
          box-shadow: 0 8px 24px rgba(26, 26, 26, 0.15);
  padding: 12px;
}

.c-datepicker__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 8px;
}

.c-datepicker__title {
  font-style: normal;
  font-weight: 500;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.4;
}

.c-datepicker__nav {
  width: 32px;
  height: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  border: 1px solid #e8e4de;
  background: transparent;
  font-style: normal;
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1;
  cursor: pointer;
  -webkit-transition: background 0.2s ease, color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease;
}
.c-datepicker__nav:hover:not(:disabled) {
  background: #c2a979;
  color: #ffffff;
}
.c-datepicker__nav:disabled {
  opacity: 0.3;
  cursor: default;
}

.c-datepicker__grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 36px 2px 36px 2px 36px 2px 36px 2px 36px 2px 36px 2px 36px;
  grid-template-columns: repeat(7, 36px);
  gap: 2px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-datepicker__dow {
  font-style: normal;
  font-weight: 400;
  font-size: calc(11 / 16 * 1rem);
  color: #6b6b6b;
  letter-spacing: 0em;
  line-height: 1.4;
  text-align: center;
  padding: 4px 0;
}

.c-datepicker__blank {
  height: 36px;
}

.c-datepicker__day {
  height: 36px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  border: none;
  background: transparent;
  font-style: normal;
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1;
  cursor: pointer;
  -webkit-transition: background 0.15s ease, color 0.15s ease;
  transition: background 0.15s ease, color 0.15s ease;
}
.c-datepicker__day:hover {
  background: #c2a979;
  color: #ffffff;
}
.c-datepicker__day.is-disabled {
  color: #e8e4de;
  cursor: default;
}
.c-datepicker__day.is-disabled:hover {
  background: transparent;
  color: #e8e4de;
}
.c-datepicker__day.is-today {
  border: 1px solid #d4c4a8;
}
.c-datepicker__day.is-selected {
  background: #2c2c2c;
  color: #ffffff;
}

/* _c-tour-status.scss — Tourタイプ帯バッジ（2026-09-12 Tourタイプ分離で新設）
   デザイン画: PNG/0903Tourタイプ分離カンプ（一覧＋詳細4タイプ共通の丸ピル）
   一覧カード（p-tour-card__status）と Tour詳細4タイプ（p-tour-detail-title__status）で共用。
   配置・重なり（写真への半被り等）は使用側の p- 層で持ち、ここは見た目だけを持つ */
.c-tour-status {
  display: inline-block;
  min-width: 140px;
  padding: 7px 24px;
  border: 1px solid #1a1a1a;
  border-radius: 999px;
  background: #faf0d2;
  text-align: center;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

/* _c-before-after.scss — Before/After（parts-before-after.php とセット）
   2026-09-13 新設。見学できる建物 詳細（5テンプレ）＋リノベ実例 詳細で共用。
   挙動は assets/js/modules/before-after.js。
   - Before＝モノクロ＋一回り小さく／After＝アニメーションしながら枠いっぱい（クライアント要望 2026-09-13）
   - slide 方式（既定）: ネイティブ横 scroll-snap。JS が書く --ba-progress(0〜1) で After の拡大を連動
   - fade 方式（--fade）: 2枚を同じ位置に重ね、.is-after の付け外しで transition */
.c-before-after {
  margin-top: 40px;
}
.c-before-after__demo {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: rgba(107, 107, 107, 0.2392156863);
  letter-spacing: 0em;
  line-height: 1.6;
  margin-bottom: 12px;
}
.c-before-after__labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
}
.c-before-after__label {
  display: block;
  margin: -10px 0;
  padding: 10px 0;
  border: 0;
  background: none;
  color: inherit;
}
.c-before-after__label[type=button] {
  cursor: pointer;
}
.c-before-after__label-img {
  display: block;
  width: auto;
  height: 18px;
}
.c-before-after__label-img--back, .c-before-after__label-img--after {
  display: none;
}
.c-before-after.is-after .c-before-after__label-img--before, .c-before-after.is-after .c-before-after__label-img--next {
  display: none;
}
.c-before-after.is-after .c-before-after__label-img--back, .c-before-after.is-after .c-before-after__label-img--after {
  display: block;
}
.c-before-after__frame {
  position: relative;
  margin-top: 12px;
  border: 1px solid #e8e4de;
  background: #ffffff;
}
.c-before-after__hint {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 1;
  width: 36px;
  height: auto;
  opacity: 0.35;
  pointer-events: none;
}
.c-before-after__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow-x: auto;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.c-before-after__list::-webkit-scrollbar {
  display: none;
}
.c-before-after__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.c-before-after__item img {
  display: block;
  width: 100%;
  height: auto;
}
.c-before-after__item.no-img {
  aspect-ratio: 4/3;
  background: #e6e6dc;
}
.c-before-after__item--before img {
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
  -webkit-transform: scale(0.85);
          transform: scale(0.85);
}
.c-before-after__item--after img {
  -webkit-transform: scale(calc(0.85 + 0.15 * var(--ba-progress, 0)));
          transform: scale(calc(0.85 + 0.15 * var(--ba-progress, 0)));
}
.c-before-after--single .c-before-after__item--before img {
  -webkit-transform: none;
          transform: none;
}
.c-before-after--fade .c-before-after__list {
  display: -ms-grid;
  display: grid;
  overflow: visible;
  -ms-scroll-snap-type: none;
      scroll-snap-type: none;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.c-before-after--fade .c-before-after__item {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: 1/1;
}
.c-before-after--fade .c-before-after__item img {
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: transform 0.6s ease, opacity 0.6s ease;
  transition: transform 0.6s ease, opacity 0.6s ease, -webkit-transform 0.6s ease;
}
.c-before-after--fade .c-before-after__item--after img {
  opacity: 0;
  -webkit-transform: scale(0.85);
          transform: scale(0.85);
}
.c-before-after--fade.is-after .c-before-after__item--before img {
  opacity: 0;
}
.c-before-after--fade.is-after .c-before-after__item--after img {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
@media (prefers-reduced-motion: reduce) {
  .c-before-after--fade .c-before-after__item img {
    -webkit-transition: none;
    transition: none;
  }
}
.c-before-after.is-dragging {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

/* _c-gmap.scss — Google マップ埋め込み（iframe）の配色（2026-10-07 新設・暫定）
   Maps JS API（グレー配色＋favicon マーカー）はクライアントのカード登録待ちのため、それまでは
   iframe 埋め込みを CSS フィルターで「グレースケール＋サイトの地色（$base-color）寄りの淡い生成り」にする。
   対象: 会社案内／まずは相談したい／イベント詳細／見学できる建物 詳細（Community・Date）＝ get_gmap_embed_url() を使う全 iframe。
   ページごとの枠（幅・縦横比・余白）は各 p- 層の __map が持ち、ここは色だけを持つ。
   クラスではなく src で拾う＝テンプレート5か所を触らず、API 実装に替えたらこのファイルごと外せるようにするため。
   ※フィルターは iframe 全体に掛かるので、地図上のピン・「拡大地図を表示」リンクもグレーになる */
iframe[src*="google.com/maps"] {
  -webkit-filter: grayscale(1) sepia(0.12) contrast(0.95) brightness(1.03);
          filter: grayscale(1) sepia(0.12) contrast(0.95) brightness(1.03);
}

/*-- utilityフォルダの中の_index.scss --*/
/*------------------------------------
ユーティリティ いろいろ
「クラス名を新規に作るのが面倒なとき」の受け皿。
u-クラスの多段連結でレイアウトを組み立てるのは禁止（それは名前空間内に書く）
---------------------------------*/
.u-display-none {
  display: none;
}

.u-txt-right {
  text-align: right;
}

.u-ta-left-sp {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .u-ta-left-sp {
    text-align: left;
  }
}

@media screen and (max-width: 768px) {
  .u-ta-center-sp {
    text-align: center;
  }
}

.u-fc-red {
  color: red;
}

.u-fc-accent {
  color: #d4c4a8;
}

.u-fs-08em {
  font-size: 0.8em;
}

.u-fw-b {
  font-weight: bold;
}

.u-inline-block {
  display: inline-block;
}

.u-marker-y {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(75%, #ffff7f));
  background: linear-gradient(transparent 75%, #ffff7f 75%);
}

.u-clip-2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

.u-clip-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

/* *********************************
  YouTube動画対応
*************************************/
.u-youtube-block {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  /*アスペクト比 16:9の場合の縦幅*/
}
.u-youtube-block iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* *********************************
  GoogleMap対応
*************************************/
.u-access-map {
  position: relative;
  width: auto;
  padding-top: 37%;
}
.u-access-map iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* *********************************
  汎用文字サイズ（font-cg + property-vw 定型セット）
  段階・可変レンジはサイトごとに調整してよい
*************************************/
.u-fs-36 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(36 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-36 {
    font-size: 36px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-36 {
    font-size: calc(0.8928571429vw + 23.1428571429px);
  }
}
@media (max-width: 319px) {
  .u-fs-36 {
    font-size: 26px;
  }
}

.u-fs-32 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(32 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-32 {
    font-size: 32px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-32 {
    font-size: calc(0.5357142857vw + 24.2857142857px);
  }
}
@media (max-width: 319px) {
  .u-fs-32 {
    font-size: 26px;
  }
}

.u-fs-28 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(28 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-28 {
    font-size: 28px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-28 {
    font-size: calc(0.8928571429vw + 15.1428571429px);
  }
}
@media (max-width: 319px) {
  .u-fs-28 {
    font-size: 18px;
  }
}

.u-fs-24 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(24 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-24 {
    font-size: 24px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-24 {
    font-size: calc(0.3571428571vw + 18.8571428571px);
  }
}
@media (max-width: 319px) {
  .u-fs-24 {
    font-size: 20px;
  }
}

.u-fs-17 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-17 {
    font-size: 17px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-17 {
    font-size: calc(0.2678571429vw + 13.1428571429px);
  }
}
@media (max-width: 319px) {
  .u-fs-17 {
    font-size: 14px;
  }
}

.u-fs-16 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(16 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-16 {
    font-size: 16px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-16 {
    font-size: calc(0.1785714286vw + 13.4285714286px);
  }
}
@media (max-width: 319px) {
  .u-fs-16 {
    font-size: 14px;
  }
}

.u-fs-14 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-14 {
    font-size: 14px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-14 {
    font-size: calc(0.1785714286vw + 11.4285714286px);
  }
}
@media (max-width: 319px) {
  .u-fs-14 {
    font-size: 12px;
  }
}

.u-fs-12 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media (min-width: 1440px) {
  .u-fs-12 {
    font-size: 12px;
  }
}
@media (min-width: 320px) and (max-width: 1439px) {
  .u-fs-12 {
    font-size: calc(0.1785714286vw + 9.4285714286px);
  }
}
@media (max-width: 319px) {
  .u-fs-12 {
    font-size: 10px;
  }
}

.u-fs-10 {
  font-style: normal;
  font-weight: 500;
  font-size: calc(10 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
}

/*------------------------------------
上下マージンと上下パディングの定型セット
頻出するものだけ。段階はサイトごとに調整してよい
命名 = PC値 + SP値の連結（u-pp-mt12080 = PC120px/SP80px）
---------------------------------*/
.u-pp-mt12080 {
  margin-top: 120px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mt12080 {
    margin-top: 80px;
  }
}

.u-pp-mb12080 {
  margin-bottom: 120px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mb12080 {
    margin-bottom: 80px;
  }
}

.u-pp-mt8060 {
  margin-top: 80px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mt8060 {
    margin-top: 60px;
  }
}

.u-pp-mb8060 {
  margin-bottom: 80px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mb8060 {
    margin-bottom: 60px;
  }
}

.u-pp-mt6040 {
  margin-top: 60px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mt6040 {
    margin-top: 40px;
  }
}

.u-pp-mb6040 {
  margin-bottom: 60px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mb6040 {
    margin-bottom: 40px;
  }
}

.u-pp-mt4030 {
  margin-top: 40px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mt4030 {
    margin-top: 30px;
  }
}

.u-pp-mb4030 {
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mb4030 {
    margin-bottom: 30px;
  }
}

.u-pp-mt3020 {
  margin-top: 30px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mt3020 {
    margin-top: 20px;
  }
}

.u-pp-mb3020 {
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mb3020 {
    margin-bottom: 20px;
  }
}

.u-pp-mt2015 {
  margin-top: 20px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mt2015 {
    margin-top: 15px;
  }
}

.u-pp-mb2015 {
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  .u-pp-mb2015 {
    margin-bottom: 15px;
  }
}

/*------------------------------------
左柱レイアウト採用サイトのみ: 左余白確保
数値はサイトごとに調整
---------------------------------*/
/*-- layoutフォルダの中の_index.scss --*/
/* _l-layout.scss — 3カラム構造 */
body {
  background-color: #e6e6dc;
  min-height: 100vh;
}

/* 【経緯・重要】従来は html（ルートスクローラー）に scroll-snap-type を付け、各ページSCSSに
   html:has(main.main-content.ページクラス) で分散定義していた。しかし iPhone 等のモバイル
   ブラウザはページ（ルート）スクロールでアドレスバー/ツールバーUIが伸縮し、そのたびに
   ビューポートがリサイズされる。CSS仕様上、レイアウト変化のたびにスナップ位置への
   再スナップが強制されるため、スクロール中に「途中で突っかかってからやっとピタッと止まる」
   ガタつきが出ていた（2026-08-20 ユーザー報告・実機iPhone）。
   対策: スナップページ（≤800px）ではルートのスクロールを止め、body を高さ固定の
   スクロールコンテナにする。ドキュメント（ルート）がスクロールしないため
   ブラウザUIの伸縮そのものが発生せず、ビューポートが安定し再スナップが起きない。
   副作用: ツールバーは常時表示のままになる（画面は少し狭いが安定・アプリ的挙動）。
   その状態では 100svh＝現ビューポートなので、既存の calc(100svh / var(--main-zoom,1))
   による1画面高計算はそのまま正しく働く。
   ※メニュー開閉時の main.js の body overflow:hidden（インライン）はこの overflow-y:auto に
     後勝ちし、スクロールロックとして従来通り機能する */
@media screen and (max-width: 768px) {
  html:has(main.main-content:is(.home)) {
    height: 100%;
    overflow: hidden;
  }
}
@media screen and (max-width: 768px) {
  html:has(main.main-content:is(.home)) body {
    /* 100svh＝小ビューポート基準。ツールバー常時表示状態では現ビューポートと一致し、
       セクション1画面高（100svh基準）ともスクローラー高が同一基準になる
       （dvhは定義上「ブラウザUIに応じて動く」単位のため、ビューポート固定が目的の
       この設計ではsvhの方が素直・GPTレビュー指摘 2026-08-20） */
    height: 100svh;
    min-height: 0;
    overflow-y: auto;
    -ms-scroll-snap-type: y mandatory;
        scroll-snap-type: y mandatory;
    /* スクロールバー非表示（2026-09-02・ユーザー報告「768px以下で下固定タブが右ズレ」対応）。
       bodyスクローラー化により、クラシックスクロールバー環境（Windows等）ではバーが
       body の内側に付き、中身の中央寄せ基準が「ビューポート−バー幅（約17px）」に縮む。
       一方 position:fixed の l-quicknav はビューポート全幅基準で中央寄せのため、
       タブだけ右へ約8pxズレていた。1画面スナップUIにバー表示は不要なので非表示にし、
       両者の基準を全幅で一致させる（ホイール/スワイプ/キーのスクロールは通常通り効く。
       c-slider__list と同じ常套手段） */
    scrollbar-width: none;
    /* 注意: ここに scroll-padding-bottom（下固定タブナビの逃げ）を入れてはいけない。
       スナップポートが縮み、1画面高（100svh）セクションが全て「スナップポートより
       大きい領域」扱いになって吸着が最大その分ズレる（ピタッと止まらなくなる）。
       ナビの逃げは通常ページの html 側（_l-quicknav.scss）とフッター下パディングで確保する */
  }
  html:has(main.main-content:is(.home)) body::-webkit-scrollbar {
    display: none;
  }
}

/* 横向き等・画面高が低い環境はスナップ解除（サイト共通方針。従来は各ページSCSSに分散していた
   max-height:600px ブロックをここに集約）。1画面高の強制解除は各ページSCSS側に残る */
@media screen and (max-height: 600px) {
  html:has(main.main-content:is(.home)) body {
    -ms-scroll-snap-type: none;
        scroll-snap-type: none;
  }
}
/* 倍率スケール帯: 400px設計を zoom でまるごと拡縮（フォント・余白が同率で変わりデザイン比率を保つ）。
   - 601〜1200px: 固定 $tablet-zoom（1.5＝600px相当）で中央寄せ
   - 441〜600px: 数値ベタ書きの「段階式ズーム」。2026-09-02 に 40px刻み→20px刻みへ細分化
     （ユーザー報告: 520px以下あたりで幅の段差が目立つため。段差は最大40px→20pxに半減）。
     倍率＝帯の実表示幅÷400（帯下限で実表示幅がぴったり画面幅になる）
   - ≤440px（実機スマホ帯）は実績のある等倍のまま一切変えない

   【経緯・重要】計算式による流動zoomは iOS Safari 実機で2度崩壊した:
     1) 2026-08-06 1.5倍が実機に残り壊滅（マイハリノ4）→ @supports ゲート付き
        tan(atan2()) 式へ → だが判定 (width: calc(tan…)) は width が数値不可のため
        全ブラウザで永久 false ＝式は一度も発動せず、等倍フォールバックが常時稼働していた
     2) 2026-08-12 判定を (zoom: …) に直し式が初めて実機で発火 → 8/6 と同一の崩壊が再発
   結論: 実行時計算のzoomは採用しない。帯ごとの固定倍率をベタ書きし全ブラウザ同一動作にする。
   倍率は --main-zoom に一元化。HOMEのスナップ1画面高の svh 補正
   （calc(100svh / var(--main-zoom, 1))）でも同じ変数を参照する */
@media screen and (max-width: 1200px) {
  html {
    --main-zoom: 1.5;
  }
}
@media screen and (max-width: 600px) {
  html {
    --main-zoom: 1.45;
  }
}
@media screen and (max-width: 580px) {
  html {
    --main-zoom: 1.4;
  }
}
@media screen and (max-width: 560px) {
  html {
    --main-zoom: 1.35;
  }
}
@media screen and (max-width: 540px) {
  html {
    --main-zoom: 1.3;
  }
}
@media screen and (max-width: 520px) {
  html {
    --main-zoom: 1.25;
  }
}
@media screen and (max-width: 500px) {
  html {
    --main-zoom: 1.2;
  }
}
@media screen and (max-width: 480px) {
  html {
    --main-zoom: 1.15;
  }
}
@media screen and (max-width: 460px) {
  html {
    --main-zoom: 1.1;
  }
}
@media screen and (max-width: 440px) {
  html {
    --main-zoom: 1;
  }
}

.l-main-wrapper {
  width: 100%;
  /* PC専用（min-width: 1201px） */
}
@media screen and (min-width: 1201px) {
  .l-main-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-right: 320px;
  }
}
.l-main-wrapper {
  /* 倍率の適用（値の定義は上の html 側テーブル＝正本を参照） */
}
@media screen and (max-width: 1200px) {
  .l-main-wrapper {
    max-width: 400px;
    margin: 0 auto;
    zoom: var(--main-zoom, 1);
  }
}

.main-content {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  background-color: #ffffff;
  /* PC専用（min-width: 1201px） */
}
@media screen and (min-width: 1201px) {
  .main-content {
    margin: 0;
  }
}

/* _l-bg.scss — PC背景（光ボケ写真） */
.l-bg {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-image: url("img/pc-bg.jpg");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
@media screen and (min-width: 601px) {
  .l-bg {
    display: block;
  }
}
.l-bg__video {
  display: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 801px) {
  .l-bg__video {
    display: block;
  }
}
.l-bg::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: rgba(245, 243, 239, 0.4);
}

/* _l-sidebar.scss — PC左固定メニュー（ラフ準拠: 透過背景・英日ワンセット・FV内に収める） */
.l-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 340px;
  height: 100vh;
  background: transparent;
  z-index: 50;
  display: none;
  /* PC専用（min-width: 1201px） */
}
@media screen and (min-width: 1201px) {
  .l-sidebar {
    display: block;
  }
}
.l-sidebar__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 48px 24px 40px 48px;
  height: 100%;
}
.l-sidebar__logo {
  margin-bottom: 48px;
}
.l-sidebar__logo a {
  display: block;
}
.l-sidebar__logo img {
  width: 150px;
  height: auto;
}
.l-sidebar__nav {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow-y: auto;
}
.l-sidebar__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 14px;
}
.l-sidebar__nav-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 16px;
}
.l-sidebar__nav-en {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 96px;
  font-family: "ITCGaramondStd-LtIta", "Times New Roman", serif;
  font-style: normal;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.7;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.l-sidebar__nav-en:hover {
  color: #c2a979;
}
.l-sidebar__nav-ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(11.5 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.l-sidebar__nav-ja:hover {
  color: #c2a979;
}
.l-sidebar__nav-sub-label {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 L", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(10.5 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.7;
  padding: 8px 0 0 112px;
}
.l-sidebar__nav-sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
  padding: 8px 0 4px 112px;
}
.l-sidebar__nav-sub-item--divider::before {
  content: "";
  display: block;
  width: 104px;
  height: 1px;
  background: #1a1a1a;
  margin: 4px 0 8px;
}
.l-sidebar__nav-sub-link {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(11.5 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.l-sidebar__nav-sub-link:hover {
  color: #c2a979;
}
.l-sidebar__bottom {
  margin-top: auto;
  padding-top: 24px;
}
.l-sidebar__bottom-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 20px;
}
.l-sidebar__official {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.l-sidebar__official-label {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(10 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.08em;
  line-height: 1.7;
  margin-bottom: 8px;
}
.l-sidebar__official-logo {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.l-sidebar__official-logo img {
  width: 110px;
  height: auto;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.l-sidebar__official-logo:hover img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.l-sidebar__icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 14px;
}
.l-sidebar__icons-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
}
.l-sidebar__icons-link img {
  width: 22px;
  height: 22px;
  max-width: none;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.l-sidebar__icons-link:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.l-sidebar__icons-link:hover .l-sidebar__icons-label {
  color: #c2a979;
}
.l-sidebar__icons-label {
  font-style: normal;
  font-weight: 400;
  font-size: calc(8.5 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
  white-space: nowrap;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}

/* _l-right-cta.scss — PC右固定CTA（縦書き・下寄せ）
   2026-08-12: HTML/CSSでのボタン再現をやめ、デザイナー支給SVG
   （img/pc-soudan.svg / pc-contact.svg・110×209.22）の画像リンクへ変更。
   hoverは画像リンク統一ルール（img scale(1.03)） */
.l-right-cta {
  position: fixed;
  right: 24px;
  bottom: 40px;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  z-index: 50;
  /* PC専用（min-width: 1201px） */
}
@media screen and (min-width: 1201px) {
  .l-right-cta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.l-right-cta__btn {
  display: block;
}
.l-right-cta__btn img {
  display: block;
  width: 110px;
  height: auto;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.l-right-cta__btn {
  /* hover統一ルール: 画像リンクは scale(1.03) */
}
.l-right-cta__btn:hover img {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
}
.l-right-cta__fallback {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 32px 14px;
  border: 1px solid #2c2c2c;
  background: rgba(255, 255, 255, 0.75);
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #2c2c2c;
  letter-spacing: 0.15em;
  line-height: 1.7;
}

/* _l-sp-header.scss — SPハンバーガー（丸ボタン・FV右上重なり / ラフ準拠） */
/* ※ .l-sp-menu（スライドインメニュー本体）は _l-sp-menu.scss へ分割（2026-08-02） */
.l-sp-header {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 100;
  /* PC専用（min-width: 1201px）: PCは左サイドバーが代替 */
}
@media screen and (min-width: 1201px) {
  .l-sp-header {
    display: none;
  }
}
.l-sp-header__hamburger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 6px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(44, 44, 44, 0.85);
  backdrop-filter: blur(2px);
}
.l-sp-header__hamburger.is-open .l-sp-header__bar:nth-child(1) {
  -webkit-transform: translateY(3.5px) rotate(45deg);
          transform: translateY(3.5px) rotate(45deg);
}
.l-sp-header__hamburger.is-open .l-sp-header__bar:nth-child(2) {
  -webkit-transform: translateY(-3.5px) rotate(-45deg);
          transform: translateY(-3.5px) rotate(-45deg);
}
.l-sp-header__bar {
  display: block;
  width: 18px;
  height: 1px;
  background: #fff;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

/* _l-sp-menu.scss — 全画面メニューパネル
   2026-08-02: _l-sp-header.scss から分割（PHP側 l-sp-menu.php と対応を揃えるため）
   2026-08-12: スライドイン(280px)→全画面カバーへ全面改修（ユーザー指示）。
     - 動きは https://atelier-monogoto.jp/ 参考: 全画面フェード(0.5s)＋
       メニュー項目が下30pxから1項目0.04sずつ遅れて浮き上がるstagger
     - 旧 left:-100% ＋幅280px固定は、ビューポートが280px未満になると右端が
       はみ出して見える不具合があった（全画面化＝幅100%で根治）
     - 旧 .l-sp-menu__overlay は全画面化に伴い廃止（main.js は null 安全）
   レイアウト:
     PC（769px〜）: 左上ロゴ／左下コピー（下固定・装飾）／右カラムに現行メニュー
     SP（〜768px）: 左側（コピー）非表示・左上ロゴ＋メニューのみ */
.l-sp-menu {
  position: fixed;
  inset: 0;
  background: #2c2c2c;
  z-index: 200;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .l-sp-menu::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 84px;
    background: #2c2c2c;
    z-index: 1;
    pointer-events: none;
  }
}
.l-sp-menu {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.5s cubic-bezier(0.65, 0.05, 0.36, 1), visibility 0s linear 0.5s;
  transition: opacity 0.5s cubic-bezier(0.65, 0.05, 0.36, 1), visibility 0s linear 0.5s;
}
.l-sp-menu.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-transition: opacity 0.5s cubic-bezier(0.17, 0.84, 0.44, 1);
  transition: opacity 0.5s cubic-bezier(0.17, 0.84, 0.44, 1);
}
.l-sp-menu__inner {
  height: 100%;
  overflow-y: auto;
  padding: 104px 32px 48px;
  /* スクロールバー装飾（ブランド色の細バー） */
  scrollbar-width: thin;
  scrollbar-color: #c2a979 transparent;
}
.l-sp-menu__inner::-webkit-scrollbar {
  width: 6px;
}
.l-sp-menu__inner::-webkit-scrollbar-thumb {
  background: #c2a979;
  border-radius: 3px;
}
.l-sp-menu__inner::-webkit-scrollbar-track {
  background: transparent;
}
.l-sp-menu__inner {
  /* PC: 2カラムgrid（左=コピー下固定 / 右=メニュー）。スクロールは右カラムのみ */
}
@media screen and (min-width: 769px) {
  .l-sp-menu__inner {
    overflow: hidden;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 48px minmax(300px, 420px);
    grid-template-columns: 1fr minmax(300px, 420px);
    -ms-grid-rows: 1fr auto;
    grid-template-rows: 1fr auto;
        grid-template-areas: ". nav" "copy nav";
    -webkit-column-gap: 48px;
       -moz-column-gap: 48px;
            column-gap: 48px;
    padding: 96px 72px 56px 40px;
  }
}
.l-sp-menu__logo {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;
  display: block;
}
.l-sp-menu__logo img {
  display: block;
  width: 120px;
  height: auto;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.l-sp-menu__logo {
  /* hover統一ルール: 画像リンクは scale(1.03) */
}
.l-sp-menu__logo:hover img {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
}
.l-sp-menu__close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1.7;
  width: 40px;
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  /* hover統一ルール: テキスト系はロゴ色へ */
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.l-sp-menu__close:hover {
  color: #c2a979;
}
.l-sp-menu__copy {
  display: none;
}
@media screen and (min-width: 769px) {
  .l-sp-menu__copy {
    display: block;
    grid-area: copy;
    -ms-grid-row-align: end;
        align-self: end;
    font-family: "FOT-筑紫Aオールド明朝 Pr6 L", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
    font-style: normal;
    font-weight: 400;
    font-size: calc(12 / 16 * 1rem);
    color: #ffffff;
    letter-spacing: 0.04em;
    line-height: 2.2;
  }
}
@media screen and (min-width: 769px) {
  .l-sp-menu__nav {
    grid-area: nav;
    overflow-y: auto;
    min-height: 0;
    padding-right: 8px;
    /* スクロールバー装飾（__innerと同じ） */
    scrollbar-width: thin;
    scrollbar-color: #c2a979 transparent;
  }
  .l-sp-menu__nav::-webkit-scrollbar {
    width: 6px;
  }
  .l-sp-menu__nav::-webkit-scrollbar-thumb {
    background: #c2a979;
    border-radius: 3px;
  }
  .l-sp-menu__nav::-webkit-scrollbar-track {
    background: transparent;
  }
}
@media screen and (min-width: 769px){
  .l-sp-menu__copy {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .l-sp-menu__nav {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 3;
  }
}
.l-sp-menu__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}
.l-sp-menu__link {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}
.l-sp-menu__link:hover .l-sp-menu__en, .l-sp-menu__link:hover .l-sp-menu__ja {
  color: #c2a979;
}
.l-sp-menu__en {
  display: block;
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.08em;
  line-height: 1.7;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.l-sp-menu__ja {
  display: block;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1.7;
  margin-top: 2px;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.l-sp-menu__sub-label {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 L", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(10.5 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1.7;
  padding: 8px 0 0 16px;
}
.l-sp-menu__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  padding: 8px 0 12px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}
.l-sp-menu__sub-item--divider::before {
  content: "";
  display: block;
  width: 104px;
  height: 1px;
  background: #ffffff;
  margin: 6px 0 10px;
}
.l-sp-menu__sub-link {
  display: block;
  padding: 4px 0;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(11.5 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1.7;
  color: #ffffff;
  text-decoration: none;
}
.l-sp-menu__sub-link:visited, .l-sp-menu__sub-link:hover, .l-sp-menu__sub-link:active, .l-sp-menu__sub-link:focus {
  color: #ffffff;
  text-decoration: none;
}
.l-sp-menu__sub-link {
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.l-sp-menu__sub-link:hover {
  color: #c2a979;
}
.l-sp-menu__logo, .l-sp-menu__copy, .l-sp-menu__item {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: opacity 0.4s linear, -webkit-transform 0.8s cubic-bezier(0, 0.8, 0.1, 1);
  transition: opacity 0.4s linear, -webkit-transform 0.8s cubic-bezier(0, 0.8, 0.1, 1);
  transition: opacity 0.4s linear, transform 0.8s cubic-bezier(0, 0.8, 0.1, 1);
  transition: opacity 0.4s linear, transform 0.8s cubic-bezier(0, 0.8, 0.1, 1), -webkit-transform 0.8s cubic-bezier(0, 0.8, 0.1, 1);
}
.l-sp-menu.is-open .l-sp-menu__logo, .l-sp-menu.is-open .l-sp-menu__copy, .l-sp-menu.is-open .l-sp-menu__item {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.l-sp-menu {
  /* メニュー項目のstagger（1項目 +0.04s・パネルフェードに少し重ねて0.1s開始）
     項目数は現在11。余裕を見て14まで生成 */
}
.l-sp-menu.is-open .l-sp-menu__item:nth-child(1) {
  -webkit-transition-delay: 0.14s;
          transition-delay: 0.14s;
}
.l-sp-menu.is-open .l-sp-menu__item:nth-child(2) {
  -webkit-transition-delay: 0.18s;
          transition-delay: 0.18s;
}
.l-sp-menu.is-open .l-sp-menu__item:nth-child(3) {
  -webkit-transition-delay: 0.22s;
          transition-delay: 0.22s;
}
.l-sp-menu.is-open .l-sp-menu__item:nth-child(4) {
  -webkit-transition-delay: 0.26s;
          transition-delay: 0.26s;
}
.l-sp-menu.is-open .l-sp-menu__item:nth-child(5) {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.l-sp-menu.is-open .l-sp-menu__item:nth-child(6) {
  -webkit-transition-delay: 0.34s;
          transition-delay: 0.34s;
}
.l-sp-menu.is-open .l-sp-menu__item:nth-child(7) {
  -webkit-transition-delay: 0.38s;
          transition-delay: 0.38s;
}
.l-sp-menu.is-open .l-sp-menu__item:nth-child(8) {
  -webkit-transition-delay: 0.42s;
          transition-delay: 0.42s;
}
.l-sp-menu.is-open .l-sp-menu__item:nth-child(9) {
  -webkit-transition-delay: 0.46s;
          transition-delay: 0.46s;
}
.l-sp-menu.is-open .l-sp-menu__item:nth-child(10) {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.l-sp-menu.is-open .l-sp-menu__item:nth-child(11) {
  -webkit-transition-delay: 0.54s;
          transition-delay: 0.54s;
}
.l-sp-menu.is-open .l-sp-menu__item:nth-child(12) {
  -webkit-transition-delay: 0.58s;
          transition-delay: 0.58s;
}
.l-sp-menu.is-open .l-sp-menu__item:nth-child(13) {
  -webkit-transition-delay: 0.62s;
          transition-delay: 0.62s;
}
.l-sp-menu.is-open .l-sp-menu__item:nth-child(14) {
  -webkit-transition-delay: 0.66s;
          transition-delay: 0.66s;
}
.l-sp-menu {
  /* コピーは項目群のあとに静かに出す */
}
.l-sp-menu.is-open .l-sp-menu__copy {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

/* _l-quicknav.scss — 下固定クイックタブナビ（全ページ共通・2026-08-20新設） */
/* 旧: HOME FVの下端クイックナビ（p-home-fv__quicknav）。デザイン意図の確認により
   「サイト全体の下固定タブナビ」が正と判明したため l- 層へ移設（ユーザー指示）。
   マークアップは l-quicknav.php（l-global-layout 内・l-main-wrapper の外）。
   l-main-wrapper の外に置く理由: position:fixed をzoom祖先の内側に置くと座標が乱れるため
   （c-datepicker と同じ作法）。ただし倍率は 2026-09-02 よりナビ自身に
   zoom: var(--main-zoom) を直接かけ、メインカラムと幅・文字サイズを常に一致させる
   （旧: 実寸固定＝zoom帯でメインだけ拡大されナビが相対的に小さい問題のユーザー指摘対応。
   --main-zoom の定義は html へ移設済み＝ _l-layout.scss 参照）。
   見た目は旧FVクイックナビを踏襲（368px＝カンプ内で左右16pxの浮きバー、が全帯域で相似形に）。
   下端コンテンツ（フッター）との重なり回避は _p-footer.scss 側の下パディングで確保 */
:root {
  --quicknav-space: 72px;
}

/* 通常ページ（ルートスクローラー）で、アンカーやフォーカス時の自動スクロールで
   要素がナビ裏に隠れないようスクロール計算上の下端を持ち上げる（固定フッターでの
   フォーカス要素隠れ対策の定石）。html はzoom外＝実寸座標のため ×--main-zoom で実寸化する。
   ※スナップページのbodyスクローラーには入れない（スナップポートが縮んで1画面
     セクションの吸着がズレるため。_l-layout.scss の注意コメント参照） */
html {
  scroll-padding-bottom: calc(var(--quicknav-space, 72px) * var(--main-zoom, 1) + env(safe-area-inset-bottom, 0px));
}

.l-quicknav {
  position: fixed;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 100;
  zoom: var(--main-zoom, 1);
  width: calc(100% - 32px);
  max-width: 368px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #ffffff;
  border-radius: 8px 8px 0 0;
  -webkit-box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
          box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  /* PC額縁（min-width: 1201px）: メインカラム（右寄せ400px・右余白320px）の直上に重ねる。
     カラム内で左右16pxの浮きバー＝right: 320px+16px・幅368px固定。
     ※右余白320pxは _l-layout.scss の .l-main-wrapper padding-right と連動（変更時は両方直す） */
}
@media screen and (min-width: 1201px) {
  .l-quicknav {
    left: auto;
    right: 336px;
    -webkit-transform: none;
            transform: none;
    width: 368px;
  }
}

.l-quicknav__link {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 16px 4px;
  text-align: center;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(10 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.l-quicknav__link:hover {
  color: #c2a979;
}

.l-quicknav__link + .l-quicknav__link {
  border-left: 1px solid #e8e4de;
}

/*-- projectフォルダの中の_index.scss --*/
/* _p-home.scss — TOP各セクション個別スタイル */
/*--------------------------------
  HOME ページ名前空間
  home.php: <main class="main-content js-main-content home">
  規約: 最大3階層。p-home-* ブロックとその要素は .home 直下にフルクラス名で
        並べ、状態擬似のみ &:hover 等で1段ネスト（= 最大3階層に収める）
---------------------------------*/
/*--------------------------------
  スクロールスナップ（スマホ表示≤768px・homeページ限定）
  クライアント/デザイナー意向: SPは1セクション=1画面で「するっと動いてピタリ」
  - 2026-08-20: スナップの有効化（scroll-snap-type）と横向き解除（max-height:600px）は
    layout/_l-layout.scss「スクロールスナップのスクロールコンテナ」ブロックへ全ページ分を集約。
    スナップコンテナもルート(html)から body（高さ固定スクローラー）へ変更した
    （モバイルブラウザUI伸縮による再スナップのガタつき対策。経緯コメントは _l-layout.scss 参照）。
    対象ページの追加は _l-layout.scss の $snap-pages リストに1クラス足すだけ
  - このファイルに残るのは snap-align 付与と、横向き時の min-height 解除（末尾ブロック）
  - mandatoryでピタリ感を出す。画面より縦長のセクションは仕様上スナップ拘束が外れ
    内部を通常スクロールできる（oversized snap area）
  - ≤768pxはメインカラムに zoom（--main-zoom）がかかるため、1画面高は
    calc(100svh / var(--main-zoom, 1)) で補正する（素の100svhだと倍率分はみ出す）
---------------------------------*/
.home .p-home-fv {
  position: relative;
  height: calc(100svh / var(--main-zoom, 1));
  min-height: 560px;
  background-color: #6b6b6b;
  overflow: hidden;
  /* PC/タブレット: 100svhだと縦長すぎるためデザイン画シーン高（400×680）を正とする。
     601〜1200pxはメインカラムにzoom（--main-zoom）がかかり実寸がデザイン値の倍率分
     膨らむため、zoomで割って実寸をデザイン値に揃える */
}
@media screen and (min-width: 769px) {
  .home .p-home-fv {
    height: calc(680px / var(--main-zoom, 1));
    min-height: 0;
  }
}
.home .p-home-fv__media {
  position: absolute;
  inset: 0;
}
.home .p-home-fv__media img,
.home .p-home-fv__media video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home .p-home-fv__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -60%);
          transform: translate(-50%, -60%);
  width: 220px;
}
.home .p-home-fv__logo img {
  width: 100%;
  height: auto;
}
.home .p-home-fv__logo img.is-fallback {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.home .p-home-quicklinks__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0;
}
.home .p-home-quicklinks__item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.home .p-home-quicklinks__link {
  display: block;
  position: relative;
}
.home .p-home-quicklinks__img-wrap {
  width: 100%;
  padding-top: 133%;
  position: relative;
  overflow: hidden;
  background: #ddd;
}
.home .p-home-quicklinks__img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.home .p-home-quicklinks__img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), to(rgba(0, 0, 0, 0.55)));
  background: linear-gradient(to bottom, transparent 40%, rgba(0, 0, 0, 0.55));
}
.home .p-home-quicklinks__link:hover .p-home-quicklinks__img-wrap img {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
}
.home .p-home-quicklinks__text {
  position: absolute;
  bottom: 16px;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 1;
  color: #ffffff;
}
.home .p-home-quicklinks__en {
  display: block;
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.08em;
  line-height: 1.7;
}
.home .p-home-quicklinks__ja {
  display: block;
  font-style: normal;
  font-weight: 400;
  font-size: calc(10 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1.7;
  margin-top: 2px;
}
.home .p-home-tour {
  background: #ffffff;
  --tour-rest: calc(260px + var(--quicknav-space, 72px));
  --tour-img-h: 380px;
}
@media screen and (max-width: 768px) {
  .home .p-home-tour {
    --tour-img-h: clamp(200px, calc(100svh / var(--main-zoom, 1) - var(--tour-rest)), 380px);
  }
}
.home .p-home-tour .c-section-head {
  padding-top: 24px;
}
.home .p-home-tour__feature {
  margin: 0 20px 24px;
  padding: 20px;
  border: 1px solid #e8e4de;
}
.home .p-home-tour__slider .c-slider__list {
  padding: 0;
  gap: 0;
}
.home .p-home-tour__slider .c-slider__item {
  width: 100%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.home .p-home-tour__arrow {
  position: absolute;
  top: calc(var(--tour-img-h) / 2);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  border: 1px solid #1a1a1a;
  background: #ffffff;
  color: #1a1a1a;
  cursor: pointer;
  -webkit-transition: background 0.2s ease, color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease;
}
.home .p-home-tour__arrow .material-symbols-outlined {
  font-style: normal;
  font-weight: 400;
  font-size: calc(18 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0em;
  line-height: 1;
}
.home .p-home-tour__arrow::before {
  content: "";
  position: absolute;
  inset: -7px;
}
.home .p-home-tour__arrow:hover {
  background: #1a1a1a;
  color: #ffffff;
}
.home .p-home-tour__arrow--prev {
  left: 4px;
}
.home .p-home-tour__arrow--next {
  right: 4px;
}
.home .p-home-tour__slider .c-card--tour-feature {
  position: relative;
}
.home .p-home-tour__feature .c-card--tour-feature .c-card__img-wrap {
  width: 280px;
  height: var(--tour-img-h);
  margin: 0 auto;
  padding-top: 0;
}
.home .p-home-tour__feature .c-card--tour-feature .c-card__body {
  padding: 32px 8px 0;
  text-align: center;
}
.home .p-home-tour__feature .c-card--tour-feature .c-card__tag {
  font-family: "FP-こぶりなゴシック StdN W3", "FP-KoburinaGoStdN-W3", "Hiragino Sans", "ヒラギノ角ゴシック", "Yu Gothic", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
  border: none;
  padding: 0;
}
.home .p-home-tour__feature .c-card--tour-feature .c-card__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 500;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 4px;
}
.home .p-home-tour__feature .c-card--tour-feature .c-card__area {
  font-family: "FP-こぶりなゴシック StdN W3", "FP-KoburinaGoStdN-W3", "Hiragino Sans", "ヒラギノ角ゴシック", "Yu Gothic", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
  margin-top: 2px;
}
.home .p-home-tour__feature .c-card--tour-feature .c-card__status {
  margin-right: 0.25em;
}
.home .p-home-tour__feature .c-card--tour-feature .c-card__btn {
  position: absolute;
  left: 50%;
  top: var(--tour-img-h);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  margin-top: 0;
  padding: 13px 24px;
  background: #ffffff;
  border-color: #1a1a1a;
  color: #1a1a1a;
  white-space: nowrap;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.08em;
  line-height: 1.7;
}
.home .p-home-tour__feature .c-card--tour-feature .c-card__btn:hover {
  background: #1a1a1a;
  color: #ffffff;
}
.home .p-home-consultation {
  position: relative;
  overflow: hidden;
  background: #2c2c2c;
}
.home .p-home-consultation__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.home .p-home-consultation__media img,
.home .p-home-consultation__media video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home .p-home-consultation__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.3)), color-stop(45%, rgba(0, 0, 0, 0.05)), to(rgba(0, 0, 0, 0.4)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.05) 45%, rgba(0, 0, 0, 0.4) 100%);
}
.home .p-home-consultation__inner {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.home .p-home-consultation .c-section-head__ja {
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.home .p-home-consultation__bottom {
  padding: 0 20px 40px;
  text-align: left;
}
.home .p-home-consultation__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1.9;
  margin-bottom: 24px;
}
.home .p-home-consultation__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.08em;
  line-height: 1.7;
  padding: 13px 24px;
}
.home .p-home-consultation__btn:hover {
  background: #c2a979;
  border-color: #c2a979;
  color: #ffffff;
}
.home .p-home-event {
  background: #ffffff;
}
.home .p-home-event__widget {
  width: 100%;
}
.home .p-home-event__controls {
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
  padding: 20px;
}
.home .p-home-event__slider.is-ready .p-home-event__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.home .p-home-event__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  border: 1px solid #1a1a1a;
  background: transparent;
  color: #1a1a1a;
  cursor: pointer;
  -webkit-transition: background 0.2s ease, color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease;
}
.home .p-home-event__arrow .material-symbols-outlined {
  font-style: normal;
  font-weight: 400;
  font-size: calc(18 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0em;
  line-height: 1;
}
.home .p-home-event__arrow:hover {
  background: #1a1a1a;
  color: #ffffff;
}
.home .p-home-event__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.home .p-home-event__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e8e4de;
  padding: 0;
  border: none;
  cursor: pointer;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
.home .p-home-event__dot.is-active {
  background: #1a1a1a;
}
.home .p-home-event__slider.is-dragging {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.home .p-home-works {
  background: #e6e6dc;
  --works-head-space: calc(190px + var(--quicknav-space, 72px));
  --works-img-h: clamp(320px, calc(100svh / var(--main-zoom, 1) - var(--works-head-space)), 660px);
}
.home .p-home-works .c-slider__list {
  padding: 0;
  gap: 0;
}
.home .p-home-works .c-slider__item {
  width: 100%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.home .p-home-works .c-card--works {
  display: block;
  width: 100%;
  height: var(--works-img-h);
}
.home .p-home-works .c-card__img-wrap {
  width: 100%;
  height: 100%;
  padding-top: 0;
}
.home .p-home-works .c-card__img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.35)), color-stop(25%, rgba(0, 0, 0, 0)), color-stop(55%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.55)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0.55) 100%);
}
.home .p-home-works__num {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 2;
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}
.home .p-home-works__hash {
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1;
}
.home .p-home-works__caption {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  z-index: 2;
}
.home .p-home-works__tag {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1.7;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}
.home .p-home-works__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 500;
  font-size: calc(20 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 4px;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}
.home .p-home-works__more {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.08em;
  line-height: 1.7;
  padding: 13px 24px;
  margin-top: 16px;
}
.home .p-home-works__more:hover {
  background: #c2a979;
  border-color: #c2a979;
  color: #ffffff;
}
.home .p-home-works__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
  padding: 20px;
}
.home .p-home-works__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  border: 1px solid #1a1a1a;
  background: transparent;
  color: #1a1a1a;
  cursor: pointer;
  -webkit-transition: background 0.2s ease, color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease;
}
.home .p-home-works__arrow .material-symbols-outlined {
  font-style: normal;
  font-weight: 400;
  font-size: calc(18 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0em;
  line-height: 1;
}
.home .p-home-works__arrow:hover {
  background: #1a1a1a;
  color: #ffffff;
}
.home .p-home-works__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.home .p-home-works__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ffffff;
  padding: 0;
  border: none;
  cursor: pointer;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
.home .p-home-works__dot.is-active {
  background: #1a1a1a;
}
.home .p-home-staff {
  background: #ffffff;
  --staff-rest: calc(164px + var(--quicknav-space, 72px));
}
.home .p-home-staff__feature {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 40px;
}
.home .p-home-staff__img-wrap {
  width: 330px;
  height: 470px;
  border-radius: 180px;
  overflow: hidden;
  position: relative;
  background: #ddd;
}
@media screen and (max-width: 768px) {
  .home .p-home-staff__img-wrap {
    height: clamp(340px, 100svh / var(--main-zoom, 1) - var(--staff-rest, 236px), 470px);
  }
}
.home .p-home-staff__img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home .p-home-staff__btn {
  position: absolute;
  left: 50%;
  bottom: 8px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #ffffff;
  border-color: #1a1a1a;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.08em;
  line-height: 1.7;
  padding: 13px 24px;
  white-space: nowrap;
}
.home .p-home-staff__btn:hover {
  background: #c2a979;
  border-color: #c2a979;
  color: #ffffff;
}
.home .p-home-faq {
  height: 400px;
}
.home .p-home-faq__inner {
  height: 100%;
  padding: 0 20px;
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.home .p-home-faq__inner .c-section-head {
  justify-items: center;
}
.home .p-home-faq__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.08em;
  line-height: 1.7;
  padding: 13px 24px;
  margin-top: 24px;
}
.home .p-home-journal {
  background: #e6e6dc;
}
.home .p-home-journal__empty {
  font-style: normal;
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
  padding: 40px 20px;
  text-align: center;
}
.home .p-home-journal .c-slider__list {
  padding: 0 0 16px 20px;
  scroll-padding-left: 20px;
}
.home .p-home-journal .c-slider__list::after {
  content: "";
  -webkit-box-flex: 0;
      -ms-flex: 0 0 55px;
          flex: 0 0 55px;
}
.home .p-home-journal .c-slider__item {
  width: calc(100% - 12px - 55px);
}
.home .p-home-journal .c-card--journal {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.home .p-home-journal .c-card__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 18px 16px;
}
.home .p-home-journal .c-card__date {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(11 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.home .p-home-journal .c-card__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 500;
  font-size: calc(16 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.5;
}
.home .p-home-journal__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
  padding: 20px;
}
.home .p-home-journal__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  border: 1px solid #1a1a1a;
  background: transparent;
  color: #1a1a1a;
  cursor: pointer;
  -webkit-transition: background 0.2s ease, color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease;
}
.home .p-home-journal__arrow .material-symbols-outlined {
  font-style: normal;
  font-weight: 400;
  font-size: calc(18 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0em;
  line-height: 1;
}
.home .p-home-journal__arrow:hover {
  background: #1a1a1a;
  color: #ffffff;
}
.home .p-home-journal__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.home .p-home-journal__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ffffff;
  padding: 0;
  border: none;
  cursor: pointer;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
.home .p-home-journal__dot.is-active {
  background: #1a1a1a;
}
.home .p-home-news {
  padding: 0 0 48px;
  background: #ffffff;
}
.home .p-home-news__empty {
  font-style: normal;
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
  padding: 40px 20px;
  text-align: center;
}
.home .p-home-news__list {
  padding: 0 20px;
}
.home .p-home-news__item + .p-home-news__item {
  margin-top: 28px;
}
.home .p-home-news__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 0 4px 10px;
  border-bottom: 1px solid #1a1a1a;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
.home .p-home-news__link:hover {
  background: #e6e6dc;
}
.home .p-home-news__date {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
  white-space: nowrap;
}
.home .p-home-news__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.5;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.home .p-home-news__arrow {
  font-style: normal;
  font-weight: 400;
  font-size: calc(18 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.home .p-home-company__inner {
  padding: 60px 20px 100px;
  position: relative;
  z-index: 1;
  text-align: center;
}
.home .p-home-company__inner .c-section-head {
  justify-items: center;
}
.home .p-home-company__cta-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(255, 255, 255, 0.2);
}
.home .p-home-company__cta-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  padding: 32px 16px;
  background: rgba(0, 0, 0, 0.3);
  text-align: center;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
.home .p-home-company__cta-item:hover {
  background: #c2a979;
}
.home .p-home-company__cta-en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.home .p-home-company__cta-ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: 0em;
  line-height: 1.7;
}
.home .p-home-company__cta-arrow {
  font-style: normal;
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: 0em;
  line-height: 1.7;
  margin-top: 8px;
}
.home .p-home-company__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin: 24px 0 40px;
}
@media screen and (max-width: 768px) {
  .home .p-home-fv,
  .home .p-service-slider,
  .home .p-home-tour,
  .home .p-home-consultation,
  .home .p-home-event,
  .home .p-home-works,
  .home .p-home-staff {
    min-height: calc(100svh / var(--main-zoom, 1));
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}
@media screen and (min-width: 769px) {
  .home .p-home-fv,
  .home .p-service-slider,
  .home .p-home-tour,
  .home .p-home-consultation,
  .home .p-home-event,
  .home .p-home-works,
  .home .p-home-staff {
    min-height: calc(680px / var(--main-zoom, 1));
  }
}
@media screen and (max-width: 768px) {
  .home .p-sitemap,
  .home .p-footer,
  .home .p-home-faq,
  .home .p-home-journal,
  .home .p-home-news,
  .home .p-home-company {
    scroll-snap-align: start;
  }
}
@media screen and (max-height: 600px) {
  .home .p-home-fv,
  .home .p-service-slider,
  .home .p-home-tour,
  .home .p-home-consultation,
  .home .p-home-event,
  .home .p-home-works,
  .home .p-home-staff {
    min-height: 0;
  }
  .home .p-home-fv {
    height: auto;
    min-height: 320px;
  }
  .home .p-home-works {
    --works-img-h: 660px;
  }
  .home .p-home-tour {
    --tour-img-h: 380px;
  }
  .home .p-home-staff__img-wrap {
    height: 470px;
  }
}

/* _p-faq.scss — よくあるご質問（page-faq.php・スラッグ faq）
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/12-よくあるご質問_01〜05.jpg
   2026-08-08 再作成（旧: 仕様確定前の独自FV＋目視推定サイズ）。フォントはデザイナー指定。
   letter-spacing 方針: 本文系（こぶりな・明朝本文）= 0 ／ 見出し系（Futura ラベル）= 0.04em */
/*--------------------------------
  スクロールスナップ（スマホ表示≤800px・faqページ限定／2026-08-08追加）
  仕様と作法は CLAUDE.md「スクロールスナップ」参照（型は _p-contact.scss と同じ）。
  1画面スナップは FV のみ。Q&Aリストは長い読み物のため「セクション先頭の吸着点のみ」とし、
  設問ごと（p-faq__item）には吸着点を付けない（10問ごとに止まると読みにくいため）。
  【仕様変更 2026-08-20】スクロールスナップは HOME のみ適用に確定（ユーザー指示）。
  faq はスナップ対象外（layout/_l-layout.scss の $snap-pages から除外済み）。
  下記の snap-align 指定はコンテナが無いため無効（残置・実害なし）。min-height は見た目として有効。
---------------------------------*/
.faq {
  /* FV は p-list-fv（会社案内と共通）。マークが横長の Q&A 吹き出しのため幅のみ調整。
     このページは英字見出し（__en）を出さないので、マークと和文の間隔だけ整える */
}
.faq .p-list-fv__mark {
  width: 96px;
  margin-bottom: 20px;
}
.faq .p-faq {
  background: #e6e6dc;
  padding: 56px 24px 72px;
}
.faq .p-faq__item + .p-faq__item {
  margin-top: 48px;
}
.faq .p-faq__q-label {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin-bottom: 12px;
}
.faq .p-faq__q-box {
  background: #ffffff;
  padding: 20px 22px;
}
.faq .p-faq__q-text {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.9;
}
.faq .p-faq__a-label {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin: 24px 0 4px;
}
.faq .p-faq__a-text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .faq .p-list-fv {
    min-height: calc(100svh / var(--main-zoom, 1));
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}
@media screen and (max-width: 768px) {
  .faq .p-faq,
  .faq .p-contact-cta,
  .faq .p-sitemap,
  .faq .p-footer {
    scroll-snap-align: start;
  }
}

/* _p-company.scss — 会社案内ページ（page-company.php）
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/18-会社案内_01〜05.jpg
   FVは一覧共通の .p-list-fv、Service は共通パーツ .p-service-slider、
   CTA/サイトマップ/フッターは共通パーツを使うため、ここは Profile / Access Map / Staff のみ。
   規約: 最大3階層。ブロックと要素はフルクラス名で並べ、状態擬似のみ &:hover 等で1段ネスト */
/*--------------------------------
  COMPANY ページ名前空間
  page-company.php: <main class="main-content js-main-content company">
---------------------------------*/
.company {
  background: #ffffff;
}
.company .p-company__head {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.03em;
  line-height: 1.4;
}
.company .p-company-profile {
  padding: 56px 28px 0;
}
.company .p-company-profile__name {
  font-style: normal;
  font-weight: 500;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.03em;
  line-height: 1.9;
  margin-top: 32px;
}
.company .p-company-profile__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 4.5em 1fr;
  grid-template-columns: 4.5em 1fr;
  margin-top: 12px;
}
.company .p-company-profile__dt {
  font-style: normal;
  font-weight: 500;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.03em;
  line-height: 1.9;
  margin-top: 8px;
}
.company .p-company-profile__dd {
  font-style: normal;
  font-weight: 500;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.03em;
  line-height: 1.9;
  margin-top: 8px;
}
.company .p-company-profile__privacy {
  font-style: normal;
  font-weight: 400;
  font-size: calc(11 / 16 * 1rem);
  color: #6b6b6b;
  letter-spacing: 0.03em;
  line-height: 1.8;
  margin-top: 16px;
  text-align: right;
}
.company .p-company-profile__privacy a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.company .p-company-profile__group {
  margin-top: 32px;
}
.company .p-company-profile__group-head {
  font-style: normal;
  font-weight: 500;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.03em;
  line-height: 1.9;
}
.company .p-company-profile__group-list {
  margin-top: 4px;
}
.company .p-company-profile__group-item {
  font-style: normal;
  font-weight: 500;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.03em;
  line-height: 1.9;
}
.company .p-company-profile__photo {
  margin-top: 40px;
  aspect-ratio: 16/10;
  overflow: hidden;
}
.company .p-company-profile__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.company .p-company-profile__photo.no-img {
  background: #c9c9c9;
}
.company .p-company-access {
  padding: 56px 28px 0;
}
.company .p-company-access__map {
  margin-top: 24px;
  aspect-ratio: 1/1;
  background: #c9c9c9;
}
.company .p-company-access__map iframe {
  display: block;
  width: 100%;
  height: 100%;
}
.company .p-service-slider {
  margin-top: 40px;
  --service-img-h: 590px;
}

/* _p-news.scss — NEWS 一覧（page-news.php）／NEWS 詳細（single.php＝WP投稿。2026-09-13 page-news-detail.php から移行）
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/16-NEWS_01〜03.jpg / 17-NWES-詳細_01〜03.jpg
   FVは下層共通の .p-list-fv（_p-list.scss）、CTA/サイトマップ/フッターは共通パーツを使う。
   リストの見た目は TOP の p-home-news に似るが、指示により共通化しない（独立ブロック）。
   規約: 最大3階層。ブロックと要素はフルクラス名で並べ、状態擬似のみ &:hover 等で1段ネスト */
/*--------------------------------
  NEWS 一覧
  page-news.php: <main class="main-content js-main-content news">
---------------------------------*/
.news {
  background: #ffffff;
}
.news .p-news-list {
  padding: 56px 20px 0;
}
.news .p-news-list--no-pager {
  padding-bottom: 96px;
}
.news .p-news-list__empty {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #6b6b6b;
  letter-spacing: 0.03em;
  line-height: 1.7;
  padding: 24px 0 56px;
  text-align: center;
}
.news .p-news-list__items {
  border-bottom: 1px solid #1a1a1a;
}
.news .p-news-list__item {
  border-top: 1px solid #1a1a1a;
}
.news .p-news-list__link {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 5.5em 8px 1fr 8px auto;
  grid-template-columns: 5.5em 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 22px 4px;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.news .p-news-list__link:hover {
  opacity: 0.6;
}
.news .p-news-list__date {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: calc(13 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.03em;
  line-height: 1.6;
}
.news .p-news-list__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 500;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.06em;
  line-height: 1.6;
}
.news .p-news-list__arrow {
  font-style: normal;
  font-weight: 400;
  font-size: calc(18 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1;
}
.news .p-news-pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  padding: 48px 20px 56px;
}
.news .p-news-pager__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 38px;
  height: 38px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  border: 1px solid #1a1a1a;
  color: #1a1a1a;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.news .p-news-pager__arrow .material-symbols-outlined {
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0em;
  line-height: 1;
}
.news .p-news-pager__arrow:hover {
  opacity: 0.6;
}
.news .p-news-pager__arrow--disabled {
  opacity: 0.25;
}
.news .p-news-pager__arrow--disabled:hover {
  opacity: 0.25;
}
.news .p-news-pager__nums {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
}
.news .p-news-pager__num {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: calc(17 / 16 * 1rem);
  color: #e8e4de;
  letter-spacing: 0.03em;
  line-height: 1;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.news .p-news-pager__num:hover {
  color: #c2a979;
}
.news .p-news-pager__num--current {
  color: #1a1a1a;
}

/*--------------------------------
  NEWS 詳細
  single.php: <main class="main-content js-main-content news-detail">
---------------------------------*/
.news-detail {
  background: #ffffff;
}
.news-detail .p-news-detail-head {
  position: relative;
  padding-bottom: 36px;
}
.news-detail .p-news-detail-head__panel {
  background: #e6e6dc;
  border-radius: 0 0 24px 24px;
  padding: 100px 20px 44px;
  text-align: center;
}
.news-detail .p-news-detail-head__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(40 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.06em;
  line-height: 1.2;
}
.news-detail .p-news-detail-head__date {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: calc(13 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin-top: 12px;
}
.news-detail .p-news-detail-head__mark {
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 72px;
  height: auto;
}
.news-detail .p-news-detail {
  padding: 40px 28px 0;
}
.news-detail .p-news-detail__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 500;
  font-size: calc(16 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.06em;
  line-height: 1.7;
}
.news-detail .p-news-detail__body {
  font-family: "FP-こぶりなゴシック StdN W3", "FP-KoburinaGoStdN-W3", "Hiragino Sans", "ヒラギノ角ゴシック", "Yu Gothic", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.03em;
  line-height: 1.7;
  margin-top: 24px;
  text-align: justify;
}
.news-detail .p-news-detail__body > * + * {
  margin-top: 1.7em;
}
.news-detail .p-news-detail__body h2,
.news-detail .p-news-detail__body h3 {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 500;
  font-size: calc(16 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.06em;
  line-height: 1.7;
  margin-top: 2.4em;
}
.news-detail .p-news-detail__body ul,
.news-detail .p-news-detail__body ol {
  padding-left: 1.4em;
}
.news-detail .p-news-detail__body ul {
  list-style: disc;
}
.news-detail .p-news-detail__body ol {
  list-style: decimal;
}
.news-detail .p-news-detail__body a {
  text-decoration: underline;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.news-detail .p-news-detail__body a:hover {
  color: #c2a979;
}
.news-detail .p-news-detail__body img {
  height: auto;
}
.news-detail .p-news-detail__figure {
  margin-top: 32px;
  aspect-ratio: 16/11;
  overflow: hidden;
}
.news-detail .p-news-detail__figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.news-detail .p-news-detail__figure.no-img {
  background: #b5b5b5;
}
.news-detail .p-news-detail__back {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 40px 0 56px;
}
.news-detail .p-news-detail__back-btn {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.08em;
  line-height: 1.7;
  background: #ffffff;
  border-color: #1a1a1a;
  padding: 13px 32px;
  white-space: nowrap;
}
.news-detail .p-news-detail__back-btn:hover {
  background: #c2a979;
  border-color: #c2a979;
  color: #ffffff;
}

/* _p-service-sale.scss — リノベの家販売（page-service-sale.php・スラッグ service-sale）
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/05-リノベの家販売_01〜11.jpg
   フォントサイズはデザイナー指定（2026-08-09）。
   letter-spacing 方針: 本文系（こぶりな）= 0 ／ 見出し系（明朝・Futura・Garamond）= 0.04em

   ※このページ固有の意匠（グレー帯／紙背景／傾き写真／縦書き）が多いため、
     サービス配下共通の _p-service.scss（service-search / service-custom が使用）からは分離した
   ※Reason・カード・お悩みは繰り返し要素。件数が増減しても崩れない指定にしてある */
/* このページだけで使う地色（パレット外の一点物のためここで持つ）。
   デザイン画のブランドセクション背景 */
.service-sale .p-sale-fv {
  aspect-ratio: 1/1;
  min-height: 320px;
  border-radius: 0 0 24px 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  padding: 0 20px;
}
.service-sale .p-sale-fv__inner {
  position: relative;
  z-index: 1;
}
.service-sale .p-sale-fv__sub {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(21 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.7;
}
.service-sale .p-sale-fv__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 8px;
}
.service-sale .p-sale-intro {
  background: #ffffff;
  padding: 56px 28px 64px;
}
.service-sale .p-sale-intro__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(19 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.9;
}
.service-sale .p-sale-intro__body {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: -0.06em;
  line-height: 2.1;
  margin-top: 32px;
}
@media screen and (max-width: 400px) {
  .service-sale .p-sale-intro__body br {
    display: none;
  }
}
.service-sale .p-sale-brand {
  background: #b9bebe;
  padding-top: 100px;
}
.service-sale .p-sale-brand__media {
  position: relative;
}
.service-sale .p-sale-brand__media img {
  display: block;
  width: 100%;
  height: auto;
}
.service-sale .p-sale-brand__media.no-img {
  min-height: 320px;
}
.service-sale .p-sale-brand__title {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -64px;
  text-align: center;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.service-sale .p-sale-brand__body {
  padding: 104px 28px 64px;
}
.service-sale .p-sale-brand__text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 2;
}
.service-sale {
  /* 段落間。※右辺を & で書くと親ごと展開されてマッチしないためクラス名をベタ書き */
}
.service-sale .p-sale-brand__text + .p-sale-brand__text {
  margin-top: 24px;
}
.service-sale .p-sale-history {
  background-color: #ffffff;
  background-size: cover;
  background-position: center;
  padding: 72px 28px 80px;
}
.service-sale .p-sale-history__head {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(22 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
}
.service-sale .p-sale-history {
  /* .p-sale-history__photo
     左右に余白のある画面幅では親枠から 25px はみ出させ、
     それより狭い画面では中央寄せのまま傾きだけ維持する（ユーザー指示・2026-08-09）
     角度はデザイン画の実測に合わせて反時計回り 4度（2026-08-10・当初指示の22度から修正）。
     ※角度はこの1行だけで調整できる */
}
.service-sale .p-sale-history__photo {
  margin: 56px 0 0;
  -webkit-transform: rotate(-4deg);
          transform: rotate(-4deg);
  background: #e6e6dc;
}
.service-sale .p-sale-history__photo img {
  display: block;
  width: 100%;
  height: auto;
}
.service-sale .p-sale-history__photo.no-img {
  aspect-ratio: 4/3;
}
.service-sale .p-sale-history {
  /* .p-sale-history__vertical （縦書きコピー）
     CSS の writing-mode ではなく支給SVGを配置する。
     数字の向き・改行位置をデザイン画どおりに固定するため（ユーザー指示・2026-08-10） */
}
.service-sale .p-sale-history__vertical {
  display: block;
  width: 170px;
  height: auto;
  margin: 72px auto 0;
}
.service-sale .p-sale-history__text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 64px;
}
.service-sale .p-sale-history__brand {
  margin-top: 56px;
  padding: 40px 0;
  border-top: 1px solid #2c2c2c;
  border-bottom: 1px solid #2c2c2c;
  text-align: center;
}
.service-sale .p-sale-history__logo {
  display: block;
  width: 170px;
  height: auto;
  margin: 0 auto;
}
.service-sale .p-sale-history__note {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
  margin-top: 16px;
}
.service-sale {
  /* 傾き写真のはみ出し。
     main の幅（400px）に対して左右に余白ができる画面幅からはみ出しを効かせる。
     これより狭い＝画面いっぱいのときは、はみ出させると横スクロールが出るため中央寄せのまま */
}
@media screen and (min-width: 450px) {
  .service-sale .p-sale-history__photo {
    width: calc(100% + 50px);
    margin-left: -25px;
  }
}
.service-sale .p-sale-reason-fv,
.service-sale .p-sale-perf-fv {
  height: 400px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 20px;
}
.service-sale .p-sale-reason-fv__title,
.service-sale .p-sale-perf-fv__title {
  position: relative;
  z-index: 1;
  text-align: center;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(21 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.7;
}
.service-sale .p-sale-reasons {
  background: #ffffff;
  padding: 72px 28px 80px;
}
.service-sale .p-sale-reason__no {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
.service-sale .p-sale-reason__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(22 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 8px;
}
.service-sale .p-sale-reason__img {
  margin-top: 24px;
  background: #e6e6dc;
}
.service-sale .p-sale-reason__img img {
  display: block;
  width: 100%;
  height: auto;
}
.service-sale .p-sale-reason__img.no-img {
  aspect-ratio: 4/3;
}
.service-sale .p-sale-reason__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.9;
  margin-top: 32px;
}
.service-sale .p-sale-reason__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: -0.02em;
  line-height: 2;
  margin-top: 20px;
}
.service-sale .p-sale-reason__point {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 24px;
  padding-left: 1em;
  text-indent: -1em;
}
.service-sale .p-sale-reason__point::before {
  content: "●";
}
.service-sale {
  /* Reason 間の余白。※右辺はクラス名ベタ書き（& だと親ごと展開されてマッチしない） */
}
.service-sale .p-sale-reason + .p-sale-reason {
  margin-top: 72px;
}
.service-sale .p-sale-perf {
  background: #ffffff;
  padding: 64px 28px 80px;
  text-align: center;
}
.service-sale .p-sale-perf__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.9;
}
.service-sale .p-sale-perf__text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 32px;
}
.service-sale .p-sale-perf__cards {
  margin-top: 40px;
}
.service-sale .p-sale-perf__card {
  background: #e6e6dc;
  border-radius: 16px;
  padding: 24px 16px 28px;
}
.service-sale .p-sale-perf__card-title {
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
}
.service-sale .p-sale-perf__card-body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
  margin-top: 12px;
}
.service-sale .p-sale-perf__close {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.9;
  margin-top: 48px;
}
.service-sale {
  /* カード間の余白。※右辺はクラス名ベタ書き */
}
.service-sale .p-sale-perf__card + .p-sale-perf__card {
  margin-top: 20px;
}
.service-sale {
  /* 460px以下は中央揃えだと行末が不揃いに見えるため本文系を左揃え
     （ユーザー指示 2026-08-13。旧: __close のみ400px以下 → 対象4種・460pxへ拡大統一） */
}
@media screen and (max-width: 460px) {
  .service-sale .p-sale-perf__lead,
  .service-sale .p-sale-perf__text,
  .service-sale .p-sale-perf__card,
  .service-sale .p-sale-perf__close {
    text-align: left;
  }
}
.service-sale .p-sale-voice {
  background: #e6e6dc;
  padding: 64px 28px 72px;
}
.service-sale .p-sale-voice__head {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(22 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
}
.service-sale .p-sale-voice__items {
  margin-top: 40px;
}
.service-sale .p-sale-voice__q {
  background: #ffffff;
  padding: 14px 16px;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
}
.service-sale .p-sale-voice__a {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 12px;
}
.service-sale {
  /* お悩み項目間の余白。※右辺はクラス名ベタ書き */
}
.service-sale .p-sale-voice__item + .p-sale-voice__item {
  margin-top: 32px;
}

/* _p-service-search.scss — 家探し＋注文リノベ（page-service-search.php・スラッグ service-search）
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/04-家探し＋注文リノベ_01〜12.jpg
   フォントサイズはデザイナー指定（2026-08-10）。

   letter-spacing 方針（ユーザー確認・リノベの家販売と同じ判断基準）:
     本文系（こぶりな）= 0
     見出し系のうち「中央揃えのキャッチ・英字見出し・番号」= 0.04em（デザイン画で字間が空いて見えるもの）
     見出し系のうち「左揃えの小見出し・リード」= 0（詰まって見えるもの）

   ※ページヘッダ〜グレー地の作りは _p-service-sale.scss と同型
   ※Answer / Step / Area / お悩みは繰り返し要素。件数が増減しても崩れない指定にしてある */
/* リノベの家販売と共通のブランドセクション地色（パレット外の一点物） */
/* One Point! の地色（2026-09-05 クライアント指定でクリーム色へ変更） */
/* 「ここから有料」バッジの地色（ユーザー指定） */
.service-search .p-search-fv {
  aspect-ratio: 1/1;
  min-height: 320px;
  border-radius: 0 0 24px 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  padding: 0 20px;
}
.service-search .p-search-fv__inner {
  position: relative;
  z-index: 1;
}
.service-search .p-search-fv__sub {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(18 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.9;
}
.service-search .p-search-fv__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 8px;
}
.service-search .p-search-intro {
  background: #ffffff;
  padding: 56px 28px 64px;
}
.service-search .p-search-intro__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(19 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: -0.04em;
  line-height: 1.9;
}
@media screen and (max-width: 400px) {
  .service-search .p-search-intro__lead br {
    display: none;
  }
}
.service-search .p-search-intro__body {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.01em;
  line-height: 2.1;
  margin-top: 32px;
}
@media screen and (max-width: 400px) {
  .service-search .p-search-intro__body br {
    display: none;
  }
}
.service-search .p-search-brand {
  background: #b9bebe;
  padding-top: 100px;
}
.service-search .p-search-brand__media {
  position: relative;
}
.service-search .p-search-brand__media img {
  display: block;
  width: 100%;
  height: auto;
}
.service-search .p-search-brand__media.no-img {
  min-height: 320px;
}
.service-search .p-search-brand__title {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -64px;
  text-align: center;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.service-search .p-search-brand__body {
  padding: 104px 28px 64px;
}
.service-search .p-search-brand__text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1.7;
}
.service-search {
  /* 段落間。※右辺を & で書くと親ごと展開されてマッチしないためクラス名をベタ書き */
}
.service-search .p-search-brand__text + .p-search-brand__text {
  margin-top: 24px;
}
.service-search .p-search-worry {
  background: #ffffff;
  padding: 72px 28px 80px;
}
.service-search .p-search-worry__head {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(22 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
}
.service-search .p-search-worry__items {
  margin-top: 40px;
}
.service-search .p-search-worry__item {
  position: relative;
  background: #e6e6dc;
  border-radius: 10px;
  padding: 14px 16px;
}
.service-search .p-search-worry__text {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
}
.service-search .p-search-worry__tail {
  position: absolute;
  right: 24px;
  bottom: -19px;
  display: block;
  width: 20px;
  height: 20px;
}
.service-search .p-search-worry__close {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(21 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.8;
  margin-top: 64px;
  text-align: center;
}
.service-search {
  /* 吹き出し間の余白（尻尾のはみ出し分を含む）。※右辺はクラス名ベタ書き */
}
.service-search .p-search-worry__item + .p-search-worry__item {
  margin-top: 32px;
}
.service-search .p-search-answers-fv {
  height: 400px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 20px;
}
.service-search .p-search-answers-fv__title {
  position: relative;
  z-index: 1;
  text-align: center;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(21 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.8;
}
.service-search .p-search-answers {
  background: #ffffff;
  padding: 72px 28px 0px;
}
.service-search .p-search-answer__no {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
.service-search .p-search-answer__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(22 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 8px;
}
.service-search .p-search-answer__img {
  margin-top: 24px;
  background: #e6e6dc;
}
.service-search .p-search-answer__img img {
  display: block;
  width: 100%;
  height: auto;
}
.service-search .p-search-answer__img.no-img {
  aspect-ratio: 4/3;
}
.service-search .p-search-answer__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: -0.01em;
  line-height: 1.6;
  margin-top: 32px;
}
.service-search .p-search-answer__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: -0.02em;
  line-height: 1.8;
  margin-top: 20px;
}
.service-search .p-search-answer__action {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.service-search .p-search-answer__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #2c2c2c;
  letter-spacing: 0.04em;
  line-height: 1.7;
  min-width: 200px;
}
.service-search {
  /* Answer 間の余白。※右辺はクラス名ベタ書き */
}
.service-search .p-search-answer + .p-search-answer {
  margin-top: 72px;
}
.service-search .p-search-onepoint {
  position: relative;
  margin: 72px -28px;
  padding-top: 22px;
}
.service-search .p-search-onepoint__head {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
}
.service-search .p-search-onepoint__body {
  background: #faf0d2;
  padding: 40px 28px 44px;
}
.service-search .p-search-onepoint__title {
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
}
.service-search .p-search-onepoint__text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 20px;
}
.service-search .p-search-onepoint__note {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
  margin-top: 20px;
}
.service-search .p-search-flow {
  background: #e6e6dc;
  padding: 72px 28px 80px;
}
.service-search .p-search-flow__head {
  text-align: center;
}
.service-search .p-search-flow__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.3;
}
.service-search .p-search-flow__ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 4px;
}
.service-search .p-search-plan__catch {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(22 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 40px;
  text-align: center;
}
.service-search .p-search-plan__block {
  margin-top: 40px;
}
.service-search .p-search-plan__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
}
.service-search .p-search-plan__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
  margin-top: 20px;
}
.service-search .p-search-step {
  margin-top: 80px;
}
.service-search .p-search-step__list {
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.service-search .p-search-step__line {
  display: block;
  width: 1px;
  height: 30px;
  margin: 0 auto;
}
.service-search .p-search-step__item {
  background: #ffffff;
  padding: 20px 16px 24px;
  text-align: center;
}
.service-search .p-search-step__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
}
.service-search .p-search-step__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(11 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: -0.01em;
  line-height: 1.9;
  margin-top: 10px;
}
.service-search .p-search-step__border {
  padding: 32px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
.service-search .p-search-step__badge {
  min-width: 200px;
  padding: 12px 24px;
  border-radius: 999px;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
}
.service-search .p-search-step__badge--free {
  background: #ffffff;
}
.service-search .p-search-step__badge--paid {
  background: #646464;
  color: #ffffff;
}
.service-search .p-area {
  margin-top: 80px;
}
.service-search .p-staff-intro-fv {
  margin-top: 72px;
}

/* _p-service-custom.scss — 注文リノベ（page-service-custom.php・スラッグ service-custom）
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/03-注文リノベ_01〜11.jpg
   フォントサイズはデザイナー指定（2026-08-10）。

   letter-spacing 方針（ユーザー指示「基本 0em」＋家探し＋注文リノベに準拠）:
     本文・小見出し・リード = 0
     FV／写真見出しの白文字・英字見出し・番号・中央キャッチ = 0.04em（デザイン画で字間が空いて見えるもの）

   ※共通ブロック（スタッフ導入 / Staff / Q&A / Area / 相談CTA）は parts-*.php と
     _p-shared-service.scss にあり、このファイルには持たない
   ※Pride / お悩み / Step は繰り返し要素。件数が増減しても崩れない指定にしてある */
/* 家探し＋注文リノベ・リノベの家販売と共通のブランドセクション地色（パレット外の一点物） */
/* ReFa ブロックの地色（デザイナー指定） */
/* 「ここから有料」バッジの地色（家探し＋注文リノベと共通） */
.service-custom .p-custom-fv {
  aspect-ratio: 1/1;
  min-height: 320px;
  border-radius: 0 0 24px 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  padding: 0 20px;
}
.service-custom .p-custom-fv__inner {
  position: relative;
  z-index: 1;
}
.service-custom .p-custom-fv__sub {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(21 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.7;
}
.service-custom .p-custom-fv__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 8px;
}
.service-custom .p-custom-intro {
  background: #ffffff;
  padding: 56px 28px 64px;
}
.service-custom .p-custom-intro__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(19 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: -0.04em;
  line-height: 1.9;
}
@media screen and (max-width: 400px) {
  .service-custom .p-custom-intro__lead br {
    display: none;
  }
}
.service-custom .p-custom-intro__body {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2.1;
  margin-top: 32px;
}
@media screen and (max-width: 400px) {
  .service-custom .p-custom-intro__body br {
    display: none;
  }
}
.service-custom .p-custom-brand {
  background: #b9bebe;
  padding-top: 100px;
}
.service-custom .p-custom-brand__media {
  position: relative;
}
.service-custom .p-custom-brand__media img {
  display: block;
  width: 100%;
  height: auto;
}
.service-custom .p-custom-brand__media.no-img {
  min-height: 320px;
}
.service-custom .p-custom-brand__title {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -64px;
  text-align: center;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.service-custom .p-custom-brand__body {
  padding: 104px 28px 64px;
}
.service-custom .p-custom-brand__text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 2;
}
.service-custom {
  /* 段落間。※右辺を & で書くと親ごと展開されてマッチしないためクラス名をベタ書き */
}
.service-custom .p-custom-brand__text + .p-custom-brand__text {
  margin-top: 24px;
}
.service-custom .p-custom-pride-fv {
  height: 400px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 20px;
}
.service-custom .p-custom-pride-fv__title {
  position: relative;
  z-index: 1;
  text-align: center;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(21 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.8;
}
.service-custom .p-custom-prides {
  background: #ffffff;
  padding: 72px 28px 80px;
}
.service-custom .p-custom-pride__no {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
.service-custom .p-custom-pride__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(22 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 8px;
}
.service-custom .p-custom-pride__img {
  margin-top: 24px;
  background: #e6e6dc;
}
.service-custom .p-custom-pride__img img {
  display: block;
  width: 100%;
  height: auto;
}
.service-custom .p-custom-pride__img.no-img {
  aspect-ratio: 4/3;
}
.service-custom .p-custom-pride__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: -0.04em;
  line-height: 1.9;
  margin-top: 32px;
}
.service-custom .p-custom-pride__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 20px;
}
.service-custom {
  /* Pride 間の余白。※右辺はクラス名ベタ書き */
}
.service-custom .p-custom-pride + .p-custom-pride {
  margin-top: 72px;
}
.service-custom .p-custom-refa {
  background: #ffffff;
  padding: 40px 24px 72px;
}
.service-custom .p-custom-refa__box {
  background: #b4d2dc;
  border-radius: 24px;
  padding: 40px 24px 48px;
  text-align: center;
}
.service-custom .p-custom-refa__head {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(22 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
.service-custom .p-custom-refa__rule {
  margin: 24px 0;
  border: 0;
  border-top: 1px solid #ffffff;
}
.service-custom .p-custom-refa__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.9;
}
.service-custom .p-custom-refa__items {
  margin-top: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}
.service-custom .p-custom-refa__item {
  background: #ffffff;
  border-radius: 999px;
  padding: 14px 16px;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: -0.01em;
  line-height: 1.6;
}
.service-custom .p-custom-refa__note {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.9;
  margin-top: 24px;
}
.service-custom .p-custom-refa__subhead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.9;
  text-align: left;
}
.service-custom .p-custom-refa__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 20px;
  text-align: left;
}
.service-custom .p-custom-refa__photo {
  margin-top: 24px;
  background: #ffffff;
}
.service-custom .p-custom-refa__photo img {
  display: block;
  width: 100%;
  height: auto;
}
.service-custom .p-custom-refa__photo.no-img {
  aspect-ratio: 3/2;
}
.service-custom .p-custom-refa__action {
  margin-top: 32px;
}
.service-custom .p-custom-refa__btn {
  background: #ffffff;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #2c2c2c;
  letter-spacing: 0.04em;
  line-height: 1.7;
  min-width: 200px;
}
.service-custom .p-custom-voice {
  background: #e6e6dc;
  padding: 64px 28px 72px;
}
.service-custom .p-custom-voice__head {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(22 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
}
.service-custom .p-custom-voice__items {
  margin-top: 40px;
}
.service-custom .p-custom-voice__q {
  background: #ffffff;
  padding: 14px 16px;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
}
.service-custom .p-custom-voice__a {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 12px;
}
.service-custom {
  /* お悩み項目間の余白。※右辺はクラス名ベタ書き */
}
.service-custom .p-custom-voice__item + .p-custom-voice__item {
  margin-top: 32px;
}
.service-custom .p-custom-flow {
  background: #e6e6dc;
  padding: 72px 28px 80px;
}
.service-custom .p-custom-flow .p-area {
  margin-top: 80px;
}
.service-custom .p-custom-step__head {
  text-align: center;
}
.service-custom .p-custom-step__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.3;
}
.service-custom .p-custom-step__ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 4px;
}
.service-custom .p-custom-step__list {
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.service-custom .p-custom-step__line {
  display: block;
  width: 1px;
  height: 30px;
  margin: 0 auto;
}
.service-custom .p-custom-step__item {
  background: #ffffff;
  padding: 20px 16px;
  text-align: center;
}
.service-custom .p-custom-step__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
}
.service-custom .p-custom-step__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.9;
  margin-top: 10px;
}
.service-custom .p-custom-step__border {
  padding: 24px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.service-custom .p-custom-step__badge {
  min-width: 200px;
  padding: 12px 24px;
  border-radius: 999px;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
}
.service-custom .p-custom-step__badge--free {
  background: #ffffff;
  border: 1px solid #2c2c2c;
}
.service-custom .p-custom-step__badge--paid {
  background: #646464;
  color: #ffffff;
}

/* _p-staff.scss — 共通「Staff（メンバー紹介）」セクション（parts-staff.php）
   ページ名前空間に依存しない共通パーツのためルート .p-staff に置く（2026-08-10 共通化）
   もとは会社案内の .p-company-staff。家探し＋注文リノベでも同じものを使うため切り出した。
   letter-spacing 方針: 本文系（こぶりな）= 0 ／ 見出し系（明朝・Futura・Garamond）= 0.04em

   ※TOP（p-home-staff）は写真にキャッチが被らない別デザインのため統合していない */
.p-staff {
  padding-top: 30px;
  background: #ffffff;
}

.p-staff__feature {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 88px;
}

.p-staff__img-wrap {
  width: 330px;
  height: 470px;
  border-radius: 180px;
  overflow: hidden;
  position: relative;
  background: #ddd;
}
.p-staff__img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-staff__catch {
  position: absolute;
  top: -34px;
  right: 12px;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 6px;
}

.p-staff__catch-line {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  background: #ffffff;
  border: 1px solid #1a1a1a;
  padding: 12px 6px;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 500;
  font-size: calc(18 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.03em;
  line-height: 1.6;
}

.p-staff__btn {
  position: absolute;
  left: 50%;
  bottom: 48px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #ffffff;
  border-color: #1a1a1a;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.08em;
  line-height: 1.7;
  padding: 13px 24px;
  white-space: nowrap;
}
.p-staff__btn:hover {
  background: #c2a979;
  border-color: #c2a979;
  color: #ffffff;
}

/* _p-shared-service.scss — サービス配下ページで共用するセクション群（2026-08-10 共通化）
   ページ名前空間に依存しないためルートに置く。マークアップは各 parts-*.php。

     .p-qa            … parts-qa.php            （Q & A バナー。物件詳細レポート／注文リノベ）
     .p-area          … parts-area.php          （対応エリア。家探し＋注文リノベ／注文リノベ）
     .p-staff-intro   … parts-staff-intro.php   （話しやすい…＋導入。家探し＋注文リノベ／注文リノベ）
     .p-visit-cta     … parts-visit-cta.php     （写真背景の相談CTA。リノベの家販売／注文リノベ）
     .p-report-banner … parts-report-banner.php （物件詳細レポート バナー。家探し＋注文リノベ／Service一覧・2026-09-12共通化）

   letter-spacing 方針: 本文系（こぶりな）= 0 ／ 見出し系は各ページで確定した値を踏襲 */
.p-qa {
  background-color: #6b6b6b;
}
.p-qa__inner {
  position: relative;
  z-index: 1;
  padding: 96px 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.p-qa__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
.p-qa__sub {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.06em;
  line-height: 2;
  margin-top: 16px;
}
.p-qa__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 32px;
}

.p-report-banner {
  background-color: #6b6b6b;
  padding: 72px 28px 80px;
  text-align: center;
}
.p-report-banner__inner {
  position: relative;
  z-index: 1;
}
.p-report-banner__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(25 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
.p-report-banner__sub {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.8;
  margin-top: 8px;
}
.p-report-banner__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 28px;
  min-width: 200px;
}

.p-area__head {
  text-align: center;
}
.p-area__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.3;
}
.p-area__ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 4px;
}
.p-area__catch {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(22 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 32px;
  text-align: center;
}
.p-area__list {
  margin-top: 24px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 5px 1fr 5px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
}
.p-area__item {
  background: #ffffff;
  padding: 16px 8px;
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
}
.p-area__note {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
  margin-top: 24px;
}

.p-staff-intro-fv {
  height: 400px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 20px;
}

.p-staff-intro-fv__title {
  position: relative;
  z-index: 1;
  text-align: center;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(21 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.8;
}

.p-staff-intro {
  background: #ffffff;
  padding: 64px 28px 40px;
}
.p-staff-intro__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: -0.02em;
  line-height: 1.9;
}
.p-staff-intro__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: -0.02em;
  line-height: 2;
  margin-top: 24px;
}

.p-visit-cta {
  padding: 72px 28px 80px;
  text-align: center;
}
.p-visit-cta__inner {
  position: relative;
  z-index: 1;
}
.p-visit-cta__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1.9;
}
.p-visit-cta__text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 24px;
  text-align: left;
}
.p-visit-cta__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 56px;
}
.p-visit-cta__sub {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 8px;
}
.p-visit-cta__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 28px;
  min-width: 200px;
}

/* _p-service-index.scss — Service インデックス（page-service.php・スラッグ service）
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/02-Service_01〜05.jpg
   フォントサイズはデザイナー指定（2026-08-10）。

   letter-spacing 方針（ユーザー指示「基本 0em」＋他サービスページに準拠）:
     本文・小見出し = 0
     FV／写真上の白文字・英字見出し・番号 = 0.04em

   ※カードは繰り返し要素。件数が増減しても崩れない指定にしてある */
.service-index .p-service-index-fv {
  height: 680px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  padding: 0 20px;
}
.service-index .p-service-index-fv__inner {
  position: relative;
  z-index: 1;
}
.service-index .p-service-index-fv__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(40 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.service-index .p-service-index-fv__ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(21 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 8px;
}
.service-index .p-service-index-intro {
  background: #ffffff;
  padding: 88px 24px 0;
  text-align: center;
}
.service-index .p-service-index-intro__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(24 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
}
.service-index .p-service-index-intro__list {
  margin-top: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.service-index .p-service-index-intro__link {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.service-index .p-service-index-intro__link:hover {
  color: #c2a979;
}
.service-index .p-service-index {
  background: #ffffff;
  padding: 72px 0 80px;
}
.service-index .p-service-index__num {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: calc(40 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 24px;
}
.service-index .p-service-index__banner {
  min-height: 560px;
  border-radius: 24px 24px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 40px 24px;
}
.service-index .p-service-index__body {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.service-index .p-service-index__sub {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(21 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.7;
}
.service-index .p-service-index__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin-top: 8px;
}
.service-index .p-service-index__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 28px;
  min-width: 200px;
}
.service-index {
  /* カード間の余白。※右辺を & で書くと親ごと展開されてマッチしないためクラス名をベタ書き */
}
.service-index .p-service-index__item + .p-service-index__item {
  margin-top: 72px;
}
.service-index {
  /* 物件詳細レポート バナー（共通 .p-report-banner・2026-09-12追加）と共通CTAの間の余白。
     このページだけで持つ（家探し＋注文リノベはエリア直下にくっつけて出すため余白なし） */
}
.service-index .p-report-banner {
  margin-bottom: 72px;
}

/*--------------------------------
  スクロールスナップ（スマホ表示≤768px・serviceインデックス限定／2026-08-12追加）
  型は _p-contact.scss（下層の参照実装）準拠。ただしこのページは
  「FVだけ1画面、それ以降は先頭吸着のみ」（ユーザー指示 2026-08-12）:

  1. FV … 1画面高（min-height）＋ scroll-snap-align: start ＋ scroll-snap-stop: always
  2. 導入・各カード・CTA・サイトマップ・フッター … scroll-snap-align: start のみ
     （全画面化せず、セクション先頭に吸着する動きだけ。mandatory の吸着トラップは
      「先頭吸着点＋oversized snap area」で回避＝サイト共通の作法）

  ※ファイル末尾配置は意図的：上の個別定義（FVのheight:680px等）より後勝ちさせる
  【仕様変更 2026-08-20】スクロールスナップは HOME のみ適用に確定（ユーザー指示）。
  service-index はスナップ対象外（layout/_l-layout.scss の $snap-pages から除外済み）。
  下記の snap-align 指定はコンテナが無いため無効（残置・実害なし）。min-height は見た目として有効。
----------------------------------*/
.service-index {
  /* FV＝1画面（zoom補正込み）。基本の height:680px 固定は解除して1画面高に切替 */
}
@media screen and (max-width: 768px) {
  .service-index .p-service-index-fv {
    height: auto;
    min-height: calc(100svh / var(--main-zoom, 1));
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}
.service-index .p-service-index-fv {
  /* 画面高が低い環境はデザイン値へ戻す（スナップ自体は上で解除済み） */
}
@media screen and (max-height: 600px) {
  .service-index .p-service-index-fv {
    height: 680px;
    min-height: 0;
  }
}
.service-index {
  /* 高さ中身依存のセクションは「先頭の吸着点のみ」（1画面高もsnap-stopも付けない） */
}
@media screen and (max-width: 768px) {
  .service-index .p-service-index-intro,
  .service-index .p-service-index__item,
  .service-index .p-contact-cta,
  .service-index .p-sitemap,
  .service-index .p-footer {
    scroll-snap-align: start;
  }
}

/* _p-service-report.scss — 物件詳細レポート（page-service-report.php・スラッグ service-report）
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/15-物件詳細レポート_01〜06.jpg
   フォントサイズはデザイナー指定（2026-08-07）。指定のない箇所のみ目視推定コメント付き */
/*--------------------------------
  スクロールスナップ（スマホ表示≤800px・service-reportページ限定／2026-08-08追加）
  仕様と作法は CLAUDE.md「スクロールスナップ」参照（型は _p-contact.scss と同じ）。
  1画面スナップは FV と「なぜ調べるのか」（写真背景・元々ほぼ1画面分の高さ）のみ。
  他セクションは「区切り頭の吸着点のみ」（長文・リスト等、中身依存の高さのため）。
  【仕様変更 2026-08-20】スクロールスナップは HOME のみ適用に確定（ユーザー指示）。
  service-report はスナップ対象外（layout/_l-layout.scss の $snap-pages から除外済み）。
  下記の snap-align 指定はコンテナが無いため無効（残置・実害なし）。min-height は見た目として有効。
---------------------------------*/
.service-report {
  /* FV は p-list-fv（会社案内と共通）。マークが縦長の note アイコンのため幅のみ調整 */
}
.service-report .p-list-fv__mark {
  width: 40px;
}
.service-report {
  /* 導入 */
}
.service-report .p-report-intro {
  background: #ffffff;
  padding: 64px 24px 56px;
}
.service-report .p-report-intro__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(19 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.02em;
  line-height: 1.6;
}
.service-report .p-report-intro__sub {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.02em;
  line-height: 1.6;
  margin-top: 48px;
}
.service-report .p-report-intro__text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 28px;
}
.service-report {
  /* Point 01〜03（帯SVG＝横ライン＋ピル一体もの。2026-09-05 3Point構成へ改稿） */
}
.service-report .p-report-point {
  background: #ffffff;
  padding: 40px 24px 56px;
}
.service-report .p-report-point__pill {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 40px;
}
.service-report .p-report-point__label {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(22 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.02em;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 40px;
}
.service-report .p-report-point__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(21 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
}
.service-report .p-report-point__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
  margin-top: 20px;
}
.service-report .p-report-point__mid {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 48px;
}
.service-report .p-report-point__items {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 28px;
}
.service-report .p-report-point__item-head {
  font-style: normal;
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.7;
}
.service-report .p-report-point__item-body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
  margin-top: 6px;
}
.service-report {
  /* なぜ、マイハウスはここまで調べるのか？（写真背景） */
}
.service-report .p-report-why {
  background-color: #6b6b6b;
}
.service-report .p-report-why__inner {
  position: relative;
  z-index: 1;
  padding: 72px 28px;
}
.service-report .p-report-why__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 2;
  text-align: center;
}
.service-report .p-report-why__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 2.1;
  margin-top: 40px;
}
.service-report {
  /* 【無料提供中】黒枠。下辺は次の p-report-photo の下に潜る（デザイン再現）
     → 枠側をマイナスマージンで食い込ませ、写真側を z-index 上に重ねる */
}
.service-report .p-report-free {
  position: relative;
  z-index: 0;
  background: #ffffff;
  padding: 64px 24px 0;
  margin-bottom: -56px;
}
.service-report .p-report-free__box {
  border: 1px solid #1a1a1a;
  border-radius: 24px;
  background: #ffffff;
  padding: 48px 28px 96px;
}
.service-report .p-report-free__label {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(19 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  text-align: center;
}
.service-report .p-report-free__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 2;
  margin-top: 32px;
}
.service-report .p-report-free__text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2.1;
  margin-top: 24px;
}
.service-report {
  /* 写真（黒枠の下辺に上被せ） */
}
.service-report .p-report-photo {
  position: relative;
  z-index: 1;
  background: #6b6b6b;
  min-height: 240px;
}
.service-report .p-report-photo img {
  display: block;
  width: 100%;
  height: auto;
}
.service-report {
  /* Q&Aバナー（本ページ固有エリア・写真背景） */
}
.service-report .p-qa {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .service-report .p-list-fv,
  .service-report .p-report-why {
    min-height: calc(100svh / var(--main-zoom, 1));
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}
@media screen and (max-width: 768px) {
  .service-report .p-report-intro,
  .service-report .p-report-point,
  .service-report .p-report-free,
  .service-report .p-report-photo,
  .service-report .p-qa,
  .service-report .p-service-links,
  .service-report .p-contact-cta,
  .service-report .p-sitemap,
  .service-report .p-footer {
    scroll-snap-align: start;
  }
}

/* _p-consultation.scss — まずは相談したい（page-consultation.php・スラッグ consultation）
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/14-まずは相談_01〜06.jpg
   フォントサイズはデザイナー指定（2026-08-08）。
   letter-spacing 方針（ユーザー指示）: 本文系（こぶりな）= 0 ／ 見出し系（明朝・Garamond）= 0.04em */
/*--------------------------------
  スクロールスナップ（スマホ表示≤800px・consultationページ限定／2026-08-08追加）
  仕様と作法は CLAUDE.md「スクロールスナップ」参照（型は _p-contact.scss と同じ）。
  1画面スナップは FV のみ。他セクションは「区切り頭の吸着点のみ」
  （テキスト・写真リスト・会場案内・フォームなど中身依存の高さのため）。
  【仕様変更 2026-08-20】スクロールスナップは HOME のみ適用に確定（ユーザー指示）。
  consultation はスナップ対象外（layout/_l-layout.scss の $snap-pages から除外済み）。
  下記の snap-align 指定はコンテナが無いため無効（残置・実害なし）。min-height は見た目として有効。
---------------------------------*/
.consultation {
  /* FV は p-list-fv（会社案内と共通）。マークが横長の吹き出しのため幅のみ調整 */
}
.consultation .p-list-fv__mark {
  width: 56px;
}
.consultation {
  /* FV写真は上辺を基点にトリミング（人物の頭が切れないように・2026-08-08指示） */
}
.consultation .p-list-fv__media img {
  -o-object-position: top;
     object-position: top;
}
.consultation {
  /* 導入 */
}
.consultation .p-consultation-intro {
  background: #ffffff;
  padding: 64px 24px 48px;
}
.consultation .p-consultation-intro__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(19 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 2;
}
.consultation .p-consultation-intro__voices {
  margin-top: 40px;
}
.consultation .p-consultation-intro__voice {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 2;
}
.consultation .p-consultation-intro__voice:last-child {
  margin-top: 28px;
}
.consultation {
  /* 写真2枚（縦積み・左右余白あり） */
}
.consultation .p-consultation-photos {
  background: #ffffff;
  padding: 0 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.consultation .p-consultation-photos__item {
  background: #c9c9c9;
  aspect-ratio: 4/3;
}
.consultation .p-consultation-photos__item img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.consultation {
  /* 会場案内 */
}
.consultation .p-consultation-venue {
  background: #ffffff;
  padding: 48px 24px 56px;
}
.consultation .p-consultation-venue__head {
  font-style: normal;
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
}
.consultation .p-consultation-venue__list {
  margin-top: 8px;
}
.consultation .p-consultation-venue__item {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
}
.consultation .p-consultation-venue__note {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 4px;
}
.consultation .p-consultation-venue__map {
  margin-top: 32px;
  aspect-ratio: 1/1;
  background: #c9c9c9;
}
.consultation .p-consultation-venue__map iframe {
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .consultation .p-list-fv {
    min-height: calc(100svh / var(--main-zoom, 1));
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}
@media screen and (max-width: 768px) {
  .consultation .p-consultation-intro,
  .consultation .p-consultation-photos,
  .consultation .p-consultation-venue,
  .consultation .p-app-contact,
  .consultation .p-contact-form,
  .consultation .p-contact-cta,
  .consultation .p-sitemap,
  .consultation .p-footer {
    scroll-snap-align: start;
  }
}

/* _p-contact.scss — お問い合わせ（page-contact.php・スラッグ contact）
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/13-お問い合わせ_01〜05.jpg
   フォントサイズはデザイナー指定（2026-08-08）。
   letter-spacing 方針: 本文系（こぶりな）= 0 ／ 見出し系（明朝・Garamond）= 0.04em */
/*--------------------------------
  スクロールスナップ（スマホ表示≤800px・contactページ限定／2026-08-08追加）

  HOME（_p-home.scss）と同じ mandatory の縦スナップを採用する。
  ※当初 proximity で実装したが iPhone 実機で「ほぼ効かない」ため mandatory へ変更
  （2026-08-08 ユーザー確認）。HOME同様の2段構えで組む：

  1. 写真主体のセクション（FV／誘導バナー2枚）
     … 1画面高（min-height）＋ scroll-snap-align: start ＋ scroll-snap-stop: always
  2. 高さが中身依存のセクション（アプリ案内／フォーム／CTA／サイトマップ／フッター）
     … scroll-snap-align: start のみ（1画面高もsnap-stopも付けない）

  2 が重要：mandatory はスナップ点の無い区間へスクロールすると前後の点へ引き戻す
  （吸着トラップ）が、画面より縦長のスナップ領域は仕様上拘束が外れて内部を自由に
  スクロールできる（oversized snap area）。長い CF7 フォームにも「先頭の吸着点だけ」
  与えることで、フォーム内は通常スクロール・入力フォーカスも妨げない。
  HOME の p-home-journal / p-sitemap / p-footer と同じ作法。

  ≤800px はメインカラムに zoom（--main-zoom）がかかるため、1画面高は
  calc(100svh / var(--main-zoom, 1)) で補正する（HOME と同じ考え方）。

  【仕様変更 2026-08-20】スクロールスナップは HOME のみ適用に確定（ユーザー指示）。
  contact はスナップ対象外（layout/_l-layout.scss の $snap-pages から除外済み）。
  下記に残る scroll-snap-align / 1画面高（min-height）指定のうち、snap-align は
  コンテナが無いため無効（残置・実害なし）。min-height は見た目の高さ指定として生きている。
---------------------------------*/
.contact {
  /* FV は p-list-fv（会社案内と共通）。マークが縦長のスマホアイコンのため幅のみ調整 */
}
.contact .p-list-fv__mark {
  width: 40px;
}
.contact {
  /* 誘導バナー（見学・購入できる建物／まずは相談したい）
     背景写真は色調整済みのためオーバーレイなし。背景は上基点で表示する（ユーザー指示） */
}
.contact .p-contact-banner {
  background-position: top center;
  background-color: #6b6b6b;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 620px;
}
.contact .p-contact-banner__inner {
  padding: 40px 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.contact .p-contact-banner__sub {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(21 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.9;
}
.contact .p-contact-banner__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 16px;
}
.contact .p-contact-banner__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.7;
  min-width: 200px;
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .contact .p-list-fv,
  .contact .p-contact-banner {
    min-height: calc(100svh / var(--main-zoom, 1));
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}
@media screen and (max-width: 768px) {
  .contact .p-app-contact,
  .contact .p-contact-form,
  .contact .p-contact-cta,
  .contact .p-sitemap,
  .contact .p-footer {
    scroll-snap-align: start;
  }
}

/* _p-service-slider.scss — サイト共通 Service セクション（parts-service.php）
   2026-08-06: home 専用だった .p-home-service を共通ブロック .p-service-slider にリネームし、
   _p-home.scss の .home スコープ外へ移設（TOP / 会社案内で共有するため）。
   home ページ限定のスクロールスナップ指定だけは _p-home.scss 側に残している。
   規約: 最大3階層。ブロックと要素はフルクラス名で並べ、状態擬似のみ &:hover 等で1段ネスト */
.p-service-slider {
  background: #e6e6dc;
  --service-rest: calc(194px + var(--quicknav-space, 72px));
  --service-img-h: 590px;
  --service-img-w: 325px;
}
@media screen and (max-width: 768px) {
  .p-service-slider {
    --service-img-h: clamp(280px, calc(100svh / var(--main-zoom, 1) - var(--service-rest)), 590px);
  }
}

/* 横向き等・画面高が低い環境は1画面フィットをやめデザイン値に固定（潰れ防止・サイト共通方針） */
@media screen and (max-height: 600px) {
  .p-service-slider {
    --service-img-h: 590px;
  }
}
.p-service-slider .c-slider__list {
  padding: 0;
  gap: 0;
}

.p-service-slider .c-slider__item {
  width: 100%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

.p-service-slider .c-card--service {
  width: var(--service-img-w);
  height: var(--service-img-h);
  border-radius: 0 24px 0 0;
}

.p-service-slider .c-card__img-wrap {
  width: 100%;
  height: 100%;
  padding-top: 0;
}

.p-service-slider .c-card__overlay {
  inset: auto;
  top: 50%;
  left: 30px;
  right: 16px;
  bottom: auto;
  z-index: 2;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  padding: 0;
  background: none;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.p-service-slider .c-card__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 500;
  font-size: calc(20 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1.5;
  margin-bottom: 0;
}

.p-service-slider .c-card__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.08em;
  line-height: 1.7;
  padding: 13px 24px;
  margin-top: 24px;
}
.p-service-slider .c-card__btn:hover {
  background: #c2a979;
  border-color: #c2a979;
  color: #ffffff;
}

.p-service-slider .c-slider__arrow-static {
  top: 50%;
  left: calc(var(--service-img-w) - 38px);
  width: 90px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 3;
  pointer-events: auto;
  padding: 16px 0;
  border: 0;
  background: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.p-service-slider .c-slider__counter {
  top: calc(50% + 30px);
  bottom: auto;
  right: auto;
  left: var(--service-img-w);
  width: calc(100% - var(--service-img-w));
  text-align: center;
  font-style: normal;
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
}

.p-service-slider__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
  padding: 20px;
}

.p-service-slider__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  border: 1px solid #1a1a1a;
  background: transparent;
  color: #1a1a1a;
  cursor: pointer;
  -webkit-transition: background 0.2s ease, color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease;
}
.p-service-slider__arrow .material-symbols-outlined {
  font-style: normal;
  font-weight: 400;
  font-size: calc(18 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0em;
  line-height: 1;
}
.p-service-slider__arrow:hover {
  background: #1a1a1a;
  color: #ffffff;
}

.p-service-slider__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}

.p-service-slider__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ffffff;
  padding: 0;
  border: none;
  cursor: pointer;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
.p-service-slider__dot.is-active {
  background: #1a1a1a;
}

/* _p-list.scss — 一覧ページ共通レイアウト（Tour / Works / Event 一覧で共有・2026-07-06）
   FV＋アーカイブカード＋ページネーション。ルート .p-list-* / .p-archive-card-* に置く。 */
/* FV（写真ヒーロー・中央 en/ja） */
.p-list-fv {
  position: relative;
  min-height: min(680px, 100svh / var(--main-zoom, 1));
  background-color: #6b6b6b;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
}

.p-list-fv__media {
  position: absolute;
  inset: 0;
}
.p-list-fv__media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-list-fv__inner {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 0 20px;
}

/* ページマーク（en見出しの上の白線アイコン。Works=家、News=メガホン、Company=88 …）
   2026-08-06追加。このFVブロックは一覧ページ／NEWS／会社案内で共有している */
.p-list-fv__mark {
  display: block;
  width: 48px;
  height: auto;
  margin: 0 auto 12px;
}

/* 2026-08-06: デザイナー指定確定 en=Garamond Lt 40 / ja=TsukuA 21（16-NEWS指示より。
   下層FV共通のため全ページ同値とする） */
.p-list-fv__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(40 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.06em;
  line-height: 1.2;
}

.p-list-fv__ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(21 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.08em;
  line-height: 1.7;
  margin-top: 8px;
}

/* 一覧セクション */
.p-list {
  padding: 48px 20px 40px;
  background: #ffffff;
}

.p-list__head {
  font-style: normal;
  font-weight: 500;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.08em;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 32px;
}

.p-list__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}

/* アーカイブカード（Tour/Works/Event 共通・要素は任意） */
.p-archive-card {
  display: block;
  text-align: center;
}

.p-archive-card__num {
  font-style: normal;
  font-weight: 500;
  font-size: calc(24 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1;
  margin-bottom: 20px;
}

.p-archive-card__img {
  width: 100%;
  aspect-ratio: 4/5;
  margin-bottom: 16px;
}
.p-archive-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-archive-card__img--banner {
  aspect-ratio: 4/3;
}

.p-archive-card__tag {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-bottom: 8px;
}

.p-archive-card__title {
  font-style: normal;
  font-weight: 500;
  font-size: calc(18 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin-bottom: 8px;
}

.p-archive-card__meta {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.7;
}

.p-archive-card__meta + .p-archive-card__meta {
  margin-top: 2px;
}

.p-archive-card__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-top: 16px;
}

/* ページネーション（静的プレースホルダー）
   2026-08-09: NEWS一覧（.p-news-pager）と見た目を統一（ユーザー指示）。
   直径38pxの円＋1px枠線・Material Symbols の chevron、数字は Futura 17。
   上余白も広げた（旧 24px → 64px）。Tour / Event 一覧にも共通で効く */
.p-list-pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  padding: 64px 20px 56px;
}

.p-list-pager__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 38px;
  height: 38px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
  border: 1px solid #1a1a1a;
  color: #1a1a1a;
}
.p-list-pager__arrow .material-symbols-outlined {
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: inherit;
  letter-spacing: 0em;
  line-height: 1;
}
.p-list-pager__arrow--disabled {
  opacity: 0.25;
  pointer-events: none;
}

.p-list-pager__nums {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
}

.p-list-pager__num {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: calc(17 / 16 * 1rem);
  color: #e8e4de;
  letter-spacing: 0.03em;
  line-height: 1;
}
.p-list-pager__num--current {
  color: #1a1a1a;
}

/* Works の絞り込みフィルタ（.p-works-filter）は 2026-08-09 に _p-works.scss へ移動後、
   2026-09-19 にリスト表示ごとクライアント却下で撤去済み（ここには置かない） */
/* _p-tour.scss — 見学できる建物 一覧（page-tour.php・スラッグ tour）
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/06-見学できる建物_01〜05.jpg
   フォントサイズはイベント一覧と共通（デザイナー指定・2026-08-09）。
   letter-spacing 方針: 本文系（こぶりな）= 0 ／ 見出し系（明朝・Futura・Garamond）= 0.04em

   ※将来のカスタム投稿化を前提に、件数が増減しても崩れない指定にしてある
   ※FV は一覧ページ共通の .p-list-fv、ページネーションは共通の .p-list-pager（_p-list.scss）を使用。
     カードだけこのページ専用（写真が1件複数枚のスライダーのため） */
.tour {
  /* FV のマークは旗アイコン（詳細ページと同じ絵柄・40×64）。
     支給SVGは黒線のため、写真上のFV文字と同じ白へCSSで転換する（ユーザー指示・2026-08-09）。
     白専用SVGを別途用意せず1ファイルを詳細ページと共用するための措置 */
}
.tour .p-list-fv__mark {
  width: 40px;
  height: 64px;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.tour .p-tour-list {
  background: #ffffff;
  padding: 96px 0 96px;
}
.tour .p-tour-list__head {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(22 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
}
.tour .p-tour-list__empty {
  font-style: normal;
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
  color: #6b6b6b;
  letter-spacing: 0em;
  line-height: 1.8;
  text-align: center;
  padding: 48px 20px 0;
}
.tour .p-tour-list__items {
  margin-top: 72px;
}
.tour .p-tour-card__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow-x: auto;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  gap: 8px;
  padding: 0 12%;
  scroll-padding: 0 12%;
  scrollbar-width: none;
}
.tour .p-tour-card__list::-webkit-scrollbar {
  display: none;
}
.tour .p-tour-card__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 76%;
          flex: 0 0 76%;
  scroll-snap-align: center;
  aspect-ratio: 3/4;
}
.tour .p-tour-card__item img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.tour .p-tour-card__item.no-img {
  background: #e6e6dc;
}
.tour .p-tour-card__item--wide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #e8e4de;
}
.tour .p-tour-card__item--wide img {
  height: auto;
}
.tour .p-tour-card__item--mono img {
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}
.tour .p-tour-card__status {
  position: relative;
  z-index: 1;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: -17px auto 0;
}
.tour .p-tour-card__body {
  padding: 0 24px;
  text-align: center;
}
.tour .p-tour-card__type {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 28px;
}
.tour .p-tour-card__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 6px;
}
.tour .p-tour-card__area {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 6px;
}
.tour .p-tour-card__action {
  margin-top: 32px;
}
.tour .p-tour-card__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #2c2c2c;
  letter-spacing: 0.04em;
  line-height: 1.7;
  padding: 8px 20px;
  min-width: 140px;
}
.tour {
  /* カード間の余白。
     ※隣接セレクタを `&__card + &__card` の形で書くと右辺の & まで親ごと展開されて
       マッチしなくなるため、右辺はクラス名をベタ書きすること（2026-08-09の不具合対応） */
}
.tour .p-tour-card + .p-tour-card {
  margin-top: 88px;
}

/* _p-tour-detail.scss — 見学できる建物 詳細（カスタム投稿 tour: single-tour.php → tour/tour-*.php・URL /tour/tour-01/ 等）
   ※2026-09-19 カスタム投稿化。旧タイプ別4テンプレ（page-tour-detail-*.php）を single-tour.php に統合。main に .tour-detail--{unfinished,completed,sold,model} 付き
     物件ごとの見た目の例外は各 tour/tour-*.php 末尾の <style> に書き、共通レイアウトのこのファイルは触らない
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/07-見学できる建物-詳細_01〜11.jpg
   フォントサイズはデザイナー指定（2026-08-09）。
   letter-spacing 方針: 本文系（こぶりな）= 0 ／ 見出し系（明朝・Futura・Garamond）= 0.04em

   ※将来のカスタム投稿化を前提に、繰り返し要素（ギャラリー・近隣施設・Story/Plan・Date）は
     件数が増減しても崩れない指定にしてある
   ※リノベ実例 詳細（_p-works-detail.scss）と構造は近いが、Date の見た目（ベージュ地・白丸）と
     Community の施設リストが固有なのでページ固有で持つ（局所性優先） */
.tour-detail .p-tour-detail-head {
  position: relative;
  padding-bottom: 16px;
}
.tour-detail .p-tour-detail-head__panel {
  background: #e6e6dc;
  border-radius: 0 0 24px 24px;
  padding: 120px 20px 116px;
  text-align: center;
}
.tour-detail .p-tour-detail-head__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(40 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.tour-detail .p-tour-detail-head__ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(21 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 8px;
}
.tour-detail .p-tour-detail-head__mark {
  position: absolute;
  left: 50%;
  bottom: -10px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 40px;
  height: 64px;
}
.tour-detail .p-tour-detail-title {
  background: #ffffff;
  padding: 64px 24px 40px;
  text-align: center;
}
.tour-detail .p-tour-detail-title__status {
  margin-bottom: 14px;
}
.tour-detail .p-tour-detail-title__type {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
}
.tour-detail .p-tour-detail-title__name {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: -0.02em;
  line-height: 1.6;
  margin-top: 6px;
}
.tour-detail .p-tour-detail-title__area {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 6px;
}
.tour-detail .p-tour-detail-main {
  background: #e6e6dc;
}
.tour-detail .p-tour-detail-main img {
  display: block;
  width: 100%;
  height: auto;
}
.tour-detail .p-tour-detail-main.no-img {
  min-height: 320px;
}
.tour-detail .p-tour-detail-intro {
  background: #ffffff;
  padding: 48px 24px 40px;
}
.tour-detail .p-tour-detail-intro__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.9;
}
.tour-detail .p-tour-detail-intro__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 24px;
}
.tour-detail .p-tour-gallery {
  background: #ffffff;
  padding-bottom: 48px;
}
.tour-detail .p-tour-gallery__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow-x: auto;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  gap: 8px;
  padding: 0 12%;
  scroll-padding: 0 12%;
  scrollbar-width: none;
}
.tour-detail .p-tour-gallery__list::-webkit-scrollbar {
  display: none;
}
.tour-detail .p-tour-gallery__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 76%;
          flex: 0 0 76%;
  scroll-snap-align: center;
  aspect-ratio: 3/4;
}
.tour-detail .p-tour-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.tour-detail .p-tour-gallery__item.no-img {
  background: #e6e6dc;
}
.tour-detail .p-tour-gallery__item--wide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #e8e4de;
}
.tour-detail .p-tour-gallery__item--wide img {
  height: auto;
}
.tour-detail .p-tour-gallery__item--mono img {
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}
.tour-detail .p-tour-gallery__thumbs {
  margin-top: 12px;
}
.tour-detail .p-tour-gallery__thumb-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 0 12%;
  scrollbar-width: none;
}
.tour-detail .p-tour-gallery__thumb-list::-webkit-scrollbar {
  display: none;
}
.tour-detail .p-tour-gallery__thumb-item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 22%;
          flex: 0 0 22%;
}
.tour-detail .p-tour-gallery__thumb {
  display: block;
  width: 100%;
  aspect-ratio: 3/4;
  background: #e6e6dc;
  border: 1px solid transparent;
  padding: 0;
  cursor: pointer;
  opacity: 0.5;
  -webkit-transition: opacity 0.2s ease, border-color 0.2s ease;
  transition: opacity 0.2s ease, border-color 0.2s ease;
}
.tour-detail .p-tour-gallery__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.tour-detail .p-tour-gallery__thumb--wide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: transparent;
  border-color: #e8e4de;
}
.tour-detail .p-tour-gallery__thumb--wide img {
  height: auto;
}
.tour-detail .p-tour-gallery__thumb--mono img {
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}
.tour-detail .p-tour-gallery__thumb.is-active {
  opacity: 1;
  border-color: #2c2c2c;
}
.tour-detail .p-tour-detail-sec {
  background: #ffffff;
  padding: 24px 24px 40px;
}
.tour-detail .p-tour-detail-sec__head {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
.tour-detail .p-tour-detail-sec__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.9;
  margin-top: 24px;
}
.tour-detail .p-tour-detail-sec__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 20px;
}
.tour-detail .p-tour-detail-sec__img {
  margin-top: 24px;
  background: #e6e6dc;
}
.tour-detail .p-tour-detail-sec__img img {
  display: block;
  width: 100%;
  height: auto;
}
.tour-detail .p-tour-detail-sec__img.no-img {
  aspect-ratio: 4/3;
}
.tour-detail .p-tour-detail-sec__floor {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 24px;
}
.tour-detail .p-tour-detail-sec__floor + .c-before-after,
.tour-detail .p-tour-detail-sec__floor + .p-tour-detail-sec__img {
  margin-top: 8px;
}
.tour-detail .p-tour-detail-community__facilities {
  margin-top: 40px;
}
.tour-detail .p-tour-detail-community__group + .p-tour-detail-community__group {
  margin-top: 28px;
}
.tour-detail .p-tour-detail-community__label {
  font-style: normal;
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
}
.tour-detail .p-tour-detail-community__list {
  margin-top: 4px;
}
.tour-detail .p-tour-detail-community__item {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.9;
}
.tour-detail .p-tour-detail-community__map {
  margin-top: 40px;
  aspect-ratio: 1/1;
  background: #e6e6dc;
}
.tour-detail .p-tour-detail-community__map iframe {
  display: block;
  width: 100%;
  height: 100%;
}
.tour-detail .p-tour-detail-message {
  background: #ffffff;
  padding: 24px 24px 40px;
}
.tour-detail .p-tour-detail-message__box {
  border: 1px solid #1a1a1a;
  border-radius: 24px;
  padding: 32px 24px 36px;
}
.tour-detail .p-tour-detail-message__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
.tour-detail .p-tour-detail-message__photo {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 76px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
  background: #e6e6dc;
}
.tour-detail .p-tour-detail-message__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.tour-detail .p-tour-detail-message__en {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
.tour-detail .p-tour-detail-message__ja {
  font-style: normal;
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 2px;
}
.tour-detail .p-tour-detail-message__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 24px;
}
.tour-detail .p-tour-detail-back {
  background: #ffffff;
  padding: 32px 24px 72px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.tour-detail .p-tour-detail-back__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #2c2c2c;
  letter-spacing: 0.04em;
  line-height: 1.7;
  min-width: 200px;
}
.tour-detail .p-tour-detail-date {
  background: #e6e6dc;
  padding: 56px 24px 20px;
}
.tour-detail .p-tour-detail-date__head {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
.tour-detail .p-tour-detail-date__list {
  margin-top: 24px;
}
.tour-detail .p-tour-detail-date__list--spec {
  margin-top: 40px;
}
.tour-detail .p-tour-detail-date__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.tour-detail .p-tour-detail-date__dt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 112px;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
}
.tour-detail .p-tour-detail-date__dt::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ffffff;
  margin-right: 6px;
  vertical-align: baseline;
}
.tour-detail .p-tour-detail-date__dd {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
}
.tour-detail .p-tour-detail-date__note {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
  margin-top: 24px;
}
.tour-detail .p-tour-detail-date__map {
  margin-top: 40px;
  aspect-ratio: 1/1;
  background: #ffffff;
}
.tour-detail .p-tour-detail-date__map iframe {
  display: block;
  width: 100%;
  height: 100%;
}
.tour-detail {
  /* Date の行間。
     ※隣接セレクタを `&__row + &__row` の形で書くと右辺の & まで親ごと展開されて
       マッチしなくなるため、右辺はクラス名をベタ書きすること（2026-08-09の不具合対応） */
}
.tour-detail .p-tour-detail-date__row + .p-tour-detail-date__row {
  margin-top: 8px;
}
.tour-detail .p-tour-detail-formback {
  background: #e6e6dc;
  padding: 0 24px 72px;
}
.tour-detail .p-tour-detail-formback__rule {
  margin: 0;
  border: 0;
  border-top: 1px solid #2c2c2c;
}
.tour-detail .p-tour-detail-formback__action {
  margin-top: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.tour-detail .p-tour-detail-formback__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #2c2c2c;
  letter-spacing: 0.04em;
  line-height: 1.7;
  min-width: 200px;
}

/* _p-works.scss — リノベ実例 一覧（page-works.php・スラッグ works）
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/10-リノベ実例-一覧_01〜06.jpg
   フォントサイズはデザイナー指定（2026-08-09）。
   letter-spacing 方針: 本文系（こぶりな）= 0 ／ 見出し系（明朝・Futura・Garamond）= 0.04em

   ※2026-09-19 カスタム投稿化（投稿 works・件数は WP_Query）。件数が増減しても崩れない指定にしてある
   ※同日、表示切替タブ（カード／リスト）・絞り込みフィルタ・ミニマムリストはクライアント却下で撤去。カード表示のみ
   ※FV は一覧ページ共通の .p-list-fv、ページネーションは共通の .p-list-pager（_p-list.scss）を使用 */
.works {
  /* FV のマークはリノベ実例アイコン（54×64・詳細ページと同じ） */
}
.works .p-list-fv__mark {
  width: 54px;
}
.works .p-works-list {
  background: #ffffff;
  padding: 56px 0 0;
}
.works .p-works-list--no-pager {
  padding-bottom: 56px;
}
.works .p-works-list__head {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(22 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
}
.works .p-works-list__empty {
  font-style: normal;
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
  color: #6b6b6b;
  letter-spacing: 0em;
  line-height: 1.8;
  text-align: center;
  padding: 48px 20px 0;
}
.works .p-works-card {
  text-align: center;
  padding-top: 56px;
}
.works .p-works-card__num {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.works .p-works-card__num-hash {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.works .p-works-card__slider {
  margin-top: 24px;
}
.works .p-works-card__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow-x: auto;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  gap: 8px;
  padding: 0 12%;
  scroll-padding: 0 12%;
  scrollbar-width: none;
}
.works .p-works-card__list::-webkit-scrollbar {
  display: none;
}
.works .p-works-card__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 76%;
          flex: 0 0 76%;
  scroll-snap-align: center;
  aspect-ratio: 3/4;
  background: #e6e6dc;
}
.works .p-works-card__item img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.works .p-works-card__type {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 28px;
}
.works .p-works-card__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 6px;
}
.works .p-works-card__cost {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 6px;
}
.works .p-works-card__cost-soon {
  color: rgba(26, 26, 26, 0.35);
}
.works .p-works-card__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #2c2c2c;
  letter-spacing: 0.04em;
  line-height: 1.7;
  min-width: 200px;
  margin-top: 24px;
}

/* _p-works-detail.scss — リノベ実例 詳細（カスタム投稿 works: single-works.php → works/works-*.php・URL /works/works-01/ 等）
   ※2026-09-19 カスタム投稿化。main の名前空間 .works-detail は旧固定ページ（page-works-detail.php）から据え置き。
     物件ごとの見た目の例外は各 works/works-*.php 末尾の <style> に書き、共通レイアウトのこのファイルは触らない
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/11-リノベ実例-詳細_01〜07.jpg
   フォントサイズはデザイナー指定（2026-08-08）。
   letter-spacing 方針: 本文系（こぶりな）= 0 ／ 見出し系（明朝・Futura・Garamond）= 0.04em

   ※将来のカスタム投稿化を前提に、繰り返し要素（ギャラリー・Community/Story/Plan）は
     件数が増減しても崩れない指定にしてある */
.works-detail .p-works-detail-head {
  position: relative;
}
.works-detail .p-works-detail-head__panel {
  background: #e6e6dc;
  border-radius: 0 0 24px 24px;
  padding: 88px 20px 56px;
  text-align: center;
}
.works-detail .p-works-detail-head__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(40 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.works-detail .p-works-detail-head__ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(21 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 8px;
}
.works-detail .p-works-detail-title {
  background: #ffffff;
  padding: 32px 24px 28px;
  text-align: center;
}
.works-detail .p-works-detail-title__type {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
}
.works-detail .p-works-detail-title__name {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 6px;
}
.works-detail .p-works-detail-title__area {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 6px;
}
.works-detail .p-works-detail-main {
  background: #e6e6dc;
}
.works-detail .p-works-detail-main img {
  display: block;
  width: 100%;
  height: auto;
}
.works-detail .p-works-detail-intro {
  background: #ffffff;
  padding: 48px 24px 40px;
}
.works-detail .p-works-detail-intro__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.9;
}
.works-detail .p-works-detail-intro__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 24px;
}
.works-detail .p-works-detail-date {
  background: #ffffff;
  padding: 8px 24px 48px;
}
.works-detail .p-works-detail-date__head {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
.works-detail .p-works-detail-date__list {
  margin-top: 20px;
}
.works-detail .p-works-detail-date__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.works-detail .p-works-detail-date__row + .p-works-detail-date__row {
  margin-top: 6px;
}
.works-detail .p-works-detail-date__dt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 110px;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
}
.works-detail .p-works-detail-date__dd {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
}
.works-detail .p-works-detail-date__note {
  font-size: 12px;
}
.works-detail .p-works-detail-date__soon {
  color: rgba(26, 26, 26, 0.35);
}
.works-detail .p-works-gallery {
  background: #ffffff;
  padding-bottom: 48px;
}
.works-detail .p-works-gallery__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow-x: auto;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  gap: 8px;
  padding: 0 12%;
  scroll-padding: 0 12%;
  scrollbar-width: none;
}
.works-detail .p-works-gallery__list::-webkit-scrollbar {
  display: none;
}
.works-detail .p-works-gallery__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 76%;
          flex: 0 0 76%;
  scroll-snap-align: center;
  aspect-ratio: 3/4;
  background: #e6e6dc;
}
.works-detail .p-works-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.works-detail .p-works-gallery__thumbs {
  margin-top: 12px;
}
.works-detail .p-works-gallery__thumb-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 0 12%;
  scrollbar-width: none;
}
.works-detail .p-works-gallery__thumb-list::-webkit-scrollbar {
  display: none;
}
.works-detail .p-works-gallery__thumb-item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.works-detail .p-works-gallery__thumb {
  display: block;
  width: 68px;
  aspect-ratio: 3/4;
  background: #e6e6dc;
  border: 1px solid transparent;
  padding: 0;
  cursor: pointer;
  opacity: 0.55;
  -webkit-transition: opacity 0.2s ease, border-color 0.2s ease;
  transition: opacity 0.2s ease, border-color 0.2s ease;
}
.works-detail .p-works-gallery__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.works-detail .p-works-gallery__thumb.is-active {
  opacity: 1;
  border-color: #2c2c2c;
}
.works-detail .p-works-detail-sec {
  background: #ffffff;
  padding: 24px 24px 40px;
}
.works-detail .p-works-detail-sec__head {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
.works-detail .p-works-detail-sec__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.9;
  margin-top: 24px;
}
.works-detail .p-works-detail-sec__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 20px;
}
.works-detail .p-works-detail-sec__img {
  margin-top: 16px;
  background: #e6e6dc;
}
.works-detail .p-works-detail-sec__img img {
  display: block;
  width: 100%;
  height: auto;
}
.works-detail .p-works-detail-sec__floor {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  margin-top: 24px;
}
.works-detail .p-works-detail-sec__floor + .c-before-after {
  margin-top: 8px;
}
.works-detail .p-works-detail-message {
  background: #ffffff;
  padding: 24px 24px 40px;
}
.works-detail .p-works-detail-message__box {
  border: 1px solid #1a1a1a;
  border-radius: 24px;
  padding: 32px 24px 36px;
}
.works-detail .p-works-detail-message__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
.works-detail .p-works-detail-message__photo {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 76px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
  background: #e6e6dc;
}
.works-detail .p-works-detail-message__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.works-detail .p-works-detail-message__en {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
.works-detail .p-works-detail-message__ja {
  font-style: normal;
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 2px;
}
.works-detail .p-works-detail-message__body {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 24px;
}
.works-detail .p-works-detail-back {
  background: #ffffff;
  padding: 0 24px 72px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.works-detail .p-works-detail-back__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #2c2c2c;
  letter-spacing: 0.04em;
  line-height: 1.7;
  min-width: 200px;
}

/* _p-event.scss — イベント 一覧（page-event.php・スラッグ event）
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/08-イベント_01〜06.jpg
   フォントサイズはデザイナー指定（2026-08-09）。
   letter-spacing 方針: 本文系（こぶりな）= 0 ／ 見出し系（明朝・Futura・Garamond）= 0.04em

   ※将来のカスタム投稿化を前提に、件数が増減しても崩れない指定にしてある
   ※FV は一覧ページ共通の .p-list-fv、ページネーションは共通の .p-list-pager（_p-list.scss）を使用。
     カードだけこのページ専用（フライヤーの天地が原寸なりで可変・メタが2行のため） */
.event {
  /* FV のマークはテントアイコン（デザイナー指定 62×54。詳細ページと同じ絵柄） */
}
.event .p-list-fv__mark {
  width: 62px;
  height: 54px;
}
.event .p-event-list {
  background: #ffffff;
  padding: 96px 0 96px;
}
.event .p-event-list__head {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(22 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
}
.event .p-event-list__feed {
  margin-top: 72px;
}
.event .p-event-list__empty {
  font-style: normal;
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
  color: #6b6b6b;
  letter-spacing: 0em;
  line-height: 1.7;
  padding: 24px 0;
  text-align: center;
}
.event .p-event-feed.is-ready .p-event-list__empty {
  display: none;
}

/* _p-event-detail.scss — イベント 詳細（page-event-detail.php・スラッグ event-detail）
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/09-イベント-詳細_01〜07.jpg
   フォントサイズはデザイナー指定（2026-08-09）。
   letter-spacing 方針: 本文系（こぶりな）= 0 ／ 見出し系（明朝・Futura・Garamond）= 0.04em

   ※将来のカスタム投稿化を前提に、繰り返し要素（イベント概要・本文ブロック）は
     件数が増減しても崩れない指定にしてある
   ※ページヘッダはリノベ実例 詳細（_p-works-detail.scss）と同型。中身と寸法が異なるため
     ページ固有で持つ（局所性優先） */
.event-detail .p-event-detail-head {
  position: relative;
  padding-bottom: 24px;
}
.event-detail .p-event-detail-head__panel {
  background: #e6e6dc;
  border-radius: 0 0 24px 24px;
  padding: 112px 20px 92px;
  text-align: center;
}
.event-detail .p-event-detail-head__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(40 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.event-detail .p-event-detail-head__ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(21 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 8px;
}
.event-detail .p-event-detail-head__mark {
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 60px;
  height: 54px;
}
.event-detail .p-event-detail-title {
  background: #ffffff;
  padding: 64px 24px 0;
  text-align: center;
}
.event-detail .p-event-detail-title__tag {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
}
.event-detail .p-event-detail-title__name {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 8px;
}
.event-detail .p-event-detail-summary {
  background: #ffffff;
  padding: 60px 30px 88px;
}
.event-detail .p-event-detail-summary__head {
  max-width: 340px;
  margin: 0 auto;
}
.event-detail .p-event-detail-summary__frame {
  display: block;
  width: 100%;
  height: auto;
}
.event-detail .p-event-detail-summary__lead {
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
  margin-top: 24px;
}
.event-detail .p-event-detail-summary__list {
  margin-top: 28px;
}
.event-detail .p-event-detail-summary__item {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.9;
}
.event-detail .p-event-detail-summary__map {
  margin-top: 32px;
  aspect-ratio: 1/1;
  background: #e6e6dc;
}
.event-detail .p-event-detail-summary__map iframe {
  display: block;
  width: 100%;
  height: 100%;
}
.event-detail .p-event-detail-summary--venue {
  padding: 80px 30px 0;
}
.event-detail .p-event-detail-summary--venue .p-event-detail-summary__list {
  margin-top: 20px;
}
.event-detail .p-event-detail-rule {
  margin: 48px 0 0;
  border: 0;
  border-top: 1px solid #2c2c2c;
}
.event-detail .p-event-detail-flyer {
  background: #e6e6dc;
  padding: 28px 30px;
}
.event-detail .p-event-detail-flyer img {
  display: block;
  width: 100%;
  height: auto;
}
.event-detail .p-event-detail-flyer.no-img {
  min-height: 240px;
}
.event-detail .p-event-detail-body {
  background: #ffffff;
  padding: 72px 30px 0;
}
.event-detail .p-event-detail-body__block + .p-event-detail-body__block {
  margin-top: 88px;
}
.event-detail .p-event-detail-body__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.9;
}
.event-detail .p-event-detail-body__text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 24px;
}
.event-detail .p-event-detail-body__photo {
  margin-top: 24px;
  background: #e6e6dc;
}
.event-detail .p-event-detail-body__photo img {
  display: block;
  width: 100%;
  height: auto;
}
.event-detail .p-event-detail-body__photo.no-img {
  aspect-ratio: 4/3;
}
.event-detail .p-event-detail-back {
  background: #ffffff;
  padding: 96px 24px 112px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.event-detail .p-event-detail-back__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #2c2c2c;
  letter-spacing: 0.04em;
  line-height: 1.7;
  min-width: 200px;
}

/* _p-event-feed.scss — BinO/ie-miru（KengakuCloud）イベントウィジェットの見た目再現（2026-09-19 新設）
   使用箇所: HOME Event（home.php・.p-event-feed--slider＝横スライダー）／
             イベント一覧（page-event.php・.p-event-feed--list＝縦列挙）
   デザイン画: TOP_03/04（HOME）／08-イベント_01〜06（一覧）。カード＝フライヤー → 【種別】12px →
   タイトル 明朝18px → 開催日 ／・会場 ／ 12px（左寄せ）→ 詳しくはこちら（140×36相当）

   【規約例外・明記】第三者配信CSS（先方スクリプトが #iemiru-cms-index-page 配下に注入する
   <style>・IDセレクタ＋一部 !important）への上書きのため、詳細度で勝つ目的に限り
   .p-event-feed 配下でのみ IDセレクタ併用を許可する（yuki-site-standard の正当な逸脱・2026-08-05 の例外を継続）。
   当方の !important は使用しない。先方の !important 規則（.is-small 時の width:100% / margin:0 0 20px）は
   flex-basis（主軸サイズは width より優先）と gap／親 padding で実質無効化し、margin-bottom 20px だけは残る前提で組む。
   先方DOM: #js-iemiru-cms-index-page > #iemiru-cms-index-page > a.index-page__events-event.is-horizontal ×n
     > .index-page__events-event-image-wrapper > .index-page__events-event-image(background-image)
     > .index-page__events-event-content > .-labels(.label-event / .label-yoyaku) / .-date / .-name / .-address
   DOM順は date → name → address のため、content を縦flexにして order で並べ替える。
   name / address のインライン height（先方JSが最大値で揃える）は modules/event-feed.js で解除する。
   規約: ネスト最大3階層。先方IDを含むセレクタはフルで並べる */
.p-event-feed #js-iemiru-cms-index-page #iemiru-cms-index-page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: none;
  margin: 0;
  font-weight: 400;
}
.p-event-feed #js-iemiru-cms-index-page #iemiru-cms-index-page::after {
  content: "";
  clear: none;
}

.p-event-feed--slider #js-iemiru-cms-index-page #iemiru-cms-index-page {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 30px;
  padding: 0 0 8px 30px;
  overflow-x: auto;
  overflow-y: hidden;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  scroll-padding-left: 30px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.p-event-feed--slider #js-iemiru-cms-index-page #iemiru-cms-index-page::after {
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% - 240px);
          flex: 0 0 calc(100% - 240px);
}
.p-event-feed--slider #js-iemiru-cms-index-page #iemiru-cms-index-page::-webkit-scrollbar {
  display: none;
}

.p-event-feed--list #js-iemiru-cms-index-page #iemiru-cms-index-page {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 68px;
  padding: 0 30px;
}
.p-event-feed--list #js-iemiru-cms-index-page #iemiru-cms-index-page::after {
  display: none;
}

.p-event-feed #js-iemiru-cms-index-page .index-page__events-event.is-horizontal {
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  float: none;
  border-radius: 0;
  background: #ffffff;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-event-feed #js-iemiru-cms-index-page .index-page__events-event.is-horizontal:hover {
  background: #ffffff;
}

.p-event-feed--slider #js-iemiru-cms-index-page .index-page__events-event.is-horizontal {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 210px;
          flex: 0 0 210px;
  width: 210px;
  scroll-snap-align: start;
}

.p-event-feed #js-iemiru-cms-index-page .index-page__events-event.is-horizontal .index-page__events-event-image-wrapper {
  aspect-ratio: 4/3;
  background: #e6e6dc;
}

.p-event-feed #js-iemiru-cms-index-page .index-page__events-event .index-page__events-event-image {
  background-size: contain;
}

.p-event-feed #js-iemiru-cms-index-page .index-page__events-event.is-horizontal .index-page__events-event-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 0;
}
.p-event-feed #js-iemiru-cms-index-page .index-page__events-event.is-horizontal .index-page__events-event-content::after {
  content: "詳しくはこちら";
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
  display: inline-block;
  margin-top: auto;
  padding: 8px 20px;
  min-width: 140px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #2c2c2c;
  font-family: "FP-こぶりなゴシック StdN W3", "FP-KoburinaGoStdN-W3", "Hiragino Sans", "ヒラギノ角ゴシック", "Yu Gothic", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #2c2c2c;
  letter-spacing: 0.04em;
  line-height: 1.7;
  -webkit-transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.p-event-feed #js-iemiru-cms-index-page .index-page__events-event:hover .index-page__events-event-content::after {
  background: #c2a979;
  border-color: #c2a979;
  color: #ffffff;
}

.p-event-feed #js-iemiru-cms-index-page .index-page__events-event .index-page__events-event-labels {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin: 28px 0 0;
  white-space: normal;
}

.p-event-feed #js-iemiru-cms-index-page #iemiru-cms-index-page .label-event {
  display: inline;
  padding: 0;
  background: transparent;
  border-radius: 0;
  font-family: "FP-こぶりなゴシック StdN W3", "FP-KoburinaGoStdN-W3", "Hiragino Sans", "ヒラギノ角ゴシック", "Yu Gothic", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
}
.p-event-feed #js-iemiru-cms-index-page #iemiru-cms-index-page .label-event::before {
  content: "【";
}
.p-event-feed #js-iemiru-cms-index-page #iemiru-cms-index-page .label-event::after {
  content: "】";
}

.p-event-feed #js-iemiru-cms-index-page #iemiru-cms-index-page .label-yoyaku {
  display: none;
}

.p-event-feed #js-iemiru-cms-index-page .index-page__events-event .index-page__events-event-name {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin: 8px 0 0;
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(18 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
}

.p-event-feed #js-iemiru-cms-index-page .index-page__events-event.is-horizontal .index-page__events-event-date {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  height: auto;
  margin: 20px 0 0;
  text-align: left;
  font-family: "FP-こぶりなゴシック StdN W3", "FP-KoburinaGoStdN-W3", "Hiragino Sans", "ヒラギノ角ゴシック", "Yu Gothic", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
}
.p-event-feed #js-iemiru-cms-index-page .index-page__events-event.is-horizontal .index-page__events-event-date::before {
  content: "開催日 ／ ";
}

.p-event-feed #js-iemiru-cms-index-page .index-page__events-event .index-page__events-event-address {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  margin: 0 0 13px;
  text-align: left;
  font-family: "FP-こぶりなゴシック StdN W3", "FP-KoburinaGoStdN-W3", "Hiragino Sans", "ヒラギノ角ゴシック", "Yu Gothic", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
}
.p-event-feed #js-iemiru-cms-index-page .index-page__events-event .index-page__events-event-address::before {
  content: "会場 ／ ";
}

/* _p-journal.scss — Journal（note 記事一覧・page-journal.php・スラッグ journal）
   2026-09-19 新設。デザイン画なし＝イベント一覧（08-イベント）の縦列挙構成と HOME Journal カード
   （サムネ＋日付 Futura＋タイトル明朝）を組み合わせて構成（ユーザー指示）。
   データは functions.php get_note_articles_for_home()（note RSS・最新5件）。
   FV は一覧ページ共通の .p-list-fv、CTA/サイトマップ/フッターは共通パーツ。
   規約: 最大3階層。ブロックと要素はフルクラス名で並べ、状態擬似のみ &:hover 等で1段ネスト */
.journal {
  /* FV のマークは note アイコン（img/icon-note.svg・サイドバー/フッターと共通の絵柄） */
}
.journal .p-list-fv__mark {
  width: 48px;
  height: auto;
}
.journal .p-journal-list {
  background: #ffffff;
  padding: 96px 30px 96px;
}
.journal .p-journal-list__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.02em;
  line-height: 1;
  text-align: center;
  margin-bottom: 12px;
}
.journal .p-journal-list__head {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(22 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  text-align: center;
}
.journal .p-journal-list__items {
  margin-top: 72px;
}
.journal .p-journal-list__empty {
  font-style: normal;
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
  color: #6b6b6b;
  letter-spacing: 0em;
  line-height: 1.7;
  padding: 24px 0;
  text-align: center;
}
.journal .p-journal-list__action {
  margin-top: 64px;
  text-align: center;
}
.journal .p-journal-list__btn {
  min-width: 200px;
}
.journal .p-journal-card {
  display: block;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.journal .p-journal-card:hover {
  opacity: 0.7;
}
.journal .p-journal-card__img {
  aspect-ratio: 1280/670;
  background: #e6e6dc;
  overflow: hidden;
}
.journal .p-journal-card__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.journal .p-journal-card__date {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(11 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.7;
  margin-top: 16px;
}
.journal .p-journal-card__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 500;
  font-size: calc(16 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 4px;
}
.journal {
  /* カード間の余白（右辺はクラス名ベタ書き・_p-event.scss の注意書き参照） */
}
.journal .p-journal-card + .p-journal-card {
  margin-top: 56px;
}

/* _p-sitemap.scss — サイトマップ（SP下部ナビ / 複数ページ共通） */
/* デザイン: デザイン画/TOP/TOP_07・TOP_08.jpg 準拠。数値は目視推定・調整前提。 */
.p-sitemap {
  padding-bottom: 40px;
  background: #ffffff;
}

.p-sitemap__list {
  padding: 0 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}

.p-sitemap__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 16px;
  padding: 10px 0;
}

.p-sitemap__row:hover .p-sitemap__en,
.p-sitemap__row:hover .p-sitemap__ja {
  color: #c2a979;
}

.p-sitemap__en {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 92px;
  font-family: "ITCGaramondStd-LtIta", "Times New Roman", serif;
  font-style: normal;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.03em;
  line-height: 1.4;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}

.p-sitemap__ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.03em;
  line-height: 1.6;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}

.p-sitemap__sub-label {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 L", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(10 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.6;
  padding: 4px 0 0 108px;
}

.p-sitemap__sub {
  padding: 6px 0 8px 108px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}

.p-sitemap__sub-item--divider::before {
  content: "";
  display: block;
  width: 104px;
  height: 1px;
  background: #1a1a1a;
  margin: 4px 0 8px;
}

.p-sitemap__sub-link {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.03em;
  line-height: 1.6;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.p-sitemap__sub-link:hover {
  color: #c2a979;
}

/* _p-footer.scss — サイト共通フッター（複数ページ共通） */
/* デザイン: デザイン画/TOP/TOP_08.jpg 準拠（白背景）。数値は目視推定・調整前提。 */
.p-footer {
  padding: 40px 24px calc(24px + var(--quicknav-space, 72px) + env(safe-area-inset-bottom, 0px) / var(--main-zoom, 1));
  background: #ffffff;
  border-top: 1px solid #e8e4de;
}

.p-footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-footer__logo {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.p-footer__logo img {
  width: 166px;
  height: auto;
}

.p-footer__logo-fallback {
  font-style: normal;
  font-weight: 700;
  font-size: calc(22 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.2;
}

.p-footer__official-label {
  margin-top: 8px;
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.08em;
  line-height: 1.6;
}

.p-footer__grid {
  margin-top: 28px;
  width: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #e8e4de;
  border-left: 1px solid #e8e4de;
}

.p-footer__grid-item {
  border-right: 1px solid #e8e4de;
  border-bottom: 1px solid #e8e4de;
}

.p-footer__grid-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 28px 0;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
.p-footer__grid-link:hover {
  background: #c2a979;
}

.p-footer__icon {
  width: 32px;
  height: 32px;
}

.p-footer__grid-label {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.03em;
  line-height: 1.4;
}

.p-footer__pagetop {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-top: 28px;
  color: #1a1a1a;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.p-footer__pagetop:hover {
  color: #c2a979;
}

.p-footer__pagetop-icon {
  display: block;
}

.p-footer__copy {
  margin-top: 20px;
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(11 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.05em;
  line-height: 1.6;
}

/* ===== DEV ONLY（本番前にこのブロックごと削除）=====
   制作中ページの確認用リンク集。マークアップは parts-footer.php の同名ブロック、
   一覧データは functions.php の get_dev_page_links()。
   本番では3箇所（この SCSS / parts-footer.php / functions.php）を消すこと */
.p-footer__dev {
  margin-top: 32px;
  padding-top: 16px;
  border-top: 1px dashed #e8e4de;
  text-align: center;
}

.p-footer__dev-note {
  font-style: normal;
  font-weight: 400;
  font-size: calc(10 / 16 * 1rem);
  color: #6b6b6b;
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.p-footer__dev-list {
  margin-top: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px 10px;
}

.p-footer__dev-link {
  font-style: normal;
  font-weight: 400;
  font-size: calc(10 / 16 * 1rem);
  color: #6b6b6b;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #6b6b6b;
  text-decoration: none;
}
.p-footer__dev-link:visited, .p-footer__dev-link:hover, .p-footer__dev-link:active, .p-footer__dev-link:focus {
  color: #6b6b6b;
  text-decoration: none;
}
.p-footer__dev-link {
  text-decoration: underline;
}
.p-footer__dev-link:hover {
  color: #2c2c2c;
}

/* ===== /DEV ONLY ===== */
/* _p-staff-list.scss — メンバー紹介 一覧（page-staff.php・スラッグ staff）
   デザイン画: PNG/最終デザインアートボードjpg-カッティング用/19-メンバー-一覧_01〜07.jpg
   ※共通 Staff セクション（parts-staff.php＝_p-staff.scss）とは別物。混同注意
   letter-spacing 方針（ユーザー指示・2026-08-12）:
     基本 0 ／ 英語 0.020em ／ 名前 0.06em ／ 役職 0.04em（デザイナー指定）
   FV は一覧ページ共通の .p-list-fv（_p-list.scss）を使用。

   【このページ特有のスライダー】
   人物写真を縦カプセル型（border-radius pill）でマスクした3枚スライド。
   ネイティブ横 scroll-snap ＋ PCドラッグ（page-staff.js）＝サイト共通方式だが
   マークアップ・スタイルは独立（.p-member 系）。
   3枚目の #787878 乗算は mix-blend-mode: multiply で再現（Illustrator乗算と同計算）。 */
.staff {
  /* FV のマークは人物アイコン（デザイナー指定 52×60）。
     支給SVGが黒線でも写真上のFV文字と同じ白へ転換できるよう Tour と同じ filter を掛ける */
}
.staff .p-list-fv__mark {
  width: 52px;
  height: 60px;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.staff .p-member-list {
  background: #ffffff;
  padding: 96px 20px 120px;
}
.staff .p-member__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
  padding: 0 8px;
}
.staff .p-member__name {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.06em;
  line-height: 1.4;
}
.staff .p-member__role {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin-top: 8px;
}
.staff .p-member__note {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(10 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.5;
  margin-top: 4px;
}
.staff .p-member__arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 90px;
  height: 15px;
  margin-bottom: 4px;
}
.staff .p-member__slider {
  margin-top: 40px;
}
.staff .p-member__stage {
  position: relative;
  max-width: 324px;
  margin-inline: auto;
}
.staff .p-member__hint {
  position: absolute;
  right: 51px;
  bottom: 51px;
  z-index: 1;
  width: 36px;
  height: auto;
  opacity: 0.35;
  pointer-events: none;
}
.staff .p-member__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow-x: auto;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  max-width: 324px;
  margin-inline: auto;
  aspect-ratio: 324/565;
  border-radius: 999px;
  scrollbar-width: none;
}
.staff .p-member__list::-webkit-scrollbar {
  display: none;
}
.staff .p-member__item {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  scroll-snap-align: start;
  isolation: isolate;
  background: #e6e6dc;
}
.staff .p-member__item img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.staff .p-member__item--message::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #787878;
  mix-blend-mode: multiply;
}
.staff .p-member__msg {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: left;
  padding: 0 32px 0 38px;
}
.staff .p-member__msg-head {
  font-family: "FuturaLTPro-Medium", "Helvetica Neue", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.02em;
  line-height: 1.4;
}
.staff .p-member__msg-text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1.5;
  margin-top: 24px;
}
.staff .p-member__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  margin-top: 40px;
}
.staff .p-member__dots:empty {
  display: none;
}
.staff .p-member__dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 1px solid #1a1a1a;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.staff .p-member__dot.is-active {
  background: #1a1a1a;
}
.staff {
  /* メンバー間の余白。
     ※右辺の & は親ごと展開されてマッチしないためクラス名ベタ書き（サイト共通の既知の罠） */
}
.staff .p-member + .p-member {
  margin-top: 110px;
}
.staff {
  /* PCドラッグ中のテキスト選択防止（page-staff.js が is-dragging を付与） */
}
.staff .js-member-slider.is-dragging {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

/* _p-official-apply.scss — 公式アプリ（page-official-apply.php・スラッグ official-apply）
   2026-08-12 新設（ユーザー指示。デザイン画なし・既存ページの型で構成）。
   FV は service-search のページヘッダ流用型（_p-service-search.scss の .p-search-fv と同値）。
   Contact ブロックは共通パーツ（parts-app-contact / _p-app-contact.scss）。
   letter-spacing 方針: 本文・左揃え見出し = 0（サイト共通判断） */
.official-apply .p-apply-fv {
  aspect-ratio: 1/1;
  min-height: 320px;
  border-radius: 0 0 24px 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  padding: 0 20px;
}
.official-apply .p-apply-fv__inner {
  position: relative;
  z-index: 1;
}
.official-apply .p-apply-fv__title {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
.official-apply .p-apply-about {
  background: #ffffff;
  padding: 56px 28px 24px;
}
.official-apply .p-apply-about__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(19 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.9;
}
.official-apply .p-apply-about__head {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
  margin-top: 32px;
}
.official-apply .p-apply-about__list {
  margin-top: 8px;
}
.official-apply .p-apply-about__item {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.9;
  padding-left: 1em;
  text-indent: -1em;
}
.official-apply .p-apply-gallery {
  background: #ffffff;
  padding: 40px 28px 80px;
}
.official-apply .p-apply-gallery__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 12px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.official-apply .p-apply-gallery__item {
  background: #e6e6dc;
}
.official-apply .p-apply-gallery__item img {
  display: block;
  width: 100%;
  height: auto;
}
.official-apply .p-apply-gallery__item.no-img {
  aspect-ratio: 3/4;
}

/* _p-notfound.scss — 404 ページ（404.php）
   letter-spacing 方針: 本文系（こぶりな）= 0 ／ 見出し系（明朝・Garamond）= 0.04em */
.notfound .p-notfound-head__panel {
  background: #e6e6dc;
  border-radius: 0 0 24px 24px;
  padding: 88px 20px 56px;
  text-align: center;
}
.notfound .p-notfound-head__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(40 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.notfound .p-notfound-head__ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 8px;
}
.notfound .p-notfound {
  background: #ffffff;
  padding: 56px 24px 72px;
  text-align: center;
}
.notfound .p-notfound__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.9;
}
.notfound .p-notfound__text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 24px;
  text-align: left;
}
.notfound .p-notfound__btn-wrap {
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.notfound .p-notfound__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #2c2c2c;
  letter-spacing: 0.04em;
  line-height: 1.7;
  min-width: 200px;
}

/* _p-privacy.scss — プライバシーポリシー（page-privacy-policy.php・スラッグ privacy-policy）
   2026-09-20 新規。デザイン画なし＝404 ページのヘッダ型＋本文は会社案内の 14px 本文系に合わせた（目視推定・調整前提）。
   letter-spacing 方針: 本文系（こぶりな）= 0 ／ 見出し系（明朝・Garamond）= 0.04em */
.privacy .p-privacy-head__panel {
  background: #e6e6dc;
  border-radius: 0 0 24px 24px;
  padding: 88px 20px 56px;
  text-align: center;
}
.privacy .p-privacy-head__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(32 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.privacy .p-privacy-head__ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 8px;
}
.privacy .p-privacy {
  background: #ffffff;
  padding: 56px 28px 72px;
}
.privacy .p-privacy__intro {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
}
.privacy .p-privacy__sec {
  margin-top: 40px;
}
.privacy .p-privacy__sec-head {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(16 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.7;
  padding-bottom: 8px;
  border-bottom: 1px solid #e8e4de;
}
.privacy .p-privacy__text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  margin-top: 16px;
}
.privacy .p-privacy__list {
  margin-top: 12px;
  padding-left: 1.2em;
  list-style: disc;
}
.privacy .p-privacy__item {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
}
.privacy .p-privacy__contact-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 4.5em 1fr;
  grid-template-columns: 4.5em 1fr;
  margin-top: 8px;
}
.privacy .p-privacy__contact-row {
  display: contents;
}
.privacy .p-privacy__contact-dt, .privacy .p-privacy__contact-dd {
  font-style: normal;
  font-weight: 500;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.03em;
  line-height: 1.9;
  margin-top: 8px;
}

/* _p-service-links.scss — サービス配下ページ共通「関連リンクバナー群」（parts-service-links.php）
   ページ名前空間に依存しない共通パーツのためルート .p-service-links に置く（2026-07-06 共通化） */
.p-service-links {
  padding: 48px 20px 56px;
  background: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
}
.p-service-links__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 180px;
  background-color: #6b6b6b;
  overflow: hidden;
}
.p-service-links__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  text-align: center;
  padding: 24px 16px;
}
.p-service-links__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
.p-service-links__ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
.p-service-links__sub {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.02em;
  line-height: 1.6;
}
.p-service-links__btn {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.08em;
  line-height: 1.7;
  margin-top: 8px;
}
.p-service-links__back {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #2c2c2c;
  letter-spacing: 0.08em;
  line-height: 1.7;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  margin-top: 24px;
}

/* _p-contact-cta.scss — サイト共通 お問い合わせ2分割CTA（parts-contact-cta.php）
   全ページ共通・サイトマップ直上。ページ名前空間に依存しないルート .p-contact-cta に置く（2026-07-06 共通化） */
.p-contact-cta {
  background-color: #6b6b6b;
}
.p-contact-cta__grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1px 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(255, 255, 255, 0.2);
}
.p-contact-cta__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  padding: 48px 16px;
  background: rgba(0, 0, 0, 0.3);
  text-align: center;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
.p-contact-cta__item:hover {
  background: #c2a979;
}
.p-contact-cta__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.p-contact-cta__ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0em;
  line-height: 1.7;
}

/* _p-app-contact.scss — 共通「Contact（公式アプリ案内）」セクション（parts-app-contact.php）
   ページ名前空間に依存しない共通パーツのためルート .p-app-contact に置く（2026-08-08 共通化）
   デザイン画: 14-まずは相談_03.jpg
   letter-spacing 方針: 本文系（こぶりな）= 0 ／ 見出し系（明朝・Garamond）= 0.04em */
.p-app-contact {
  background: #e6e6dc;
  padding: 0 24px 56px;
  /* 見出しは c-section-head を流用。サイズは既定と同値（Garamond30 / 明朝15）だが
     letter-spacing だけ本パーツ方針の 0.04em に揃える（共通コンポーネント側は変更しない） */
}
.p-app-contact .c-section-head__en {
  font-family: "ITCGaramondStd-Lt", "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(30 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1;
}
.p-app-contact .c-section-head__ja {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(15 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.7;
}
.p-app-contact__card {
  border-radius: 32px;
  background-color: #6b6b6b;
  overflow: hidden;
}
.p-app-contact__inner {
  padding: 56px 24px 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.p-app-contact__mark {
  display: block;
  width: 72px;
  height: auto;
}
.p-app-contact__lead {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(17 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.9;
  margin-top: 32px;
}
.p-app-contact__text {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1.9;
  margin-top: 72px;
}
.p-app-contact__stores {
  margin-top: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.p-app-contact__store {
  display: block;
  width: 180px;
}
.p-app-contact__store img {
  display: block;
  width: 100%;
  height: auto;
}

/* _p-contact-form.scss — 共通「Webからお問い合わせ」フォーム（parts-contact-form.php）
   ページ名前空間に依存しない共通パーツのためルート .p-contact-form に置く（2026-08-08 共通化）
   デザイン画: 14-まずは相談_03〜05.jpg
   letter-spacing 方針: 本文系（こぶりな）= 0 ／ 見出し系（明朝・Garamond）= 0.04em

   ※フォーム内部のマークアップは Contact Form 7 の出力。自前でクラスを振れないため
     プラグインのクラス（.wpcf7-*）を起点にスタイルを当てる（要素セレクタ直書きは最小限） */
.p-contact-form {
  background: #e6e6dc;
}
.p-contact-form__head {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #ffffff;
  letter-spacing: 0em;
  line-height: 1.7;
  background: #6b6b6b;
  text-align: center;
  padding: 14px 20px;
}
.p-contact-form__body {
  padding: 40px 24px 48px;
}
.p-contact-form__placeholder {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
  text-align: center;
}
.p-contact-form {
  /* ── 以下 Contact Form 7 出力のスタイル ───────────────── */
}
.p-contact-form .wpcf7 p {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 2;
}
.p-contact-form .wpcf7 p + p {
  margin-top: 28px;
}
.p-contact-form .wpcf7-form-control {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
}
.p-contact-form .wpcf7-text,
.p-contact-form .wpcf7-date,
.p-contact-form .wpcf7-number,
.p-contact-form .wpcf7-select {
  display: block;
  width: 100%;
  margin-top: 8px;
  padding: 16px 14px;
  background: #ffffff;
  border: 1px solid transparent;
  border-radius: 0;
}
.p-contact-form .wpcf7-text:focus,
.p-contact-form .wpcf7-date:focus,
.p-contact-form .wpcf7-number:focus,
.p-contact-form .wpcf7-select:focus {
  border-color: #c2a979;
  outline: none;
}
.p-contact-form .wpcf7-textarea {
  display: block;
  width: 100%;
  min-height: 260px;
  margin-top: 8px;
  padding: 16px 14px;
  background: #ffffff;
  border: 1px solid transparent;
  border-radius: 0;
  resize: vertical;
}
.p-contact-form .wpcf7-textarea:focus {
  border-color: #c2a979;
  outline: none;
}
.p-contact-form .wpcf7-checkbox,
.p-contact-form .wpcf7-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  margin-top: 12px;
}
.p-contact-form .wpcf7-list-item {
  margin: 0;
}
.p-contact-form .wpcf7-list-item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
  cursor: pointer;
}
.p-contact-form .wpcf7-list-item input[type=checkbox],
.p-contact-form .wpcf7-list-item input[type=radio] {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 15px;
  height: 15px;
  margin-top: 4px;
  accent-color: #2c2c2c;
}
.p-contact-form .wpcf7-list-item-label {
  font-style: normal;
  font-weight: 400;
  font-size: calc(14 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
}
.p-contact-form__req {
  font-style: normal;
  font-weight: 400;
  font-size: calc(11 / 16 * 1rem);
  color: #a8554b;
  letter-spacing: 0em;
  line-height: 1.7;
  margin-left: 2px;
}
.p-contact-form .wpcf7-form-control-wrap[data-name=visit-time-slot] input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #ffffff;
  border: 1px solid #6b6b6b;
  border-radius: 50%;
  cursor: pointer;
}
.p-contact-form .wpcf7-form-control-wrap[data-name=visit-time-slot] input[type=checkbox]:checked {
  border-color: #2c2c2c;
  background: radial-gradient(circle, #2c2c2c 0, #2c2c2c 42%, #ffffff 50%);
}
.p-contact-form .wpcf7-form-control-wrap[data-name=visit-time-slot] input[type=checkbox]:focus-visible {
  outline: 2px solid #c2a979;
  outline-offset: 2px;
}
.p-contact-form .wpcf7-list-item.is-closed label {
  cursor: default;
}
.p-contact-form .wpcf7-list-item.is-closed .wpcf7-list-item-label {
  color: #6b6b6b;
}
.p-contact-form__closed-note {
  display: block;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #6b6b6b;
  letter-spacing: 0em;
  line-height: 1.6;
}
.p-contact-form__date-note {
  display: block;
  margin-top: 8px;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.7;
}
.p-contact-form .wpcf7-submit {
  font-family: "FOT-筑紫Aオールド明朝 Pr6 M", "游明朝", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", serif;
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #2c2c2c;
  letter-spacing: 0.04em;
  line-height: 1.7;
  display: block;
  min-width: 200px;
  margin: 40px auto 0;
  padding: 14px 32px;
  background: transparent;
  border: 1px solid #2c2c2c;
  cursor: pointer;
  -webkit-transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.p-contact-form .wpcf7-submit:hover {
  background: #c2a979;
  border-color: #c2a979;
  color: #ffffff;
}
.p-contact-form .wpcf7-not-valid-tip {
  font-style: normal;
  font-weight: 400;
  font-size: calc(12 / 16 * 1rem);
  color: #c0392b;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-top: 4px;
}
.p-contact-form .wpcf7-response-output {
  font-style: normal;
  font-weight: 400;
  font-size: calc(13 / 16 * 1rem);
  color: #1a1a1a;
  letter-spacing: 0em;
  line-height: 1.8;
  margin: 24px 0 0;
  padding: 12px 16px;
}