:root{--ink:#102650;--blue:#2448d8;--pale:#edf4fc;--line:#dfe6f2;--paper:#fff;--muted:#4b5375;--gutter:clamp(24px,5.556vw,120px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Noto Sans JP','Yu Gothic',Meiryo,sans-serif;font-size:16px;line-height:1.9;overflow-wrap:anywhere}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #2448d8;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.45;letter-spacing:.035em}h2{font-size:clamp(28px,3.2vw,44px)}h3{font-size:24px}p+p{margin-top:18px}img{display:block;max-width:100%}.wrap{width:calc(100% - var(--gutter)*2);max-width:1440px;margin:auto}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}
.site-header{border-bottom:1px solid var(--line);background:white}.header-inner{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{text-decoration:none;display:block;line-height:1.1;flex-shrink:0}.brand b{font-family:Arial,sans-serif;font-size:34px;letter-spacing:.08em;font-weight:900}.brand small{display:block;font-size:16px;letter-spacing:.03em;margin-top:9px}.nav{display:flex;align-items:center;gap:26px}.nav a{text-decoration:none;font-weight:700;font-size:16px}.nav a:hover,.nav a[aria-current=page]{color:var(--blue);text-decoration:underline}.nav .nav-consult{padding:13px 20px;background:var(--ink);color:white}.menu-button{display:none;background:var(--ink);color:#fff;border:0;padding:10px 14px;cursor:pointer}.crumb{padding-top:28px;font-size:16px;color:var(--muted)}.crumb a{margin-right:20px}
.hero{padding:74px 0 0;background:linear-gradient(122deg,#fff 28%,#edf7ff 65%,#f4f7fc);overflow:hidden}.eyebrow{color:var(--blue);font-weight:700;letter-spacing:.12em;font-size:16px;margin-bottom:24px}.hero-grid{display:grid;grid-template-columns:1.14fr 1fr;gap:56px;align-items:center}.hero h1{font-size:clamp(38px,4.25vw,66px);font-weight:900;line-height:1.42;letter-spacing:.02em}.hero h1 .small{display:block;font-size:18px;line-height:1.8;margin-bottom:22px;font-weight:600;letter-spacing:.05em}.hero h1 em{font-style:normal;color:var(--blue);border-bottom:3px solid var(--blue)}.hero .lead{margin-top:28px;max-width:560px;font-size:18px}.hero-foot{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:23px 0;margin-top:64px;color:var(--muted)}.hero-foot span{font-size:16px}.hero-visual{padding:34px 0 10px}.assembly{display:grid;gap:12px;transform:rotate(-3deg)}.assembly div{border:1px solid var(--ink);padding:26px 28px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:92px}.assembly div:nth-child(2){margin-left:32px;background:#d9eafa}.assembly div:nth-child(3){margin-right:32px;background:#f4f7fc}.assembly div:last-child{background:var(--ink);color:white;min-height:100px}.assembly b{font-size:24px}.assembly span{font-size:16px}.assembly-label{margin-top:28px;text-align:center;color:var(--muted);font-size:16px}.hero-action{margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:16px 32px;min-height:58px;border:1px solid var(--ink);background:var(--ink);color:white;text-decoration:none;font-weight:700;max-width:100%;transition:background .2s,color .2s}.button:hover{background:var(--blue);border-color:var(--blue)}.button.light{background:white;color:var(--ink)}.button.light:hover{background:var(--pale)}.actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:42px}
.section{padding:100px 0}.section.pale{background:var(--pale)}.section.dark{background:var(--ink);color:#fff}.section.dark .eyebrow{color:#dfe6f2}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:48px}.section-head p{max-width:560px}.section-head .eyebrow{margin-bottom:16px}.intro-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.large-word{font-family:Arial,sans-serif;font-size:clamp(50px,7vw,110px);line-height:1.05;letter-spacing:-.045em;color:var(--blue);font-weight:800}.intro-copy h2{margin-bottom:28px}.intro-copy p{max-width:650px}.rules{display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;border-top:1px solid var(--line)}.rule{padding:28px 28px 0 0}.rule+.rule{padding-left:28px;border-left:1px solid var(--line)}.rule .number{font-size:20px;color:var(--blue);margin-bottom:14px}.rule h3{margin-bottom:14px}.rule p{color:var(--muted)}
.package{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.page-diagram{border:1px solid var(--ink);background:white;padding:28px}.diagram-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;font-weight:700}.diagram-fv{margin:20px 0;background:linear-gradient(120deg,#dceafb,#f4f7fc);min-height:145px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.diagram-fv strong{font-size:28px}.diagram-sections{display:grid;grid-template-columns:1fr 1fr;gap:10px}.diagram-sections span{padding:12px;background:#f0f4f9;font-size:16px}.diagram-sections span:last-child{grid-column:1/-1;background:var(--ink);color:white;text-align:center}.page-diagram>p{padding-top:20px;font-size:16px;color:var(--muted)}.package-copy h3{font-size:32px;margin:12px 0 22px}.package-copy .big-number{font-size:70px;line-height:1.2;letter-spacing:-.04em}.package-copy .big-number small{font-size:24px;letter-spacing:0}.included{margin-top:24px;padding:0;list-style:none;border-top:1px solid var(--line)}.included li{padding:15px 0;border-bottom:1px solid var(--line)}.service-row{display:grid;grid-template-columns:100px 1fr 1fr;gap:36px;border-top:1px solid var(--line);padding:36px 0;align-items:start}.service-row:last-of-type{border-bottom:1px solid var(--line)}.service-row .number{font-size:44px;line-height:1.2;color:var(--blue);font-family:Arial,sans-serif}.service-row p{color:var(--muted)}.service-row h3{margin-bottom:12px}.service-row a{font-weight:700}.price-structure{display:grid;grid-template-columns:1.3fr 1fr;gap:32px}.price-panel{padding:38px;border:1px solid var(--line);background:#fff}.price-panel:last-child{background:#e8edf9}.price-panel .value{font-size:36px;font-weight:800;line-height:1.5;margin:18px 0}.price-panel .value small{font-size:16px}.price-panel p{color:var(--muted)}.price-panel .tag{font-size:16px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px}.fine{font-size:16px;color:var(--muted);margin-top:22px}.dark .fine{color:#dfe6f2}.price-table{border-top:2px solid var(--ink);margin-top:32px}.price-line{display:grid;grid-template-columns:1fr 1.5fr .7fr;gap:30px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}.price-line strong:last-child{text-align:right;white-space:nowrap}.price-line.head{background:var(--pale);padding-left:16px;padding-right:16px;font-weight:700}.price-line p{color:var(--muted)}
.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.work{min-width:0}.work img{aspect-ratio:16/9;width:100%;height:auto;object-fit:cover;object-position:top;border:1px solid var(--line)}.work .work-surface{aspect-ratio:16/9;background:#edf1f6;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);padding:24px;font-size:28px;font-weight:700;text-align:center}.work:nth-child(2) .work-surface{background:#f0ede5}.work:nth-child(3) .work-surface{background:#f4f7fc}.work p{font-size:16px;color:var(--muted);margin:20px 0 8px}.work h3{font-size:21px}.work a{display:inline-block;margin-top:18px;font-weight:700}.work-description{margin-top:12px!important}.steps{list-style:none;margin:0;padding:0;counter-reset:step}.steps li{display:grid;grid-template-columns:90px 1fr 1.5fr;gap:30px;border-top:1px solid var(--line);padding:27px 0;counter-increment:step}.steps li:before{content:counter(step,decimal-leading-zero);font:36px/1.3 Arial,sans-serif;color:var(--blue)}.steps li:last-child{border-bottom:1px solid var(--line)}.steps h3{font-size:24px}.steps p{color:var(--muted)}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;padding:25px 0;font-size:20px;font-weight:700}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'開く';font-size:16px;white-space:nowrap;font-weight:500;color:var(--blue)}.faq details[open] summary:after{content:'閉じる'}.faq details p{padding:0 0 28px;max-width:850px;color:var(--muted)}
.cta{background:#dceafa;padding:85px 0;text-align:center}.cta h2{font-size:clamp(30px,3.6vw,48px)}.cta p{margin:20px auto 0;max-width:650px}.cta .actions{margin-top:28px}.page-hero{padding:65px 0 72px;background:linear-gradient(115deg,#fff 20%,#edf4ff 80%,#f4f7fc)}.page-hero h1{font-size:clamp(36px,4.3vw,60px);max-width:1000px}.page-hero .lead{max-width:780px;margin-top:26px;font-size:18px}.page-hero .eyebrow{margin-bottom:20px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px}.text-block h3{margin-bottom:20px}.text-block p{color:var(--muted)}.catalog{display:grid;grid-template-columns:repeat(2,1fr);gap:0 50px}.catalog article{border-top:1px solid var(--line);padding:28px 0}.catalog h3{margin-bottom:15px}.catalog p{color:var(--muted)}.company{margin:0}.company div{display:grid;grid-template-columns:180px 1fr;gap:30px;padding:24px 0;border-bottom:1px solid var(--line)}.company dt{font-weight:700}.company dd{margin:0}.contact-box{max-width:850px;margin:auto;border:1px solid var(--line);padding:50px;background:var(--pale)}.contact-box h2{font-size:30px}.mail{font-size:clamp(22px,3vw,36px);font-weight:800;display:block;margin:25px 0}.contact-list{padding-left:24px}.site-footer{padding:60px 0 24px}.footer-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.footer-logo{width:115px;height:auto;margin-bottom:20px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px}.footer-links a{font-size:16px;text-decoration:none}.footer-links a:hover{text-decoration:underline}.copyright{border-top:1px solid var(--line);padding-top:24px;margin-top:50px;font-size:16px;color:var(--muted)}.wf-bar{padding:12px 20px;background:#222;color:white;font-size:16px;display:flex;justify-content:space-between;gap:16px}.wf-nav{padding:22px var(--gutter);background:#f3f3f3;display:flex;gap:12px 24px;flex-wrap:wrap;font-size:16px}.wireframe{--ink:#222;--blue:#333;--pale:#f3f3f3;--line:#aaa;--muted:#555}.wireframe .hero,.wireframe .page-hero,.wireframe .cta,.wireframe .diagram-fv,.wireframe .price-panel,.wireframe .assembly div{background:#f2f2f2;color:#222}.wireframe .assembly{transform:none}.wireframe img:not(.footer-logo){filter:grayscale(1)}.wireframe .assembly div:last-child{background:#222;color:white}.wireframe [data-wf]{position:relative}.wireframe [data-wf]:before{content:attr(data-wf);display:block;font-size:16px;border-bottom:1px dashed #888;padding:8px var(--gutter);color:#444;background:#f8f8f8}
@media(min-width:1600px){:root{--gutter:120px}}@media(max-width:1100px){.nav{display:none}.menu-button{display:block}.header-inner{position:relative;min-height:90px}.nav.is-open{display:flex;position:absolute;left:0;right:0;top:100%;z-index:10;background:white;border:1px solid var(--line);padding:25px;flex-direction:column;align-items:stretch;gap:20px}.hero-grid{gap:35px;grid-template-columns:1.1fr .9fr}.hero h1{font-size:44px}.assembly div{padding:20px;gap:15px}.assembly b{font-size:20px}.assembly span{font-size:16px}.section{padding:76px 0}.section-head{gap:40px}.intro-grid{gap:40px}.package{gap:35px}.service-row{grid-template-columns:60px 1fr 1fr;gap:24px}.works-grid{gap:20px}.work h3{font-size:20px}}
@media(max-width:760px){:root{--gutter:24px}.hero-grid,.intro-grid,.package,.section-head,.two-col{grid-template-columns:1fr}.hero{padding-top:46px}.hero h1{font-size:44px}.hero-visual{padding:18px 12px 0}.hero-grid{gap:22px}.hero-foot{margin-top:42px}.section{padding:64px 0}.section-head{gap:22px;margin-bottom:32px}.large-word{font-size:68px}.rules{grid-template-columns:1fr;margin-top:30px}.rule,.rule+.rule{border-left:0;border-bottom:1px solid var(--line);padding:25px 0}.rule .number{margin-bottom:7px}.price-structure{grid-template-columns:1fr}.price-panel{padding:28px}.service-row{grid-template-columns:48px 1fr;gap:18px}.service-row>p{grid-column:2}.service-row .number{font-size:30px}.works-grid{grid-template-columns:1fr;gap:40px}.work h3{font-size:24px}.steps li{grid-template-columns:50px 1fr;gap:12px 18px}.steps li>p{grid-column:2}.price-line{grid-template-columns:1fr auto;gap:10px 20px}.price-line>p{grid-row:2;grid-column:1/-1}.price-line.head{display:none}.price-line strong:last-child{font-size:18px}.catalog{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:32px}.company div{grid-template-columns:1fr;gap:8px}.contact-box{padding:28px}.hero-foot{flex-direction:column;gap:4px}.page-hero{padding:40px 0 48px}.page-hero h1{font-size:38px}.cta{padding:58px 0}.actions{margin-top:30px}.footer-links{gap:14px}.wf-bar{flex-direction:column;gap:2px}.fine{font-size:16px}}
@media(max-width:600px){:root{--gutter:16px}body{font-size:16px}.hero h1{font-size:36px}.hero h1 .small{font-size:14px}.hero .lead,.page-hero .lead{font-size:16px}.brand b{font-size:28px}.brand small{font-size:14px}.header-inner{min-height:84px;gap:14px}.menu-button{font-size:14px}.hero{padding-top:38px}.eyebrow{font-size:14px}.hero-visual{padding-left:10px;padding-right:10px}.assembly div{padding:19px 16px;min-height:76px}.assembly div:nth-child(2){margin-left:18px}.assembly div:nth-child(3){margin-right:18px}.assembly b{font-size:22px}.assembly span{font-size:14px}.assembly-label{font-size:14px}.hero-foot span{font-size:14px}.section-head h2{font-size:28px}.page-diagram{padding:20px}.diagram-sections span{padding:10px;font-size:14px}.diagram-fv{min-height:130px;padding:20px}.diagram-fv strong{font-size:24px}.diagram-fv span{font-size:14px}.package-copy h3{font-size:26px}.button{padding:14px 25px}.price-panel .value{font-size:30px}.footer-links a,.copyright,.crumb,.fine{font-size:14px}.faq summary{font-size:18px}.faq summary:after{font-size:14px}.price-line{gap:12px}.page-hero h1{font-size:32px}.contact-box{padding:24px}.contact-box h2{font-size:25px}.large-word{font-size:58px}.section{padding:58px 0}.wf-nav{font-size:14px}}
.title-context{display:block;font-size:16px;font-weight:600;letter-spacing:.02em;margin-bottom:20px;line-height:1.8}.work img{object-fit:contain;object-position:center;background:#edf1f6;height:auto;aspect-ratio:16/9}.work:nth-child(2) img{background:#f2f0ea}.work:nth-child(3) img{background:#f4f7fc}.hero-action{display:flex;justify-content:center;max-width:560px}.hero .lead{max-width:520px}.work{display:flex;flex-direction:column}.work a{margin-top:auto;padding-top:18px}.work-description{padding-bottom:12px}.wireframe .work img{background:#eee}@media(max-width:600px){.title-context{font-size:14px}.hero .lead{font-size:16px;letter-spacing:0;line-height:1.85}.hero-action{justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Final visual review: keep the editorial line lengths deliberate. */
.large-word{font-size:clamp(50px,5.8vw,88px)}
@media(max-width:760px){.large-word{font-size:64px}}
@media(max-width:600px){.large-word{font-size:58px}}

/* MIEKATA contact form: neutral disabled preview until a backend is connected. */
.contact-form-wrap{max-width:860px;margin:60px auto 0}.contact-form-wrap h2{font-size:28px}.form-status{margin:24px 0 32px;padding:20px;background:var(--pale)}.contact-form-wrap fieldset{border:0;padding:0;margin:0;min-width:0}.form-legend{font-size:20px;font-weight:700;margin-bottom:20px}.form-row{border-top:1px solid var(--line);padding:24px 0}.form-row label{display:flex;align-items:center;gap:18px;font-weight:700;margin-bottom:14px}.form-row label span{font-size:16px;font-weight:400;color:var(--muted)}.form-row input,.form-row select,.form-row textarea{width:100%;padding:16px;border:1px solid #778ba6;border-radius:0;background:#f6f8fb;color:var(--ink);font-size:16px;line-height:1.6;opacity:1;-webkit-text-fill-color:var(--ink)}.form-row textarea{resize:vertical}.form-row p{margin:0 0 14px;color:var(--muted)}.consent{display:flex;gap:14px;align-items:center}.consent input{width:22px;height:22px;flex:none}.privacy-link{margin-top:14px}.contact-form-wrap button:disabled{background:#4b5375;color:#fff;opacity:1;cursor:not-allowed}.contact-form-wrap button:disabled:hover{background:#4b5375;border-color:var(--ink)}@media(max-width:600px){.contact-form-wrap{margin-top:32px}.contact-form-wrap h2{font-size:24px}.form-row label span{font-size:14px}.form-status{padding:16px}}

.keep-phrase{display:inline-block;white-space:nowrap}

/* Footer legal row */
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:24px;margin-top:50px}.footer-bottom .copyright{border:0;padding:0;margin:0;text-align:right;white-space:nowrap}.footer-company{font-size:16px;text-decoration:none}.footer-company:hover{text-decoration:underline}@media(max-width:600px){.footer-company{font-size:14px}}

/* ===== Motion & interaction (2026-09-29 Claude Code) =====
   Nothing here hides content. Reveal effects live in site.js (Web Animations, fill:backwards).
   Helper classes (.m-*) exist only while site.js is animating and are removed afterwards. */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-draw:cubic-bezier(.65,.05,.25,1)}
.design .site-header{position:sticky;top:0;z-index:50;transition:transform .55s var(--ease-out),background-color .35s ease,border-color .35s ease}
.design .site-header.is-scrolled{background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3);border-bottom-color:#dfe6f2}
.design .site-header.is-hidden:not(:focus-within){transform:translateY(-101%)}
html:has(body.design){scroll-padding-top:130px}
@media(max-width:1100px){html:has(body.design){scroll-padding-top:114px}}
@media(max-width:600px){html:has(body.design){scroll-padding-top:104px}}
/* Hover: buttons fill from the left, text links grow their underline. */
.design .button{background-image:linear-gradient(var(--blue),var(--blue));background-repeat:no-repeat;background-position:0 0;background-size:0% 100%;transition:background-size .5s var(--ease-out),background-color .3s,color .3s,border-color .3s}
.design .button:hover{background-color:var(--ink);background-image:linear-gradient(var(--blue),var(--blue));background-size:100% 100%;border-color:var(--blue)}
.design .button.light{background-color:#fff;background-image:linear-gradient(var(--ink),var(--ink))}
.design .button.light:hover{background-color:#fff;background-image:linear-gradient(var(--ink),var(--ink));color:#fff;border-color:var(--ink)}
.design .button:disabled,.design .button:disabled:hover{background-image:none}
.design .nav a:not(.nav-consult),.design .footer-links a{text-decoration:none;background:linear-gradient(currentColor,currentColor) no-repeat 0 calc(100% - 3px)/0% 1px;transition:background-size .45s var(--ease-out),color .25s}
.design .nav a:not(.nav-consult):hover,.design .footer-links a:hover{text-decoration:none;background-size:100% 1px}
.design .nav a[aria-current=page]{text-decoration:none;background-size:100% 2px}
.design .nav .nav-consult{background-image:linear-gradient(var(--blue),var(--blue));background-repeat:no-repeat;background-size:0% 100%;transition:background-size .5s var(--ease-out)}
.design .nav .nav-consult:hover{background-size:100% 100%}
.design .service-row a,.design .work a,.design .crumb a,.design .privacy-link a,.design .mail{text-decoration-thickness:1px;transition:color .25s,text-decoration-thickness .25s,text-underline-offset .25s}
.design .service-row a:hover,.design .work a:hover,.design .crumb a:hover,.design .privacy-link a:hover,.design .mail:hover{color:var(--blue);text-decoration-thickness:2px;text-underline-offset:7px}
.design .faq summary{transition:color .25s}.design .faq summary:hover{color:var(--blue)}
/* Motion helpers (present only during an animation). */
.m-mask,.m-line{display:block}
.m-masking .m-mask{overflow:hidden;overflow:clip;padding:0 .06em .16em;margin:0 -.06em -.16em}
.m-underline{border-bottom-color:transparent!important;background:linear-gradient(var(--blue),var(--blue)) no-repeat 0 100%/100% 3px;background-origin:border-box}
.m-drawing{position:relative;border-top-color:transparent!important}
.m-draw{position:absolute;transform-origin:0 50%;pointer-events:none}
.m-count{font-variant-numeric:tabular-nums}
.m-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
@media(prefers-reduced-motion:reduce){.design .site-header.is-hidden{transform:none}}
/* 2026-09-29: 番号は手順（5ステップ）だけ。並列の項目の番号を外したので、行は本文だけの2列に */
.service-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:760px){.service-row{grid-template-columns:1fr;gap:12px}}
.service-row>div{grid-column:1}.service-row>p{grid-column:2}
@media(max-width:760px){.service-row>div,.service-row>p{grid-column:1/-1}}
/* 2026-09-29: サービス資料の抜粋（画像は1枚ずつ。重ねない・影なし） */
.deck-slide{margin:48px 0 0}
.deck-slide a{display:block;border:1px solid var(--line);background:#fff;overflow:hidden;transition:border-color .25s}
.deck-slide a:hover,.deck-slide a:focus-visible{border-color:var(--blue)}
.deck-slide img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.deck-slide figcaption{margin-top:12px;font-size:16px;color:var(--muted)}
.deck-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:48px}
.deck-pair .deck-slide{margin:0}
.section-head+.deck-slide,.rules+.deck-slide{margin-top:40px}
.intro-grid+.deck-slide{max-width:960px;margin-left:auto;margin-right:auto}
.wf-slide{margin-top:40px;border:1px dashed #999;background:#f2f2f2;color:#222;aspect-ratio:16/9;display:grid;place-items:center;padding:16px;text-align:center}
@media(max-width:760px){.deck-pair{grid-template-columns:1fr;gap:32px;margin-top:36px}.deck-slide{margin-top:36px}.deck-slide figcaption{font-size:14px}}
.wrap>.deck-slide,.package+.deck-slide,.section-head~.deck-slide{max-width:900px;margin-left:auto;margin-right:auto}

/* docs/82 (2026-10-01) 下層ページへのボタン：紺→青の面＋白丸矢印で目立たせる。上のコンテンツとの間は 50px（採用サイトと同じ） */
html body.design main .actions{margin-top:50px!important}
html body.design main a.button.light{position:relative;overflow:hidden;display:inline-flex!important;align-items:center;justify-content:space-between;gap:18px;min-width:min(100%,300px);min-height:60px;padding:10px 10px 10px 28px!important;border:0!important;border-radius:999px!important;background:linear-gradient(120deg,var(--ink),var(--blue))!important;color:#fff!important;font-weight:700;letter-spacing:.04em;text-decoration:none!important;box-shadow:none!important;transition:transform .45s var(--ease-out)}
html body.design main a.button.light::after{content:'→'!important;display:grid!important;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--blue);font-weight:800;transition:transform .45s var(--ease-out)}
@media(hover:hover){html body.design main a.button.light:hover{transform:translateY(-3px)}html body.design main a.button.light:hover::after{transform:translateX(4px)}}
@media(max-width:600px){html body.design main a.button.light{width:100%;min-height:56px}}
/* docs/83 (2026-10-01) ベースパッケージの金額 */
.package-price{margin:0 0 18px;padding:14px 18px;border-radius:12px;background:var(--pale);color:var(--ink);font-weight:700}
.package-price b{font-size:28px;color:var(--blue);margin:0 2px 0 8px}
.package-price small{font-size:16px;color:var(--muted)}
.design .hs-form-wrap{max-width:760px}
/* docs/84 (2026-10-01) 中間幅の折り返し：金額と「メインビジュアル」を途中で切らない */
.package-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.package-price b{white-space:nowrap;margin:0}
.diagram-fv strong{word-break:keep-all;overflow-wrap:anywhere}
@media(max-width:1100px){.diagram-fv strong{font-size:clamp(20px,2.6vw,28px)}}
/* docs/87 (2026-10-01) ページ内ナビ：押すとページ内を移動することが分かる形に（影なし・16px） */
.page-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:24px 0 26px;border-bottom:1px solid var(--line)}
.page-nav-label{flex-basis:100%;display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:16px;font-weight:800;letter-spacing:.06em;color:var(--blue)}
.page-nav-label::before{content:'';width:18px;height:2px;background:var(--blue)}
.page-nav a{display:inline-flex;align-items:center;gap:10px;padding:8px 9px 8px 18px;border:1.5px solid #dfe6f2;border-radius:999px;background:#fff;color:var(--ink);font-size:16px;font-weight:700;line-height:1.5;text-decoration:none;transition:background .3s,border-color .3s,color .3s}
.page-nav a::after{content:'↓';display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--blue);color:#fff;font-size:14px;font-weight:800;transition:transform .35s cubic-bezier(.19,1,.22,1)}
@media(hover:hover){.page-nav a:hover{background:var(--pale);border-color:var(--blue)}.page-nav a:hover::after{transform:translateY(3px)}}
.page-nav a.is-current{background:var(--blue);border-color:var(--blue);color:#fff}
.page-nav a.is-current::after{background:#fff;color:var(--blue)}
.page-nav a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
[id^=sec-]{scroll-margin-top:110px}
@media(max-width:767px){.page-nav{gap:8px;padding:16px 0 18px}.page-nav a{font-size:14px;padding:7px 8px 7px 14px}.page-nav a::after{width:22px;height:22px;font-size:12px}}
/* docs/98 (2026-10-01) お問い合わせ種別をラジオボタンで最上段に（影なし・16px） */
.radio-row .radio-label{margin:0 0 10px;font-weight:700;font-size:16px}
.radio-row .radio-label span{font-size:16px}
.radio-group{display:flex;flex-wrap:wrap;gap:10px}
.radio-group .radio{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-size:16px;cursor:pointer}
.radio-group .radio:has(input:checked){border-color:var(--blue);background:var(--pale)}
.radio-group .radio input{accent-color:var(--blue);width:18px;height:18px;margin:0}
.radio-row .radio-label{color:var(--ink)!important}
.radio-row .radio-label span{margin-left:12px;color:var(--muted);font-weight:400}
.radio-group .radio{margin:0!important}
