:root{--ink:#151719;--muted:#646970;--line:#e4e6e8;--soft:#f6f7f8;--orange:#f58b00;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.5;letter-spacing:.015em}h2{font-size:clamp(1.5625rem,3vw,2.25rem);line-height:1.55;margin-bottom:24px}h3{font-size:1.25rem;margin-bottom:12px}p{margin-bottom:20px}a:hover{color:#925000}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #ed8e19;outline-offset:5px}.skip{position:fixed;top:-60px;left:20px;z-index:100;background:#fff;padding:10px}.skip:focus{top:10px}.site-header{height:94px;max-width:1440px;padding:0 5%;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:32px}.brand{width:175px;flex-shrink:0}.brand img{width:175px;height:87px;object-fit:contain}nav{display:flex;align-items:center;gap:27px;font-size:1rem;font-weight:700}nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:9px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;border:1px solid var(--ink);background:var(--ink);color:#fff;min-height:52px;padding:13px 24px;font-size:1rem;font-weight:700;border-radius:4px;transition:background .2s}.button span{color:var(--orange);font-size:1.312rem;line-height:1}.button:hover{background:#34393e;color:#fff}.button.small{font-size:1rem;min-height:44px;padding:8px 17px;gap:16px}.text-link{display:inline-block;font-weight:700;font-size:1rem;border:0;border-bottom:1px solid #bfc3c7;padding:9px 0;background:transparent}.menu-toggle{display:none}.hero{max-width:1360px;margin:auto;padding:84px 6% 90px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.eyebrow{font-size:1rem;font-weight:700;letter-spacing:.15em;margin-bottom:22px;color:#626972}.orange-dot,.status-dot{display:inline-block;width:8px;height:8px;background:var(--orange);border-radius:50%;margin-right:10px}.service-label{font-size:1rem;font-weight:700;margin-bottom:20px}.hero h1{font-size:clamp(2.6875rem,4.8vw,4.125rem);line-height:1.38;letter-spacing:.025em;margin-bottom:25px;white-space:nowrap}.accent-mark{position:relative}.accent-mark:after{content:'';position:absolute;right:0;bottom:-4px;width:58px;height:4px;background:var(--orange)}.hero-desc{font-size:1rem;line-height:2}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:26px 0 20px}.fine{font-size:1rem;line-height:1.9;color:var(--muted);margin-bottom:0}.hero-visual{border:1px solid #d7dadf;border-radius:8px;box-shadow:20px 24px 0 #f6f7f8;overflow:hidden;background:white;position:relative}.window-bar{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:1rem;color:var(--muted);letter-spacing:.13em;border-bottom:1px solid var(--line)}.window-bar i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c3c7ca;margin-right:5px}.hero-image{position:relative;margin:18px 18px 0}.hero-image img{width:100%;aspect-ratio:16/9;object-fit:cover}.hero-play{position:absolute;inset:0;display:grid;place-content:center;color:#fff;font-size:1.5rem;text-shadow:0 0 12px #000}.hero-play:hover{color:#fff;background:#0002}.editor-row{display:flex;gap:3px;padding:17px 18px;align-items:center;font-size:1rem}.editor-row .mono{margin-left:auto;font-size:1rem;color:#858b90}.status-dot{width:5px;height:5px;margin-right:5px}.timeline{padding:15px 18px 22px;border-top:1px solid var(--line);display:flex;gap:5px;background:repeating-linear-gradient(90deg,transparent,transparent 29px,#eef0f2 30px)}.timeline span{font-size:1rem;background:#e9edf0;border-left:2px solid #9fa7b0;padding:3px 14px;flex:1;text-align:center}.timeline span:first-child{border-color:var(--orange);background:#fff2df}.scope-strip{max-width:var(--max);margin:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-around;padding:23px;font-size:1rem;letter-spacing:.1em;font-weight:700}.section{max-width:var(--max);margin:auto;padding:95px 40px}.section.compact{padding-top:20px}.section.soft{max-width:none;background:var(--soft);padding-left:max(40px,calc((100vw - 1120px)/2));padding-right:max(40px,calc((100vw - 1120px)/2))}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:1rem;max-width:430px;margin:0}.service-list{border-top:1px solid var(--line)}.service-list article{display:flex;align-items:start;gap:32px;padding:33px 0;border-bottom:1px solid var(--line)}.service-number{font-size:1rem;color:var(--orange);font-weight:700;padding-top:5px}.service-list article div{flex:1}.service-list p{font-size:1rem;max-width:710px;margin-bottom:0;color:var(--muted)}.pill{display:inline-block;font-size:1rem;padding:4px 12px;border:1px solid #d8dbde;border-radius:30px;white-space:nowrap;font-weight:600}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.work-image{display:block;position:relative;overflow:hidden;background:#eee}.work-image img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .3s}.work-image:hover img{transform:scale(1.025)}.work .eyebrow{margin:22px 0 8px;font-size:1rem}.work h3{font-size:1.188rem;line-height:1.7;margin-bottom:8px}.work .muted{font-size:1rem}.play{position:absolute;inset:0;display:grid;place-content:center;font-size:1.562rem;color:#fff;text-shadow:0 0 10px #000}.video-label{position:absolute;bottom:0;right:0;font-size:1rem;background:#151719;color:white;padding:5px 12px}.muted{color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.split p{font-size:1rem}.link-list a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);font-size:1rem;font-weight:700}.link-list a:first-child{border-top:1px solid var(--line)}.link-list b{color:var(--orange)}.link-list small{display:block;color:var(--muted);font-size:1rem;font-weight:400}.link-list .fine{margin-top:20px}.pricing-teaser{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.big-price{font-size:clamp(2.375rem,5vw,3.75rem);font-weight:700;letter-spacing:-.035em;line-height:1.4;margin:20px 0 12px;font-variant-numeric:tabular-nums}.big-price span{font-size:1rem;letter-spacing:0;margin-left:10px}.pricing-teaser .text-link{margin-top:25px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px}.steps article{border-top:2px solid var(--line);padding-top:20px}.steps b{font-size:1rem;color:var(--orange)}.steps h3{font-size:1.062rem;margin:15px 0 10px}.steps p{font-size:1rem;color:var(--muted)}.faq{padding-top:15px}.faq details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:23px 35px 23px 0;font-weight:600;font-size:1rem;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'＋';position:absolute;right:5px;color:#bf6d00}details[open] summary:after{content:'−'}.faq details p{font-size:1rem;max-width:850px;color:var(--muted);padding-bottom:12px}.contact-band{max-width:var(--max);margin:30px auto 0;padding:60px 40px;display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-band h2{margin:0 0 14px}.contact-band p{font-size:1rem;margin-bottom:0}.contact-band .eyebrow{font-size:1rem;margin-bottom:12px}footer{max-width:var(--max);padding:55px 40px 20px;margin:auto}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-name{font-size:1.625rem;letter-spacing:-.04em}.footer-name span{font-size:1.062rem;margin-left:2px}footer p{font-size:1rem;margin:10px 0}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 35px;font-size:1rem}.footer-bottom{margin-top:42px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:1rem;color:var(--muted)}.page-head{max-width:var(--max);margin:auto;padding:75px 40px 55px}.page-head h1{font-size:clamp(1.875rem,4vw,2.875rem);line-height:1.5;letter-spacing:.01em;margin-bottom:25px}.lead{max-width:770px;font-size:1rem;color:var(--muted);margin-bottom:0}.short-feature{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;margin:75px 0 30px;background:var(--soft);padding:45px}.short-graphic{max-width:230px;aspect-ratio:9/13;margin:auto;width:100%;border:1px solid #ccc;border-radius:20px;padding:25px 20px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(160deg,#fff,#eceff2);font-size:1.438rem;font-weight:700;line-height:1.7}.short-graphic b{font-size:1rem;letter-spacing:.12em;border-top:3px solid var(--orange);padding-top:15px}.note{padding:24px;background:var(--soft);border-left:3px solid #b6bcc2;font-size:1rem;margin-top:30px}.note p{margin:8px 0 0}.note a,.reading a,.fine a{border-bottom:1px solid #bfc3c7}.plan-top{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);padding-top:40px}.plan-top h2{margin-top:20px}.plan-top p{font-size:1rem}.plan-top .big-price{font-size:3.438rem}.included{padding:28px;background:var(--soft)}.included h3{font-size:1.062rem}.included li{font-size:1rem;padding:6px 0}.included ul{padding-left:20px}.calculator{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;border:1px solid #ccd1d6;padding:35px;margin:65px 0 85px;border-radius:5px}.calculator h2{font-size:1.562rem}.calculator p{font-size:1rem}.calculator label{font-size:1rem;display:block}.calculator label b{float:right}.calculator input[type=range]{width:100%;accent-color:var(--orange);margin:20px 0 8px}.range-labels{display:flex;justify-content:space-between;font-size:1rem;color:var(--muted)}.additional{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:27px}.additional input{width:100%;margin-top:10px}.calculator-result{border-left:1px solid var(--line);padding-left:35px;align-self:center}.calculator-result>span{font-size:1rem}.calculator-result .big-price{font-size:3rem}.price-table>div{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:25px 0}.price-table>div:first-child{border-top:1px solid var(--line)}.price-table span{font-size:1rem;color:var(--muted)}.price-table strong{text-align:right;font-size:1.875rem}.price-table small{font-size:1rem;margin-left:8px}.price-table+.fine{margin-top:20px}.prose-section{max-width:900px;padding:35px 40px;margin:auto;border-top:1px solid var(--line)}.prose-section h2{font-size:1.438rem}.prose-section p,.prose-section li{font-size:1rem;line-height:2}.prose-section p:last-child{margin-bottom:0}.reading{padding-bottom:35px}.template-tabs{display:flex;gap:10px;margin-bottom:28px;flex-wrap:wrap}.template-tabs button{border:1px solid #dce0e4;padding:13px 18px;background:white;border-radius:3px;font-size:1rem}.template-tabs button[aria-selected=true]{background:var(--ink);color:white;border-color:var(--ink);box-shadow:inset 0 -3px var(--orange)}.template-stage{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:40px;background:var(--soft)}.sample-screen{background:#fff;min-height:310px;padding:30px;display:flex;flex-direction:column;border:1px solid #d8dde1;position:relative}.sample-screen:before{content:'';position:absolute;top:30px;right:30px;background:var(--orange);width:9px;height:9px;border-radius:50%}.sample-screen h2{font-size:1.875rem;margin:auto 0}.sample-screen>span:last-child{font-size:1rem;padding-top:15px;border-top:1px solid var(--line)}#sample-steps{list-style:none;padding:0;counter-reset:step}#sample-steps li{counter-increment:step;border-top:1px solid var(--line);padding:16px 0;font-size:1rem}#sample-steps li:before{content:'0' counter(step);font-size:1rem;color:#a25b00;margin-right:12px}#sample-steps li span{display:block;color:var(--muted);margin-top:5px}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.about-grid p,.about-grid li{font-size:1rem}.about-monogram{background:var(--soft);min-height:400px;align-self:start;display:flex;flex-direction:column;justify-content:center;padding:45px;font-size:4.062rem;font-weight:700;line-height:1;letter-spacing:-.06em;border-top:3px solid var(--ink)}.about-monogram span{margin-left:55px}.about-monogram small{margin-top:35px;font-size:1rem;letter-spacing:.12em}.plain-list{padding-left:18px}.plain-list li{margin:10px 0}.carmap-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}.carmap-intro img{max-width:370px}.qr-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;border-top:1px solid var(--line)}.qr-image{width:400px;border:1px solid var(--line);margin:auto}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.contact-grid h2{font-size:1.688rem}.contact-grid p{font-size:1rem}.email-address{font-size:1.125rem;border-bottom:1px solid var(--line)}form label{display:block;font-size:1rem;font-weight:700;margin:0 0 8px}form label span{font-size:1rem;color:#8e5100;margin-left:10px}input:not([type=range]),textarea,select{padding:12px 14px;border:1px solid #ccd1d5;background:#fff;border-radius:3px;min-height:46px;width:100%;color:var(--ink)}form input,form textarea,form select{margin-bottom:22px}textarea{resize:vertical}form .fine{font-size:1rem}.contact-grid .note p{font-size:1rem}#form-status{font-size:1rem}.mobile-only{display:none}
@media(min-width:1440px){.hero{padding-left:80px;padding-right:80px}}@media(max-width:1000px){nav{gap:16px;font-size:1rem}.site-header{padding:0 25px;gap:20px}.brand,.brand img{width:150px}.hero{gap:35px;padding-left:35px;padding-right:35px}.hero h1{font-size:3rem}.hero-desc{font-size:1rem}.hero-visual{box-shadow:12px 15px 0 #f6f7f8}.section-heading>p{max-width:350px}.split{gap:40px}.calculator{gap:25px;padding:25px}.calculator-result{padding-left:25px}.calculator-result .big-price{font-size:2.375rem}.contact-grid{gap:40px}}@media(max-width:760px){.site-header{height:76px;padding:0 22px;position:relative;z-index:10;background:white}.brand,.brand img{width:140px;height:70px}.menu-toggle{display:flex;gap:20px;background:white;border:0;font-size:1rem;padding:12px}.menu-toggle span{color:#b66c08}nav{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;padding:20px 25px 30px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #00000008}nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav>a{padding:14px 0;font-size:1rem}nav .button{margin-top:15px;padding:12px 20px}.hero{grid-template-columns:1fr;padding:48px 25px 50px;gap:38px}.hero h1{font-size:clamp(2.25rem,9vw,3.75rem)}.hero .eyebrow{font-size:1rem}.hero-desc{font-size:1rem}.hero .actions{gap:22px}.hero .button{font-size:1rem;padding:12px 18px;gap:18px}.hero .text-link{font-size:1rem}.hero .fine{font-size:1rem}.hero-visual{max-width:500px;width:calc(100% - 12px);justify-self:center}.scope-strip{padding:18px 15px;font-size:1rem;gap:10px;letter-spacing:0;flex-wrap:wrap}.section{padding:60px 24px}.section.soft{padding:60px 24px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px;max-width:none}.section-heading>.text-link{margin-top:20px}.service-list article{gap:17px;padding:25px 0;flex-wrap:wrap}.service-list h3{font-size:1.125rem}.service-list p{font-size:1rem}.service-list .pill{margin-left:35px}.service-list article div{flex-basis:calc(100% - 45px)}.work-grid{grid-template-columns:1fr;gap:30px}.work h3{font-size:1.062rem}.split,.pricing-teaser{grid-template-columns:1fr;gap:25px}.pricing-teaser h2 br{display:none}.pricing-teaser .big-price{font-size:2.875rem}.steps{grid-template-columns:1fr 1fr;gap:20px}.steps h3{font-size:1rem}.faq{padding-top:10px}summary{font-size:1rem}.contact-band{padding:40px 24px;display:block;margin-top:10px}.contact-band .button{margin-top:25px}.contact-band h2{font-size:1.625rem}footer{padding:40px 24px 20px}.footer-top{display:block}.footer-links{margin-top:25px;gap:15px}.footer-bottom{gap:20px;font-size:1rem}.page-head{padding:45px 24px 40px}.page-head h1{font-size:2rem}.lead{font-size:1rem}.plan-top{grid-template-columns:1fr;gap:25px}.plan-top .big-price{font-size:3rem}.calculator{grid-template-columns:1fr;padding:23px;margin:35px 0 55px}.calculator-result{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.calculator-result .big-price{font-size:3rem}.additional{gap:15px}.additional label{font-size:1rem}.price-table>div{grid-template-columns:1fr 1fr;gap:5px 15px}.price-table span{grid-column:1;grid-row:2}.price-table strong{grid-row:1/3;grid-column:2;font-size:1.562rem}.price-table b{font-size:1rem}.price-table small{font-size:1rem}.prose-section{padding:28px 24px}.prose-section h2{font-size:1.312rem}.short-feature{grid-template-columns:1fr;margin-top:40px;padding:27px;gap:30px}.short-feature h2{font-size:1.562rem}.short-graphic{max-width:175px;font-size:1.125rem}.template-stage{grid-template-columns:1fr;padding:22px;gap:30px}.template-tabs{gap:8px}.template-tabs button{font-size:1rem;padding:10px}.sample-screen h2{font-size:1.625rem}.sample-screen{min-height:270px;padding:24px}.about-grid,.carmap-intro,.qr-section,.contact-grid{grid-template-columns:1fr;gap:35px}.about-monogram{min-height:230px;padding:35px;font-size:3.438rem}.about-monogram span{margin-left:60px}.about-monogram small{margin-top:20px}.carmap-intro img{max-width:260px;margin:auto}.qr-image{max-width:370px}.contact-grid h2{font-size:1.562rem}.contact-grid .actions{align-items:flex-start}.contact-grid .button{font-size:1rem;gap:10px}.qr-section{padding-top:40px}.hero-copy,.hero-visual,.plan-top>*,.calculator>*,.contact-grid>*,.template-stage>*,.work{min-width:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Final service pages */
.expertise{padding-top:60px;padding-bottom:60px;border-bottom:1px solid var(--line)}.expertise-heading{max-width:850px}.expertise-heading>p:not(.eyebrow){font-size:1rem;max-width:760px}.expertise-cards{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:30px 0 20px}.expertise-cards>a{border:1px solid var(--line);padding:28px;border-radius:5px}.expertise-cards>a:hover{border-color:var(--orange);color:var(--ink)}.expertise-cards h3{margin-top:20px}.expertise-cards p{font-size:1rem;color:var(--muted)}.line-icon{display:inline-grid;place-items:center;color:#a45b00;width:36px;height:36px;border:1px solid #efc18c;border-radius:50%;font-size:1rem}.plan-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.plan-card{padding:27px;border:1px solid var(--line);border-radius:6px;display:flex;flex-direction:column}.plan-card.featured{border-top:4px solid var(--orange);padding-top:24px;background:#fafafa}.plan-card h2{font-size:1.5rem;margin-bottom:0}.plan-card p,.plan-card li{font-size:1rem}.plan-card .plan-price{font-size:2.312rem;margin:22px 0}.plan-card ul{padding-left:19px;margin:0 0 20px}.plan-card li{padding:4px 0}.plan-card .text-link{margin-top:auto;padding-top:24px;align-self:flex-start}.plan-card .fine{font-size:1rem;margin-bottom:10px}.plan-price{font-size:3rem;line-height:1.35;font-weight:700;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.plan-price span{display:block;font-size:1rem;font-weight:500;letter-spacing:0;margin-top:8px}.sim-cta{margin:55px 0 65px;padding:35px;background:var(--soft);display:flex;gap:35px;align-items:center;justify-content:space-between}.sim-cta h2{font-size:1.625rem}.sim-cta p{font-size:1rem}.quote-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:start}.sim-form fieldset{border:0;padding:0;margin:25px 0}.sim-form legend{font-size:1.062rem;font-weight:700;margin-bottom:20px}.input-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.input-pair input{margin-top:8px}.sim-form .fine{margin-bottom:22px}.sim-form .note{margin:0 0 25px}.quote-result{padding:32px;background:#f7f8f9;border:1px solid var(--line);border-radius:6px;position:sticky;top:25px}.quote-result h2{font-size:1.562rem}.quote-result dl{font-size:1rem;margin:25px 0}.quote-result dl>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line)}.quote-result dd{margin:0;white-space:nowrap}.quote-result .button{display:flex;margin-top:25px}.quote-result .text-link{margin-top:14px}.quote-result .fine{font-size:1rem}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.video-card{min-width:0}.video-card h3{font-size:1.125rem;line-height:1.75}.video-card>p:not(.eyebrow){font-size:1rem;color:var(--muted)}.video-card .eyebrow{margin:22px 0 10px}.video-player{aspect-ratio:16/9;position:relative;background:#eef0f2;overflow:hidden;border-radius:6px;border:1px solid var(--line)}.video-load{border:0;display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;background:#eef0f2;color:white}.video-load img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;display:grid;place-content:center;border-radius:50%;background:#14171bcc;color:white;font-size:1.25rem}.video-caption{position:absolute;bottom:12px;right:12px;padding:4px 12px;background:#151719e6;font-size:1rem;border-radius:3px}.poster-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#292f35;font-size:1.75rem;letter-spacing:.1em;background:linear-gradient(135deg,#e4e8ec,#fff)}.poster-fallback small{font-size:1rem;margin-top:15px}.video-player iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.short-grid{max-width:900px;margin:0 auto;gap:60px}.vertical .video-player{aspect-ratio:9/16;width:100%;max-width:320px;margin:auto}.vertical .video-load img{object-fit:cover;width:238%;max-width:none;left:-69%;height:100%}.video-section-title{margin-top:70px}.video-consent{margin-top:30px}.format-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:40px;align-items:center}.format-intro p{font-size:1rem;color:var(--muted)}.format-number{font-size:1rem;color:#a45b00;font-weight:700;display:block;margin-bottom:15px}.format-points{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:60px;padding:30px 0;border-block:1px solid var(--line)}.format-points b{color:#a45b00;font-size:1rem}.format-points h3{margin-top:14px}.format-points p,.format-explanation p{font-size:1rem;color:var(--muted)}.format-explanation{padding:25px;background:var(--soft)}.format-explanation li{padding-left:8px;margin-bottom:18px}.client-line{display:grid;grid-template-columns:1fr 280px;gap:60px;border-top:1px solid var(--line)}.client-line p{font-size:1rem}.line-qr{align-self:center}.line-qr img{margin:auto;width:220px}.line-qr span{display:block;text-align:center;font-size:1rem;color:var(--muted);margin-top:15px}.guide-table-wrap{overflow-x:auto}.guide-table{width:100%;border-collapse:collapse;min-width:620px;font-size:1rem;line-height:1.85}.guide-table th,.guide-table td{border-bottom:1px solid var(--line);text-align:left;padding:16px 14px;vertical-align:top}.guide-table th{background:var(--soft)}.guide-table td:first-child{font-weight:700;font-size:1.312rem;width:55px}.guide-table td:nth-child(2){width:165px}.guide-meta{font-size:1rem;color:var(--muted)}.law-update{border-left:3px solid var(--orange);padding:23px;background:#fff9f1;margin:25px 0}.law-update p{font-size:1rem;margin:8px 0 0}.download-card{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:25px;border:1px solid var(--line);margin:20px 0}.download-card h3{margin-bottom:7px;font-size:1.062rem}.download-card p{margin:0;font-size:1rem}.sources{font-size:1rem;overflow-wrap:anywhere}.document-sample{border:1px solid #ccc;background:#fff;padding:30px;max-width:760px;margin:30px auto}.sample-stamp{font-size:1rem;border:1px solid #a35e09;display:inline-block;padding:3px 12px;color:#935200}.document-sample h3{text-align:center;font-size:1.625rem;margin-top:20px}.document-sample table{width:100%;border-collapse:collapse;font-size:1rem}.document-sample th,.document-sample td{border-bottom:1px solid #ddd;padding:12px 7px;text-align:left}.document-sample td:last-child{text-align:right}.document-sample .fine{margin-top:15px}.bill-total{text-align:right;font-weight:700;font-size:1.438rem;margin-top:20px}.milestones{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.milestones a{font-size:1rem;border:1px solid #ccc;border-radius:30px;padding:8px 14px}.source-link{overflow-wrap:anywhere}.quote-result,fieldset,.plan-card,.format-explanation{min-width:0}
@media(max-width:1000px){.plan-cards{gap:12px}.plan-card{padding:20px}.plan-card .plan-price{font-size:1.938rem}.short-grid{gap:35px}}
@media(max-width:760px){.plan-cards,.quote-layout,.expertise-cards,.video-grid,.format-intro,.client-line{grid-template-columns:1fr}.plan-card .plan-price{font-size:2.625rem}.plan-card{padding:27px}.expertise{padding-top:45px;padding-bottom:45px}.expertise h2{font-size:1.688rem}.expertise h2 br{display:none}.expertise-cards>a{padding:22px}.quote-layout{gap:25px}.quote-result{position:static;padding:25px}.sim-cta{display:block;padding:25px;margin:35px 0 45px}.sim-cta .button{margin-top:15px}.sim-cta h2{font-size:1.5rem}.short-grid{gap:40px}.vertical .video-player{max-width:280px}.format-points{grid-template-columns:1fr;gap:15px;margin-top:35px}.format-points article{border-bottom:1px solid var(--line)}.format-points article:last-child{border:0}.format-intro{gap:10px}.client-line{gap:35px}.download-card{display:block}.download-card .button{margin-top:20px}.document-sample{padding:20px 13px}.document-sample table{font-size:1rem}.input-pair{gap:12px}.input-pair label{font-size:1rem}.law-update{padding:18px}.guide-table{min-width:570px}.work-grid>.video-card{min-width:0}}
/* Local foundations adapted from https://design.digital.go.jp/dads/foundations/.
   This is a site-specific adaptation, not a claim of DADS/WCAG conformance. */

/* Shared foundations: readable type, consistent space and visible interaction. */
:root {
  --muted: #565b61;
  --accent-text: #924900;
  --link: #0050a4;
  --link-visited: #843c80;
  --input-border: #757575;
  --focus-yellow: #ffd43d;
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 4rem;
  --radius-control: .25rem;
  --radius-card: .5rem;
}
html { font-size: 100%; }
body { font-size: 1rem; line-height: 1.75; overflow-wrap: anywhere; }
h1, h2, h3 { font-weight: 700; }
.hero h1 { white-space: normal; }
.hero-desc, .prose-section p, .prose-section li { line-height: 1.8; }
.fine, .hero .fine, .plan-card .fine, form .fine, .quote-result .fine,
.eyebrow, .hero .eyebrow, .work .eyebrow, .contact-band .eyebrow,
.guide-meta, .sources, .footer-bottom, footer p, .footer-links,
.window-bar, .editor-row .mono, .timeline span, .video-label,
.video-caption, .line-qr span, form label span, .about-monogram small {
  font-size: .875rem;
  line-height: 1.7;
}
.service-number, .steps b, .link-list b, .line-icon,
.format-number, .format-points b { color: var(--accent-text); }
.editor-row .mono { color: var(--muted); }
.section { padding-block: var(--space-5); }
.section.compact { padding-top: var(--space-3); }
.section-heading { gap: var(--space-4); margin-bottom: var(--space-4); }
.expertise-cards, .plan-cards, .video-grid, .work-grid, .steps {
  gap: var(--space-3);
}
.expertise-cards > a, .plan-card, .quote-result, .included,
.format-explanation, .note { padding: var(--space-4); border-radius: var(--radius-card); }
.plan-card.featured { padding-top: calc(var(--space-4) - 3px); }
.button, .button.small, .hero .button, .contact-grid .button,
.template-tabs button, .menu-toggle {
  min-height: 48px;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: var(--radius-control);
}
.button { gap: var(--space-3); }
input:not([type=range]), textarea, select {
  font-size: 1rem;
  line-height: 1.75;
  border-color: var(--input-border);
  border-radius: var(--radius-control);
  min-height: 48px;
}
.template-tabs button { border-color: var(--input-border); }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #000;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--focus-yellow);
}
/* Specificity also overrides earlier component-level focus rules. */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #000;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--focus-yellow);
}
.video-load:focus-visible, .hero-play:focus-visible {
  outline-offset: -6px;
  box-shadow: inset 0 0 0 3px var(--focus-yellow);
}
:where(.reading, .fine, .note, .sources, .prose-section) a:not(.button):not(.milestones a),
a.text-link, .email-address {
  color: var(--link);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
  border-bottom: 0;
}
:where(.reading, .fine, .note, .sources, .prose-section) a:not(.button):visited,
a.text-link:visited, .email-address:visited { color: var(--link-visited); }
a.text-link:hover, .email-address:hover, .reading a:not(.button):hover {
  color: #003b7a;
  text-decoration-thickness: 2px;
}
button.text-link { color: var(--link); text-decoration: underline; text-underline-offset: .2em; min-height: 48px; }
.footer-links a { text-decoration: underline; text-underline-offset: .2em; padding-block: .25rem; }
nav a:not(.button) { padding-block: .75rem; }
nav a:hover, nav a[aria-current=page] { text-decoration: underline; text-underline-offset: .3em; }
.quote-result { position: static; }
.quote-result dl > div { flex-wrap: wrap; }
.quote-result dd { margin-left: auto; }
.download-card .button { flex-shrink: 0; }
.window-bar { height: auto; min-height: 44px; gap: var(--space-1); padding-block: .5rem; }
.window-bar > span:first-child { flex-shrink: 0; }
.window-bar > span:last-child { text-align: right; }
.editor-row { flex-wrap: wrap; }
.timeline { flex-wrap: wrap; }
.timeline span { padding-inline: .5rem; }
.plan-cards > *, .steps > *, .section-heading > *, .footer-top > * { min-width: 0; }
.guide-table-wrap { padding: 6px; margin: -6px; }
@media (max-width: 1100px) and (min-width: 761px) {
  .site-header { height: auto; min-height: 94px; flex-wrap: wrap; padding-block: .5rem; gap: .5rem 1.5rem; }
  nav { width: 100%; flex-wrap: wrap; gap: .5rem 1.5rem; justify-content: center; }
}
@media (max-width: 760px) {
  .section, .section.soft { padding: 3rem 1.5rem; }
  .section.compact { padding-top: var(--space-3); }
  .section-heading { margin-bottom: var(--space-3); }
  .expertise-cards > a, .plan-card, .quote-result, .included,
  .format-explanation, .note { padding: var(--space-3); }
  .plan-card.featured { padding-top: calc(var(--space-3) - 3px); }
  .hero .actions { gap: var(--space-2); }
  .footer-bottom { flex-wrap: wrap; }
  .site-header { min-height: 76px; height: auto; }
  nav { top: 100%; }
}
@media (max-width: 380px) {
  .steps, .input-pair, .footer-links { grid-template-columns: 1fr; }
  .site-header { padding-inline: 1rem; gap: .5rem; }
  .hero, .section, .section.soft, .page-head, .prose-section { padding-inline: 1rem; }
}

/* Entry plan and always-visible contact routes. */
.line-button { background: #06C755; border-color: #06C755; color: #fff; }
.line-button:hover { background: #05b34d; border-color: #05b34d; color: #fff; }
.line-button span { color: #fff; }
.header-line { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 16px; border-radius: var(--radius-control); font-weight: 700; white-space: nowrap; order: 2; }
.site-header nav { order: 1; }
.site-header { gap: 20px; }
.contact-qr { display: flex; flex-direction: column; align-items: center; flex-shrink: 0; gap: 8px; color: var(--ink); }
.contact-qr img { background: #fff; width: 176px; height: 176px; }
.contact-qr span { font-size: .875rem; }
.footer-brand { display: inline-block; }
.footer-brand img { width: 220px; height: 110px; object-fit: contain; }
.footer-carmap { padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid var(--line); }
.footer-service-heading h2 { font-size: 1.5rem; margin-bottom: 12px; }
.footer-service-heading p { font-size: 1rem; }
.footer-service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; }
.footer-service-card { display: grid; grid-template-columns: minmax(0,1fr) 128px; gap: 16px; align-items: center; padding: 24px; border: 1px solid var(--line); border-radius: 8px; }
.footer-service-card h3 { font-size: 1.125rem; }
.footer-service-card p { font-size: .875rem; }
.footer-service-card .button { font-size: .875rem; padding: 12px; gap: 8px; margin-top: 12px; }
.service-qr { display: block; background: #fff; }
.service-qr img { width: 128px; height: 128px; }
@media (min-width: 761px) and (max-width: 1250px) {
 .site-header { height: auto; flex-wrap: wrap; padding-block: 8px; }
 .site-header nav { order: 3; width: 100%; justify-content: center; flex-wrap: wrap; gap: 8px 24px; }
 .header-line { margin-left: auto; }
}
@media (max-width: 1000px) { .footer-service-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
 .site-header { display: grid; grid-template-columns: minmax(80px,1fr) auto auto; gap: 8px; padding: 8px 16px; }
 .site-header .brand { width: 110px; max-width: 100%; grid-column: 1; grid-row: 1; }
 .site-header .brand img { width: 110px; max-width: 100%; height: 60px; }
 .header-line { grid-column: 2; grid-row: 1; padding: 10px; font-size: .875rem; }
 .menu-toggle { grid-column: 3; grid-row: 1; padding: 8px; gap: 4px; font-size: .875rem; }
 .site-header nav { width: 100%; }
 .contact-qr { margin-top: 24px; width: max-content; max-width: 100%; }
 .footer-service-card { padding: 20px; grid-template-columns: minmax(0,1fr) 112px; }
 .service-qr img { width: 112px; height: 112px; }
}
@media (max-width: 380px) {
 .footer-service-card { grid-template-columns: 1fr; }
 .service-qr { width: 128px; }
 .service-qr img { width: 128px; height: 128px; }
}

.line-button:active { background: #048b3c; border-color: #048b3c; color: #fff; }

/* Carmap identity beside the footer service name. */
#footer-carmap-title { display: flex; align-items: center; gap: 12px; }
.carmap-heading-icon { width: 64px; height: 64px; object-fit: contain; flex-shrink: 0; border-radius: 8px; }
.footer-carmap-link { display: inline-flex; align-items: center; gap: 8px; }
.footer-carmap-link img { width: 32px; height: 32px; object-fit: contain; flex-shrink: 0; border-radius: 4px; }
