/* ============================================================
   GLOSS WORKS — 共有CSS（固定ページ用。トップは index.html のインラインが正）
   Design system v2 — graphite × cobalt / 8px grid / radius 4-12-24
   ============================================================ */
:root{
  /* color */
  --gw-bg:#0B0D11; --gw-bg2:#12161E; --gw-bg3:#1A2029;
  --gw-paper:#F3F5F8; --gw-paper2:#E9ECF1; --gw-white:#FFFFFF;
  --gw-chrome:#C9D0DA; --gw-chrome2:#EBEFF4;
  --gw-cobalt:#2E63D9; --gw-cobalt-d:#1F4BB0; --gw-cobalt-l:#7FA4F2;
  --gw-cobalt-soft:rgba(46,99,217,.08);
  --gw-ink:#10141B; --gw-body:#3A4150; --gw-note:#737B8A;
  --gw-line:rgba(16,20,27,.12); --gw-line-soft:rgba(16,20,27,.07); --gw-line-w:rgba(233,237,242,.12);
  /* shape */
  --r-s:4px; --r-m:12px; --r-l:24px;
  /* elevation（境界線ではなく影と階調で面を作る） */
  --sh-1:0 1px 2px rgba(16,20,27,.04), 0 8px 24px rgba(16,20,27,.08);
  --sh-2:0 2px 4px rgba(16,20,27,.05), 0 16px 40px -10px rgba(16,20,27,.16);
  --sh-3:0 4px 10px rgba(16,20,27,.06), 0 36px 90px -28px rgba(16,20,27,.30);
  --sh-glow:0 0 0 1px rgba(46,99,217,.22), 0 18px 50px -16px rgba(46,99,217,.45);
  /* motion */
  --ease:cubic-bezier(.22,1,.36,1);
  /* rhythm（8pxグリッド） */
  --sec-pad:clamp(88px,11vw,152px);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:96px; overflow-x:clip;}
body{margin:0; color:var(--gw-body); font-family:"Zen Kaku Gothic New",sans-serif; line-height:2; font-size:16px;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; background:var(--gw-paper); overflow-x:hidden;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
p{margin:0;}
::selection{background:rgba(46,99,217,.22);}
.mono{font-family:"Space Grotesk",monospace; letter-spacing:.06em; font-variant-numeric:tabular-nums;}
.mincho{font-family:"Shippori Mincho",serif;}
h1,h2,h3{margin:0; color:var(--gw-ink); font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900; line-height:1.35;
  letter-spacing:.02em; font-feature-settings:"palt";}
h1,h2,h3,.lead,.btn,summary{word-break:auto-phrase; text-wrap:balance;}
.wrap{width:min(1160px,calc(100% - 48px)); margin:0 auto;}
.sec{padding:var(--sec-pad) 0; position:relative;}

/* focus ring（キーボード操作の可視化） */
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--gw-cobalt); outline-offset:3px; border-radius:2px;}

/* eyebrow → 見出し → リード の階層 */
.eyebrow{font-family:"Space Grotesk",monospace; font-size:11px; letter-spacing:.32em; text-transform:uppercase;
  color:var(--gw-cobalt); font-weight:700; display:inline-flex; gap:14px; align-items:center;}
.eyebrow::before{content:""; width:32px; height:2px; border-radius:1px;
  background:linear-gradient(90deg,var(--gw-cobalt),rgba(46,99,217,.25));}
h2.big{font-size:clamp(28px,4vw,48px); margin:18px 0 0; letter-spacing:.015em;}

/* ボタン（面で強く・マイクロインタラクション） */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.5em; font-weight:700; font-size:15px;
  min-height:56px; padding:16px 44px; border:1.5px solid transparent; border-radius:var(--r-s);
  letter-spacing:.06em; cursor:pointer; position:relative;
  transition:transform .3s var(--ease), background .3s var(--ease), color .3s var(--ease),
    border-color .3s var(--ease), box-shadow .3s var(--ease);}
