@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* =========================================================
   GACCHA 子テーマ用CSS  v3.7（デザイン案 v13 準拠・本番調整14／スマホメニューの中央揃えを修正）
   ---------------------------------------------------------
   【貼り方】
   外観 → テーマファイルエディター → 右上「編集するテーマを選択」で
   「SWELL CHILD」を選んで「選択」→ 右側の一覧から style.css を開く
   → 先頭のコメント（Theme Name: SWELL CHILD … の部分）は残し、
     その直下にこのファイルの中身をすべて貼る →「ファイルを更新」

   【仕組み】
   ブロックの「追加CSSクラス」に自分で付ける gc- で始まる名前にだけ効きます。
   SWELLの内部の仕組みに頼らないので、SWELLを更新しても崩れにくい設計です。
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700;800&family=Montserrat:wght@600;700;800&family=Anton&display=swap');

/* ---------- 1. 色と寸法 ---------- */
:root{
  --gc-ink:#0C0B0A; --gc-ink-2:#141210;
  --gc-cream:#F0EBE1; --gc-dim:rgba(240,235,225,.66);
  --gc-amber:#E8912A; --gc-amber-lt:#F5B860;
  --gc-red:#C9402F; --gc-blue:#3D6AA8; --gc-green:#6E8B52; --gc-yellow:#E3B93C;
  --gc-r:16px; --gc-hd:58px;
}
@media (min-width:960px){ :root{ --gc-hd:66px; } }

/* ---------- 2. 全体の文字 ---------- */
body{ font-family:"M PLUS Rounded 1c",sans-serif; font-size:15.5px; letter-spacing:.04em; }
@media (min-width:768px){ body{ font-size:17px; } }
/* アンカーで飛んだとき固定ヘッダーに隠れないようにする（QR運用で必須） */
[id]{ scroll-margin-top:var(--gc-hd); }

/* ---------- 3. メインビジュアルの文字（カスタマイザーのメインテキストに書くHTML用） ---------- */
.gc-hero{ display:block; text-align:left; }
.gc-brand{ display:block; font-family:"Anton",sans-serif; font-weight:400; line-height:.94; letter-spacing:.01em;
  font-size:clamp(54px,16.5vw,82px); color:var(--gc-cream); }
.gc-brand em{ font-style:normal; color:var(--gc-amber); text-shadow:0 0 36px rgba(232,145,42,.6); }
.gc-sub{ display:block; margin:14px 0 8px; font-family:"Montserrat",sans-serif; font-weight:700;
  font-size:12.5px; letter-spacing:.34em; color:var(--gc-amber); }
.gc-copy{ display:block; font-family:"M PLUS Rounded 1c",sans-serif; font-weight:700; font-size:17px; line-height:1.7;
  text-shadow:0 2px 14px rgba(0,0,0,.8); }
.gc-note{ display:block; margin-top:6px; font-family:"Montserrat",sans-serif; font-weight:600; font-size:11.5px;
  letter-spacing:.2em; color:var(--gc-dim); }
