:root{
  --mold-version: 9;
  /* font-preset: serene */
  --lh-body: 1.95;
  --lh-display: 1.35;
  --ls-en: .10em;
  --fw-strong: 700;
  --fw-body: 400;
  --fw-display: 500;--ink:#2F3A52;--muted:#667083;--paper:#F7F4F2;--soft:#eee9e5;--line:rgba(47,58,82,.16);--gold:#B27C76;--font-display: "Zen Old Mincho", serif;--font-body: "Noto Sans JP", sans-serif;--font-en: "Cormorant Garamond", serif;--ls-display: .04em;--ls-body: .02em;--content-max:1200px}
html{scroll-padding-top:88px}body{color:var(--ink);background:var(--paper)}p{line-height:1.95}.site-header{height:clamp(68px,6vw,96px);padding:0 3.1%;background:rgba(247,244,242,.92);border:0;box-shadow:none}.brand{gap:12px}.brand__text{font-family:var(--font-display);font-size:clamp(28px,2.8vw,46px);letter-spacing:.18em}.brand__mark{width:42px;height:34px;color:var(--gold)}.nav{gap:clamp(26px,3vw,52px);font-family:var(--font-body);font-weight:600;font-size:clamp(13px,.95vw,16px);letter-spacing:.06em}.nav a:hover,.footer a:hover{color:var(--gold)}
.hero{padding:0;aspect-ratio:1672/941;background:url('assets/fv-bg.jpg') center/cover no-repeat;min-height:0}.hero__stage{position:absolute;inset:0}.hero__ambient{display:none}.hero__copy{position:absolute;left:3.1%;top:27.3%;width:39%;height:62%;padding:0;display:block;z-index:2}.hero__kicker{position:absolute;top:0;left:0;margin:0;color:var(--gold);font-family:var(--font-display);font-size:clamp(11px,1.2vw,21px);letter-spacing:.16em;white-space:nowrap}.hero__kicker span{display:inline-block;vertical-align:middle;width:5.4vw;height:1px;background:var(--gold);margin-left:1.2vw}.hero h1{position:absolute;top:4.1vw;left:0;width:110%;margin:0;font-size:clamp(30px,3.3vw,56px);line-height:1.6;letter-spacing:-.06em;font-weight:500;white-space:normal}.hero h1 .l{overflow:visible}.hero__lead{position:absolute;top:16.4vw;left:0;margin:0;color:var(--ink);font-family:var(--font-display);font-size:clamp(16px,1.65vw,28px);line-height:1.5;letter-spacing:.02em;white-space:nowrap}.hero__proof{position:absolute;top:21vw;left:0;display:block;margin:0;padding:0;color:#655e59;font-size:clamp(12px,1.12vw,19px);font-family:var(--font-display);letter-spacing:.13em;white-space:nowrap}.hero__proof span{font-size:1.8em;vertical-align:-.11em;margin-right:.6em;color:var(--gold)}.hero__actions{position:absolute;top:25.6vw;left:0;display:flex;flex-direction:column;align-items:flex-start;gap:1.2vw}.hero .btn--primary{display:flex;justify-content:space-between;align-items:center;width:28.4vw;height:4.7vw;min-height:0;padding:0 3vw;border:0;border-radius:100px;background:#B27C76;color:#fff;font-family:var(--font-display);font-size:clamp(13px,1.36vw,24px);letter-spacing:.08em;box-shadow:none;white-space:nowrap}.hero .btn--primary:hover{background:#9f6a65;transform:translateY(-2px)}.hero__secondary{display:inline-flex;gap:2vw;align-items:center;border-bottom:1px solid var(--ink);padding:0 .2vw .45vw;font-family:var(--font-display);font-size:clamp(13px,1.22vw,21px);letter-spacing:.03em}.hero__secondary:hover{color:var(--gold);border-color:var(--gold)}.hero__photo-wrap{position:absolute;right:0;top:14.45%;width:33.6%;visibility:hidden;pointer-events:none}.hero__photo{width:100%;height:auto;aspect-ratio:562/732;object-fit:contain}.hero__photo-wrap::before,.hero__photo-wrap::after{display:none}
.section{padding:clamp(90px,10vw,170px) var(--pad-x);background:none}.section__head h2,.approach h2,.about h2,.contact h2{font-family:var(--font-display);font-size:clamp(30px,3.4vw,54px);line-height:1.5;letter-spacing:.025em;font-weight:500}.eyebrow{font-family:var(--font-en);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}.eyebrow::before{background:var(--gold)}.section__lead{color:var(--muted);max-width:620px;font-size:15px}.intro{background:#fff}.intro__layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px);align-items:center;margin-top:60px}.intro__copy{max-width:490px;font-size:clamp(15px,1.22vw,18px)}.intro__copy p+p{margin-top:28px}.intro__photo{margin:0}.intro__photo img{width:100%;aspect-ratio:4/3;object-fit:cover}.intro__photo figcaption{margin-top:14px;color:var(--muted);font-size:12px;letter-spacing:.14em}.concern-list{list-style:none;padding:0;margin:80px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 38px;border-top:1px solid var(--line)}.concern-list li{border-bottom:1px solid var(--line);padding:22px 4px;display:flex;gap:24px;font-family:var(--font-display);font-size:clamp(17px,1.5vw,22px)}.concern-list span{color:var(--gold);font-family:var(--font-en);font-size:17px}
.approach{padding-left:0;padding-right:var(--pad-x);display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:center;background:#efeae7}.approach__visual img{width:100%;height:clamp(460px,53vw,720px);object-fit:cover}.approach__body{max-width:540px}.approach__body p:not(.eyebrow){font-size:16px;color:var(--muted)}.text-link,.contact__sub{display:inline-flex;gap:22px;padding-bottom:8px;border-bottom:1px solid currentColor;margin-top:22px;font-weight:600}.text-link:hover,.contact__sub:hover{color:var(--gold)}
.service{background:#fff}.service .section__head{display:block}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:60px}.service-card{position:relative;padding:32px;background:var(--paper);min-width:0;transition:transform .35s ease,box-shadow .35s ease}.service-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(47,58,82,.1)}.service-card__num{font-family:var(--font-en);color:var(--gold);font-size:17px}.service-card h3{font-family:var(--font-display);font-size:clamp(21px,1.85vw,28px);font-weight:500;margin:30px 0 14px}.service-card p{min-height:6em;color:var(--muted);font-size:14px}.service-card img{width:100%;height:200px;object-fit:cover;margin-top:24px}.service__more{margin-top:34px;color:var(--muted);font-size:14px}
.works{background:#f2edeb}.works .section__head{display:block}.works__grid{margin-top:60px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.work-card{min-height:310px;padding:32px;background:#fff;border-top:3px solid var(--gold)}.work-card span{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.14em}.work-card h3{font-family:var(--font-display);font-size:24px;line-height:1.5;font-weight:500;margin:30px 0 18px}.work-card p{color:var(--muted);font-size:14px}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,8vw,120px);align-items:center;background:#fff}.about__photo img{width:100%;height:590px;object-fit:cover}.about__body p:not(.eyebrow){max-width:570px;color:var(--muted);font-size:16px}.about__signature{margin-top:46px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--font-display);font-size:30px}.about__signature small{display:block;font-family:var(--font-body);font-size:12px;color:var(--muted);margin-top:8px}
.flow{background:var(--paper)}.flow .section__head{display:block}.flow-line{max-width:820px;margin:48px 0 0;padding:0}.flow-line li{display:grid;grid-template-columns:85px 1fr;gap:20px;border-top:1px solid var(--line);padding:25px 0;min-height:0}.flow-line li:last-child{border-bottom:1px solid var(--line)}.flow-line__num{font-family:var(--font-en);font-size:26px;color:var(--gold)}.flow-line__body h3{font-family:var(--font-display);font-size:23px;font-weight:500;margin:0 0 10px}.flow-line__body p{margin:0;color:var(--muted);font-size:14px}.flow__photo{max-width:360px;margin:-390px 0 0 auto}.flow__photo img{width:100%;height:400px;object-fit:cover;opacity:.85}
.contact{padding:clamp(80px,9vw,150px) var(--pad-x);background:#2F3A52;display:grid;grid-template-columns:1fr .8fr;gap:clamp(50px,8vw,120px);align-items:center}.contact .eyebrow{color:#d8aca7}.contact h2{color:#fff}.contact p{color:rgba(255,255,255,.78)}.contact-form{background:#f7f4f2;padding:clamp(28px,4vw,58px);display:flex;flex-direction:column;gap:0}.contact-form h3{font-family:var(--font-display);font-size:26px;line-height:1.5;font-weight:500;margin:0 0 15px}.contact-form p{color:var(--muted);margin:0 0 25px}.contact .btn{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:62px;padding:15px 22px;border:0;background:var(--gold);color:#fff;border-radius:40px;font-size:14px;font-weight:600}.contact__sub{align-self:flex-start;color:var(--ink);font-size:14px}.access{margin-top:44px}.access div{border-color:rgba(255,255,255,.24)}.access dt{color:rgba(255,255,255,.62)}.access dd{color:#fff;overflow-wrap:anywhere}.access a{text-decoration:underline;text-underline-offset:4px}.footer{background:#202b40;color:#fff;grid-template-columns:1fr;gap:30px;padding:65px var(--pad-x) 35px;text-align:center}.footer__brand strong{font-family:var(--font-display);font-size:32px;letter-spacing:.18em}.footer__brand p{font-size:12px}.footer__nav{font-family:var(--font-body);font-size:12px;gap:25px}.footer__sns{justify-content:center}.footer__sns a{border-color:rgba(255,255,255,.28)}.footer small{font-size:11px}.sticky-cta{background:var(--gold);color:#fff}
@media(max-width:1040px){.site-header{height:72px}.hero{background:none;aspect-ratio:auto;padding-top:72px}.hero__stage{position:relative;display:flex;flex-direction:column;background:var(--paper)}.hero__copy{position:relative;left:auto;top:auto;width:100%;height:auto;padding:54px 6% 36px;order:0}.hero__kicker,.hero h1,.hero__lead,.hero__proof,.hero__actions{position:static}.hero__kicker{font-size:14px}.hero__kicker span{width:45px}.hero h1{width:auto;margin:24px 0 18px;font-size:clamp(32px,4.7vw,56px);line-height:1.55;white-space:normal}.hero__lead{font-size:clamp(16px,2.2vw,24px);white-space:normal}.hero__proof{margin:23px 0;font-size:15px}.hero__actions{gap:16px}.hero .btn--primary{width:min(100%,420px);height:auto;min-height:62px;padding:14px 24px;font-size:16px}.hero__secondary{font-size:15px;padding-bottom:5px}.hero__photo-wrap{position:relative;top:auto;right:auto;width:100%;visibility:visible;max-height:420px;overflow:hidden}.hero__photo{width:100%;height:420px;object-fit:cover;aspect-ratio:auto;object-position:center 40%}.approach{grid-template-columns:1fr;padding:0 0 80px;gap:45px}.approach__visual img{height:480px}.approach__body{padding:0 var(--pad-x)}.service-grid,.works__grid{grid-template-columns:repeat(2,1fr)}.about{grid-template-columns:1fr}.about__photo img{height:400px}.flow__photo{display:none}.contact{grid-template-columns:1fr}.contact-form{max-width:650px}}
@media(max-width:620px){.site-header{padding:0 20px}.brand__text{font-size:28px}.brand__mark{width:35px}.hero__copy{padding:37px 22px 28px}.hero__kicker{font-size:11px}.hero h1{font-size:clamp(25px,8vw,38px);line-height:1.5;letter-spacing:-.09em;margin:21px 0 13px}.hero__lead{font-size:14px;line-height:1.65}.hero__proof{font-size:12px;margin:18px 0}.hero .btn--primary{min-height:55px;font-size:14px;padding:12px 20px}.hero__photo-wrap{height:245px}.hero__photo{height:245px;object-position:center 37%}.section{padding:78px 22px}.section__head h2,.approach h2,.about h2,.contact h2{font-size:30px}.intro__layout,.concern-list,.service-grid,.works__grid,.about{grid-template-columns:1fr}.intro__layout{gap:28px;margin-top:25px}.concern-list{margin-top:45px}.approach{padding:0 0 78px}.approach__visual img{height:330px}.approach__body{padding:0 22px}.service-card p{min-height:0}.service-card img{height:180px}.work-card{min-height:0}.about__photo img{height:340px}.flow-line li{grid-template-columns:45px 1fr}.flow-line__body h3{font-size:20px}.contact{padding:76px 22px;gap:40px}.contact-form{padding:27px}.contact .btn{font-size:13px}.footer{padding:60px 22px 100px}.footer__nav{justify-content:center}}
@media(prefers-reduced-motion:reduce){[data-reveal]{transform:none!important;clip-path:none!important;transition:opacity .6s ease!important}.hero__ambient{display:none}.marquee__inner{animation-duration:55s}.hero h1 .l>span{transform:none!important}}
/* 画面検証で判明した可読性と写真構造の修正 */
@media (min-width:1041px){.hero__photo-wrap{left:42.7%;right:auto;top:14.45%;width:33.6%;margin:0;visibility:visible}}
.service__more{line-height:1.8}
.contact-form{color:var(--ink)}
.contact-form h3{color:var(--ink)}
.footer__brand p{font-size:15px;line-height:1.8}

.page-progress{position:fixed;left:0;top:0;z-index:60;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;pointer-events:none}
@media(prefers-reduced-motion:reduce){.page-progress{display:none}}
/* 読了線はページ本体に粘着し、固定ヘッダーより前面で現在地を示す。 */
.page-progress{position:sticky;margin-bottom:-2px}
.footer__hours{font-size:13px;line-height:1.8;color:rgba(255,255,255,.7);margin:0}
.footer__hours a{text-decoration:underline;text-underline-offset:4px}
.footer__sns a{font-family:var(--font-en);font-size:14px;font-weight:600;text-decoration:none}
.footer__sns img{display:block;width:19px;height:19px;filter:invert(1);opacity:.85;transition:opacity .35s ease}
.footer__sns a:hover img,.footer__sns a:focus-visible img{opacity:1}

/* 下層ページ: トップと同じ色・書体・余白の体系で展開 */
.nav a[aria-current="page"]{color:var(--gold);background-size:100% 1px}
.subpage main{overflow:hidden}
.subhero{position:relative;min-height:clamp(370px,39vw,570px);padding:clamp(150px,15vw,230px) var(--pad-x) 84px;background:#eee8e4;display:flex;align-items:end;isolation:isolate}
.subhero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.27;z-index:-2}
.subhero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,244,242,.98),rgba(247,244,242,.8) 55%,rgba(247,244,242,.28));z-index:-1}
.subhero__content{width:min(100%,var(--content-max));margin:0 auto}
.breadcrumb{display:flex;align-items:center;gap:12px;margin-bottom:55px;color:var(--muted);font-size:12px;letter-spacing:.04em}
.breadcrumb a:hover{color:var(--gold)}
.subhero .eyebrow{margin-bottom:12px}
.subhero h1{font-family:var(--font-display);font-size:clamp(40px,5.5vw,76px);font-weight:500;letter-spacing:.06em;line-height:1.3;margin:0}
.subhero__lead{font-family:var(--font-display);font-size:clamp(17px,1.7vw,24px);line-height:1.7;margin:24px 0 0;max-width:720px}
.sub-section{padding:clamp(90px,10vw,150px) var(--pad-x);background:#fff}
.sub-section--soft{background:var(--paper)}
.sub-section>*{max-width:var(--content-max);margin-left:auto;margin-right:auto}
.sub-heading{max-width:780px;margin-left:auto;margin-right:auto;text-align:center}
.sub-heading h2,.sub-feature h2,.sub-cta h2{font-family:var(--font-display);font-size:clamp(30px,3.4vw,54px);font-weight:500;line-height:1.5;letter-spacing:.025em;margin:0 0 20px}
.sub-heading>p:last-child{color:var(--muted);font-size:16px;line-height:2;margin:0}
.sub-service-list{margin-top:65px;border-top:1px solid var(--line)}
.sub-service{display:grid;grid-template-columns:90px 1fr;gap:32px;padding:34px 10px;border-bottom:1px solid var(--line)}
.sub-service>span,.sub-value-grid span{font-family:var(--font-en);font-size:26px;color:var(--gold)}
.sub-service h3,.sub-work h3,.sub-value-grid h3,.sub-contact-grid h3{font-family:var(--font-display);font-size:clamp(21px,2vw,29px);font-weight:500;line-height:1.5;margin:0 0 12px}
.sub-service p,.sub-work p,.sub-value-grid p,.sub-contact-grid p{max-width:720px;color:var(--muted);font-size:15px;margin:0}
.sub-feature{display:grid;grid-template-columns:1fr 1fr;background:#eee8e4;align-items:center}
.sub-feature__photo{min-height:580px;height:100%}
.sub-feature__photo img{width:100%;height:100%;object-fit:cover}
.sub-feature__copy{max-width:700px;padding:clamp(50px,7vw,110px)}
.sub-feature__copy p:not(.eyebrow):not(.sub-signature){color:var(--muted);font-size:16px;margin:0 0 20px}
.sub-feature--about{background:#fff}
.sub-signature{font-family:var(--font-display);font-size:30px;border-top:1px solid var(--line);padding-top:22px;margin-top:40px}
.sub-signature small{display:block;font-family:var(--font-body);font-size:12px;color:var(--muted);margin-top:7px}
.sub-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:65px}
.sub-work{background:var(--paper);min-width:0}
.sub-work img{display:block;width:100%;height:220px;object-fit:cover}
.sub-work>div{padding:28px}
.sub-work__tag,.sub-contact-grid article>span{display:block;color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:18px}
.sub-note{max-width:var(--content-max);margin-top:32px;color:var(--muted);font-size:13px;text-align:center}
.sub-note a{text-decoration:underline;text-underline-offset:3px}
.sub-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:65px}
.sub-value-grid article{background:#fff;padding:35px}
.sub-value-grid h3{margin-top:25px}
.sub-contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin-top:65px}
.sub-contact-grid article{background:var(--paper);padding:clamp(30px,4vw,55px);display:flex;flex-direction:column;align-items:flex-start}
.sub-contact-grid p{margin-bottom:32px}
.sub-contact-grid .btn{margin-top:auto;background:var(--gold);border-radius:100px;color:#fff;padding:18px 28px;display:inline-flex;gap:28px;align-items:center}
.sub-contact-grid .text-link{margin-top:auto}
.sub-section .flow-line{margin-top:60px}
.sub-cta{background:#2F3A52;color:#fff;padding:clamp(90px,9vw,145px) var(--pad-x);text-align:center}
.sub-cta__inner{max-width:780px;margin:auto}
.sub-cta .eyebrow{color:#d8aca7}
.sub-cta p:not(.eyebrow){color:rgba(255,255,255,.78);margin:0}
.sub-cta__links{display:flex;align-items:center;justify-content:center;gap:35px;flex-wrap:wrap;margin-top:36px}
.sub-cta .btn{background:var(--gold);color:#fff;padding:18px 30px;border-radius:100px;display:inline-flex;gap:30px;align-items:center}
.sub-cta .text-link{color:#fff;margin:0}
.policy{max-width:900px;margin:0 auto;padding:clamp(70px,8vw,120px) 25px;color:var(--ink)}
.policy__lead{font-size:17px;color:var(--muted);margin:0 0 55px}
.policy section{border-top:1px solid var(--line);padding:35px 0}
.policy h3{font-family:var(--font-display);font-size:25px;font-weight:500;margin:0 0 18px}
.policy p,.policy li{color:var(--muted);font-size:15px;line-height:2}
.policy ul{padding-left:1.4em;margin:0}
.policy li+li{margin-top:10px}
.policy a{text-decoration:underline;text-underline-offset:3px}
.policy__date{text-align:right;font-size:13px;margin:24px 0 45px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1040px){.subhero{padding-top:165px}.sub-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sub-feature__photo{min-height:450px}.sub-feature__copy{padding:55px}.subpage .sticky-cta{opacity:1;transform:none;pointer-events:auto}}
@media(max-width:700px){.subhero{min-height:355px;padding:135px 22px 55px}.breadcrumb{margin-bottom:40px}.subhero h1{font-size:40px}.subhero__lead{font-size:16px}.sub-section{padding:80px 22px}.sub-heading{text-align:left}.sub-heading h2,.sub-feature h2,.sub-cta h2{font-size:30px}.sub-service{grid-template-columns:48px 1fr;gap:10px;padding:26px 0}.sub-service>span{font-size:22px}.sub-work-grid,.sub-value-grid,.sub-contact-grid,.sub-feature{grid-template-columns:1fr}.sub-work-grid,.sub-value-grid,.sub-contact-grid{margin-top:40px}.sub-feature__photo{min-height:0;height:320px}.sub-feature__copy{padding:55px 22px 70px}.sub-cta{padding:80px 22px}.sub-cta__links{flex-direction:column;gap:25px}.sub-cta .btn{font-size:14px}.policy{padding:70px 22px}.policy h3{font-size:22px}.sub-contact-grid article{padding:30px}.subpage .footer{padding-bottom:110px}}
@media(max-width:430px){.hero h1{font-size:clamp(23px,6.8vw,28px);letter-spacing:-.095em}}
/* ロゴ：すずサポート＋英字表記 */
.brand__text{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.15;font-size:clamp(24px,2.1vw,34px);letter-spacing:.14em}
.brand__en{font-family:var(--font-en);font-size:clamp(10px,.78vw,12px);font-weight:600;letter-spacing:.34em;color:var(--muted);margin-top:5px}
.footer__en{display:block;font-family:var(--font-en);font-size:12px;letter-spacing:.38em;color:rgba(255,255,255,.62);margin-top:-8px}
@media(max-width:620px){.brand__text{font-size:21px}.brand__en{font-size:8.5px;letter-spacing:.28em;margin-top:4px}}
/* 窓口はひとつ（トップ） */
.one-contact{background:var(--paper)}
.one-contact__inner{max-width:var(--content-max);margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:clamp(40px,7vw,110px);align-items:end}
.one-contact__body p{color:var(--muted);font-size:16px;margin:0}
.one-contact__tags{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 0;padding:0}
.one-contact__tags li{border:1px solid var(--line);border-radius:40px;padding:7px 16px;font-size:13px;color:var(--ink);background:#fff}
/* 依頼先の比較（サービス） */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:55px}
.compare__col{background:#fff;padding:clamp(28px,3.5vw,46px)}
.compare__col h3{font-family:var(--font-display);font-size:clamp(19px,1.7vw,24px);font-weight:500;margin:0 0 20px;color:var(--muted)}
.compare__col ul{list-style:none;margin:0;padding:0}
.compare__col li{position:relative;padding:14px 0 14px 26px;border-top:1px solid var(--line);font-size:15px;color:var(--muted);line-height:1.8}
.compare__col li::before{content:"";position:absolute;left:4px;top:26px;width:8px;height:1px;background:currentColor}
.compare__col--ours{border-top:3px solid var(--gold)}
.compare__col--ours h3{color:var(--ink)}
.compare__col--ours li{color:var(--ink)}
.compare__col--ours li::before{width:8px;height:8px;top:22px;border-radius:50%;background:var(--gold)}
.compare__note{margin-top:34px;color:var(--muted);font-size:15px}
/* 実施例：4件を2列で */
.sub-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sub-work img{height:auto;aspect-ratio:16/9}
@media(max-width:860px){.one-contact__inner,.compare{grid-template-columns:1fr}}
@media(max-width:620px){.sub-work-grid{grid-template-columns:1fr}.one-contact__tags li{font-size:12px;padding:6px 13px}}
/* 改行ルール：どの画面幅でも自然に折り返す
   - 見出し・リード文などの短い文は、HTMLに入れた文節の切れ目（<wbr>）でだけ折り返す
   - 見出しは各行の長さをそろえる
   - 本文は行いっぱいに詰め、最後の文節（.nobr）だけは途中で切らない */
body{line-break:strict}
h1,h2,h3,.hero__lead,.hero__proof,.section__lead,.subhero__lead,.policy__lead,.compare__note,figcaption,dt,.concern-list li,.compare__col li,.one-contact__tags li{word-break:keep-all;overflow-wrap:anywhere}
h1,h2,h3,.hero__lead,.section__lead,.subhero__lead{text-wrap:balance}
p:has(wbr),li:has(wbr){word-break:keep-all;overflow-wrap:anywhere}
.nobr{white-space:nowrap}
/* タブレット幅では、写真と文章の横並びをやめて縦に積む（文章欄が狭くなりすぎるため） */
@media(max-width:860px){.sub-feature{grid-template-columns:1fr}.sub-feature__photo{min-height:0;height:380px}.sub-feature__copy{max-width:none;padding:60px var(--pad-x) 70px}}
@media(max-width:620px){.sub-feature__photo{height:320px}.sub-feature__copy{padding:55px 22px 70px}}
/* デザイン制作ページ */
.one-contact__body .text-link,.sub-service .text-link{display:inline-flex;margin-top:22px}
.works-design-link{max-width:var(--content-max);margin:28px auto 0;text-align:center}
.design-chips ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:40px auto 0;padding:0}
.design-chips a{display:inline-block;border:1px solid var(--line);border-radius:40px;padding:8px 18px;font-size:13px;background:#fff;color:var(--ink);transition:border-color .3s,color .3s}
.design-chips a:hover{border-color:var(--gold);color:var(--gold)}
.design-note{margin:30px auto 0;color:var(--muted);font-size:13px;line-height:1.9;max-width:780px;text-align:center}
.design-group{padding:clamp(70px,8vw,120px) var(--pad-x);background:#fff;scroll-margin-top:80px}
.design-group:nth-of-type(odd){background:var(--paper)}
.design-group>*{max-width:var(--content-max);margin-left:auto;margin-right:auto}
.design-group__head h2{font-family:var(--font-display);font-size:clamp(26px,2.8vw,40px);font-weight:500;line-height:1.5;margin:0}
.design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,32px);margin-top:44px}
.design-card{min-width:0;display:flex;flex-direction:column}
.design-card--wide{grid-column:1/-1}
.design-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.design-grid--two .design-card__frame{aspect-ratio:16/10}
.design-card__frame{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#ede7e2;padding:clamp(12px,1.6vw,22px);overflow:hidden}
.design-card--wide .design-card__frame{aspect-ratio:auto}
.design-card__frame img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 10px 26px rgba(35,33,31,.12);transition:transform .5s var(--ease-out-expo)}
.design-card__frame:hover img{transform:scale(1.02)}
.design-card__body{padding:22px 2px 0}
.design-card__tags{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0 0 10px;font-size:12px;color:var(--muted);letter-spacing:.06em}
.design-card__kind{color:var(--gold);font-weight:700}
.design-card h3{font-family:var(--font-display);font-size:clamp(19px,1.6vw,23px);font-weight:500;line-height:1.5;margin:0 0 10px}
.design-card__body p:not(.design-card__tags){color:var(--muted);font-size:14.5px;margin:0}
@media(max-width:1040px){.design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.design-grid,.design-grid--two{grid-template-columns:1fr;margin-top:30px}.design-group{padding:64px 22px}.design-chips a{font-size:12px;padding:7px 14px}}
@media(max-width:700px){.design-chips ul{justify-content:flex-start}.design-note{text-align:left}}
/* 404（ページが見つからない） */
.notfound h1{font-size:clamp(30px,4.2vw,56px);letter-spacing:.04em}
.nf-links{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0 auto;padding:0}
.nf-links a{display:flex;flex-direction:column;gap:8px;height:100%;padding:28px 24px;background:var(--paper);border:1px solid var(--line);transition:border-color .3s,transform .3s}
.nf-links a:hover{border-color:var(--gold);transform:translateY(-2px)}
.nf-links__en{font-family:var(--font-en);font-size:13px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase}
.nf-links__ja{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-size:21px;color:var(--ink)}
.nf-links__desc{font-size:13.5px;color:var(--muted);line-height:1.8}
.nf-cta{margin-top:56px;text-align:center}
.nf-cta p{color:var(--muted);margin:0 0 22px}
.nf-cta .sub-cta__links{justify-content:center}
@media(max-width:1040px){.nf-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.nf-links{grid-template-columns:1fr}.nf-cta .sub-cta__links{align-items:center}}
.nf-links__desc{word-break:keep-all;overflow-wrap:anywhere}
.nf-cta .btn{white-space:nowrap}
@media(max-width:620px){.nf-cta .btn{font-size:14px;padding:14px 22px}}
