/* LEGENDORE 会社サイト共通スタイル（SNS運用代行LP /marketing/ と同じトークン） */
:root{--bg:#0A0C12;--panel:#12151D;--line:#262A35;--text:#F3F1EC;--sub:#BBB7AE;--mute:#9E9A92;--accent:#C9A762;--accent-2:#E6CD95;--ink:#0A0C12;
  --gold:linear-gradient(135deg,#E3C88E 0%,#C9A762 45%,#A88443 100%);
  --en:'Cinzel',serif;--jp:'Zen Kaku Gothic New','Hiragino Sans','Yu Gothic',sans-serif;--mincho:'Shippori Mincho B1','Hiragino Mincho ProN','Yu Mincho',serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--jp);line-height:1.8;overflow-x:hidden}
main{overflow-x:clip}
a{color:var(--accent)}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.kicker{margin:0;font-family:var(--en);font-weight:600;color:var(--accent);letter-spacing:.22em;font-size:13px}
h2{margin:0;font-family:var(--mincho);font-size:clamp(30px,4vw,48px);font-weight:700;line-height:1.4;letter-spacing:.02em}
section{padding:120px 0}
.head{display:flex;flex-direction:column;gap:12px;margin-bottom:48px}
.head p.lead{margin:0;color:var(--sub);max-width:640px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:16px 30px;border-radius:999px;font-weight:900;text-decoration:none;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn-main{background:var(--gold);color:var(--ink)}
.btn-ghost{border:1px solid #4A4A4D;color:var(--text);font-weight:700}
.btn-ink{background:var(--ink);color:var(--accent)}
.arrow::after{content:"→";font-family:var(--en)}

/* header */
.progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);z-index:40;pointer-events:none}
header{position:sticky;top:0;z-index:30;background:rgba(11,11,12,.92);border-bottom:1px solid #222224;backdrop-filter:blur(8px)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;max-width:1200px;margin:0 auto}
.logo{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;font-family:var(--en);font-weight:600;font-size:20px;letter-spacing:.16em}
.logo img{height:40px;width:auto}
nav.gnav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:500}
nav.gnav a{color:#D9D9D5;text-decoration:none}
nav.gnav a[aria-current="page"]{color:var(--accent)}
nav.gnav a.btn[aria-current="page"]{color:var(--ink)}
nav.gnav .btn{padding:10px 20px;min-height:44px;color:var(--ink)}
.menu-btn{display:none;width:44px;height:44px;border:1px solid #3A3A3D;border-radius:12px;background:transparent;color:var(--text);cursor:pointer;place-items:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:18px;height:2px;background:currentColor;position:relative;transition:transform .3s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
@media(max-width:860px){
  .menu-btn{display:grid}
  nav.gnav{position:fixed;inset:69px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 28px;background:var(--bg);box-shadow:0 30px 60px rgba(0,0,0,.6);border-bottom:1px solid #222224;
    transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
  nav.gnav a{padding:16px 0;border-bottom:1px solid #1E1E21;font-size:16px}
  nav.gnav .btn{margin-top:18px;border-bottom:0;padding:16px}
  header.open nav.gnav{transform:none;opacity:1;pointer-events:auto}
  header.open .menu-btn span{background:transparent}
  header.open .menu-btn span::before{transform:translateY(6px) rotate(45deg)}
  header.open .menu-btn span::after{transform:translateY(-6px) rotate(-45deg)}
}

/* hero（トップ） */
.hero{position:relative;overflow:hidden;min-height:min(94vh,900px);display:flex;align-items:center;padding:120px 0 80px;background:var(--bg)}
.hero-bg{position:absolute;inset:0;background:url(/images/hero-pc.webp) center right/cover no-repeat;transform-origin:70% 45%;will-change:transform}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,12,.95) 0%,rgba(11,11,12,.75) 45%,rgba(11,11,12,.2) 100%)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;opacity:0;transition:opacity 1.2s}
.hero-video.on{opacity:1}
@media(max-width:760px){.hero{align-items:flex-start}.hero-bg{background-image:url(/images/hero-sp.webp);background-position:center bottom;transform-origin:50% 80%}
  .hero-bg::after{background:linear-gradient(180deg,rgba(11,11,12,.95) 0%,rgba(11,11,12,.75) 55%,rgba(11,11,12,.45) 100%)}.hero-video{display:none}}
.hero .wrap{position:relative;width:100%}
.hero-copy{max-width:640px;display:flex;flex-direction:column;gap:28px}
.hero h1{margin:0;font-family:var(--mincho);font-size:clamp(46px,7.6vw,100px);line-height:1.15;font-weight:800;letter-spacing:.02em}
.hero h1 i{font-style:normal;color:var(--accent)}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.hero h1 .ln>span{display:block}
.hero p.lead{margin:0;font-size:17px;line-height:1.95;color:#D2D2CD}
.hero .ctas{display:flex;flex-wrap:wrap;gap:14px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:520px}
.stat{background:rgba(20,20,22,.8);border:1px solid var(--line);border-radius:18px;padding:16px 18px}
.stat small{display:block;font-size:13px;color:var(--mute)}
.stat strong{font-family:var(--en);font-weight:600;font-size:28px;white-space:nowrap}
.stat strong span.u{font-family:var(--jp);font-size:15px;font-weight:700}
.note{margin:-12px 0 0;font-size:13px;color:#8E8E89}
html.motion .hero-bg{animation:bgin 2.6s cubic-bezier(.16,.8,.2,1) both}
html.motion .hero h1 .ln>span{animation:lineup 1.2s cubic-bezier(.16,.9,.2,1) both}
html.motion .hero h1 .ln:nth-child(2)>span{animation-delay:.12s}
html.motion .hero h1 .ln:nth-child(3)>span{animation-delay:.24s}
html.motion .rise{animation:rise .9s .35s cubic-bezier(.2,.7,.2,1) both}
@keyframes bgin{from{scale:1.18;opacity:0}to{scale:1;opacity:1}}
@keyframes lineup{from{transform:translateY(105%)}to{transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

/* 下層ページの見出し */
.page-hero{position:relative;overflow:hidden;padding:150px 0 90px;border-bottom:1px solid #1E1E21;
  background:radial-gradient(70vmax 50vmax at 85% 0%,rgba(201,167,98,.12),transparent 65%),var(--bg)}
.page-hero h1{margin:14px 0 0;font-family:var(--mincho);font-size:clamp(40px,6.5vw,80px);line-height:1.2;font-weight:800}
.page-hero p.lead{margin:22px 0 0;max-width:680px;font-size:17px;color:var(--sub)}
.crumb{margin:0 0 24px;font-size:13px;color:var(--mute)}
.crumb a{color:var(--mute);text-decoration:none}

/* メイン事業（SNS運用代行）の大きな案内 */
.main-svc{background:var(--gold);color:var(--ink);border-radius:36px;padding:clamp(32px,6vw,72px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center}
.main-svc .kicker{color:var(--ink)}
.main-svc h2{margin:14px 0 18px;font-size:clamp(30px,4.4vw,56px)}
.main-svc p{margin:0;color:#2A2416;font-size:16px}
.main-svc ul{list-style:none;margin:24px 0 32px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.main-svc li{font-size:13px;font-weight:900;border:1.5px solid var(--ink);border-radius:999px;padding:6px 14px}
.metrics{display:grid;gap:12px}
.metric{background:var(--ink);color:var(--text);border-radius:22px;padding:20px 26px;display:grid;gap:2px}
.metric small{font-size:13px;color:var(--mute)}
.metric strong{font-size:clamp(26px,3vw,36px);font-weight:900;color:var(--accent);line-height:1.2}
.metric span{font-size:13px;color:var(--sub)}
.metrics .src{margin:4px 4px 0;font-size:13px;color:#4A3F28}
@media(max-width:900px){.main-svc{grid-template-columns:1fr}}

/* 事業カード */
.biz{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media(max-width:960px){.biz{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.biz{grid-template-columns:1fr}}
.biz a{position:relative;display:flex;flex-direction:column;gap:12px;min-height:260px;padding:32px;border-radius:24px;background:var(--panel);border:1px solid var(--line);color:var(--text);text-decoration:none;
  background-image:radial-gradient(420px circle at var(--mx,-999px) var(--my,-999px),rgba(201,167,98,.13),transparent 60%);transition:transform .25s,border-color .25s}
.biz a:hover{transform:translateY(-6px);border-color:var(--accent)}
.biz .no{font-family:var(--en);font-size:44px;line-height:1;color:transparent;-webkit-text-stroke:1.2px #4A4A4D;transition:-webkit-text-stroke-color .3s}
.biz a:hover .no{-webkit-text-stroke-color:var(--accent)}
.biz .en{font-family:var(--en);font-size:13px;letter-spacing:.1em;color:var(--accent)}
.biz h3{margin:0;font-size:22px;font-weight:900;line-height:1.4}
.biz p{margin:0;font-size:14px;color:var(--sub);flex-grow:1}
.biz .go{font-size:13px;font-weight:700;color:var(--accent)}
.biz a.is-main{border-color:var(--accent)}
.biz a.is-main .tag{position:absolute;top:28px;right:28px;font-size:13px;font-weight:900;background:var(--accent);color:var(--ink);border-radius:999px;padding:4px 12px}

/* 数字の帯 */
.numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.numbers div{padding:44px 24px;text-align:center;border-left:1px solid var(--line)}
.numbers div:first-child{border-left:0}
.numbers strong{display:block;font-family:var(--en);font-weight:600;font-size:clamp(44px,6vw,80px);line-height:1.05}
.numbers strong small{font-family:var(--jp);font-size:.32em;font-weight:900}
.numbers div > span{display:block;margin-top:8px;font-size:14px;color:var(--sub)}
@media(max-width:700px){.numbers{grid-template-columns:1fr}.numbers div{border-left:0;border-top:1px solid var(--line)}.numbers div:first-child{border-top:0}}

/* 代表メッセージ（抜粋） */
.message{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:center}
.portrait{aspect-ratio:4/5;border-radius:28px;background:linear-gradient(160deg,#1C1C1F,#0E0E10);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#6B6B66;font-size:13px;letter-spacing:.08em}
.message blockquote{margin:24px 0;font-family:var(--mincho);font-size:clamp(22px,2.6vw,32px);font-weight:700;line-height:1.7}
.message blockquote em{font-style:normal;color:var(--accent)}
.message p{margin:0;color:var(--sub)}
.sign{margin-top:24px!important;color:var(--text)!important;font-weight:700}
.sign small{display:block;font-size:13px;color:var(--mute);font-weight:500}
@media(max-width:860px){.message{grid-template-columns:1fr}.portrait{max-width:360px}}

/* お問い合わせの帯 */
.cta-band{background:radial-gradient(60% 120% at 50% 0%,rgba(255,255,255,.25),transparent 60%),var(--gold);color:var(--ink);text-align:center}
.cta-band .kicker{color:var(--ink)}
.cta-band h2{margin:16px 0 18px;font-size:clamp(32px,5vw,60px)}
.cta-band p{margin:0 auto 32px;max-width:560px;color:#2A2416}
.cta-band .ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.cta-band .tel{font-family:var(--en);font-size:24px;color:var(--ink);text-decoration:none;display:inline-block;margin-top:24px}

/* 事業内容ページ */
.svc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;padding:72px 0;border-top:1px solid var(--line)}
.svc:first-child{border-top:0;padding-top:0}
.svc .no{font-family:var(--en);font-size:clamp(72px,10vw,140px);line-height:.9;color:transparent;-webkit-text-stroke:1.5px #3A3A3D}
.svc .en{display:block;margin-top:18px;font-family:var(--en);font-size:13px;letter-spacing:.1em;color:var(--accent)}
.svc h2{margin:8px 0 0;font-size:clamp(28px,3.4vw,42px)}
.svc p{margin:0 0 18px;color:var(--sub);font-size:16px}
.svc ul{margin:0 0 28px;padding-left:1.2em;color:var(--sub);font-size:15px}
.svc ul li{margin:4px 0}
.svc.is-main .no{-webkit-text-stroke-color:var(--accent)}
@media(max-width:860px){.svc{grid-template-columns:1fr;gap:20px}}

/* 会社概要の表 */
.info{width:100%;border-collapse:collapse;font-size:15px}
.info th,.info td{padding:22px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.info th{width:200px;color:var(--mute);font-weight:700}
.info td ul{margin:0;padding-left:1.2em}
@media(max-width:640px){.info th,.info td{display:block;width:auto;padding:4px 0}.info th{padding-top:20px}.info td{padding-bottom:20px}}
.profile{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}
.profile div{border:1px solid var(--line);border-radius:18px;padding:18px}
.profile small{display:block;font-size:13px;color:var(--mute)}
.profile strong{font-family:var(--en);font-weight:600;font-size:30px}
.profile strong span{font-family:var(--jp);font-size:15px;font-weight:700}
.prose{max-width:820px}
.prose p{color:var(--sub);font-size:16px;line-height:2.05;margin:0 0 1.4em}
.prose h2{font-size:22px;margin:48px 0 12px}
.prose h3{font-size:17px;margin:28px 0 8px}
.prose ul,.prose ol{color:var(--sub);line-height:2}

/* フォーム */
form.contact{background:var(--panel);border:1px solid var(--line);border-radius:28px;padding:clamp(24px,5vw,48px);display:flex;flex-direction:column;gap:20px;max-width:860px}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px}
form.contact label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700}
form.contact label em{color:var(--accent);font-style:normal}
form.contact label small{color:var(--mute);font-weight:500}
input,select,textarea{font:inherit;font-size:16px;background:#18181A;border:1px solid #3A3A3D;border-radius:12px;padding:14px;color:var(--text);min-height:50px}
form.contact .agree{flex-direction:row;align-items:center;gap:10px;font-weight:500;font-size:14px}
form.contact .agree input{min-height:0;width:24px;height:24px;flex:none;accent-color:var(--accent)}
form.contact button{background:var(--accent);color:var(--ink);border:0;border-radius:999px;padding:18px;font:inherit;font-size:16px;font-weight:900;cursor:pointer;min-height:56px}
.contact-side{display:flex;flex-direction:column;gap:18px;color:var(--sub)}
.contact-side .tel{font-family:var(--en);font-size:28px;color:var(--text);text-decoration:none}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);gap:48px;align-items:start}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* footer */
footer{padding:72px 0 40px;border-top:1px solid #1E1E21}
footer .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px}
footer .flogo{font-family:var(--en);font-size:30px;letter-spacing:.06em}
footer .flogo-img{width:140px;height:auto}
footer p{margin:12px 0 0;font-size:13px;line-height:1.9;color:var(--mute)}
footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;font-size:14px;align-content:start}
footer nav a{color:#D9D9D5;text-decoration:none}
footer .copy{grid-column:1/-1;font-size:13px;color:#6B6B66;margin-top:24px}
@media(max-width:700px){footer .wrap{grid-template-columns:1fr}}

/* スクロールで浮かび上がる */
html.motion .rv{opacity:0;translate:0 48px;filter:blur(8px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),translate 1.1s cubic-bezier(.16,.8,.2,1),filter .9s,transform .25s,border-color .25s}
html.motion .rv.in{opacity:1;translate:0 0;filter:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ===== 事業ビジュアル（写真が届くまでの図版。.viz の中身を <img> に差し替え可） ===== */
.viz{position:relative;aspect-ratio:4/3;border-radius:28px;overflow:hidden;border:1px solid var(--line);
  background:radial-gradient(120% 80% at 80% 110%,rgba(201,167,98,.16),transparent 60%),linear-gradient(160deg,#18181B,#0D0D0F);display:grid;place-items:center}
.viz svg{width:78%;height:auto;overflow:visible}
.viz .cap{position:absolute;left:22px;bottom:18px;font-family:var(--en);font-size:13px;letter-spacing:.14em;color:#6B6B66}
.viz text{font-family:var(--jp);font-weight:700}
/* 01 SNS：スマホ＋ハート */
.viz-sns .mphone{position:relative;width:34%;aspect-ratio:9/19;border-radius:28px;background:#000;padding:6px;box-shadow:0 30px 60px -20px rgba(0,0,0,.8),inset 0 0 0 1.5px #34343A;rotate:-6deg}
.viz-sns .mphone .scr{position:relative;height:100%;border-radius:22px;overflow:hidden;background:url(/images/hero-sp.webp) center 70%/cover}
.viz-sns .mphone .scr::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.7))}
.viz-sns .icons{position:absolute;right:8px;bottom:22%;display:flex;flex-direction:column;gap:9px;z-index:2}
.viz-sns .icons i{width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.25)}
.viz-sns .icons i:first-child{background:var(--accent)}
.viz-sns .bar{position:absolute;left:10px;right:10px;bottom:10px;height:2px;background:rgba(255,255,255,.25);z-index:2;overflow:hidden;border-radius:2px}
.viz-sns .bar::after{content:"";position:absolute;inset:0;background:var(--accent);transform-origin:0 50%;animation:vbar 4s linear infinite}
.viz-sns .hearts{position:absolute;right:30%;bottom:26%;width:40px;height:60%}
.viz-sns .hearts b{position:absolute;bottom:0;left:50%;width:18px;height:18px;color:var(--accent);font-size:18px;line-height:1;opacity:0;animation:heart 3.2s ease-out infinite}
.viz-sns .hearts b:nth-child(2){animation-delay:.8s;left:20%}
.viz-sns .hearts b:nth-child(3){animation-delay:1.6s;left:70%}
.viz-sns .hearts b:nth-child(4){animation-delay:2.4s;left:35%}
.viz-sns .chip{position:absolute;padding:8px 14px;border-radius:999px;background:rgba(11,11,12,.85);border:1px solid var(--line);font-size:13px;font-weight:700;color:var(--text);white-space:nowrap}
.viz-sns .chip.c1{left:10%;top:18%}.viz-sns .chip.c2{right:8%;top:30%}.viz-sns .chip.c3{left:14%;bottom:18%}
.viz-sns .chip::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:7px;vertical-align:middle}
@keyframes heart{0%{opacity:0;transform:translate(-50%,0) scale(.6)}15%{opacity:1}100%{opacity:0;transform:translate(-50%,-180px) scale(1.2)}}
@keyframes vbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* 線を描く・伸びるアニメーション（画面に入ったら） */
.viz .draw{stroke-dasharray:var(--len,600);stroke-dashoffset:0}
html.motion .viz .draw{stroke-dashoffset:var(--len,600);transition:stroke-dashoffset 2s cubic-bezier(.4,0,.2,1) .3s}
html.motion .in .viz .draw,html.motion .viz.in .draw{stroke-dashoffset:0}
.viz .grow{transform-box:fill-box;transform-origin:50% 100%}
html.motion .viz .grow{transform:scaleY(0);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
html.motion .in .viz .grow,html.motion .viz.in .grow{transform:none}
.viz .pulse{animation:pulse2 2s ease-in-out infinite}
@keyframes pulse2{50%{opacity:.35}}
/* 05 芸能：流れるコメント */
.viz-live .cmts{position:absolute;left:12%;bottom:16%;width:46%;height:46%;overflow:hidden;mask-image:linear-gradient(transparent,#000 35%)}
.viz-live .cmts span{position:absolute;left:0;bottom:-30px;padding:6px 12px;border-radius:12px;background:rgba(255,255,255,.08);font-size:13px;color:var(--text);white-space:nowrap;animation:cmt 6s linear infinite}
.viz-live .cmts span:nth-child(2){animation-delay:1.5s}.viz-live .cmts span:nth-child(3){animation-delay:3s}.viz-live .cmts span:nth-child(4){animation-delay:4.5s}
@keyframes cmt{0%{transform:translateY(0);opacity:0}10%{opacity:1}100%{transform:translateY(-200px);opacity:0}}

/* ===== トップ：事業を1つずつ見せる行 ===== */
.biz-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.biz-chips a{display:inline-block;font-size:13px;font-weight:700;padding:10px 14px;border-radius:999px;border:1px solid rgba(201,167,98,.45);color:var(--text);background:rgba(11,11,12,.55);text-decoration:none;transition:background .2s,color .2s}
.biz-chips a:hover{background:var(--accent);color:var(--ink)}
.biz-chips li:first-child a{background:var(--gold);color:var(--ink);border-color:var(--accent)}
.rows{display:flex;flex-direction:column;gap:28px}
.brow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding:28px 0}
.brow:nth-child(even) .viz{order:2}
.brow .no{font-family:var(--en);font-size:15px;color:var(--accent);letter-spacing:.1em}
.brow .en{margin-left:10px;font-family:var(--en);font-size:13px;letter-spacing:.12em;color:var(--mute)}
.brow h3{margin:10px 0 14px;font-family:var(--mincho);font-size:clamp(28px,3.4vw,44px);font-weight:800;line-height:1.35}
.brow p{margin:0 0 20px;color:var(--sub);font-size:16px}
.brow .tags{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.brow .tags li{font-size:13px;font-weight:700;border:1px solid #3A3A3D;border-radius:999px;padding:5px 12px;color:#D9D9D5}
.brow.is-main{background:var(--gold);color:var(--ink);border-radius:36px;padding:clamp(28px,5vw,56px);margin-bottom:24px}
.brow.is-main .no,.brow.is-main .en{color:var(--ink)}
.brow.is-main p{color:#2A2416}
.brow.is-main .tags li{border-color:var(--ink);color:var(--ink)}
.brow.is-main .viz{border-color:rgba(11,11,12,.25)}
.brow .mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 28px}
.brow .mini-metrics div{background:var(--ink);border-radius:16px;padding:14px 16px}
.brow .mini-metrics small{display:block;font-size:13px;color:var(--mute)}
.brow .mini-metrics strong{display:block;font-size:clamp(16px,1.6vw,20px);font-weight:900;color:var(--accent);line-height:1.35}
.brow .main-label{display:inline-block;margin-left:10px;font-size:13px;font-weight:900;background:var(--ink);color:var(--accent);border-radius:999px;padding:3px 10px;vertical-align:middle}
@media(max-width:860px){.brow{grid-template-columns:1fr;gap:28px}.brow:nth-child(even) .viz{order:0}.brow .mini-metrics{grid-template-columns:1fr}}
.svc .viz{margin-top:28px}

/* ===== ロゴが組み上がるブランドストーリー（トップ） ===== */
.legend{position:relative;background:var(--bg)}
.legend-pin{position:relative;height:100vh;height:100svh;overflow:hidden}
html.motion .legend{height:460vh}
html.motion .legend-pin{position:sticky;top:0}
.legend-cv{position:absolute;inset:0;width:100%;height:100%}
.legend-pin::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(10,12,18,.8) 0%,rgba(10,12,18,.35) 38%,transparent 55%);opacity:var(--shade,1)}
.chap,.legend-final,.legend-hint{z-index:2}
@media(max-width:760px),(orientation:portrait) and (max-width:1199px){.legend-pin::after{background:linear-gradient(0deg,rgba(10,12,18,.9) 0%,rgba(10,12,18,.5) 35%,transparent 55%)}}
.chap{position:absolute;left:max(24px,calc((100vw - 1200px)/2 + 24px));top:50%;translate:0 -50%;max-width:440px;opacity:0;transition:none;pointer-events:none}
.chap .en{display:block;font-family:var(--en);font-weight:600;font-size:clamp(40px,6vw,88px);letter-spacing:.12em;line-height:1;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.chap h2{margin:20px 0 14px;font-size:clamp(26px,3vw,40px)}
.chap p{margin:0;color:var(--sub);font-size:16px;line-height:2}
.chap .idx{display:block;margin-bottom:18px;font-family:var(--en);font-size:13px;letter-spacing:.3em;color:var(--mute)}
.legend-final{position:absolute;left:0;right:0;bottom:5vh;text-align:center;opacity:0;padding:0 24px}
.legend.is-light .legend-final p.msg{color:#5A5345}
.legend-final p.msg{font-family:var(--mincho);font-weight:700;font-size:clamp(15px,1.6vw,19px);line-height:1.9;letter-spacing:.06em}
.legend-final h2{margin:10px 0 10px;font-family:var(--en);font-weight:600;font-size:clamp(22px,3vw,36px);letter-spacing:.28em}
.legend-final h2 small{font-family:var(--mincho);font-size:.7em;letter-spacing:.2em;margin-right:.6em}
.legend-final p.msg{margin:0 auto;max-width:620px;color:var(--sub)}
.legend-hint{position:absolute;left:50%;bottom:28px;translate:-50% 0;font-family:var(--en);font-size:13px;letter-spacing:.35em;color:var(--mute)}
.legend-hint::after{content:"";display:block;width:1px;height:36px;margin:10px auto 0;background:linear-gradient(var(--accent),transparent);animation:hint 1.8s ease-in-out infinite}
@keyframes hint{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
/* 動きを減らす設定・JSなし：完成したロゴと4つの意味を並べて表示 */
.legend-static{display:none}
html:not(.motion) .legend-cv,html:not(.motion) .chap,html:not(.motion) .legend-hint{display:none}
html:not(.motion) .legend-pin{height:auto;padding:100px 0}
html:not(.motion) .legend-static{display:block}
html:not(.motion) .legend-final{position:static;opacity:1;margin-top:24px}
.legend-static img{display:block;width:min(70vw,440px);margin:0 auto}
.legend-static ul{list-style:none;margin:40px auto 0;padding:0 24px;max-width:1000px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.legend-static li{border:1px solid var(--line);border-radius:20px;padding:22px}
.legend-static li b{display:block;font-family:var(--en);letter-spacing:.12em;color:var(--accent)}
@media(max-width:760px),(orientation:portrait) and (max-width:1199px){
  .chap{left:24px;right:24px;top:auto;bottom:9vh;translate:none;max-width:none}
  .chap .en{font-size:44px}
  .chap h2{margin:12px 0 8px;font-size:24px}
  .chap p{font-size:14px}
  .legend-final{bottom:8vh}
}

/* 会社情報：社名の由来 */
.origin{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:center}
.origin-logo{border-radius:28px;background:radial-gradient(70% 70% at 50% 45%,rgba(201,167,98,.14),transparent 70%),var(--panel);border:1px solid var(--line);padding:40px;display:grid;place-items:center}
.origin-logo img{width:100%;max-width:360px;height:auto}
.origin-lead{margin:0;color:var(--sub);font-size:16px;line-height:2}
.origin-list{margin:28px 0;display:grid;gap:12px}
.origin-list div{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:baseline;padding:16px 0;border-top:1px solid var(--line)}
.origin-list div:last-child{border-bottom:1px solid var(--line)}
.origin-list dt{font-family:var(--mincho);font-weight:700;font-size:18px}
.origin-list dt span{display:block;font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.2em;color:var(--accent)}
.origin-list dd{margin:0;color:var(--sub)}
@media(max-width:860px){.origin{grid-template-columns:1fr;gap:32px}.origin-logo{max-width:420px}.origin-list div{grid-template-columns:1fr;gap:4px}}

/* トップ：実績の数字（最初の画面のすぐ下） */
.numbers-sec{padding:56px 0 0}
/* トップ：導入事例・選ばれる理由・流れ・よくある質問 */
.reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.reason{background:var(--bg);padding:40px 32px}
.reason .n{font-family:var(--en);font-size:44px;line-height:1;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.reason h3{margin:18px 0 10px;font-family:var(--mincho);font-size:22px;line-height:1.5}
.reason p{margin:0;color:var(--sub);font-size:14px}
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cs{border-radius:20px;overflow:hidden;background:var(--panel);border:1px solid var(--line)}
.cs .top{padding:26px 26px 20px;background:radial-gradient(120% 90% at 0% 0%,rgba(201,167,98,.22),transparent 60%)}
.cs .cat{font-size:13px;color:var(--accent);font-weight:700}
.cs h3{margin:4px 0 16px;font-size:16px}
.cs .big{font-family:var(--mincho);font-size:40px;font-weight:800;line-height:1.1;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.cs .sub{margin:6px 0 0;font-size:13px;color:var(--accent-2)}
.cs .bd{padding:18px 26px 26px;border-top:1px solid var(--line)}
.cs dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px}
.cs dt{color:var(--accent)} .cs dd{margin:0;color:var(--sub)}
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:s}
.flow li{position:relative;padding:26px 22px;border-top:2px solid var(--accent)}
.flow li span{font-family:var(--en);color:var(--accent);font-size:13px;letter-spacing:.2em}
.flow li h3{margin:8px 0;font-size:18px}
.flow li p{margin:0;color:var(--sub);font-size:13px}
.faq{max-width:860px}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:18px 0;font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--en);color:var(--accent);font-size:22px;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:0 0 20px;color:var(--sub);font-size:15px}
@media(max-width:860px){.reasons,.cases{grid-template-columns:1fr}.flow{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.flow{grid-template-columns:1fr}}
/* ロゴ演出：始まりの見出しとスキップ */
.legend-intro{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;pointer-events:none;padding:0 24px;background:radial-gradient(ellipse 46% 38% at 50% 50%,rgba(6,8,14,.82),rgba(6,8,14,.45) 60%,transparent 100%)}
.legend-intro h2{font-size:clamp(30px,4.6vw,56px);text-shadow:0 4px 30px rgba(0,0,0,.6)}
.legend-skip{position:absolute;right:24px;bottom:24px;z-index:3;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid rgba(201,167,98,.5);border-radius:999px;background:rgba(10,12,18,.55);backdrop-filter:blur(6px);color:var(--accent-2);font-size:13px;font-weight:700;text-decoration:none;transition:opacity .3s}
.legend-skip::after{content:"↓";font-family:var(--en)}
.legend.is-light .legend-skip{background:rgba(255,255,255,.7);color:#6B5428}
html:not(.motion) .legend-intro,html:not(.motion) .legend-skip{display:none}

/* 画面の下を背景色へうっすら溶かす（Appleの製品ページのような下端のぼかし） */
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(10,12,18,.55) 55%,var(--bg) 100%)}
.hero > .wrap{position:relative;z-index:1}
.legend-pin::before{content:"";position:absolute;left:0;right:0;bottom:0;height:30%;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 0%,var(--edge,#0A0C12) 100%);opacity:.92}

/* スマホ：画面下に固定する問い合わせボタン（FVと問い合わせ欄が見えている間は隠す） */
.mbar{display:none}
@media(max-width:760px){
  .mbar{position:fixed;left:12px;right:12px;bottom:calc(62px + env(safe-area-inset-bottom));z-index:50;display:flex;gap:8px;padding:7px;border-radius:999px;
    background:rgba(10,12,18,.84);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(201,167,98,.4);box-shadow:0 14px 40px rgba(0,0,0,.55);transition:transform .35s,opacity .35s}
  .mbar .btn{flex:1;min-height:48px;padding:12px 16px;font-size:15px}
  .mbar-tel{display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:48px;border-radius:999px;border:1px solid #4A4A4D;color:var(--text);font-weight:700;text-decoration:none}
  .mbar.off{transform:translateY(150%);opacity:0;pointer-events:none}
  footer{padding-bottom:170px}
}

/* 目的別の入口（採用・集客・認知） */
#purpose{padding-top:clamp(56px,8vw,96px)}
.purpose{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pp{position:relative;display:flex;flex-direction:column;gap:14px;padding:34px 30px 30px;border-radius:24px;background:linear-gradient(180deg,#151924,#0F121A);border:1px solid var(--line);overflow:hidden}
.pp::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--gold)}
.pp .no{font-family:var(--en);font-size:14px;letter-spacing:.14em;color:var(--accent)}
.pp h3{margin:0;font-size:clamp(22px,2.2vw,27px);line-height:1.45;font-weight:900}
.pp p{margin:0;color:var(--sub);font-size:15px;flex:1}
.pp-case{display:flex;flex-direction:column;gap:2px;padding:14px 18px;border-radius:16px;background:rgba(201,167,98,.08);border:1px solid rgba(201,167,98,.25);color:var(--text);text-decoration:none;transition:background .2s}
.pp-case:hover{background:rgba(201,167,98,.16)}
.pp-case small{font-size:13px;color:var(--mute)}
.pp-case b{font-size:20px;font-weight:900;color:var(--accent-2)}
.pp .btn{align-self:stretch;padding:14px 20px;font-size:15px}
.cs:target{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:900px){.purpose{grid-template-columns:1fr}.pp h3 br{display:none}}

.portrait{overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}

/* ===== 2026-11-03 見やすさの改善 ===== */
/* 事業紹介（トップ）：02〜06は小さなカード */
.bcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}
@media(max-width:960px){.bcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.bcards{grid-template-columns:1fr;gap:12px;margin-top:24px}}
.bcard{display:flex;flex-direction:column;gap:10px;padding:26px;border:1px solid var(--line);border-radius:22px;background:var(--panel);color:var(--text);text-decoration:none;transition:border-color .2s,transform .2s}
.bcard:hover{border-color:var(--accent);transform:translateY(-3px)}
.bcard .bc-hd{display:flex;align-items:baseline;gap:10px}
.bcard .no{font-family:var(--en);font-size:15px;color:var(--accent);letter-spacing:.1em}
.bcard .en{font-family:var(--en);font-size:13px;letter-spacing:.12em;color:var(--mute)}
.bcard h3{margin:0;font-size:21px;line-height:1.5}
.bcard p{margin:0;font-size:15px;line-height:1.85;color:var(--sub);flex-grow:1}
.bcard .more{font-size:14px;font-weight:700;color:var(--accent-2)}
.bcard-all{border-color:rgba(201,167,98,.5);background:linear-gradient(160deg,rgba(201,167,98,.14),rgba(201,167,98,.03))}
@media(max-width:620px){.bcard{padding:22px}.bcard p{font-size:14px}}
/* 実績の数字：スマホでも横に3つ並べる */
@media(max-width:700px){
  .numbers{grid-template-columns:repeat(3,minmax(0,1fr))}
  .numbers div{padding:26px 6px;border-top:0;border-left:1px solid var(--line)}
  .numbers div:first-child{border-left:0}
  .numbers strong{font-size:31px}
  .numbers div > span{font-size:13px;line-height:1.6}
  .numbers-sec{padding-top:32px}
}
/* 見出し・ボタンを言葉の途中で改行しない */
h1,h2,h3,blockquote,.btn{word-break:auto-phrase}
.ib{display:inline-block}
/* お問い合わせの（任意） */
form.contact label small{font-size:13px}
/* PCでは本文を少し大きく */
@media(min-width:1024px){
  .reason p,.pp p,.flow li p,.biz p{font-size:16px}
  .cs dl,.cs .sub,.numbers div > span{font-size:15px}
  .brow p,.message p,.faq p,.head p.lead{font-size:17px}
  .faq summary{font-size:17px}
}
/* ロゴ演出の終わり：白い画面にせず、暗い背景にゴールドのロゴを出す */
.legend-logo{position:absolute;left:50%;top:44%;z-index:2;width:min(60vw,330px);height:auto;translate:-50% -50%;opacity:0;pointer-events:none}
html:not(.motion) .legend-logo{display:none}
@media(max-width:760px),(orientation:portrait) and (max-width:1199px){html.motion .legend{height:380vh}.legend-logo{top:40%;width:min(64vw,280px)}}
/* スマホの固定ボタン：下へ読み進めている間は隠し、上へ戻すと出す。少し細く */
@media(max-width:760px){
  .mbar{padding:5px;transition:transform .3s,opacity .3s}
  .mbar .btn,.mbar-tel{min-height:44px}
  .mbar .btn{padding:10px 16px}
  .mbar.hide{transform:translateY(150%);opacity:0;pointer-events:none}
}
/* スマホ：事業カードは2列にして、説明文は事業内容ページに任せる */
@media(max-width:620px){
  .bcards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .bcard{padding:18px 16px;gap:8px;border-radius:18px}
  .bcard p{display:none}
  .bcard h3{font-size:17px;flex-grow:1}
  .bcard .en{font-size:13px;letter-spacing:.06em}
  .bcard .more{font-size:13px}
  .bcard .bc-hd{flex-wrap:wrap;gap:2px 8px}
  .numbers strong small{font-size:13px}
}
@media(max-width:620px){.bcard h3{font-size:15.5px;letter-spacing:0}}
.numbers div > span{word-break:auto-phrase}
.hero-copy .lead{word-break:auto-phrase}

/* 押しやすさ：表の中の電話・メール、同意欄のリンク */
.info td a{display:inline-block;padding:10px 0}
form.contact .agree{min-height:44px}
form.contact .agree a{display:inline-block;padding:10px 0}
/* メニューを開いている間は裏のページをスクロールさせない */
html.menu-open,html.menu-open body{overflow:hidden}
html.menu-open .mbar{opacity:0;pointer-events:none}
/* フッターのリンクを押しやすく */
footer nav a{display:inline-flex;align-items:center;min-height:40px}
/* よくある質問：見出しはなるべく言葉の切れ目で折り返す */
.faq summary{word-break:auto-phrase}

/* ===== 2026-11-04 スマホの不具合修正 ===== */
/* お問い合わせ：選択欄の長い項目のせいで、フォームが画面の右へはみ出していた */
@media(max-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr)}}
form.contact input,form.contact select,form.contact textarea{max-width:100%;min-width:0}
form.contact select{width:100%;text-overflow:ellipsis}
/* 幅320px前後の小さいスマホ：見出しとロゴを一回り小さく */
@media(max-width:374px){
  .hero h1{font-size:40px}
  .hero p.lead{font-size:15.5px}
  .logo{gap:8px;font-size:17px;letter-spacing:.12em}.logo img{height:34px}
  .wrap{padding:0 20px}
}
/* ロゴ演出：スマホでは「次へ進む」を右上に置き、章の文章と重ねない。文字の後ろに薄い影 */
@media(max-width:760px),(orientation:portrait) and (max-width:1199px){
  .legend-skip{top:84px;bottom:auto;right:16px;min-height:40px;padding:8px 14px}
  .chap .idx,.chap h2,.chap p{text-shadow:0 2px 14px rgba(0,0,0,.85)}
  .chap .en{filter:drop-shadow(0 2px 10px rgba(0,0,0,.8))}
  .legend-final p.msg{font-size:15px}
}
/* 幅375px未満：数字の説明、見出し、事業カードを収める */
@media(max-width:374px){
  .numbers div{padding:22px 2px}
  .numbers div > span{font-size:12.5px;letter-spacing:0}
  .numbers strong{font-size:27px}
  h2{font-size:24px;letter-spacing:0}
  .pp h3{font-size:21px}
  .bcards{grid-template-columns:1fr;gap:8px}
  .bcard{padding:14px 18px;gap:4px}
  .bcard h3{font-size:16px}
  .bcard .bc-hd{flex-wrap:nowrap}
}
@media(max-width:374px){.reason h3{font-size:19px}.message blockquote{font-size:22px}}
.profile strong{white-space:nowrap}
@media(max-width:374px){.profile div{padding:14px 10px}.profile strong{font-size:25px}footer nav{grid-template-columns:repeat(2,max-content)}}
@media(max-width:374px){.svc h2{font-size:24px}.page-hero h1{font-size:36px}}
form.contact a[href="/privacy/"]{white-space:nowrap}
/* タブレット縦向き：ロゴ演出はスマホと同じ「上に映像・下に文章」の並びにし、文字は大きめに */
@media(orientation:portrait) and (min-width:761px) and (max-width:1199px){
  .chap{left:48px;right:48px;max-width:680px}
  .chap .en{font-size:64px}
  .chap h2{font-size:32px}
  .chap p{font-size:17px}
  .legend-final p.msg{font-size:18px}
  .legend-logo{width:min(46vw,360px)}
}
/* 横向きのスマホ（背の低い画面）：ロゴ演出の文字を小さくして左にまとめ、ロゴと文章を重ねない */
@media(orientation:landscape) and (max-height:560px){
  .chap{max-width:min(42vw,400px)}
  .chap .idx{margin-bottom:8px}
  .chap .en{font-size:36px}
  .chap h2{margin:8px 0 6px;font-size:21px}
  .chap p{font-size:13.5px;line-height:1.8}
  .legend-intro h2{font-size:28px}
  .legend-logo{width:auto;height:40vh;top:47%}
  .legend-final{bottom:5vh}
  .legend-final p.msg{font-size:14px}
}
/* 横長の小さめの画面（1024〜1300px）：章の文章の幅を少し狭め、映像と間を空ける */
@media(orientation:landscape) and (min-width:761px) and (max-width:1300px){.chap{max-width:min(36vw,440px)}}

/* 行末に「す。」だけが残る改行を防ぐ */
p,li,dd,td,figcaption,blockquote{text-wrap:pretty}


/* 会社情報の地図 */
.map-wrap{margin-top:48px}
.map-ttl{margin:0 0 14px;font-size:18px;font-weight:900}
.map{position:relative;aspect-ratio:16/9;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) contrast(1.05)}
.map-note{margin:12px 0 0;font-size:14px;color:var(--sub)}
.map-note a{color:var(--accent);margin-left:6px;white-space:nowrap}
@media(max-width:600px){.map{aspect-ratio:4/3}}

/* 採用情報 */
.page-hero .lead{margin:18px 0 0;color:var(--sub);font-size:16px;line-height:1.9}
.rc-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rc-point{border:1px solid var(--line);border-radius:20px;padding:28px 24px;background:var(--panel)}
.rc-point .n{font-family:var(--en);font-size:30px;color:var(--accent)}
.rc-point h3{margin:10px 0;font-size:19px;line-height:1.5}
.rc-point p{margin:0;color:var(--sub);font-size:15px;line-height:1.85}
.jobs{display:grid;gap:16px}
.job{border:1px solid var(--line);border-radius:22px;padding:30px 30px 24px;background:linear-gradient(180deg,rgba(201,167,98,.07),transparent 60%)}
.job-tag{display:inline-block;padding:4px 12px;border-radius:999px;border:1px solid var(--accent);color:var(--accent);font-size:13px;font-weight:700}
.job-tag.gold{background:var(--gold);color:var(--ink);border-color:transparent}
.job h3{margin:12px 0 8px;font-size:22px}
.job > p{margin:0 0 14px;color:var(--sub);line-height:1.9}
.job dl{margin:0;display:grid;grid-template-columns:7em 1fr;gap:10px 16px;border-top:1px solid var(--line);padding-top:14px}
.job dt{font-weight:700;color:var(--accent);font-size:14px}
.job dd{margin:0;font-size:15px;line-height:1.8}
.rc-note{margin:22px 0 0;color:var(--sub);font-size:14px}
.rc-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.rc-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rc-flow li{border-top:2px solid var(--accent);padding-top:18px}
.rc-flow span{font-family:var(--en);color:var(--accent);font-size:13px;letter-spacing:.1em}
.rc-flow h3{margin:8px 0;font-size:19px}
.rc-flow p{margin:0;color:var(--sub);font-size:15px;line-height:1.85}
@media(max-width:900px){.rc-points,.rc-flow{grid-template-columns:1fr}.job{padding:24px 20px 20px}.job dl{grid-template-columns:1fr;gap:4px}.job dd{margin-bottom:8px}}

/*ACH-CSS*/
/* 実績：大きな数字のカード＋イベント・業種別成果の一覧 */
.ach-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ach-card{border:1px solid var(--line);border-radius:20px;padding:30px 22px;background:linear-gradient(180deg,rgba(201,167,98,.10),rgba(201,167,98,0) 70%)}
.ach-card strong{display:block;font-family:var(--en);font-weight:600;font-size:clamp(40px,4.6vw,60px);line-height:1.1;background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.ach-card strong small{font-family:var(--jp);font-size:.34em;font-weight:900;margin-left:2px}
.ach-card p{margin:12px 0 0;font-size:14px;line-height:1.7;color:var(--text);font-weight:700}
.ach-note{font-size:13px;font-weight:400;color:var(--mute)}
.ach-sub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.ach-list{border:1px solid var(--line);border-radius:20px;padding:24px 26px}
.ach-list h3{margin:0 0 6px;font-size:15px;color:var(--accent);letter-spacing:.06em}
.ach-list ul{margin:0;padding:0;list-style:none}
.ach-list li{padding:12px 0;border-top:1px solid var(--line);font-weight:700;font-size:15px}
.ach-list li:first-child{border-top:0}
.ach-tag{display:inline-block;margin-right:10px;font-size:13px;font-weight:700;color:var(--accent)}
@media(max-width:900px){.ach-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ach-sub{grid-template-columns:1fr}}
@media(max-width:600px){.ach-grid{gap:10px}.ach-card{padding:20px 14px}.ach-card strong{font-size:34px;white-space:nowrap}.ach-card p{font-size:13px}}
@media(max-width:374px){.ach-card strong{font-size:28px}}
/*/ACH-CSS*/

/*LINE-CSS*/
/* 「LINEで問い合わせ」：assets/line.js にURLが入ったときだけ表示 */
.line-cta{display:none!important}
html.has-line .line-cta{display:inline-flex!important}
.btn-line{align-items:center;justify-content:center;gap:8px;background:#06C755;color:#fff;border:0}
.btn-line:hover{background:#05B34C;color:#fff}
.line-ico{width:20px;height:20px;flex:none}
.mbar-line{align-items:center;justify-content:center;gap:4px;min-width:70px;min-height:44px;padding:0 10px;border-radius:999px;background:#06C755;color:#fff;font-weight:900;font-size:14px;text-decoration:none}
.mbar-line .line-ico{width:18px;height:18px}
.line-block{margin-top:14px}
/*/LINE-CSS*/



/*VOICE-CSS*/
/* お客さまの声：見出し→本文→数字→業種・お名前 */
.voice-lead{margin:0;color:var(--sub)}
.voices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.voice{position:relative;margin:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;padding:30px 26px 24px;background:linear-gradient(180deg,rgba(201,167,98,.08),rgba(201,167,98,0) 55%),var(--panel)}
.voice::before{content:"\201C";position:absolute;top:6px;right:20px;font-family:Georgia,serif;font-size:84px;line-height:1;color:rgba(201,167,98,.28)}
.voice-tags{display:flex;gap:6px;flex-wrap:wrap}
.voice-tags span{padding:3px 10px;border-radius:999px;border:1px solid rgba(201,167,98,.5);color:var(--accent);font-size:13px;font-weight:700}
.voice blockquote{margin:16px 0 0;flex:1}
.voice-h{margin:0;font-size:18px;font-weight:900;line-height:1.55;color:var(--text);word-break:auto-phrase;text-wrap:balance}
.voice-b{margin:12px 0 0;font-size:14px;line-height:1.9;color:var(--sub)}
.voice-num{margin:18px 0 0;padding:10px 14px;border-radius:12px;background:rgba(201,167,98,.12);color:var(--accent);font-weight:900;font-size:15px}
.voice figcaption{margin-top:14px;font-size:13px;color:var(--mute)}
.voice-note{margin:14px 0 0;font-size:13px;color:var(--mute)}
.voice-more{margin-top:24px}
@media(max-width:900px){
  .voices{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -24px;padding:4px 24px 12px;scrollbar-width:none}
  .voices::-webkit-scrollbar{display:none}
  .voice{flex:0 0 min(84vw,360px);scroll-snap-align:center}
}
@media(max-width:374px){.voices{margin:0 -20px;padding:4px 20px 12px}}
/*/VOICE-CSS*/