.gc-pills{ display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.gc-pills span{ font-family:"Montserrat",sans-serif; font-weight:700; font-size:12px; letter-spacing:.1em;
  border:1.5px solid rgba(240,235,225,.34); border-radius:999px; padding:4px 13px; background:rgba(12,11,10,.32); }
@media (min-width:768px){
  .gc-brand{ font-size:clamp(100px,12vw,160px); }
  .gc-sub{ font-size:16px; letter-spacing:.4em; margin:20px 0 12px; }
  .gc-copy{ font-size:27px; }
  .gc-note{ font-size:13.5px; }
  .gc-pills span{ font-size:14.5px; padding:6px 19px; }
}
/* SCROLL表示（任意） */
.gc-cue{ position:absolute; right:20px; bottom:30px; font-family:"Montserrat",sans-serif; font-size:11px; font-weight:700;
  letter-spacing:.3em; color:var(--gc-dim); writing-mode:vertical-rl; }
.gc-cue::after{ content:""; display:block; width:1px; height:48px; margin:10px auto 0;
  background:linear-gradient(var(--gc-amber),transparent); animation:gcCue 2.2s infinite; }
@keyframes gcCue{0%{transform:scaleY(.2);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(.2);transform-origin:bottom}}

/* ---------- 4. 流れる文字帯（カスタムHTML） ---------- */
.gc-ticker{ border-top:1px solid rgba(240,235,225,.12); border-bottom:1px solid rgba(240,235,225,.12);
  background:var(--gc-ink-2); overflow:hidden; }
.gc-ticker .track{ display:flex; gap:56px; white-space:nowrap; padding:14px 0; width:max-content; animation:gcMq 30s linear infinite; }
.gc-ticker span{ font-family:"Montserrat",sans-serif; font-weight:700; font-size:12.5px; letter-spacing:.2em; color:var(--gc-dim); }
.gc-ticker b{ color:var(--gc-amber); font-weight:800; }
@keyframes gcMq{ to{ transform:translateX(-50%); } }
@media (min-width:768px){ .gc-ticker span{ font-size:15px; } }

/* ---------- 5. セクション共通 ---------- */
/* フルワイドブロックに付ける（背景の英字を置くため） */
.gc-sec{ position:relative; overflow:hidden; }
/* 背景の英字（ABOUTのみ・カスタムHTML） */
.gc-bgword{ position:absolute; top:56px; right:-4px; z-index:0; pointer-events:none; margin:0 !important;
  writing-mode:vertical-rl; white-space:nowrap; font-family:"Montserrat",sans-serif; font-weight:800;
  font-size:clamp(52px,12vw,112px); line-height:.9; letter-spacing:.04em; color:rgba(240,235,225,.035); }

/* 番号付き見出し（カスタムHTML） */
.gc-sec-hd{ display:flex; align-items:center; gap:13px; margin:0 0 28px; position:relative; z-index:1; }
.gc-sec-hd .dot{ width:48px; height:48px; border-radius:50%; flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  font-family:"Montserrat",sans-serif; font-weight:800; font-size:14px; color:#14100C; }
/* SWELLの見出し装飾を打ち消す */
.gc-sec-hd h2{ font-family:"Montserrat",sans-serif !important; font-weight:800 !important; font-size:30px !important;
  line-height:1.05 !important; letter-spacing:.03em; color:var(--gc-cream) !important;
  background:none !important; border:none !important; padding:0 !important; margin:0 !important; box-shadow:none !important; }
.gc-sec-hd h2::before,.gc-sec-hd h2::after{ display:none !important; content:none !important; }
.gc-sec-hd h2 small{ display:block; font-family:"M PLUS Rounded 1c",sans-serif; font-weight:700; font-size:13px;
  letter-spacing:.16em; color:var(--gc-dim); margin-top:6px; }
@media (min-width:768px){
  .gc-sec-hd{ gap:16px; margin-bottom:50px; }
  .gc-sec-hd .dot{ width:62px; height:62px; font-size:17px; }
  .gc-sec-hd h2{ font-size:clamp(40px,4.6vw,54px) !important; }
  .gc-sec-hd h2 small{ font-size:16px; margin-top:8px; }
}

/* 本文（段落ブロックに gc-body） */
.gc-body{ font-size:15.5px; line-height:2; color:var(--gc-cream); }
@media (min-width:768px){ .gc-body{ font-size:17.5px; } }
.gc-dim{ color:var(--gc-dim) !important; }
/* 角を丸くする（画像ブロックに gc-radius） */
.gc-radius img{ border-radius:var(--gc-r); }
/* 仮画像の札（画像ブロックに gc-temp：右下に「仮画像」を表示） */
.gc-temp{ position:relative; }
.gc-temp::after{ content:"仮画像"; position:absolute; right:10px; bottom:10px; font-weight:700; font-size:12px;
  color:#1A1208; background:var(--gc-amber-lt); border-radius:999px; padding:3px 12px; }

/* 原稿待ちボックス（段落ブロックに gc-todo。先頭の語を太字にすると赤見出しになる） */
.gc-todo{ border:1.5px dashed rgba(240,235,225,.3); border-radius:var(--gc-r); padding:14px 18px !important;
  font-size:13.5px !important; line-height:1.9; color:rgba(240,235,225,.62) !important; background:rgba(240,235,225,.02); }
.gc-todo strong{ display:block; font-family:"Montserrat",sans-serif; font-size:12px; letter-spacing:.14em; color:var(--gc-red); }
@media (min-width:768px){ .gc-todo{ font-size:14.5px !important; } }

/* ---------- 6. 遊び4要素カード（カスタムHTML） ---------- */
.gc-play{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:28px; position:relative; z-index:1; }
.gc-play .card{ border:1px solid rgba(240,235,225,.14); border-radius:var(--gc-r); padding:22px 12px; text-align:center;
  background:linear-gradient(180deg,rgba(240,235,225,.04),transparent); }
.gc-play svg{ width:36px; height:36px; margin:0 auto 10px; display:block; }
.gc-play b{ display:block; font-family:"Montserrat",sans-serif; font-weight:800; font-size:14px; letter-spacing:.08em; color:var(--gc-amber); }
.gc-play small{ display:block; font-weight:500; font-size:13px; color:var(--gc-dim); margin-top:2px; }
@media (min-width:768px){
  .gc-play{ grid-template-columns:repeat(4,1fr); gap:16px; margin-top:60px; }
  .gc-play svg{ width:46px; height:46px; }
  .gc-play b{ font-size:16px; } .gc-play small{ font-size:14px; }
}

/* ---------- 7. HOW TO ENJOY 図解（カスタムHTML） ---------- */
.gc-flow{ margin-top:10px; }
.gc-flow .st{ position:relative; display:grid; grid-template-columns:68px 1fr; gap:16px; align-items:start; padding-bottom:28px; }
.gc-flow .st:last-child{ padding-bottom:0; }
.gc-flow .st:not(:last-child)::after{ content:""; position:absolute; left:33px; top:74px; bottom:8px; width:1px;
  background:repeating-linear-gradient(180deg,rgba(232,145,42,.55) 0 4px,transparent 4px 9px); }
.gc-flow .ic{ position:relative; width:68px; height:68px; border-radius:50%; border:1px solid rgba(232,145,42,.45);
  background:radial-gradient(circle at 50% 34%,rgba(232,145,42,.16),rgba(240,235,225,.03));
  display:flex; align-items:center; justify-content:center; }
.gc-flow .ic svg{ width:34px; height:34px; }
.gc-flow .no{ position:absolute; left:-4px; top:-4px; width:25px; height:25px; border-radius:50%; background:var(--gc-amber); color:#1A1208;
  font-family:"Montserrat",sans-serif; font-weight:800; font-size:12px; display:flex; align-items:center; justify-content:center; }
.gc-flow h3{ font-size:16px !important; font-weight:800 !important; margin:8px 0 4px !important; line-height:1.55 !important; color:var(--gc-cream) !important;
  background:none !important; border:none !important; padding:0 !important; }
.gc-flow h3::before,.gc-flow h3::after{ display:none !important; content:none !important; }
.gc-flow p{ font-size:14px; color:var(--gc-dim); line-height:1.85; margin:0 !important; }
.gc-flow .uses{ display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.gc-flow .use{ display:inline-flex; align-items:center; gap:6px; border:1px solid rgba(240,235,225,.22); border-radius:999px;
  padding:5px 12px; font-size:13px; color:var(--gc-cream); }
.gc-flow .use svg{ width:16px; height:16px; }
@media (min-width:768px){
  .gc-flow{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
  .gc-flow .st{ grid-template-columns:1fr; gap:0; padding-bottom:0; }
  .gc-flow .st:not(:last-child)::after{ left:82px; right:-24px; top:34px; bottom:auto; width:auto; height:1px;
    background:repeating-linear-gradient(90deg,rgba(232,145,42,.55) 0 4px,transparent 4px 9px); }
  .gc-flow h3{ font-size:17.5px !important; } .gc-flow p{ font-size:15px; } .gc-flow .use{ font-size:14px; }
}

/* ---------- 8. MENU ---------- */
/* カテゴリへのジャンプボタン（カスタムHTML）：スクロールしてもヘッダー下に残る */
.gc-mnav{ position:sticky; top:var(--gc-hd); z-index:6; display:flex; gap:6px; overflow-x:auto; scrollbar-width:none;
  margin:0 0 18px; padding:10px 12px; background:rgba(20,18,16,.9); backdrop-filter:blur(10px);
  border:1px solid rgba(240,235,225,.1); border-radius:999px; }
.gc-mnav::-webkit-scrollbar{ display:none; }
.gc-mnav a{ flex:0 0 auto; font-family:"Montserrat",sans-serif; font-weight:700; font-size:12px; letter-spacing:.1em; text-decoration:none;
  border:1px solid rgba(240,235,225,.22); border-radius:999px; padding:5px 14px; color:var(--gc-dim) !important; }
.gc-mnav a:hover{ border-color:var(--gc-amber); color:var(--gc-amber) !important; }
@media (min-width:768px){ .gc-mnav{ justify-content:center; margin-bottom:24px; } .gc-mnav a{ font-size:13px; padding:6px 18px; } }

/* 「表示サンプル」の札（段落に gc-msample） */
.gc-msample{ display:inline-block; font-weight:700; font-size:11.5px !important; color:var(--gc-red) !important;
  border:1px solid rgba(201,64,47,.5); border-radius:999px; padding:0 10px !important; margin-bottom:12px !important; }

/* カテゴリの枠（グループブロックに gc-mblk） */
.gc-mblk{ background:rgba(20,18,16,.62); border:1px solid rgba(240,235,225,.12); border-radius:var(--gc-r);
  padding:14px 16px 8px !important; margin:0 0 20px !important; }
/* カテゴリ名（見出しH3に gc-mblk-hd）SWELLの見出し装飾を打ち消す */
.gc-mblk-hd{ font-family:"Montserrat",sans-serif !important; font-weight:800 !important; font-size:16px !important; letter-spacing:.08em;
  color:var(--gc-amber) !important; background:none !important; border:none !important;
  border-bottom:1px solid rgba(232,145,42,.35) !important; padding:0 0 8px !important; margin:0 0 4px !important; box-shadow:none !important; }
.gc-mblk-hd::before,.gc-mblk-hd::after{ display:none !important; content:none !important; }
/* 品目1行（グループ「横並び」に gc-mrow）：品名 …… 価格 メダル */
.gc-mrow{ display:flex !important; flex-wrap:nowrap !important; align-items:baseline !important; gap:8px !important;
  padding:8px 0 !important; margin:0 !important; }
.gc-mrow > p{ margin:0 !important; }
.gc-nm{ flex:1 1 auto; display:flex !important; align-items:baseline; min-width:0; font-size:14.5px !important; font-weight:500; line-height:1.5 !important; }
.gc-nm::after{ content:""; flex:1; min-width:12px; margin-left:8px; border-bottom:1px dotted rgba(240,235,225,.25); transform:translateY(-4px); }
.gc-yen{ font-family:"Montserrat",sans-serif; font-weight:700; font-size:15px !important; white-space:nowrap; line-height:1.5 !important; }
.gc-md{ font-family:"Montserrat",sans-serif; font-weight:800; font-size:10.5px !important; white-space:nowrap; line-height:1.7 !important;
  color:var(--gc-amber) !important; border:1px solid rgba(232,145,42,.5); border-radius:999px; padding:0 7px !important; }
/* 補足説明（品目1行の直後の段落に gc-ds） */
.gc-ds{ font-size:11.5px !important; color:var(--gc-dim) !important; margin:-6px 0 4px !important; line-height:1.6 !important; }
@media (min-width:768px){
  .gc-mblk{ padding:18px 22px 10px !important; }
  .gc-mblk-hd{ font-size:18px !important; }
  .gc-nm{ font-size:15.5px !important; } .gc-yen{ font-size:16px !important; } .gc-md{ font-size:11px !important; }
}
.gc-mnote{ font-size:13px !important; color:rgba(240,235,225,.55) !important; line-height:1.95 !important; }

/* ---------- 9. GALLERY（ギャラリーブロックに gc-gallery） ---------- */
.gc-gallery img{ border-radius:12px; }

/* ---------- 9-2. NEWS（「最新の投稿」ブロックに gc-news） ---------- */
.gc-news{ list-style:none !important; padding:0 !important; margin:0 !important; border-top:1px solid rgba(240,235,225,.14); }
.gc-news li{ display:flex !important; flex-direction:column; gap:2px; list-style:none !important;
  padding:14px 4px !important; margin:0 !important; border-bottom:1px solid rgba(240,235,225,.14); }
/* SWELLの箇条書きの記号を消す */
.gc-news li::before,.gc-news li::marker{ content:none !important; display:none !important; }
.gc-news .wp-block-latest-posts__post-date{ order:-1; font-family:"Montserrat",sans-serif; font-weight:600; font-size:12.5px;
  letter-spacing:.1em; color:var(--gc-dim); }
.gc-news .wp-block-latest-posts__post-title{ font-size:15px; line-height:1.7; color:var(--gc-cream) !important; text-decoration:none; }
.gc-news a:hover{ color:var(--gc-amber-lt) !important; }
@media (min-width:768px){
  .gc-news li{ flex-direction:row; align-items:baseline; gap:20px; padding:18px 6px !important; }
  .gc-news .wp-block-latest-posts__post-date{ flex:0 0 130px; font-size:13.5px; }
  .gc-news .wp-block-latest-posts__post-title{ font-size:16px; }
}
/* 「お知らせ一覧 →」のリンク（段落に gc-more） */
.gc-more{ text-align:right; margin-top:18px !important; }
.gc-more a{ font-family:"Montserrat",sans-serif; font-weight:700; font-size:13px; letter-spacing:.12em; text-decoration:none;
  color:var(--gc-amber) !important; border-bottom:1px solid rgba(232,145,42,.45); padding-bottom:3px; }

/* ---------- 10. ACCESS ---------- */
/* 店舗情報の表（テーブルブロックに gc-info） */
.gc-info table{ border-collapse:collapse; width:100%; }
.gc-info td,.gc-info th{ border:none !important; border-bottom:1px solid rgba(240,235,225,.14) !important;
  padding:14px 4px !important; background:none !important; font-size:15.5px; line-height:1.75; vertical-align:top; }
.gc-info tr:first-child td{ border-top:1px solid rgba(240,235,225,.14) !important; }
.gc-info td:first-child{ width:98px; font-family:"Montserrat",sans-serif; font-weight:800; font-size:12px; letter-spacing:.12em; color:var(--gc-amber); padding-top:18px !important; }
@media (min-width:768px){ .gc-info td{ font-size:16.5px; } .gc-info td:first-child{ font-size:12.5px; } }
/* ボタン（カスタムHTML） */
.gc-abtns{ display:grid; gap:10px; margin-top:18px; }
.gc-abtns a{ display:block; text-align:center; border:1.5px solid rgba(240,235,225,.28); border-radius:999px; padding:12px;
  font-weight:700; font-size:15px; color:var(--gc-cream) !important; text-decoration:none; }
@media (min-width:768px){ .gc-abtns{ grid-template-columns:1fr 1fr; } .gc-abtns a{ font-size:16px; padding:14px; } }
/* 地図（カスタムHTML） */
.gc-map iframe{ width:100%; aspect-ratio:4/3; height:auto; border:0; border-radius:var(--gc-r); }

/* ---------- 11. ナビのMENUボタン（メニュー項目のCSSクラスに gc-navbtn） ---------- */
.gc-navbtn > a{ background:var(--gc-amber) !important; color:#1A1208 !important; border-radius:999px;
  padding:4px 20px !important; font-weight:800; line-height:1.7 !important; font-size:13.5px !important;
  display:inline-block; }
/* ヘッダー内で縦位置をそろえる */
.gc-navbtn{ display:flex; align-items:center; }

/* ---------- 11-2. フッター ---------- */
/* フッターのロゴ画像（ウィジェットの画像ブロックに gc-flogo） */
.gc-flogo{ text-align:center; margin:0 auto 10px !important; }
.gc-flogo img{ width:92px; height:auto; margin:0 auto; display:block; }
/* フッターのコピーライト・メニューの字の大きさ */
.l-footer__copyright,.c-copyright{ font-family:"Montserrat",sans-serif; font-size:12px; letter-spacing:.12em; }

/* ---------- 12. スマホ下部の追従バー（カスタムHTML）PCでは非表示 ---------- */
.gc-fixbar{ position:fixed; left:0; right:0; bottom:0; z-index:90; height:54px; display:flex; align-items:center; gap:8px; padding:0 14px;
  background:rgba(12,11,10,.86); backdrop-filter:blur(14px); border-top:1px solid rgba(240,235,225,.08); }
.gc-fixbar a{ flex:1; text-align:center; border-radius:999px; padding:7px 10px; font-weight:500; font-size:13.5px; letter-spacing:.06em; text-decoration:none; }
.gc-fixbar .tel{ flex:0 0 36%; border:1px solid rgba(240,235,225,.2); color:var(--gc-dim) !important; }
.gc-fixbar .menu{ border:1px solid rgba(232,145,42,.55); color:var(--gc-amber) !important; background:rgba(232,145,42,.08); }
@media (max-width:767px){ body{ padding-bottom:54px; } }
@media (min-width:768px){ .gc-fixbar{ display:none; } }

/* ---------- 13. 動きを減らす設定の人への配慮 ---------- */
@media (prefers-reduced-motion:reduce){ .gc-ticker .track,.gc-cue::after{ animation:none; } }


/* =========================================================
   14. 本番サイトをデザイン案に合わせる調整（v3.2〜v3.7）
   ---------------------------------------------------------
   SWELL標準のヘッダー・フッター・ギャラリー・スマホメニューを
   デザイン案 v13 の数値に合わせるための上書きです。
   ※ 11・11-2 を貼っていない場合でも、この 14 だけで足ります。
   ========================================================= */

/* ---------- 14-1. ヘッダー（高さ・左右の余白・フォント・間隔） ---------- */
/* 高さ：スマホ58px／PC66px、左右の余白：スマホ16px／PC26px */
.l-header__inner,
.l-fixHeader__inner{ height:58px !important; padding-left:16px !important; padding-right:16px !important;
  align-items:center !important; }
.l-header__logo,
.l-fixHeader__logo{ padding:0 !important; }
.c-headLogo,
.c-headLogo__link{ display:flex !important; align-items:center; height:auto !important;
  padding:0 !important; margin:0 !important; line-height:1 !important; }
.c-headLogo__img{ width:auto !important; max-width:none !important;
  height:42px !important; max-height:42px !important; object-fit:contain; }

@media (min-width:960px){
  /* グローバルナビの文字（デザイン案は Montserrat 14px） */
  .l-header__inner,
  .l-fixHeader__inner{ height:66px !important; padding-left:26px !important; padding-right:26px !important; }
  .c-headLogo__img{ height:48px !important; max-height:48px !important; }

  /* メニュー項目をヘッダーの高さいっぱいに伸ばし、中の文字を上下中央に置く。
     これをしないと、項目の高さが文字の高さ(14px)になって上に寄る。 */
  .l-header__gnav,
  .l-fixHeader__gnav{ align-self:stretch !important; display:flex !important; }
  .l-header__gnav .c-gnav,
  .l-fixHeader__gnav .c-gnav{ height:100% !important; align-items:stretch !important; }
  .c-gnav > li{ display:flex !important; align-items:center !important; height:100% !important; }
  .c-gnav > li > a{ display:flex !important; align-items:center !important; justify-content:center !important;
    line-height:1 !important;
    font-family:"Montserrat",sans-serif !important; font-size:14px !important;
    font-weight:700 !important; letter-spacing:.1em !important;
    color:var(--gc-dim) !important; padding:0 12px !important; }
  .c-gnav > li > a .ttl{ line-height:1 !important; display:block !important; }
  /* マウスを乗せたとき：SWELL標準のグレーの箱を消して、文字だけ白く */
  .c-gnav > li:hover > a{ background:transparent !important; color:var(--gc-cream) !important; }

  /* MENUボタン（メニュー項目のCSSクラスに gc-navbtn） */
  .c-gnav > li.gc-navbtn{ display:flex; align-items:center; margin-left:6px; }
  /* SWELLはリンクの中を <span class="ttl"> で包むため、
     a を flex にして ttl を上下左右の中央に置く（これをしないと文字が上に寄る） */
  .c-gnav > li.gc-navbtn > a{ background:var(--gc-amber) !important; color:#1A1208 !important;
    border-radius:999px !important; padding:0 20px !important;
    height:31px !important; min-height:0 !important; line-height:1 !important;
    font-size:13.5px !important; font-weight:800 !important; letter-spacing:.04em !important;
    display:flex !important; align-items:center !important; justify-content:center !important; }
  .c-gnav > li.gc-navbtn > a .ttl{ line-height:1 !important; display:block !important;
    padding:0 !important; margin:0 !important; }
  .c-gnav > li.gc-navbtn > a::before,
  .c-gnav > li.gc-navbtn > a::after{ display:none !important; }
  /* マウスを乗せたとき：少し明るいアンバー＋文字を白に */
  .c-gnav > li.gc-navbtn:hover > a{ background:var(--gc-amber-lt) !important; color:#FFFFFF !important; }
}

/* ---------- 14-2. メインビジュアル（全幅のまま文字は中央寄せの枠内へ） ---------- */
/* SWELLはメインテキストを l-container（最大1120px）で囲むため、
   そのままだと SCROLL の文字が画面端まで届かない。
   囲みは全幅に戻し、文字だけデザイン案と同じ 1120px の枠に入れる。 */
.p-mainVisual__textLayer{ max-width:100% !important; width:100% !important;
  padding-left:0 !important; padding-right:0 !important; position:relative; z-index:2; }
.p-mainVisual__slideTitle{ width:100%; }
.gc-hero{ width:100%; max-width:1120px; margin:0 auto; padding:0 22px; position:relative; z-index:2; }
@media (min-width:960px){ .gc-hero{ padding:0 28px; } }
.gc-cue{ right:20px !important; z-index:3; }

/* ---------- 14-3. 画像をクリックできないようにする ---------- */
.post_content img.luminous,
.gc-gallery img{ cursor:default !important; pointer-events:none !important; }

/* ---------- 14-4. ギャラリーの並び（デザイン案と同じ組み方） ---------- */
/* スマホ：1枚目が横長で全幅＋以降2列／PC：1・2枚目が大きく＋以降4列 */
.gc-gallery{ display:grid !important; grid-template-columns:1fr 1fr !important; gap:8px !important; }
.gc-gallery .wp-block-image{ width:auto !important; max-width:none !important; margin:0 !important;
  flex:none !important; aspect-ratio:4/3; overflow:hidden; border-radius:12px; }
.gc-gallery .wp-block-image:first-child{ grid-column:span 2; aspect-ratio:16/10; }
.gc-gallery .wp-block-image img{ width:100% !important; height:100% !important;
  object-fit:cover; border-radius:0 !important; display:block; }
@media (min-width:768px){
  .gc-gallery{ grid-template-columns:repeat(4,1fr) !important; gap:12px !important; }
  .gc-gallery .wp-block-image:first-child,
  .gc-gallery .wp-block-image:nth-child(2){ grid-column:span 2; aspect-ratio:16/10; }
}

/* ---------- 14-5. フッター（ロゴ中央寄せ・メニューの字・区切り線を消す） ---------- */
.l-footer__widgetArea .w-footer{ text-align:center !important; }
.w-footer .c-widget.widget_media_image{ text-align:center !important; margin-bottom:0 !important; }
.w-footer .widget_media_image img{ display:block !important; width:92px !important; height:auto !important;
  margin:0 auto !important; }

.l-footer__nav{ gap:18px; flex-wrap:wrap; justify-content:center; margin:4px 0 14px; }
.l-footer__nav > li{ padding:0 !important; }
.l-footer__nav a{ font-family:"Montserrat",sans-serif !important; font-weight:700 !important;
  font-size:13px !important; letter-spacing:.08em !important; color:var(--gc-dim) !important;
  padding:0 !important;
  /* SWELL標準の「|」（項目の左右の縦線）と下線を消す */
  border:0 !important; text-decoration:none !important; }
.l-footer__nav li:first-child a{ border-left:0 !important; }
.l-footer__nav a:hover{ color:var(--gc-cream) !important; text-decoration:none !important; }
@media (min-width:960px){ .l-footer__nav a{ font-size:14px !important; } }

.copyright,
.l-footer__copyright,
.c-copyright{ font-family:"Montserrat",sans-serif !important; font-size:12px !important;
  letter-spacing:.12em !important; color:var(--gc-dim) !important; }

/* ---------- 14-6. メインビジュアルに浮遊する丸（カプセル） ---------- */
/* メインテキストの先頭に
   <span class="gc-caps" aria-hidden="true"><i></i>…（10個）…</span>
   を貼ると表示されます。JSは使っていません。                     */
.gc-caps{ position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; display:block; }
.gc-caps i{ position:absolute; display:block; border-radius:50%;
  background:currentColor; box-shadow:0 0 14px 4px currentColor; mix-blend-mode:screen;
  animation:gcfloat 12s ease-in-out infinite; }
.gc-caps i:nth-child(1){ width:13px; height:13px; left:7%; top:16%; color:#E8912A; opacity:0.7; animation-duration:11s; animation-delay:-1s; }
.gc-caps i:nth-child(2){ width:8px; height:8px; left:19%; top:58%; color:#C9402F; opacity:0.6; animation-duration:14s; animation-delay:-5s; }
.gc-caps i:nth-child(3){ width:18px; height:18px; left:30%; top:11%; color:#3D6AA8; opacity:0.5; animation-duration:16s; animation-delay:-9s; }
.gc-caps i:nth-child(4){ width:7px; height:7px; left:40%; top:70%; color:#F0EBE1; opacity:0.7; animation-duration:10s; animation-delay:-3s; }
.gc-caps i:nth-child(5){ width:15px; height:15px; left:49%; top:28%; color:#E3B93C; opacity:0.55; animation-duration:13s; animation-delay:-7s; }
.gc-caps i:nth-child(6){ width:10px; height:10px; left:58%; top:64%; color:#6E8B52; opacity:0.6; animation-duration:15s; animation-delay:-2s; }
.gc-caps i:nth-child(7){ width:8px; height:8px; left:66%; top:19%; color:#E8912A; opacity:0.75; animation-duration:12s; animation-delay:-6s; }
.gc-caps i:nth-child(8){ width:20px; height:20px; left:75%; top:48%; color:#C9402F; opacity:0.45; animation-duration:17s; animation-delay:-11s; }
.gc-caps i:nth-child(9){ width:10px; height:10px; left:83%; top:13%; color:#F0EBE1; opacity:0.65; animation-duration:11s; animation-delay:-4s; }
.gc-caps i:nth-child(10){ width:12px; height:12px; left:90%; top:60%; color:#3D6AA8; opacity:0.55; animation-duration:14s; animation-delay:-8s; }
@keyframes gcfloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-20px); } }
/* スマホは7個まで（画面が狭いので間引く） */
@media (max-width:767px){ .gc-caps i:nth-child(n+8){ display:none; } }
/* 動きを減らす設定の人には動かさない */
@media (prefers-reduced-motion:reduce){ .gc-caps i{ animation:none; } }

/* ---------- 14-7. メインビジュアルの暗幕（丸と文字を見やすくする） ---------- */
/* 数値を小さくすると写真が明るく、大きくすると暗くなります */
.p-mainVisual__slide{ position:relative; }
.p-mainVisual__slide::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg, rgba(12,11,10,.52) 0%, rgba(12,11,10,.28) 42%, rgba(12,11,10,.80) 100%); }

/* ---------- 14-8. スマホのメニュー（全画面・中央寄せ） ---------- */
/* SWELL標準の「左から出る細いパネル」を、デザイン案の
   「画面いっぱいの黒い幕に、英字を中央に並べる」形にします。 */
@media (max-width:959px){
  .p-spMenu{ width:100% !important; max-width:100% !important; }
  /* 高さは dvh（実際に見えている高さ）で取る。
     100vh だとスマホのアドレスバーぶん下にはみ出して項目が見切れる。 */
  .p-spMenu__inner{ background:rgba(12,11,10,.97) !important;
    display:flex !important; flex-direction:column; justify-content:center !important;
    height:100vh !important; height:100dvh !important;
    min-height:100vh !important; min-height:100dvh !important;
    padding:0 !important;
    overflow-y:auto !important; -webkit-overflow-scrolling:touch; }
  /* 上下に同じ余白を入れて、項目のかたまりをちょうど中央に置く */
  .p-spMenu__body{ display:flex !important; align-items:center !important; justify-content:center !important;
    flex:1 0 auto !important; padding:56px 0 !important; box-sizing:border-box; }
  .p-spMenu__nav{ width:100%; margin:0 !important; padding:0 !important; }
  .c-widget__title.-spmenu{ display:none !important; }

  .c-spnav{ display:flex !important; flex-direction:column; align-items:center; gap:22px;
    width:100%; margin:0 !important; padding:0 !important; }
  .c-spnav li{ width:auto !important; border:0 !important; }
  .c-spnav li a{ border:0 !important; padding:0 !important; text-align:center !important;
    font-family:"Montserrat",sans-serif !important; font-weight:700 !important;
    font-size:20px !important; letter-spacing:.12em !important;
    color:var(--gc-cream) !important; background:none !important; border-radius:0 !important; }
  /* 項目の先頭にある「>」アイコンを消す */
  .c-spnav li a::before,
  .c-spnav li a::after{ display:none !important; content:none !important; }
  /* 日本語の小さい説明（任意・メニューのラベルに <small> を入れた場合） */
  .c-spnav li a small{ display:block; font-family:"M PLUS Rounded 1c",sans-serif; font-weight:500;
    font-size:12px; letter-spacing:.08em; color:var(--gc-dim); margin-top:2px; }

  .p-spMenu__closeBtn{ position:absolute; top:8px; right:8px; left:auto !important; }
  .p-spMenu__closeBtn .c-iconBtn{ color:var(--gc-cream) !important; }
}
/* 画面の縦が短い端末（iPhone SE など）は、文字と間隔を少し詰める */
@media (max-width:959px) and (max-height:700px){
  .c-spnav{ gap:16px !important; }
  .c-spnav li a{ font-size:18px !important; }
  .p-spMenu__body{ padding:52px 0 !important; }
}
/* 上の <small> は PC のナビとフッターでは出さない */
.c-gnav small,
.l-footer__nav small{ display:none !important; }