/* ===== 中ページ共通（giftee の定型／純白） ===== */
.page{padding:0 48px 0}
.crumbs{padding:20px 0 0;font-family:"Nimbus Sans",sans-serif;font-size:12px;color:var(--ink2);letter-spacing:.04em}.crumbs i{font-style:normal;color:var(--line);margin:0 8px}.crumbs a:hover{color:var(--ink)}
.eyebrow{font-family:"Nimbus Sans",sans-serif;font-size:14px;letter-spacing:.02em}.eyebrow span{font-family:"Zen Kaku Gothic New";font-size:12px;color:var(--ink2);letter-spacing:.08em;margin-left:8px}
.ph{padding:64px 0 56px;max-width:900px}
.ph h1{margin-top:20px;font-size:clamp(26px,2.6vw,38px);line-height:1.45;letter-spacing:-.03em;font-weight:500}
.ph .sub{margin-top:18px;font-size:13.5px;color:var(--ink2);max-width:40em;line-height:2}
.nums{display:flex;gap:28px;margin-top:18px;font-size:12px;color:var(--ink2);letter-spacing:.04em;flex-wrap:wrap}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}.tabs a{height:34px;padding:0 16px;border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;font-size:12px;transition:background 150ms,border-color 150ms}.tabs a.on,.tabs a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.note{margin-top:80px;padding-top:32px;border-top:1px solid var(--line);max-width:900px}.note h3{font-size:18px;font-weight:500;letter-spacing:-.02em;margin-bottom:12px}.note p{font-size:13.5px;color:var(--ink2);line-height:2}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px;font-size:13.5px;line-height:2;color:var(--ink2)}.two b{color:var(--ink);font-weight:500}
.ul{color:var(--ink);border-bottom:1px solid var(--ink);font-size:12px;padding-bottom:2px;white-space:nowrap}
.fine{font-size:11.5px;color:var(--ink2);line-height:1.9;margin-top:16px}
.rv{opacity:0;transform:translateY(8px)}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}
/* CTA 共通 */
.cta{margin-top:96px;padding:0 48px 88px}.cta h2{font-size:28px;font-weight:500;letter-spacing:-.03em}.cta p{margin-top:14px;font-size:13.5px;color:var(--ink2);line-height:2}.cta .pill{margin-top:28px}
/* ===== 在庫一覧（G3 + arita 番号） ===== */
.grid3{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.gcard3{position:relative;display:block;background:#fff;border:1px solid var(--line);padding:18px;transition:transform 200ms,box-shadow 200ms}
.gcard3:hover{box-shadow:0 18px 50px rgba(0,0,0,.08)}
.gcard3 .num{position:absolute;left:18px;top:14px;font-family:"Nimbus Sans",sans-serif;font-size:13px;letter-spacing:.06em;z-index:1;background:#fff;padding:2px 6px}
.gcard3 .cover{aspect-ratio:16/10;background:var(--bg2);overflow:hidden}.gcard3 .cover img{width:100%;height:100%;object-fit:cover;object-position:top}
.gcard3 .meta{display:flex;justify-content:space-between;margin-top:14px;font-size:11px;color:var(--ink2)}.gcard3 .meta .st{color:var(--ink);font-weight:500}
.gcard3 .tt{font-size:14px;font-weight:500;line-height:1.6;margin-top:6px;letter-spacing:-.01em}
.gcard3 .dots{display:flex;gap:12px;margin-top:10px;font-size:10px;color:var(--ink2)}.gcard3 .dots i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--line);margin-left:3px}.gcard3 .dots i.on{background:var(--ink)}
.gcard3 .pr{margin-top:10px;font-family:"Nimbus Sans",sans-serif;font-size:16px}.gcard3 .pr small{font-family:"Zen Kaku Gothic New";font-size:10px;color:var(--ink2)}
.gcard3.empty{border-style:dashed;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px}.gcard3.empty p{font-size:12px;color:var(--ink2)}
/* ===== 在庫詳細（G4） ===== */
.detail .hero4{position:relative;display:grid;grid-template-columns:1fr 58% 1fr;column-gap:32px;align-items:center;padding:48px 0 0}
.detail{overflow:hidden}
.plane4{position:absolute;right:-20%;top:-30%;width:70vw;height:70vw;max-width:1000px;max-height:1000px;border-radius:50%;background:var(--bg2);z-index:0}
.detail .hero4>*:not(.plane4){position:relative;z-index:1}
.detail .side.l .no{font-size:15px;letter-spacing:.04em}.detail .side.l .st{font-size:18px;font-weight:500;margin-top:6px}
.detail .side.r .nm{font-size:clamp(16px,1.5vw,22px);line-height:1.6;font-weight:500;letter-spacing:-.02em}.detail .side.r .en{font-family:"Nimbus Sans",sans-serif;font-size:12px;color:var(--ink2);margin-top:8px;letter-spacing:.06em}
.shot4{background:#fff;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.14);aspect-ratio:16/10;overflow:hidden}.shot4 img{width:100%;height:100%;object-fit:cover;object-position:top}
.spec4{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 1.1fr 1fr 1fr .9fr;gap:32px;padding:36px 0 0;margin-top:56px;border-top:1px solid var(--line);font-size:11.5px;line-height:1.85;color:var(--ink2)}
.spec4>div{min-width:0}.spec4 h5{font-size:12.5px;font-weight:500;color:var(--ink);margin-bottom:6px}.spec4 ul{list-style:none}
.spec4 .pr{font-family:"Nimbus Sans",sans-serif;font-size:34px;color:var(--ink);line-height:1.1;letter-spacing:-.02em}.spec4 .pr small{font-family:"Zen Kaku Gothic New";font-size:11px;margin-left:6px;color:var(--ink2)}
.spec4 .pr-note{font-size:10.5px;margin-top:4px}.spec4 .btns{display:flex;gap:14px;align-items:center;margin-top:12px;flex-wrap:wrap}
.spec4 .dl{display:flex;justify-content:space-between;align-items:center;color:var(--ink);font-size:11px}.spec4 .dl em i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--line);margin-left:4px}.spec4 .dl em i.on{background:var(--ink)}
.story,.swap,.others{margin-top:96px}
.story h2{margin-top:18px;font-size:clamp(22px,2.2vw,30px);font-weight:500;letter-spacing:-.03em;line-height:1.45;max-width:22em}
.story .two{margin-top:28px;max-width:1000px}
.tone{display:flex;gap:8px;margin-top:20px}.tone span{border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:11px;color:var(--ink2)}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}.three>div{border-top:1px solid var(--ink);padding-top:14px}.three b{display:block;font-size:15px;font-weight:500}.three span{display:block;font-size:12px;color:var(--ink2);margin-top:6px;line-height:1.8}
.minis{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}.mini{display:block}.mini img{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%;border:1px solid var(--line)}.mini span{display:block;margin-top:10px;font-size:12px;line-height:1.6}
/* ===== services（nature 2列） ===== */
.srows{display:grid;gap:0;margin-top:24px;border-bottom:1px solid var(--line)}
.srow{display:grid;grid-template-columns:200px 1fr;gap:40px;align-items:start;padding:40px 0;border-top:1px solid var(--line)}
.srow .img img{aspect-ratio:4/3;object-fit:cover;width:100%;background:var(--bg2)}
.srow .n{font-family:"Nimbus Sans",sans-serif;font-size:12px;color:var(--ink2)}
.srow h2{font-size:26px;font-weight:500;letter-spacing:-.03em;margin-top:8px}
.srow .lead{font-size:15px;font-weight:500;margin-top:14px;letter-spacing:-.01em}
.srow p{font-size:13.5px;color:var(--ink2);line-height:2;margin-top:10px;max-width:34em}
.srow .ul{display:inline-block;margin-top:18px}
/* ===== works（afuri 全量棚） ===== */
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 20px}
.wtile img{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%;border:1px solid var(--line);transition:transform 200ms}.wtile:hover img{transform:translateY(-2px)}
.wtile .cap{margin-top:12px;font-size:12px;color:var(--ink2);display:grid;gap:2px}.wtile .cap b{color:var(--ink);font-weight:500;font-size:14px}.wtile .cap em{font-style:normal;font-size:11px}
/* ===== column（giftee 行） ===== */
.crows{border-top:1px solid var(--line)}
.crow{display:grid;grid-template-columns:90px 120px 1fr auto;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);transition:background 150ms}.crow:hover{background:var(--bg2)}
.crow .d{font-family:"Nimbus Sans",sans-serif;font-size:12px;color:var(--ink2);letter-spacing:.04em}.crow .tag{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:3px 10px;text-align:center;color:var(--ink2)}.crow .t{font-size:15px;font-weight:500;letter-spacing:-.01em}.crow .ar{color:var(--ink2)}
.article .ah{padding:56px 0 40px;max-width:760px}.article .ah .tag{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:3px 10px;color:var(--ink2)}
.article .ah h1{margin-top:16px;font-size:clamp(24px,2.4vw,34px);line-height:1.5;font-weight:500;letter-spacing:-.03em}.article .ah .meta{margin-top:14px;font-size:12px;color:var(--ink2)}
.article .toc{display:grid;gap:6px;max-width:760px;padding:20px 24px;border:1px solid var(--line);font-size:13px;margin-bottom:40px}.article .toc b{font-weight:500;margin-bottom:4px}.article .toc a{color:var(--ink2)}.article .toc a:hover{color:var(--ink)}
.article .body{max-width:34em;font-size:15px;line-height:2}.article .body h2{font-size:20px;font-weight:500;margin:48px 0 12px;letter-spacing:-.02em}
.fig{margin:32px 0}.ph-box{background:#fff;border:1px dashed var(--line);display:grid;place-items:center;aspect-ratio:16/9;font-size:12px;color:var(--ink2)}.ph-box.sq{aspect-ratio:1;width:200px}.fig figcaption{font-size:11px;color:var(--ink2);margin-top:8px}
.article .minis{grid-template-columns:repeat(2,1fr)}
/* ===== about（nature + giftee） ===== */
.abhero{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:end;padding:40px 0 0}
.abhero .img img{width:100%;aspect-ratio:16/10;object-fit:cover}
.abhero h1{margin-top:20px;font-size:clamp(26px,2.6vw,38px);line-height:1.45;font-weight:500;letter-spacing:-.03em}
.abhero p{margin-top:16px;font-size:13.5px;color:var(--ink2);line-height:2}.abhero .cap{font-size:11px;margin-top:14px}
.gsec{display:grid;grid-template-columns:1fr 2fr;gap:48px;padding:56px 0;border-top:1px solid var(--line);margin-top:0}.gsec:first-of-type{margin-top:120px}
.gh h2{font-size:22px;font-weight:500;letter-spacing:-.02em}.gh h2::before{content:"";display:block;width:24px;height:2px;background:var(--ink);margin-bottom:14px}
.gbody p{font-size:13.5px;color:var(--ink2);line-height:2;max-width:36em}.gbody p+p{margin-top:12px}
.facts{list-style:none;display:grid;gap:10px;font-size:13.5px}.facts li{padding-left:16px;position:relative}.facts li::before{content:"";position:absolute;left:0;top:.8em;width:6px;height:1px;background:var(--ink)}
.ceo{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:start}.ceo b{font-size:16px;font-weight:500}.ceo .ul{display:inline-block;margin-top:12px}
.kv{display:grid;grid-template-columns:120px 1fr;gap:10px 20px;font-size:13.5px}.kv dt{color:var(--ink2)}
/* ===== entry ===== */
.form{max-width:640px;display:grid;gap:28px}.form .f{display:grid;gap:8px}.form label{font-size:13px;font-weight:500}
.form input[type=text],.form input[type=email],.form select,.form textarea{width:100%;border:1px solid var(--ink);background:#fff;padding:14px 16px;font:inherit;font-size:15px;border-radius:0;height:52px;box-sizing:border-box}
.form textarea{height:auto;min-height:160px}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--ink);outline-offset:1px}
.form label{font-size:13px;font-weight:700}.form .f{gap:8px}.form .req{font-size:10px;color:#fff;background:var(--ink);padding:1px 6px;margin-left:8px;border-radius:2px;vertical-align:middle}.form .opt{font-size:10px;color:var(--ink2);border:1px solid var(--line);padding:1px 6px;margin-left:8px;border-radius:2px;vertical-align:middle}
.radios{display:flex;gap:18px;flex-wrap:wrap}.radios label{font-weight:400;font-size:13.5px;display:flex;align-items:center;gap:6px}
.form button{justify-self:start;border:0;cursor:pointer}
/* ===== 404 ===== */
.nf{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.nf .big{font-family:"Nimbus Sans",sans-serif;font-size:clamp(96px,18vw,240px);line-height:.9;letter-spacing:-.05em}
.nf h1{margin-top:24px;font-size:26px;font-weight:500;letter-spacing:-.03em}.nf p{margin-top:10px;color:var(--ink2)}.nf .btns{display:flex;gap:20px;align-items:center;margin-top:28px}
/* ===== SP ===== */
@media (max-width:900px){.page{padding:0 20px 80px}.ph{padding:40px 0 36px}.grid3{grid-template-columns:1fr 1fr;gap:12px}.gcard3{padding:12px}.two,.srow,.abhero,.gsec,.ceo{grid-template-columns:1fr}.srow:nth-child(even) .img{order:0}.srows{gap:56px}
 .detail .hero4{grid-template-columns:1fr;row-gap:14px;padding-top:24px}.plane4{right:-50%;top:-10%;width:120vw;height:120vw}.spec4{grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.spec4 .pr{font-size:26px}.three,.minis,.wgrid{grid-template-columns:1fr}.crow{grid-template-columns:1fr;gap:6px}.crow .tag{justify-self:start}.crow .ar{display:none}.cta{padding:72px 20px;margin-top:96px}.story,.swap,.others{margin-top:80px}.gsec:first-of-type{margin-top:64px}.gsec{padding:36px 0}}

/* ===== 在庫詳細 B：樹形図・差し替え図・価格帯 ===== */
.lh{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--ink);margin-bottom:24px}.lh h5{font-size:15px;font-weight:700;letter-spacing:.02em}.lh span{font-size:12px;color:var(--ink2)}
.smap{margin-top:72px}.smap-scroll{overflow-x:auto;padding-bottom:8px}.smap .ico svg{display:block}
.repl{margin-top:72px}.repl-g{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}
.shotm{position:relative;border:1px solid var(--line);aspect-ratio:16/10;overflow:hidden;background:var(--bg2)}.shotm img{width:100%;height:100%;object-fit:cover;object-position:top;filter:grayscale(.3)}
.shotm .tag{position:absolute;background:var(--ink);color:#fff;font-size:11px;padding:4px 10px;border-radius:999px;white-space:nowrap}
.shotm .tag::after{content:"";position:absolute;left:-1px;top:100%;width:1px;height:18px;background:var(--ink)}
.shotm .t1{left:4%;top:4%}.shotm .t2{left:6%;top:50%}.shotm .t3{right:6%;top:14%}
.repl-list{list-style:none;display:grid;gap:0}.repl-list li{padding:14px 0;border-bottom:1px solid var(--line);display:grid;gap:3px}.repl-list b{font-size:14px;font-weight:700}.repl-list span{font-size:12px;color:var(--ink2);line-height:1.8}.repl-list .plus b{color:var(--ink2);font-weight:500}
.pbar{margin-top:56px;display:grid;grid-template-columns:1fr auto auto;gap:40px;align-items:center;padding:28px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.pbar .pr{font-family:"Nimbus Sans",sans-serif;font-size:40px;line-height:1;letter-spacing:-.02em}.pbar .pr small{font-family:"Zen Kaku Gothic New";font-size:11px;margin-left:6px;color:var(--ink2)}.pbar .pr-note{font-size:12px;color:var(--ink2);margin-top:8px}
.pbar .dls{display:grid;gap:4px;margin:0;padding:0;border:0}.pbar .dl{gap:12px;font-size:11px}
.pbar .pb-r{display:flex;gap:18px;align-items:center}
@media (max-width:900px){.repl-g{grid-template-columns:1fr}.pbar{grid-template-columns:1fr;gap:16px}.smap,.repl{margin-top:56px}}

/* ===== column 強化 ===== */
.cfeat{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding:0 0 48px;margin-bottom:8px;border-bottom:1px solid var(--ink)}
.cfeat .img img{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%;border:1px solid var(--line)}
.cfeat .tag{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:3px 10px;color:var(--ink2)}
.cfeat h2{margin-top:14px;font-size:clamp(20px,2vw,28px);font-weight:500;letter-spacing:-.03em;line-height:1.5}
.cfeat p{margin-top:12px;font-size:13.5px;color:var(--ink2);line-height:2}.cfeat .meta{margin-top:14px;font-size:12px;color:var(--ink2)}
.article .ah .meta{display:flex;gap:18px;flex-wrap:wrap}
.art-g{display:grid;grid-template-columns:240px 1fr;gap:56px;align-items:start}
.art-side{position:sticky;top:96px;display:grid;gap:20px}
.article .toc{margin-bottom:0;max-width:none}
.side-cta{border:1px solid var(--line);padding:18px;display:grid;gap:6px}.side-cta b{font-size:13px;font-weight:700}.side-cta span{font-size:11.5px;color:var(--ink2)}.side-cta .pill{justify-self:start;margin-top:6px}
.article .body{max-width:36em}.article .body .lead{font-size:16px;font-weight:500;line-height:1.9}
.faq{display:grid;gap:14px;margin-top:16px}.faq dt{font-weight:700;font-size:14px;padding-left:22px;position:relative}.faq dt::before{content:"Q";position:absolute;left:0;top:0;font-family:"Nimbus Sans";color:var(--ink2);font-size:12px}.faq dd{font-size:13.5px;color:var(--ink2);padding-left:22px;line-height:1.9}
.share{margin-top:40px;padding-top:16px;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink2)}.share code{font-family:"Nimbus Sans";font-size:11px}
.related{margin-top:72px;padding-top:28px;border-top:1px solid var(--ink)}.rel-g{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}
.rel{display:grid;gap:8px;padding:16px;border:1px solid var(--line)}.rel .tag{font-size:10.5px;color:var(--ink2)}.rel b{font-size:13px;font-weight:500;line-height:1.6}
@media (max-width:900px){.cfeat{grid-template-columns:1fr;gap:16px}.art-g{grid-template-columns:1fr;gap:24px}.art-side{position:static}.rel-g{grid-template-columns:1fr}}

/* ===== works：遊びのある棚 ===== */
.wmas{columns:3;column-gap:20px}
.wt{display:block;break-inside:avoid;margin-bottom:20px;position:relative;transition:opacity .35s,transform .35s}
.wt .im{overflow:hidden;border:1px solid var(--line);background:var(--bg2)}
.wt .im img{width:100%;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.wt:hover .im img{transform:scale(1.03)}
.wt .cap{padding:12px 2px 0;display:grid;gap:3px}.wt .k{font-size:10.5px;color:var(--ink2);letter-spacing:.06em}.wt b{font-size:14px;font-weight:500;line-height:1.55}.wt em{font-style:normal;font-size:11.5px;color:var(--ink2);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wt.wip{border:1px dashed var(--line);padding:22px 20px 20px}.wt.wip .cap{padding:0}
.wt:nth-child(7n+2){transform:rotate(-.4deg)}.wt:nth-child(7n+5){transform:rotate(.4deg)}
.wt.ghost{opacity:.12;pointer-events:none;filter:grayscale(1)}
@media (max-width:900px){.wmas{columns:2;column-gap:12px}.wt{margin-bottom:12px}}
@media (max-width:480px){.wmas{columns:1}}

/* 会社概要（本体と同じ3列） */
.cos{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.co dt{font-size:14px;font-weight:700}.co dt span{display:block;font-family:"Nimbus Sans",sans-serif;font-size:10px;letter-spacing:.12em;color:var(--ink2);font-weight:400;margin-top:2px}.co dd{font-size:12.5px;color:var(--ink2);line-height:1.9}.co .gap{margin-top:14px}
/* 相談の入口2つ */
.ways{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px;margin-bottom:40px}.way{border:1px solid var(--line);padding:20px 22px;display:grid;grid-template-rows:auto 1fr auto;gap:6px;transition:transform .2s;min-height:150px}.way b{font-size:14px;font-weight:700}.way span{font-size:12px;color:var(--ink2);line-height:1.8}.way em{font-style:normal;font-size:12px;margin-top:6px}.way.on{background:#fff;border-color:var(--ink)}a.way:hover{transform:translateY(-2px)}
.agree{font-weight:400!important;font-size:13px;display:flex;gap:8px;align-items:center}
@media (max-width:900px){.cos{grid-template-columns:1fr}.ways{grid-template-columns:1fr}}

/* ===== company：文字＋ピクトだけ ===== */
.company .ph.st{max-width:none;padding-bottom:72px;border-bottom:1px solid var(--ink)}
.company .ph.st h1{font-size:clamp(30px,3.4vw,48px)}
.cb{display:grid;grid-template-columns:280px 1fr;gap:48px;padding:72px 0;border-bottom:1px solid var(--line)}
.cb-h{display:grid;gap:10px;align-content:start}.cb-h .n{font-family:"Nimbus Sans",sans-serif;font-size:13px;color:var(--ink2);letter-spacing:.1em}.cb-h h2{font-size:22px;font-weight:500;letter-spacing:-.02em}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{border:1px solid var(--line);padding:24px 22px 26px;display:grid;gap:10px;justify-items:start}
.step .ico,.tile .ico{width:120px;aspect-ratio:1;background:transparent;display:grid;place-items:center;padding:0;margin-bottom:6px}.step .ico img,.tile .ico img,.step .ico svg,.tile .ico svg{width:100%;height:auto}
.step b{font-size:15px;font-weight:700}.step span{font-size:12.5px;color:var(--ink2);line-height:1.9}
.cb-note{grid-column:2;margin-top:-20px;font-size:13.5px;font-weight:500}
.tiles4{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.tile{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start;padding:18px 0;border-top:1px solid var(--line)}.tile b{font-size:15px;font-weight:700;display:block}.tile span{font-size:12.5px;color:var(--ink2);line-height:1.9;display:block;margin-top:4px}
.cb .fine{grid-column:2}
.rep{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:start}.rep-name b{font-size:22px;font-weight:500;display:block;letter-spacing:-.02em}.rep-name span{font-family:"Nimbus Sans",sans-serif;font-size:11px;letter-spacing:.14em;color:var(--ink2)}.rep-txt p{font-size:13.5px;color:var(--ink2);line-height:2;max-width:36em}.rep-txt .ul{display:inline-block;margin-top:12px}
/* ===== services：語り ===== */
.manif{display:grid;grid-template-columns:1fr;gap:40px;padding-top:40px;border-top:1px solid var(--ink)}
.man-g{max-width:36em}.man-g p{font-size:15.5px;line-height:2.1}.man-g p+p{margin-top:22px}
.man-k{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1000px}.kcard{border:1px solid var(--line);padding:18px 20px}.kcard b{font-size:14px;font-weight:700;display:block}.kcard span{font-size:12px;color:var(--ink2);line-height:1.8;display:block;margin-top:4px}
/* ===== works：整った3列 ===== */
.wgrid2{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px}
.wgrid2 .wt{margin:0;transform:none!important}
.wgrid2 .wt .im{aspect-ratio:16/10}.wgrid2 .wt .im img{width:100%;height:100%;object-fit:cover;object-position:top}
.wgrid2 .wt.wip{aspect-ratio:auto;display:grid;align-content:center}
@media (max-width:900px){.man-k{grid-template-columns:1fr}.cb{grid-template-columns:1fr;gap:20px;padding:48px 0}.steps3{grid-template-columns:1fr}.tiles4{grid-template-columns:1fr}.cb-note,.cb .fine{grid-column:1}.rep{grid-template-columns:1fr}.manif{grid-template-columns:1fr;gap:28px}.wgrid2{grid-template-columns:1fr 1fr;gap:16px 12px}}
@media (max-width:480px){.wgrid2{grid-template-columns:1fr 1fr}}

/* ===== 予約（このデザインで完結） ===== */
.book{display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:start;max-width:1000px}
.cal{border:1px solid var(--ink)}
.cal-h{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.cal-h b{font-size:14px;font-weight:700}.cal-h .nv{display:flex;gap:8px}.cal-h .nv button{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:50%;cursor:pointer;font-family:"Nimbus Sans"}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr)}.cal-g .dw{padding:10px 0;text-align:center;font-size:11px;color:var(--ink2);border-bottom:1px solid var(--line)}
.cal-g .dd{aspect-ratio:1;display:grid;place-items:center;font-family:"Nimbus Sans";font-size:13px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);cursor:pointer;position:relative}.cal-g .dd:nth-child(7n){border-right:0}
.cal-g .dd.na{color:var(--line);cursor:default}.cal-g .dd.ok::after{content:"";position:absolute;bottom:8px;width:5px;height:5px;border-radius:50%;background:var(--ink)}.cal-g .dd.sel{background:var(--ink);color:#fff}.cal-g .dd.sel::after{background:#fff}
.slots{display:grid;gap:10px}.slots .sh{font-size:12px;color:var(--ink2)}.slots .sd{font-size:16px;font-weight:700}
.slots .sl2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.slots button{height:44px;border:1px solid var(--ink);background:#fff;font:inherit;font-size:13px;cursor:pointer}.slots button.sel{background:var(--ink);color:#fff}.slots button:disabled{border-color:var(--line);color:var(--line);cursor:default}
.slots .pick{margin-top:8px;padding:14px 16px;border:1px solid var(--line);font-size:13px}.slots .pick b{display:block;font-weight:700}
@media (max-width:900px){.book{grid-template-columns:1fr}}

.article .ah h1 .q,.article .body .a{font-family:"Nimbus Sans",sans-serif;color:var(--ink2);margin-right:.3em}
.grid3{grid-template-columns:repeat(4,minmax(0,1fr))}.gcard3{min-width:0}.gcard3 .dots{flex-wrap:wrap;gap:6px 12px}
@media (max-width:900px){.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
button{color:var(--ink);-webkit-appearance:none;appearance:none}
.slots .sd:empty,.slots .sd.none{display:none}

.fcat{margin-top:40px}.fcat h3{font-size:13px;font-weight:700;letter-spacing:.06em;padding-bottom:10px;border-bottom:1px solid var(--ink)}
.crow{grid-template-columns:28px 1fr auto}.crow .q{font-family:"Nimbus Sans",sans-serif;font-size:12px;color:var(--ink2)}
.article .draft{font-size:10px;border:1px solid var(--line);padding:2px 8px;border-radius:999px;color:var(--ink2)}
.wbig{display:flex;align-items:baseline;gap:10px;margin-top:24px}.wbig .odo{font-family:"Nimbus Sans",sans-serif;font-size:clamp(56px,7vw,96px);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.wbig .unit{font-size:18px;font-weight:500}.wbig .note{font-size:12px;color:var(--ink2);margin-left:16px}
.gcard3 .sub2{font-size:11px;color:var(--ink2)}
@media (max-width:900px){.crow{grid-template-columns:24px 1fr}.crow .ar{display:none}}

/* 完成品と受託の違い：比較の2枚 */
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.cmp>div{border:1px solid var(--line);padding:22px 24px}.cmp h4{font-size:15px;font-weight:700;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}
.cmp ul{list-style:none;display:grid;gap:8px;font-size:13.5px;color:var(--ink);line-height:1.8}.cmp li{padding-left:16px;position:relative}.cmp li::before{content:"";position:absolute;left:0;top:.8em;width:6px;height:1px;background:var(--ink)}
.cmp .pr{font-family:"Nimbus Sans",sans-serif;font-size:20px;margin-top:10px}
@media (max-width:900px){.cmp{grid-template-columns:1fr}}

/* ===== 詳細：ページ構成の横スクロール ===== */
.pgs{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 0 8px}.pgs::-webkit-scrollbar{display:none}
.pgs-track{display:flex;gap:20px;width:max-content}
.pg{flex:0 0 auto;width:min(520px,70vw);scroll-snap-align:start;display:block}
.pg img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;border:1px solid var(--line);box-shadow:0 14px 40px rgba(0,0,0,.08);transition:transform .3s}.pg:hover img{transform:translateY(-3px)}
.pg span{display:flex;gap:10px;align-items:baseline;margin-top:10px;font-size:13px;font-weight:500}.pg span i{font-family:"Nimbus Sans",sans-serif;font-style:normal;font-size:11px;color:var(--ink2)}
.pgs-nav{display:flex;align-items:center;gap:16px;margin-top:16px}.pgs-nav .arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--ink);background:#fff;cursor:pointer;font-family:"Nimbus Sans"}
.pgs-bar{flex:1;height:1px;background:var(--line);position:relative}.pgs-bar i{position:absolute;top:-1px;height:3px;background:var(--ink);left:0;width:20%;transition:left .2s,width .2s}
/* 物語 */
.story-body{max-width:36em;margin-top:28px}.story-body p{font-size:15px;line-height:2.1;color:var(--ink)}.story-body p+p{margin-top:18px}
.story .fine{max-width:36em;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}

/* 撮影：納品写真の帯 */
.aphs{margin-top:28px}.aphs-h{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;font-weight:500;margin-bottom:12px}
.aphs-track{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px;scroll-snap-type:x proximity}.aphs-track::-webkit-scrollbar{display:none}
.aph{flex:0 0 auto;width:220px;scroll-snap-align:start}.aph img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border:1px solid var(--line)}
.srow>*{min-width:0}.srow .txt{min-width:0;max-width:100%}.aphs{max-width:100%;overflow:hidden}

/* Services 03 LLMO×SEO */
.seo2{margin-top:28px;display:grid;gap:24px}
.seo2-g{display:grid;grid-template-columns:1fr 1fr;gap:16px}.seo2-g>div{border:1px solid var(--line);padding:18px 20px}.seo2-g h4{font-family:"Nimbus Sans",sans-serif;font-size:13px;letter-spacing:.1em;color:var(--ink2)}.seo2-g b{display:block;font-size:15px;margin-top:4px}.seo2-g p{font-size:12.5px;color:var(--ink2);line-height:1.9;margin-top:8px}
.seo2 .k{font-size:12.5px;font-weight:700;margin-bottom:10px}
.seo2-3 ol{list-style:none;display:grid;gap:8px;counter-reset:n}.seo2-3 li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:baseline;padding:10px 0;border-top:1px solid var(--line)}.seo2-3 li::before{counter-increment:n;content:"0" counter(n);font-family:"Nimbus Sans";font-size:12px;color:var(--ink2)}.seo2-3 li b{display:block;font-size:13.5px}.seo2-3 li span{font-size:12px;color:var(--ink2)}
.steps{display:flex;gap:8px;flex-wrap:wrap}.steps span{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ink);border-radius:999px;padding:6px 14px;font-size:12.5px}.steps i{font-family:"Nimbus Sans";font-style:normal;font-size:11px;color:var(--ink2)}
.seo2-4 p{font-size:12.5px;color:var(--ink2);line-height:1.9;margin:12px 0}
@media (max-width:900px){.seo2-g{grid-template-columns:1fr}}
.seo2-3 li{grid-template-rows:auto auto}.seo2-3 li::before{grid-row:1/3;grid-column:1}.seo2-3 li b,.seo2-3 li span{grid-column:2}

/* ===== photo ページ ===== */
.cb-story{grid-column:2;margin-top:36px;max-width:38em}.cb-story p{font-size:14.5px;line-height:2.05;color:var(--ink)}.cb-story p+p{margin-top:16px}.cb-story b{font-weight:700}
.pset{margin-top:72px}.pset-h{display:flex;align-items:baseline;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--ink);margin-bottom:20px}.pset-h i{font-family:"Nimbus Sans",sans-serif;font-style:normal;font-size:12px;color:var(--ink2);letter-spacing:.1em}.pset-h h2{font-size:22px;font-weight:500;letter-spacing:.06em}.pset-h span{font-size:12px;color:var(--ink2)}.pset-h em{margin-left:auto;font-style:normal;font-family:"Nimbus Sans";font-size:12px;color:var(--ink2)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;grid-auto-flow:dense}.pt{margin:0}.pt img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}.pt.big{grid-column:span 2;grid-row:span 2}.pt.big img{aspect-ratio:auto;height:100%}
.photo .more{margin:72px 0 0}
@media (max-width:900px){.pgrid{grid-template-columns:1fr 1fr;gap:8px}.pt.big{grid-column:span 2;grid-row:span 1}.pt.big img{aspect-ratio:3/2;height:auto}.cb-story{grid-column:1}}
.pt.big{grid-column:span 2;grid-row:auto}.pt.big img{aspect-ratio:3/2;height:auto}

/* ===== services：語りを3列に ===== */
.manif2{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:40px;border-top:1px solid var(--ink)}
.m2 i{display:block;font-family:"Nimbus Sans",sans-serif;font-style:normal;font-size:12px;color:var(--ink2);letter-spacing:.1em;margin-bottom:14px}
.m2 h3{font-size:18px;font-weight:700;line-height:1.5;letter-spacing:-.02em;min-height:3em}
.m2 p{margin-top:14px;font-size:13.5px;line-height:2;color:var(--ink)}
@media (max-width:900px){.manif2{grid-template-columns:1fr;gap:28px}.m2 h3{min-height:0}}

/* 詳細: ストーリー2段組・デモ導線 */
.story{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:64px;align-items:start}
.story-l{position:sticky;top:96px}.story h2{max-width:14em}
.story-body{margin-top:0;max-width:34em}.story-body p{font-size:15.5px;line-height:2}
.story .fine{max-width:34em}
.demo4{display:inline-block;margin-top:22px}
.plane4{display:none}
@media (max-width:900px){.story{grid-template-columns:1fr;row-gap:24px}.story-l{position:static}}

/* 宣言の見出し: 直線マーカー（複数行対応） */
.hl2{background:linear-gradient(#E6E6E6,#E6E6E6) no-repeat 0 78%/0 .42em;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .04em;transition:background-size .7s cubic-bezier(.2,.7,.2,1)}
.rv.in .hl2,.m2.lit .hl2{background-size:100% .42em}
.m2 h3{min-height:0}.m2 p{margin-top:16px}
/* 棚のカード: 高さを揃える（見出し・一言は固定の行数、価格は底） */
.gcard3{display:flex;flex-direction:column}
.gcard3 .tt{min-height:calc(1.6em * 2)}
.gcard3 .sub2{min-height:1.7em;line-height:1.7}
.gcard3 .axes{margin-top:auto;padding-top:14px}
.gcard3 .ax{grid-template-columns:4em 1fr 5.5em;gap:8px;font-size:10px}
.gcard3 .ax .l,.gcard3 .ax .r{white-space:nowrap;letter-spacing:0}
.gcard3 .pr{margin-top:14px}
@media (max-width:900px){
  .grid3{grid-template-columns:1fr;gap:16px}
  .gcard3{padding:16px}.gcard3 .tt{min-height:0;font-size:15px}.gcard3 .sub2{min-height:0}
  .gcard3 .meta .st{white-space:nowrap}.gcard3 .meta{gap:12px}
  .gcard3 .ax{grid-template-columns:4.5em 1fr 5.5em;font-size:11px}
  .lh{display:block}.lh h5{white-space:nowrap}.lh span{display:block;margin-top:4px}
}
@media (max-width:900px){
  .srow{padding:32px 0;gap:12px}
  .srow .ico{display:flex;align-items:center;gap:14px}.srow .ico .n{margin:0}.srow .ico img,.srow .ico svg{width:96px;height:auto;margin:0}
  .aphs-h{display:block}.aphs-h .ul{display:inline-block;margin-top:6px}
  .note .cmp{grid-template-columns:1fr}
}
@media (max-width:900px){.ph h1,.abhero h1,.ah h1{font-size:24px;line-height:1.45}}
@media (max-width:900px){
  .pset{margin-top:48px}
  .pset-h{display:grid;grid-template-columns:auto 1fr auto;column-gap:10px;row-gap:4px;align-items:baseline}
  .pset-h i,.pset-h h2,.pset-h em{white-space:nowrap}.pset-h h2{font-size:18px}.pset-h span{grid-column:1/-1;font-size:11px}.pset-h em{margin-left:0}
  .pgrid{grid-template-columns:repeat(2,1fr);gap:8px}.pt.big{grid-column:span 2;grid-row:span 1}
}
@media (max-width:900px){
  .srow .ico{aspect-ratio:auto;display:flex!important;align-items:center;gap:14px;padding:0}
  .srow .ico .n{position:static}
  .page .abhero h1{font-size:24px!important}
}
@media (max-width:900px){.wgrid2{grid-template-columns:1fr 1fr;gap:18px 10px}.wt .cap,.wt .t{font-size:12px}.wt .s{font-size:10.5px}}
/* 会社: 語りは 小見出し＋本文 の段で読ませる */
.cb-story{max-width:40em;margin-top:8px}
.cb-story h3{font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.5;margin-top:34px}
.cb-story h3:first-child{margin-top:0}
.cb-story p{margin-top:10px;font-size:14.5px;line-height:2}
.cb-story b{background:linear-gradient(#E6E6E6,#E6E6E6) no-repeat 0 80%/100% .4em}
/* 詳細: Story を 導入（大きめ）＋小見出し＋本文 で */
.story-body p.lead{font-size:17px;line-height:1.9;font-weight:500;letter-spacing:-.01em;color:var(--ink)}
.story-body h3{font-size:15.5px;font-weight:700;margin-top:30px;line-height:1.5}
.story-body h3+p{margin-top:8px}
.story-body p{font-size:14.5px;line-height:2}
.story .fine{font-size:12px}
/* 予約: 右の欄も左のカレンダーと同じ器にして、上端と文字の始まりを揃える */
.book{max-width:none;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:32px}
.slots{border:1px solid var(--ink);padding:0;align-content:start;gap:0}
.slots .sh{display:flex;justify-content:space-between;align-items:baseline;padding:18px 22px;border-bottom:1px solid var(--line);font-size:12px;color:var(--ink2)}
.slots .sh b{font-size:15px;color:var(--ink);font-weight:700}
.slots .sd{padding:18px 22px 0}
.slots .sl2{padding:14px 22px 0}
.slots .pick{margin:14px 22px 0}
.slots .form{padding:0 22px 22px;margin-top:18px!important}
.slots .form .f{margin-top:14px}
@media (max-width:900px){.book{grid-template-columns:1fr}.slots .sh,.slots .sd,.slots .sl2{padding-left:16px;padding-right:16px}.slots .form{padding:0 16px 16px}}
.crows{margin-top:40px}
