/* =========================================================
   AETERA コーポレートサイト 共通スタイル
   ・パソコン（768px以上）とスマホ（767px以下）で自動的に切り替わります
   ・色や文字はここ（:root）でまとめて変えられます
   ========================================================= */
:root{
  --bg:#0A0A0A;
  --bg-2:#0E1012;
  --panel:#141618;
  --text:#EDEDED;
  --muted:#8A8A8A;
  --sub:#C9CBCE;
  --line:rgba(255,255,255,.14);
  --line-strong:rgba(255,255,255,.45);
  --side:300px;          /* 左の見出し列の幅 */
  --pad:24px;            /* 左右の余白 */
  --hdr:80px;            /* ヘッダーの高さ */
  --silver:linear-gradient(100deg,#ffffff 0%,#c2c5c9 55%,#8d9095 100%);
  --chrome:linear-gradient(176deg,#fbfbfb 0%,#b9bcc0 30%,#f2f2f2 48%,#6f7378 66%,#c9cbce 84%,#8d9095 100%);
  --jp:'Noto Sans JP',sans-serif;
  --en:'Inter Tight','Noto Sans JP',sans-serif;
  --mono:'JetBrains Mono',monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--en)}
img{max-width:100%}
a{color:var(--text)}
a:hover{color:#fff}
h1,h2,h3,p{margin:0}
.wrap{max-width:1440px;margin:0 auto;position:relative;overflow:hidden;overflow:clip;background:var(--bg)}
@supports not (overflow:clip){.wrap{overflow:visible}body{overflow-x:hidden}}
[id]{scroll-margin-top:var(--hdr)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* 共通パーツ */
.lab{font:400 13px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.g{background:var(--silver);-webkit-background-clip:text;background-clip:text;color:transparent}
.sh{background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.95) 50%,transparent 58%) 0 0/300% 100% no-repeat,var(--chrome);animation:aeSheen 5s cubic-bezier(.65,0,.35,1) infinite;-webkit-background-clip:text;background-clip:text;color:transparent}
.chrome{background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
.body{font:400 15px/1.9 var(--jp);letter-spacing:.02em}
.body p{margin:0 0 20px}
.body p:last-child{margin-bottom:0}

/* 背景のグラデーション */
.bg-glow{position:absolute;top:0;left:0;right:0;height:900px;transform-origin:88% 8%;animation:aeBg 9s ease-in-out infinite alternate;background:radial-gradient(110% 90% at 88% 8%,#6b7079 0%,#2f3338 34%,#121416 62%,#0A0A0A 85%);pointer-events:none}
.bg-dim{position:absolute;top:0;left:0;right:0;height:900px;background:rgba(0,0,0,.25);pointer-events:none}
.bg-glow--sub{height:640px;animation:none;background:radial-gradient(90% 80% at 88% 0%,#4a4e55 0%,#23262a 36%,#0A0A0A 80%)}

/* ---------- ヘッダー ---------- */
.hdr{position:sticky;top:0;z-index:50;height:var(--hdr);display:grid;grid-template-columns:var(--side) 1fr 240px;border-bottom:1px solid var(--line);background:rgba(14,16,18,.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.hdr-logo{display:flex;align-items:center;gap:12px;padding:0 var(--pad);border-right:1px solid var(--line);text-decoration:none;color:var(--text)}
.hdr-logo img{height:40px;width:auto;display:block}
.hdr-logo span{font:500 20px var(--en);letter-spacing:.14em}
.hdr-nav{display:flex;gap:32px;align-items:center;justify-content:flex-end;padding:0 32px;font:500 13px var(--en);text-transform:uppercase}
.hdr-nav a{position:relative;text-decoration:none;color:var(--text)}
.hdr-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:linear-gradient(90deg,#8d9095 0%,#fbfbfb 35%,#b9bcc0 60%,#6f7378 100%);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.hdr-nav a:hover::after,.hdr-nav a:focus-visible::after{transform:scaleX(1)}
.hdr-cta{display:flex;align-items:center;justify-content:center;border-left:1px solid var(--line)}
.hdr-cta a,.hdr-cta span{background:#2A2D31;color:var(--text);text-decoration:none;transition:.2s ease;padding:14px 20px;border-radius:2px;font-size:14px}
.hdr-cta a:hover{background:var(--text);color:var(--bg)}
.hdr-cta [aria-current]{background:var(--text);color:var(--bg)}
.burger{display:none;width:48px;height:48px;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:none;border:1px solid rgba(255,255,255,.22);border-radius:2px;cursor:pointer;padding:0;color:var(--text)}
.burger i{display:block;width:20px;height:1.5px;background:var(--text);transition:transform .2s ease,opacity .2s ease}
.hdr[data-open="true"] .burger i:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.hdr[data-open="true"] .burger i:nth-child(2){opacity:0}
.hdr[data-open="true"] .burger i:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.spnav{display:none}
:focus-visible{outline:2px solid var(--text);outline-offset:3px}

/* ---------- 2列セクション（左に見出しラベル） ---------- */
.sec{position:relative;display:grid;grid-template-columns:var(--side) 1fr;border-top:1px solid var(--line-strong)}
.sec-side{padding:48px var(--pad);border-right:1px solid var(--line)}
.sec-main{padding:48px var(--pad) 96px;min-width:0}
.sec-ttl{font:300 40px/1.4 var(--jp);text-wrap:balance}
.sec-ttl-sm{display:block;font:300 22px var(--jp);color:var(--text);text-transform:none;margin-top:16px;letter-spacing:0}

/* ---------- HERO ---------- */
.hero{position:relative;height:820px}
.hero-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-sweep{position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.09) 50%,transparent 100%);animation:aeSweep 7s cubic-bezier(.65,0,.35,1) infinite}
.orb{position:absolute;top:10px;right:-120px;width:560px;height:560px;perspective:1200px;transform-origin:top right}
.orb>*{position:absolute;border-radius:50%}
.orb .o-glow{inset:-80px;background:radial-gradient(circle,rgba(205,214,228,.32) 0%,rgba(205,214,228,.08) 40%,transparent 62%);animation:aeGlow 7s ease-in-out infinite}
.orb .o-r1{inset:0;border:1px solid rgba(255,255,255,.45);animation:aeTumbleA 14s linear infinite}
.orb .o-r2{inset:60px;border:1px solid rgba(255,255,255,.3);animation:aeTumbleB 18s linear infinite}
.orb .o-r3{inset:30px;border:1px solid rgba(255,255,255,.45);animation:aeOrbit 8s linear infinite}
.orb .o-r4{inset:120px;border:1px solid rgba(255,255,255,.3);animation:aeOrbitB 11s linear infinite}
.orb i{position:absolute;left:50%;border-radius:50%}
.orb .o-r3 i{top:-5px;width:10px;height:10px;margin-left:-5px;background:var(--text)}
.orb .o-r4 i{top:-4px;width:8px;height:8px;margin-left:-4px;background:linear-gradient(135deg,#ffffff 0%,#b9bcc0 50%,#6f7378 100%)}
.orb .o-core{inset:160px;background:radial-gradient(circle at 32% 26%,#ffffff 0%,#c9cbce 14%,#6f7378 40%,#2A2D31 66%,#0A0A0A 100%);animation:aeFloatBig 6s ease-in-out infinite}
.orb .o-core::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 68%,rgba(255,255,255,.4) 86%,transparent 100%);animation:aeSpin 6s linear infinite}
.hero-vline{position:absolute;top:0;bottom:0;left:var(--side);width:1px;background:var(--line-strong)}
.hero-copy{position:absolute;top:60px;left:calc(var(--side) + var(--pad));right:var(--pad)}
.hero-ttl{margin-top:32px;font:500 clamp(56px,6.1vw,88px)/1.2 var(--jp)}
.hero-base{position:absolute;left:0;right:0;bottom:0;height:280px;border-top:1px solid var(--line-strong)}
.hero-name{position:absolute;left:calc(var(--side) + 19px);bottom:55px;display:flex;align-items:flex-end;gap:24px}
.hero-name .sh{font:700 clamp(96px,10.4vw,150px)/1 Arial,sans-serif;letter-spacing:.04em;white-space:nowrap}
.hero-name .lab{line-height:1.7;text-align:right}

/* ---------- OUR BUSINESS ---------- */
.biz{border-top-color:var(--line)}
.biz .sec-main{padding-bottom:72px;display:grid;grid-template-columns:1.2fr 1fr;gap:48px}
.kw{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:48px}

/* ---------- SERVICE 一覧 ---------- */
.svc-list .sec-main{padding:0}
.svc-row{display:grid;grid-template-columns:64px 1fr 300px 24px;gap:24px;align-items:center;padding:28px var(--pad);border-bottom:1px solid var(--line-strong);text-decoration:none;color:var(--text);transition:background .2s ease}
.svc-row:hover{background:#1F2226;color:var(--text)}
.svc-name{font:500 clamp(30px,3.1vw,44px)/1 var(--en);letter-spacing:-.03em;text-transform:uppercase;padding-bottom:4px}
.svc-jp{font:400 13px var(--jp);color:var(--muted);margin-top:10px}
.svc-copy{font:400 14px/1.6 var(--jp)}
.svc-arrow{font-size:20px;background:linear-gradient(135deg,#ffffff 0%,#b9bcc0 55%,#8d9095 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- SERVICE 詳細 ---------- */
.svd-en{font:500 clamp(44px,5vw,72px)/1 var(--en);letter-spacing:-.03em;text-transform:uppercase;padding-bottom:6px}
.svd-jp{font:300 22px var(--jp);margin-top:16px}
.svd-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:48px}
.svd-img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;filter:saturate(.8) brightness(.85)}
.svd-catch{font:300 28px/1.5 var(--jp);text-wrap:balance;margin-top:24px}
.svd-sub{margin-top:40px;padding-bottom:16px}
.svd-list{list-style:none;margin:0;padding:0}
.svd-list li{font:400 15px/1.5 var(--jp);padding:14px 0;border-top:1px solid var(--line)}
.svd-note{font:400 13px/1.6 var(--jp);color:var(--muted);margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}

/* ---------- OUR VALUE ---------- */
.val-head{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;margin-top:24px}
.val-cards{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;border:1px solid var(--line-strong)}
.val-card{position:relative;overflow:hidden;padding:24px;min-height:340px;background:linear-gradient(160deg,rgba(255,255,255,.11) 0%,rgba(255,255,255,.02) 42%,rgba(255,255,255,0) 100%);display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.val-card+.val-card{border-left:1px solid var(--line-strong)}
.val-word{font:500 clamp(44px,4.4vw,64px)/1.2 var(--jp)}
.val-desc{font:300 16px/1.5 var(--jp);margin-top:16px}
.vi{position:absolute;top:24px;right:24px;width:150px;height:150px;transform-origin:top right}
.vi>*{position:absolute;border-radius:50%}
.vi1 .a{inset:0;background:conic-gradient(from 20deg,#f4f5f6,#55585d,#e2e4e6,#2A2D31,#f4f5f6,#6f7378,#d4d6d8,#1c1e21,#f4f5f6);-webkit-mask:radial-gradient(circle closest-side,transparent 80%,#000 82%);mask:radial-gradient(circle closest-side,transparent 80%,#000 82%);animation:aeSpin 9s linear infinite}
.vi1 .b{inset:34px;background:conic-gradient(from 20deg,#f4f5f6,#55585d,#e2e4e6,#2A2D31,#f4f5f6,#6f7378,#d4d6d8,#1c1e21,#f4f5f6);-webkit-mask:radial-gradient(circle closest-side,transparent 70%,#000 72%);mask:radial-gradient(circle closest-side,transparent 70%,#000 72%);animation:aeSpin 6s linear infinite reverse}
.vi1 .c{inset:66px;background:radial-gradient(circle at 32% 26%,#ffffff,#b9bcc0 45%,#55585d 100%);animation:aePulse 3s ease-in-out infinite}
.vi2 .a{inset:-30px;background:radial-gradient(circle,rgba(205,214,228,.3) 0%,transparent 62%);animation:aeGlow 6s ease-in-out infinite}
.vi2 .b{inset:0;border:1px solid rgba(255,255,255,.6);animation:aePulse 4s ease-in-out .6s infinite}
.vi2 .c{inset:20px;border:1px solid rgba(255,255,255,.6);animation:aePulse 4s ease-in-out infinite}
.vi2 .d{inset:42px;background:radial-gradient(circle at 32% 26%,#ffffff 0%,#c9cbce 14%,#6f7378 40%,#2A2D31 66%,#0A0A0A 100%);animation:aeFloatBig 5s ease-in-out infinite}
.vi2 .d::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 68%,rgba(255,255,255,.45) 86%,transparent 100%);animation:aeSpin 5s linear infinite}
.vi3{perspective:600px}
.vi3 .a{inset:0 40px 0 0;border:3px solid #c9cbce;animation:aeTumbleA 10s linear infinite}
.vi3 .b{inset:0 0 0 40px;border:3px solid #8d9095;animation:aeTumbleB 12s linear infinite}
.vi3 .c{inset:10px;border:1px solid rgba(255,255,255,.6);animation:aeOrbit 6s linear infinite}
.vi3 .c i{position:absolute;top:-5px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:linear-gradient(135deg,#ffffff,#8d9095)}
.val-close{margin-top:96px;display:flex;justify-content:space-between;align-items:flex-end;gap:48px}
.val-close-ttl{font:500 clamp(40px,4.4vw,64px)/1.3 var(--jp)}
.val-close-txt{font:300 20px/1.6 var(--jp);max-width:18em;text-align:right}

/* ---------- 会社概要 ---------- */
.spec{margin:0}
.spec-row{display:grid;grid-template-columns:240px 1fr;padding:22px 0;border-top:1px solid var(--line)}
.spec-row dt{font:400 13px var(--jp);color:var(--muted)}
.spec-row dd{margin:0;font:400 15px/1.6 var(--jp)}
.access{border-top:1px solid var(--line);padding-top:40px}
.access-head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:20px}
.access-head span{font:400 13px var(--jp);color:var(--muted)}
.access-head a{font:400 13px var(--jp);text-decoration:none}
.map{position:relative;width:100%;aspect-ratio:16 / 7;border:1px solid var(--line);overflow:hidden;background:#16181B}
/* 地図を暗いトーンにしています。普通のカラー地図に戻したいときは、下の filter の行を消してください */
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) invert(.9) contrast(.9)}

/* ---------- お問い合わせ帯 ---------- */
.cta-band{background:#fff;color:#000;padding:96px var(--pad);display:flex;justify-content:space-between;align-items:flex-end;gap:48px}
.cta-band .lab{color:#000}
.cta-band-ttl{font:500 clamp(32px,3.1vw,44px)/1.4 var(--jp);margin-top:24px;max-width:17em}
.btn-dark{background:#000;color:#fff;padding:18px 24px;border-radius:2px;font:400 14px var(--en);text-decoration:none;display:flex;gap:24px;white-space:nowrap}
.btn-dark:hover{background:#2A2D31;color:#fff}
.btn-light{background:var(--text);color:var(--bg);border:0;padding:18px 28px;border-radius:2px;font:500 14px var(--en);text-decoration:none;display:inline-flex;gap:32px;cursor:pointer;white-space:nowrap}
.btn-light:hover{background:#fff;color:var(--bg)}

/* ---------- フッター ---------- */
.ftr{background:var(--bg-2);overflow:hidden}
.ftr-in{display:flex;justify-content:space-between;align-items:flex-start;gap:48px;padding:48px var(--pad) 72px}
.ftr-addr{font:400 13px/1.8 var(--jp);font-style:normal}
.ftr-links{display:flex;flex-direction:column;gap:12px;align-items:flex-end;font:400 13px var(--jp)}
.ftr-links a{text-decoration:none}
.ftr-copy{color:var(--muted);font-family:var(--en)}
.ftr-big{padding:0 var(--pad);margin-bottom:-.11em;font:700 clamp(86px,22vw,316px)/.8 Arial,sans-serif;letter-spacing:.04em;white-space:nowrap}

/* ---------- お問い合わせページ ---------- */
.ct-hero{position:relative;display:grid;grid-template-columns:var(--side) 1fr;border-bottom:1px solid var(--line)}
.ct-hero .sec-side,.ct-hero .sec-main{padding-top:120px;padding-bottom:96px}
.ct-h1{font:500 clamp(56px,6.7vw,96px)/1 var(--en);letter-spacing:.02em}
.ct-sub{font:300 clamp(26px,2.8vw,40px)/1.4 var(--jp);margin-top:32px}
.ct-lead{font:300 16px/2 var(--jp);margin-top:32px;max-width:40em;color:var(--sub)}
.ct-form-wrap{position:relative;display:grid;grid-template-columns:var(--side) 1fr}
.ct-form-wrap .sec-main{padding-bottom:120px}
.steps{display:flex;gap:40px;margin-bottom:40px;font:400 12px var(--mono);letter-spacing:.04em;text-transform:uppercase}
.steps span{color:var(--muted);padding-bottom:8px}
.steps .on{color:var(--text);border-bottom:2px solid var(--text)}
.f-row{display:grid;grid-template-columns:240px 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--line);align-items:start;margin:0;border-left:0;border-right:0;border-bottom:0;min-width:0}
.f-label{font:400 14px/1.6 var(--jp);color:var(--text);padding:12px 0 0}
fieldset.f-row{padding-left:0;padding-right:0}
fieldset.f-row legend{float:left;width:240px}
fieldset.f-row legend+*{grid-column:2}
.req,.opt{display:inline-block;margin-left:10px;font:400 11px var(--jp);padding:2px 6px;border-radius:2px;vertical-align:1px}
.req{color:var(--bg);background:#B9BCC0}
.opt{color:#B5B7BA;border:1px solid rgba(255,255,255,.3);padding:1px 6px}
.f-in{width:100%;max-width:640px;background:var(--panel);border:1px solid rgba(255,255,255,.22);color:var(--text);font:400 16px/1.6 var(--jp);padding:12px 16px;border-radius:2px;outline:none}
.f-in::placeholder{color:#7E8186}
.f-in:focus{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}
.f-in--short{max-width:320px}
textarea.f-in{resize:vertical;min-height:180px}
.f-radio{display:flex;flex-wrap:wrap;gap:12px}
.f-radio label{display:flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid rgba(255,255,255,.22);border-radius:2px;font:400 14px var(--jp);cursor:pointer}
.f-radio label:has(input:checked){border-color:var(--text);background:#1E2124}
.f-radio input,.f-agree input{accent-color:var(--text);width:18px;height:18px;margin:0;flex:none}
.f-foot{border-top:1px solid var(--line);padding-top:40px;display:grid;grid-template-columns:240px 1fr;gap:24px}
.f-agree{display:flex;align-items:center;gap:12px;font:400 14px var(--jp)}
.f-submit{margin-top:32px}
.f-error{margin-top:20px;font:400 14px/1.7 var(--jp);color:#F2B8B5}
.thanks-ttl{font:400 32px/1.5 var(--jp)}
.thanks-txt{font:300 16px/2 var(--jp);margin-top:24px;max-width:40em;color:var(--sub)}
.thanks .btn-light{margin-top:48px}
[hidden]{display:none!important}

/* =========================================================
   タブレット（768px〜1199px）：左列を少し細く
   ========================================================= */
@media (max-width:1199px){
  :root{--side:220px}
  .hdr{grid-template-columns:var(--side) 1fr 180px}
  .hdr-nav{gap:24px;padding:0 24px}
  .svc-row{grid-template-columns:48px 1fr 220px 24px}
  .spec-row,.f-row,.f-foot{grid-template-columns:180px 1fr}
  fieldset.f-row legend{width:180px}
  .orb{transform:scale(.8)}
}

/* =========================================================
   スマホ（767px以下）
   ========================================================= */
@media (max-width:767px){
  :root{--pad:16px;--hdr:64px}
  .lab{font-size:12px}
  .bg-glow{height:700px;background:radial-gradient(130% 80% at 90% 6%,#6b7079 0%,#2f3338 34%,#121416 62%,#0A0A0A 85%)}
  .bg-dim{height:700px}
  .bg-glow--sub{height:480px;background:radial-gradient(120% 80% at 90% 0%,#4a4e55 0%,#23262a 36%,#0A0A0A 80%)}

  /* ヘッダー → ハンバーガーメニュー */
  .hdr{display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);background:rgba(14,16,18,.72)}
  .hdr-logo{border-right:0;padding:0;gap:10px}
  .hdr-logo img{height:30px}
  .hdr-logo span{font-size:17px}
  .hdr-nav,.hdr-cta{display:none}
  .burger{display:flex}
  .spnav{position:absolute;top:100%;left:0;right:0;background:var(--bg-2);padding:8px var(--pad) 32px;border-bottom:1px solid var(--line-strong)}
  .hdr[data-open="true"] .spnav{display:block}
  .spnav a{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);font:500 28px var(--en);text-transform:uppercase;text-decoration:none;color:var(--text)}
  .spnav a span:last-child{font-size:18px;color:var(--muted)}
  .spnav .spnav-cta{margin-top:28px;border:0;background:var(--text);color:var(--bg);padding:18px 20px;border-radius:2px;font-size:15px}
  .spnav .spnav-cta span:last-child{color:var(--bg)}

  /* 2列 → 1列 */
  .sec,.ct-hero,.ct-form-wrap{display:block}
  .sec-side{border-right:0;padding:40px var(--pad) 0}
  .sec-main{padding:20px var(--pad) 56px}
  .sec-ttl{font-size:28px;line-height:1.5}
  .sec-ttl-sm{font-size:24px;margin-top:12px}

  /* HERO */
  .hero{height:620px}
  .hero-sweep{width:50%}
  .orb{top:150px;right:-70px;transform:scale(.536)}
  .hero-vline{display:none}
  .hero-copy{top:40px;left:var(--pad);right:var(--pad)}
  .hero-copy .lab{font-size:11px}
  .hero-ttl{margin-top:24px;font-size:40px;line-height:1.3}
  .hero-base{height:150px}
  .hero-name{left:var(--pad);right:var(--pad);bottom:22px;flex-direction:column-reverse;align-items:flex-start;gap:10px}
  .hero-name .sh{font-size:78px;line-height:.9}
  .hero-name .lab{font-size:11px;text-align:left}

  /* BUSINESS */
  .biz .sec-main{display:block;padding-bottom:56px}
  .biz .body{margin-top:28px}
  .kw{margin-top:32px;gap:14px;font-size:11px}

  /* SERVICE 一覧 */
  .svc-list .sec-side{padding-bottom:24px}
  .svc-row{grid-template-columns:1fr auto;grid-template-areas:"num arrow" "name name" "copy copy";gap:0;padding:24px var(--pad);border-top:1px solid var(--line-strong);border-bottom:0}
  .svc-row:last-child{border-bottom:1px solid var(--line-strong)}
  .svc-num{grid-area:num}
  .svc-arrow{grid-area:arrow}
  .svc-txt{grid-area:name;margin-top:12px}
  .svc-name{font-size:32px;line-height:1.05}
  .svc-copy{grid-area:copy;margin-top:14px}

  /* SERVICE 詳細 */
  .svd-en{font-size:40px;line-height:1.02;padding-bottom:4px}
  .svd-jp{font-size:18px;margin-top:12px}
  .svd-grid{display:block;margin-top:28px}
  .svd-catch{font-size:22px;margin-top:20px}
  .svd-grid .body{margin-top:24px}
  .svd-sub{margin-top:28px;padding-bottom:12px}
  .svd-list li{font-size:14px;padding:13px 0}
  .svd-note{font-size:12px;line-height:1.7}

  /* VALUE */
  .val-sub{font-size:11px}
  .val-head{display:block;margin-top:20px}
  .val-head .body{margin-top:24px}
  .val-cards{display:block;margin-top:36px}
  .val-card{min-height:200px;padding:20px;gap:24px}
  .val-card+.val-card{border-left:0;border-top:1px solid var(--line-strong)}
  .vi{top:20px;right:20px;transform:scale(.667)}
  .val-word{font-size:44px}
  .val-desc{font-size:14px;margin-top:10px}
  .val-close{display:block;margin-top:64px}
  .val-close-ttl{font-size:40px;line-height:1.35}
  .val-close-txt{margin-top:20px;font-size:16px;line-height:1.8;text-align:left}

  /* 会社概要 */
  .spec{margin-top:8px}
  .spec-row{display:block;padding:18px 0}
  .spec-row dt{font-size:12px;margin-bottom:6px}
  .access{padding-top:24px}
  .access-head{margin-bottom:14px}
  .map{aspect-ratio:1 / 1}

  /* お問い合わせ帯 */
  .cta-band{display:block;padding:56px var(--pad)}
  .cta-band-ttl{font-size:28px;line-height:1.5;margin-top:20px}
  .cta-band .btn-dark{margin-top:32px;justify-content:space-between;padding:18px 20px;font-size:15px}

  /* フッター */
  .ftr-in{display:block;padding:40px var(--pad) 48px}
  .ftr-links{align-items:flex-start;margin-top:24px;gap:20px}
  .ftr-copy{font-size:12px}

  /* お問い合わせページ */
  .ct-hero .sec-side{padding-top:56px;padding-bottom:0}
  .ct-hero .sec-main{padding-top:20px;padding-bottom:48px}
  .ct-h1{font-size:56px}
  .ct-sub{margin-top:20px}
  .ct-lead{font-size:15px;line-height:1.9;margin-top:24px}
  .ct-form-wrap .sec-side{display:none}
  .ct-form-wrap .sec-main{padding:32px var(--pad) 72px}
  .steps{gap:28px;margin-bottom:28px}
  .f-row{display:block;padding:22px 0}
  .f-label{display:block;padding:0;margin-bottom:10px}
  fieldset.f-row legend{float:none;width:100%}
  .f-in,.f-in--short{max-width:none}
  .f-radio{flex-direction:column;gap:10px}
  .f-radio label{padding:14px 16px;font-size:15px}
  .f-foot{display:block;padding-top:28px}
  .f-foot>div:first-child{display:none}
  .f-submit .btn-light{width:100%;justify-content:space-between;padding:18px 20px;font-size:15px}
  .thanks-ttl{font-size:24px}
  .thanks-txt{font-size:15px;line-height:1.9;margin-top:20px}
  .thanks .btn-light{display:flex;justify-content:space-between;margin-top:40px;padding:18px 20px;font-size:15px}
}

/* ---------- アニメーション ---------- */
@keyframes aeSheen{0%{background-position:0% 0,0 0}60%,100%{background-position:100% 0,0 0}}
@keyframes aePulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.45}}
@keyframes aeSpin{to{transform:rotate(360deg)}}
@keyframes aeSweep{0%{transform:translateX(-110%)}70%,100%{transform:translateX(280%)}}
@keyframes aeGlow{0%,100%{transform:scale(.8);opacity:.6}50%{transform:scale(1.25);opacity:1}}
@keyframes aeTumbleA{from{transform:rotateY(28deg) rotateX(0)}to{transform:rotateY(28deg) rotateX(360deg)}}
@keyframes aeTumbleB{from{transform:rotateX(24deg) rotateY(0)}to{transform:rotateX(24deg) rotateY(-360deg)}}
@keyframes aeOrbit{from{transform:rotateX(72deg) rotateZ(0)}to{transform:rotateX(72deg) rotateZ(360deg)}}
@keyframes aeOrbitB{from{transform:rotateX(60deg) rotateY(34deg) rotateZ(360deg)}to{transform:rotateX(60deg) rotateY(34deg) rotateZ(0)}}
@keyframes aeFloatBig{0%,100%{transform:translateY(14px) scale(1)}50%{transform:translateY(-26px) scale(1.07)}}
@keyframes aeBg{from{transform:scale(1);opacity:.75}to{transform:scale(1.35);opacity:1}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ---------- プライバシーポリシーページ ---------- */
.pp .sec-main{padding-bottom:120px}
.pp-meta{font:400 14px/1.9 var(--jp);color:var(--sub);margin-bottom:48px}
.pp-intro{font:400 15px/2 var(--jp);max-width:46em;margin-bottom:56px}
.pp-sec{border-top:1px solid var(--line);padding:40px 0;display:grid;grid-template-columns:240px 1fr;gap:24px}
.pp-sec h2{font:500 17px/1.6 var(--jp)}
.pp-sec h2 .lab{display:block;margin-bottom:8px}
.pp-body{font:400 15px/2 var(--jp);max-width:46em;letter-spacing:.02em}
.pp-body p{margin:0 0 16px}
.pp-body p:last-child{margin-bottom:0}
.pp-body ol,.pp-body ul{margin:0 0 16px;padding-left:1.6em}
.pp-body li{margin:0 0 6px}
.pp-body h3{font:500 15px/1.8 var(--jp);margin:24px 0 8px}
.pp-body h3:first-child{margin-top:0}
.pp-box{border:1px solid var(--line);padding:20px 24px;margin-top:8px}
.pp-box dl{margin:0;display:grid;grid-template-columns:8em 1fr;gap:8px 16px}
.pp-box dt{color:var(--muted)}
.pp-box dd{margin:0}
/* 【要記入】の目印（記入したら <mark class="todo"> ごと消してください） */
.todo{background:#4A3B00;color:#FFE38A;padding:0 4px;border-radius:2px}
@media (max-width:1199px){.pp-sec{grid-template-columns:180px 1fr}}
@media (max-width:767px){
  .pp .sec-main{padding-bottom:72px}
  .pp-meta{margin-bottom:32px}
  .pp-intro{margin-bottom:40px}
  .pp-sec{display:block;padding:32px 0}
  .pp-sec h2{margin-bottom:16px}
  .pp-box{padding:16px}
  .pp-box dl{grid-template-columns:1fr;gap:2px}
  .pp-box dd{margin-bottom:10px}
}