.btn:active{transform:translateY(0) scale(.985);}
.btn--cobalt{background:linear-gradient(180deg,#3A6FE2,var(--gw-cobalt) 55%,var(--gw-cobalt-d)); color:#fff;
  box-shadow:0 1px 2px rgba(16,20,27,.18), 0 14px 34px -12px rgba(46,99,217,.6);}
.btn--cobalt:hover{transform:translateY(-2px);
  box-shadow:0 2px 4px rgba(16,20,27,.18), 0 22px 46px -14px rgba(46,99,217,.75);}
.btn--ghost{border-color:var(--gw-cobalt); color:var(--gw-cobalt);}
.btn--ghost:hover{background:var(--gw-cobalt); color:#fff; transform:translateY(-2px);
  box-shadow:0 16px 36px -14px rgba(46,99,217,.6);}

/* シグネチャー：鏡面ハイライトの細い光帯 */
.sheen{height:2px; background:linear-gradient(90deg, transparent 0%, var(--gw-chrome) 18%, #FFFFFF 50%, var(--gw-chrome) 82%, transparent 100%); opacity:.55;}

/* ===== ヘッダー（全ページ共通・スクロールで縮小＋blur強化） ===== */
.site-header{position:fixed; top:0; left:0; right:0; z-index:90;
  background:linear-gradient(180deg, rgba(11,13,17,.92), rgba(11,13,17,.78));
  -webkit-backdrop-filter:blur(14px) saturate(1.3); backdrop-filter:blur(14px) saturate(1.3);
  border-bottom:1px solid var(--gw-line-w);
  transition:box-shadow .4s var(--ease), background .4s var(--ease);}
.site-header.is-scrolled{background:linear-gradient(180deg, rgba(11,13,17,.97), rgba(11,13,17,.9));
  box-shadow:0 12px 34px -14px rgba(0,0,0,.6);}
.hd-in{max-width:1360px; margin:0 auto; display:flex; align-items:center; gap:32px; padding:0 28px; height:84px;
  transition:height .4s var(--ease);}
.site-header.is-scrolled .hd-in{height:62px;}
.hd-logo img{height:44px; width:auto; transition:height .4s var(--ease);}
.site-header.is-scrolled .hd-logo img{height:36px;}
.hd-nav{margin-left:auto; display:flex; gap:28px; align-items:center;}
.hd-nav a{color:var(--gw-chrome); font-size:13.5px; font-weight:500; letter-spacing:.08em; position:relative;
  padding:12px 0; white-space:nowrap; transition:color .3s;}
.hd-nav a:hover{color:#fff;}
.hd-nav a::after{content:""; position:absolute; left:0; bottom:6px; height:2px; width:0; border-radius:1px;
  background:linear-gradient(90deg,var(--gw-cobalt),var(--gw-chrome2)); transition:width .35s var(--ease);}
.hd-nav a:hover::after, .hd-nav a[aria-current="page"]::after{width:100%;}
.hd-nav a[aria-current="page"]{color:#fff;}
.hd-cta{flex:none; background:linear-gradient(180deg,#3A6FE2,var(--gw-cobalt) 55%,var(--gw-cobalt-d)); color:#fff;
  font-size:13px; font-weight:700; letter-spacing:.06em; padding:12px 24px; border-radius:var(--r-s);
  box-shadow:0 10px 26px -10px rgba(46,99,217,.65);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), filter .3s;}
.hd-cta:hover{transform:translateY(-1px); filter:brightness(1.08);
  box-shadow:0 16px 34px -10px rgba(46,99,217,.8);}
@media(max-width:960px){
  html{scroll-padding-top:132px;}
  .hd-in{flex-wrap:wrap; height:auto; padding:10px 16px 0; gap:14px;}
  .site-header.is-scrolled .hd-in{height:auto;}
  .hd-logo img{height:34px;}
  .site-header.is-scrolled .hd-logo img{height:30px;}
  .hd-cta{margin-left:auto; padding:11px 18px; font-size:12px;}
  .hd-nav{order:3; width:100%; margin:0; gap:22px; overflow-x:auto; padding:2px 2px 8px; -webkit-overflow-scrolling:touch; scrollbar-width:none;}
  .hd-nav::-webkit-scrollbar{display:none;}
  .hd-nav a{font-size:12.5px; padding:10px 0;}
  .hd-nav a::after{bottom:4px;}
}

/* ===== ページヒーロー（固定ページ用タイトル帯） ===== */
.page-hero{position:relative; overflow:hidden; color:var(--gw-chrome2);
  padding:clamp(176px,22vh,248px) 0 clamp(80px,10vw,120px);
  background:
    radial-gradient(1100px 480px at 82% -10%, rgba(46,99,217,.20), transparent 65%),
    radial-gradient(700px 380px at 8% 110%, rgba(46,99,217,.10), transparent 60%),
    linear-gradient(180deg,#12161E 0%, #0B0D11 78%);}
.page-hero::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(233,237,242,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(233,237,242,.035) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(120% 100% at 50% 0%, #000 30%, transparent 90%);
  mask-image:radial-gradient(120% 100% at 50% 0%, #000 30%, transparent 90%);}
.page-hero::after{content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:linear-gradient(90deg, transparent, var(--gw-chrome) 40%, #fff 50%, var(--gw-chrome) 60%, transparent); opacity:.4;}
.page-hero .wrap{position:relative; z-index:2;}
.page-hero .eyebrow{color:var(--gw-cobalt-l);}
.page-hero .eyebrow::before{background:linear-gradient(90deg,var(--gw-cobalt-l),rgba(127,164,242,.2));}
.page-hero h1{font-size:clamp(40px,6vw,76px); margin:20px 0 0; line-height:1.3; letter-spacing:.02em;
  background:linear-gradient(180deg,#FFFFFF 4%, #E4E9F0 46%, #A9B3C2 96%);
  -webkit-background-clip:text; background-clip:text; color:transparent;}
.page-hero p.lead{color:rgba(201,208,218,.78); font-size:15.5px; line-height:2.1; margin-top:26px; max-width:42em; word-break:auto-phrase;}
/* ロード時のリビール（reduced-motionでは静止） */
@media(prefers-reduced-motion:no-preference){
  .page-hero .eyebrow, .page-hero h1, .page-hero p.lead{opacity:0; animation:heroRise 1s var(--ease) forwards;}
  .page-hero .eyebrow{animation-delay:.1s;}
  .page-hero h1{animation-delay:.22s;}
  .page-hero p.lead{animation-delay:.4s;}
}
@keyframes heroRise{from{opacity:0; transform:translateY(26px);} to{opacity:1; transform:translateY(0);}}
@media(max-width:960px){ .page-hero{padding:212px 0 72px;} }

/* 固定ページタイトル v2：クローム銘板＋ブランドモノグラム */
.page-hero{min-height:clamp(480px,60vh,650px);display:flex;align-items:flex-end;padding:clamp(180px,22vh,240px) 0 clamp(72px,9vw,108px);
  isolation:isolate;background:
  radial-gradient(620px 360px at 78% 44%,rgba(46,99,217,.25),transparent 68%),
  linear-gradient(118deg,#080A0E 0%,#151B26 46%,#0B0D11 100%)}
.page-hero::before{opacity:.62;background-image:
  linear-gradient(112deg,transparent 0 61%,rgba(255,255,255,.055) 61.15%,transparent 61.35%),
  linear-gradient(rgba(233,237,242,.035) 1px,transparent 1px),
  linear-gradient(90deg,rgba(233,237,242,.035) 1px,transparent 1px);background-size:100% 100%,64px 64px,64px 64px}
.page-hero::after{height:3px;opacity:.72;background:linear-gradient(90deg,transparent 2%,var(--gw-cobalt) 20%,#fff 49%,var(--gw-cobalt-l) 67%,transparent 96%);box-shadow:0 0 24px rgba(46,99,217,.55)}
.page-hero .wrap{width:min(1160px,calc(100% - 48px));padding-left:clamp(20px,3vw,42px);display:grid;align-content:end;min-height:210px;border-left:1px solid rgba(201,208,218,.28)}
.page-hero .wrap::before{content:"GW";position:absolute;right:clamp(0px,5vw,58px);bottom:-.14em;z-index:-1;font-family:"Shippori Mincho",serif;font-size:clamp(180px,23vw,330px);font-style:italic;font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(201,208,218,.13);letter-spacing:-.1em;filter:drop-shadow(0 0 36px rgba(46,99,217,.13))}
.page-hero .wrap::after{content:"DETAILING STUDIO  /  KASHIWA  /  ONE DAY — ONE CAR";position:absolute;right:0;top:0;padding:10px 15px;border:1px solid rgba(201,208,218,.18);background:rgba(8,10,14,.42);color:rgba(201,208,218,.55);font-family:"Space Grotesk",monospace;font-size:9px;letter-spacing:.18em;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.page-hero .eyebrow,.page-hero .sec-eyebrow{display:inline-flex;align-items:center;gap:14px;width:max-content;color:var(--gw-cobalt-l);font-family:"Space Grotesk",monospace;font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase}
.page-hero .eyebrow::before,.page-hero .sec-eyebrow::before{content:"";width:32px;height:2px;background:linear-gradient(90deg,var(--gw-cobalt-l),rgba(127,164,242,.2))}
.page-hero h1{position:relative;width:max-content;max-width:88%;margin-top:22px;padding-bottom:20px;font-size:clamp(42px,6.2vw,78px);line-height:1.25;text-shadow:0 14px 40px rgba(0,0,0,.32)}
.page-hero h1::after{content:"";position:absolute;left:0;bottom:0;width:clamp(76px,10vw,132px);height:4px;background:linear-gradient(90deg,var(--gw-cobalt),var(--gw-chrome2));box-shadow:0 0 18px rgba(46,99,217,.65)}
.page-hero p.lead{max-width:46em;margin-top:22px;padding-right:clamp(0px,20vw,260px)}
.page-hero__bg{position:absolute;inset:0;z-index:-2;overflow:hidden;opacity:.18;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%,#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 38%,#000 100%)}
.page-hero__mq{position:absolute;inset:0;display:flex;width:max-content;filter:grayscale(1) contrast(1.2)}
.page-hero__mq img{width:270px;height:100%;object-fit:cover;border-left:1px solid rgba(255,255,255,.3)}
.page-hero .crumb{margin-top:22px;color:rgba(201,208,218,.6);font-size:12px;letter-spacing:.08em}.page-hero .crumb a{color:inherit}
@media(prefers-reduced-motion:no-preference){.page-hero .sec-eyebrow{opacity:0;animation:heroRise 1s var(--ease) .1s forwards}}
@media(max-width:960px){
  .page-hero{min-height:440px;padding:190px 0 64px}.page-hero .wrap{width:min(100% - 36px,1160px);min-height:170px;padding-left:20px}.page-hero .wrap::before{right:16px;font-size:clamp(130px,42vw,190px);bottom:.05em}.page-hero .wrap::after{top:-34px;right:0;font-size:7.5px;letter-spacing:.12em}.page-hero h1{max-width:100%;font-size:clamp(34px,10vw,50px);padding-bottom:16px}.page-hero p.lead{padding-right:0;font-size:14px;line-height:1.95}.page-hero__bg{opacity:.13}
}
@media(max-width:420px){.page-hero{min-height:420px;padding-top:178px}.page-hero .wrap::after{content:"DETAILING STUDIO  /  KASHIWA"}.page-hero h1{font-size:clamp(32px,9.4vw,42px);line-height:1.35}.page-hero .eyebrow,.page-hero .sec-eyebrow{font-size:9.5px;letter-spacing:.22em}}

/* ===== 固定ページ共通コンポーネント ===== */
.pg-grid2{display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,72px); align-items:center;}
.pg-grid2 img{width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:var(--r-m); box-shadow:var(--sh-2);}
.pg-grid2 > div > p{max-width:34em;}
.pg-fig{margin:0; position:relative;}
.pg-fig::after{content:""; position:absolute; left:12%; right:12%; top:8px; bottom:-14px; z-index:-1;
  border-radius:var(--r-m); background:rgba(46,99,217,.14); filter:blur(28px);}
.pg-fig figcaption{font-size:12px; color:var(--gw-note); padding-top:14px; letter-spacing:.05em; line-height:1.9;}
.pg-fig picture{display:block; overflow:hidden; border-radius:var(--r-m);}
.pg-fig img{transition:transform .9s var(--ease);}
.pg-fig:hover img{transform:scale(1.03);}
.pg-sec-h{margin-bottom:48px;}

/* メニュー行 */
.pg-menu{border-top:2px solid var(--gw-ink);}
.pg-menu__row{display:grid; grid-template-columns:1fr auto; gap:20px; align-items:baseline; padding:28px 12px;
  border-bottom:1px solid var(--gw-line-soft); border-radius:var(--r-s);
  transition:background .35s var(--ease);}
.pg-menu__row:hover{background:var(--gw-cobalt-soft);}
.pg-menu__row h3{font-size:19px;}
.pg-menu__row .d{color:var(--gw-note); font-size:14px; line-height:1.9; margin-top:8px; max-width:38em; word-break:auto-phrase;}
.pg-menu__price{font-family:"Space Grotesk",monospace; font-weight:700; font-size:clamp(21px,2.4vw,28px);
  font-variant-numeric:tabular-nums; color:var(--gw-ink); white-space:nowrap;}
.pg-menu__price .u{font-size:.5em; color:var(--gw-note); font-family:"Zen Kaku Gothic New",sans-serif; font-weight:500;}
.pg-note{font-size:12.5px; color:var(--gw-note); margin-top:20px; line-height:1.9;}

/* 情報テーブル → 柔らかいカード面 */
.pg-table{width:100%; border-collapse:separate; border-spacing:0; background:var(--gw-white);
  border-radius:var(--r-m); overflow:hidden; box-shadow:var(--sh-1);}
.pg-table tr:first-child th, .pg-table tr:first-child td{border-top:none;}
.pg-table th{width:30%; text-align:left; font-size:13px; color:var(--gw-ink); letter-spacing:.08em;
  padding:22px 16px 22px 28px; border-top:1px solid var(--gw-line-soft); vertical-align:top;
  background:linear-gradient(90deg, rgba(46,99,217,.05), transparent 85%);}
.pg-table td{font-size:14.5px; line-height:2; padding:22px 28px 22px 12px; border-top:1px solid var(--gw-line-soft);}

/* FAQ（アコーディオン） */
.pg-faq{display:grid; gap:14px;}
.pg-faq details{background:var(--gw-white); border-radius:var(--r-m); box-shadow:var(--sh-1);
  padding:6px 28px; border:none; transition:box-shadow .4s var(--ease);}
.pg-faq details:first-of-type{border:none;}
.pg-faq details[open]{box-shadow:var(--sh-2);}
.pg-faq summary{cursor:pointer; list-style:none; display:flex; gap:18px; align-items:baseline; padding:22px 0;
  min-height:44px; font-weight:700; color:var(--gw-ink); font-size:16px; line-height:1.8; transition:color .3s;}
.pg-faq summary:hover{color:var(--gw-cobalt);}
.pg-faq summary::-webkit-details-marker{display:none;}
.pg-faq summary::before{content:"Q"; font-family:"Space Grotesk",monospace; color:var(--gw-cobalt); font-weight:700; flex:none;}
.pg-faq summary::after{content:"＋"; margin-left:auto; color:var(--gw-note); flex:none; font-weight:400;
  transition:transform .35s var(--ease), color .3s;}
.pg-faq details[open] summary::after{content:"−"; color:var(--gw-cobalt);}
.pg-faq .a{display:flex; gap:18px; padding:2px 0 26px;}
.pg-faq .a::before{content:"A"; font-family:"Space Grotesk",monospace; color:var(--gw-note); font-weight:700; flex:none;}
.pg-faq .a p{font-size:14.5px; line-height:2; word-break:auto-phrase;}

/* CTAセクション（1画面級のインパクト） */
.pg-cta{position:relative; overflow:hidden; text-align:center;
  padding:clamp(128px,20vh,208px) 0;
  background:
    radial-gradient(900px 460px at 50% 118%, rgba(46,99,217,.30), transparent 68%),
    radial-gradient(1200px 500px at 50% -30%, rgba(233,237,242,.05), transparent 60%),
    linear-gradient(180deg,#12161E, #0B0D11 85%);}
.pg-cta::before{content:""; position:absolute; left:0; right:0; top:0; height:2px;
  background:linear-gradient(90deg, transparent, var(--gw-chrome) 40%, #fff 50%, var(--gw-chrome) 60%, transparent); opacity:.35;}
.pg-cta .wrap{position:relative; z-index:2;}
.pg-cta h2{color:var(--gw-chrome2); font-size:clamp(30px,4.8vw,56px); line-height:1.4;
  background:linear-gradient(180deg,#FFFFFF 8%, #E4E9F0 50%, #AEB8C7 96%);
  -webkit-background-clip:text; background-clip:text; color:transparent;}
.pg-cta p{color:rgba(201,208,218,.75); font-size:15px; line-height:2.1; margin:22px 0 44px;}
.pg-cta .btn{min-height:64px; padding:20px 56px; font-size:16px;}

/* フォーム */
.pg-form{background:var(--gw-white); border-radius:var(--r-l); padding:clamp(28px,5vw,56px); box-shadow:var(--sh-3);}
.pg-form .row{margin-bottom:28px;}
.pg-form label{display:block; font-weight:700; color:var(--gw-ink); font-size:14px; margin-bottom:10px; letter-spacing:.03em;}
.pg-form label small{font-weight:700; color:#fff; background:var(--gw-cobalt); border-radius:99px;
  margin-left:10px; font-size:10px; padding:2px 10px; letter-spacing:.1em; vertical-align:2px;}
.pg-form input,.pg-form select,.pg-form textarea{width:100%; border:1px solid var(--gw-line); border-radius:var(--r-s);
  background:var(--gw-paper); padding:15px 16px; min-height:52px; font:inherit; font-size:15px; color:var(--gw-ink);
  transition:border-color .3s, background .3s, box-shadow .3s;}
.pg-form textarea{min-height:0;}
.pg-form input:focus,.pg-form select:focus,.pg-form textarea:focus{outline:none; border-color:var(--gw-cobalt);
  background:#fff; box-shadow:0 0 0 3px rgba(46,99,217,.18);}
.pg-form button{width:100%; border:0; cursor:pointer;}
@media(max-width:860px){ .pg-grid2{grid-template-columns:1fr;} }
@media(max-width:768px){
  .wrap{width:min(100% - 32px,1160px);}
  .sec{padding:64px 0;}
  .pg-table th,.pg-table td{display:block; width:100%; padding:16px 20px;}
  .pg-table td{padding-top:0;}
}

/* ===== フッター（全ページ共通・マーキーCONTACT帯） ===== */
.site-footer{background:linear-gradient(180deg,var(--gw-bg) 0%, #07090C 100%); color:var(--gw-chrome2); overflow:hidden; margin-top:0;}
.ft-mq{display:block; text-decoration:none; color:var(--gw-chrome2); padding:80px 0 72px; position:relative; border-bottom:1px solid var(--gw-line-w);}
.ft-mq::after{content:""; position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .5s var(--ease);
  background:radial-gradient(720px 300px at 50% 60%, rgba(46,99,217,.16), transparent 70%);}
.ft-mq:hover::after{opacity:1;}
.ft-mq__hint{position:absolute; top:30px; left:50%; transform:translateX(-50%); font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.34em; color:var(--gw-cobalt-l); white-space:nowrap;}
.ft-mq__track{display:flex; width:max-content; animation:ftrun 22s linear infinite;}
.ft-mq:hover .ft-mq__track{animation-play-state:paused;}
.ft-mq__track span{display:flex; align-items:center; gap:34px; padding-right:34px; white-space:nowrap;
  font-family:"Space Grotesk",monospace; font-weight:700; font-size:clamp(64px,10vw,124px); letter-spacing:.01em; line-height:1;}
.ft-mq__dot{width:.17em; height:.17em; border-radius:50%; background:var(--gw-cobalt); flex:none;
  box-shadow:0 0 24px rgba(46,99,217,.8);}
.ft-mq__ol{color:transparent; -webkit-text-stroke:1.5px var(--gw-chrome); transition:color .4s;}
.ft-mq:hover .ft-mq__ol{color:var(--gw-cobalt); -webkit-text-stroke:1.5px var(--gw-cobalt);}
.ft-mq__sub{display:block; text-align:center; margin-top:40px; font-size:13.5px; color:var(--gw-note); position:relative; z-index:2; padding:0 20px;}
.ft-mq__sub b{color:var(--gw-chrome2); border-bottom:1.5px solid var(--gw-cobalt); padding-bottom:2px; margin:0 6px; font-weight:700;}
@keyframes ftrun{from{transform:translateX(0);} to{transform:translateX(-50%);}}
.ft-low{max-width:1240px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:40px 28px 36px; flex-wrap:wrap;}
.ft-low__lg img{height:34px; width:auto;}
.ft-low nav{display:flex; gap:8px 26px; flex-wrap:wrap;}
.ft-low nav a{color:var(--gw-note); text-decoration:none; font-size:12.5px; padding:10px 0; transition:color .3s;}
.ft-low nav a:hover{color:var(--gw-chrome2);}
.ft-low__nap{width:100%; font-size:12px; color:var(--gw-note); letter-spacing:.04em; line-height:2.1;}
.ft-low__cp{font-family:"Space Grotesk",monospace; font-size:10px; letter-spacing:.14em; color:var(--gw-note);}
@media(prefers-reduced-motion:reduce){ .ft-mq__track{animation:none;} }

/* ===== スクロールリビール（JSが .js-rv を付与。無JS・reduced-motionは常時表示） ===== */
@media(prefers-reduced-motion:no-preference){
  html.jsr .js-rv{--rv-d:0s; opacity:0; transform:translateY(26px);
    transition:opacity .8s var(--ease), transform .8s var(--ease);
    transition-delay:var(--rv-d,0s);}
  html.jsr .js-rv.is-in{opacity:1; transform:translateY(0);}
}

/* プライバシー等の本文ページ */
.pv h2{font-size:20px; margin:56px 0 18px; padding-left:16px; border-left:3px solid var(--gw-cobalt); line-height:1.6;}
.pv p, .pv li{font-size:14.5px; line-height:2.1;}
.pv ul{padding-left:22px; margin:12px 0;}


/* ZOROYA:BLOG — static preview / WordPress-ready archive and single */
.p-news{padding-block:clamp(48px,7vw,96px)}.p-newsgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,36px)}
.p-card{display:block;color:inherit;text-decoration:none;background:var(--paper,#fff);border:1px solid rgba(80,80,80,.16);border-radius:18px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.p-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(0,0,0,.1)}
.p-card__ph{aspect-ratio:16/10;overflow:hidden;background:#eee}.p-card__ph img{width:100%;height:100%;object-fit:cover}.p-card__bd{padding:22px}.p-card__meta{display:flex;gap:12px;align-items:center;font-size:12px}.p-card__cat,.post-hero__cat{padding:4px 10px;border-radius:99px;background:var(--accent,#555);color:#fff}.p-card__ttl{font-size:clamp(19px,2vw,25px);line-height:1.55}.p-card__ex{line-height:1.8}.p-card__more{font-size:12px;letter-spacing:.12em}.p-newsnote{margin-top:28px;font-size:12px;color:#666}
.post-hero{position:relative;min-height:420px;padding:clamp(110px,13vw,170px) 24px 70px;color:#fff;display:flex;align-items:flex-end}.post-hero__bg{position:absolute;inset:0}.post-hero__bg img{width:100%;height:100%;object-fit:cover}.post-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(0,0,0,.82),rgba(0,0,0,.38))}.post-hero .wrap{position:relative;z-index:1;width:min(100%,1100px);margin:auto}.post-hero h1{max-width:900px;font-size:clamp(28px,4vw,52px);line-height:1.45}.post-hero__meta{display:flex;gap:12px;align-items:center}.post-hero .crumb a{color:inherit}
.post-wrap{width:min(calc(100% - 40px),1160px);margin:auto;padding:clamp(50px,7vw,90px) 0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,5vw,64px)}.post-figure{margin:0 0 36px}.post-figure img{width:100%;max-height:540px;object-fit:cover;border-radius:18px}.post-body{font-size:16px;line-height:2}.post-body h2{margin:2.2em 0 .8em;font-size:clamp(24px,3vw,34px)}.post-body h3{margin:1.8em 0 .6em}.post-lead{font-size:1.1em}.post-foot__bar{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-top:48px;padding-top:24px;border-top:1px solid #ddd}.post-foot a,.w-cta a{color:inherit}.post-side{position:sticky;top:100px}.widget{padding:22px 0;border-bottom:1px solid #ddd}.widget__ttl{font-size:17px}.w-recent a{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:10px 0;color:inherit;text-decoration:none}.w-recent img{width:72px;height:56px;object-fit:cover}.w-recent b,.w-recent span{display:block;font-size:12px}.w-list{list-style:none;padding:0}.w-list a{display:flex;justify-content:space-between;padding:8px 0;color:inherit;text-decoration:none}.w-search{display:flex}.w-search input{min-width:0;flex:1;padding:10px}.w-search button{padding:10px}
@media(max-width:800px){.p-newsgrid{grid-template-columns:1fr}.post-wrap{grid-template-columns:1fr}.post-side{position:static}.post-hero{min-height:360px}.p-card__bd{padding:18px}}

