/* ============================================================
   Foundation / Navy × warm white × muted blue
   SP <768 / Tablet 768–1023 / PC 1024+
   ============================================================ */
:root{--navy:#172f45;--navy-deep:#10283c;--ink:#243646;--muted:#60707b;--blue:#476b83;--paper:#f5f5f1;--line:#dce1e1;--accent:#b5c9c1;--white:#fff;--font-en:'Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:82px}body{margin:0;color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:15px;line-height:1.95;letter-spacing:.04em;background:#fff;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b28a39;outline-offset:5px}img{display:block;max-width:100%;height:auto}figure,dl,dd{margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.6;font-weight:700;overflow-wrap:anywhere;line-break:strict;text-wrap:balance}p{overflow-wrap:anywhere}h2{font-size:clamp(26px,2.65vw,38px);letter-spacing:.055em}h3{font-size:20px}ul,ol{list-style:none;padding:0;margin:0}em{font-style:normal}small,.small{font-size:12px}input,select,textarea{min-width:0;width:100%;border:1px solid #cad2d7;border-radius:3px;padding:14px 16px;background:#fafbfb;color:var(--ink);font-size:16px;line-height:1.6}input:focus,textarea:focus,select:focus{outline:2px solid var(--blue);outline-offset:2px}input::placeholder,textarea::placeholder{color:#7d858c;font-size:14px}textarea{resize:vertical}input[type=checkbox]{width:19px;height:19px;accent-color:var(--navy);flex-shrink:0}.material-symbols-rounded{font-size:26px;font-variation-settings:'FILL' 0,'wght' 300,'GRAD' 0,'opsz' 24;vertical-align:middle;flex-shrink:0}.wrap{width:calc(100% - 96px);max-width:1160px;margin-inline:auto}.section{padding-block:108px}.eyebrow{font:600 11px/1.6 var(--font-en);letter-spacing:.16em;color:var(--blue);margin-bottom:22px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:46px}.heading-note{color:var(--muted);font-size:14px}.heading-light{font-weight:500}.text-link{display:flex;align-items:center;justify-content:space-between;gap:32px;font-size:14px;font-weight:600;padding:13px 0;border-bottom:1px solid var(--navy);width:fit-content}.text-link span{font-size:23px;font-weight:400}.text-link:hover{color:var(--blue)}.right{margin:24px 0 0 auto}.sp-only{display:none}.button{display:flex;align-items:center;justify-content:center;gap:14px;padding:20px 28px;background:var(--navy);color:#fff;font-weight:600;font-size:15px;min-height:64px;border:1px solid var(--navy);border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#284b66;transform:translateY(-2px)}.button:disabled{opacity:.65;cursor:wait;transform:none}.arrow{font:400 24px var(--font-en);margin-left:auto}.skip-link{position:fixed;left:20px;top:-100px;background:#fff;padding:12px;z-index:200}.skip-link:focus{top:12px}
/* Header & image-only hero */
.header{background:rgba(255,255,255,.97);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:flex-end;gap:34px;min-height:68px;font-size:12px;font-weight:500}.nav a{padding-block:12px}.nav a:hover{color:var(--blue)}.nav .nav-contact{display:flex;gap:30px;align-items:center;background:var(--navy);color:white;padding:11px 22px;border-radius:2px}.hero picture,.hero img{display:block;width:100%;height:auto}.hero{background:#e0e5e7}.hero-follow{background:var(--navy);color:#fff}.hero-follow .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:72px;font-size:12px}.hero-follow p{display:flex;align-items:center;gap:12px}.dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;flex-shrink:0}.hero-follow a{display:flex;gap:34px;align-items:center}.hero-follow a span{font-size:24px}
/* 02 Signs */
.signs{background:var(--paper)}.sign-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.sign-image{position:relative;background:#e1e5e4;overflow:hidden}.sign-image img{width:100%;aspect-ratio:1.4;object-fit:cover;transition:transform .6s}.sign-card:hover img{transform:scale(1.04)}.sign-image>span{position:absolute;bottom:0;left:0;background:var(--navy);color:white;padding:6px 14px;font:600 10px/1.7 var(--font-en);letter-spacing:.08em}.sign-card h3{display:flex;gap:7px;align-items:flex-start;margin:21px 0 10px;font-size:16px;letter-spacing:.01em}.sign-card h3 .material-symbols-rounded{font-size:22px;margin-top:2px;color:var(--blue)}.sign-card>p{font-size:13px;color:var(--muted);line-height:1.9}.sign-bottom{border-top:1px solid var(--line);margin-top:38px;padding-top:26px;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:14px}
/* 03 Approach */
.about{padding-block:120px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-photo{position:relative;padding-bottom:28px}.about-photo:before{content:'';position:absolute;left:-24px;top:28px;right:30px;bottom:0;background:var(--paper);z-index:-1}.about-photo img{width:100%;height:580px;object-fit:cover}.photo-caption{position:absolute;bottom:0;right:0;font:500 9px/1 var(--font-en);letter-spacing:.13em}.about-copy h2{font-size:clamp(28px,2.4vw,35px);line-height:1.9;margin-bottom:30px}.about-copy em{background:linear-gradient(transparent 72%,#dbe4e1 72%)}.about-copy>p:not(.eyebrow){margin-top:20px;font-size:14px;line-height:2.15}.about-note{border-left:3px solid var(--navy);padding-left:24px;margin-top:32px}.about-note>span{font-size:11px;color:var(--muted)}.about-note p{font-size:16px;font-weight:500;margin-top:6px}
/* 04 Reasons & shared CTA */
.reasons{background:var(--navy-deep);color:white}.reasons-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.reasons .eyebrow{color:#b4c8d3}.reasons-title>p:not(.eyebrow){margin-top:25px;color:#c2cdd5;font-size:14px}.outline-house{margin-top:35px;color:#7190a5}.outline-house span{font-size:110px;font-variation-settings:'wght' 100}.reason-list article{display:flex;gap:28px;padding:25px 0;border-top:1px solid #425669}.reason-list article:last-child{border-bottom:1px solid #425669}.reason-number{font:400 30px/1.4 var(--font-en);color:#a0b7c5}.reason-list h3{font-size:20px;margin-bottom:10px}.reason-list p{font-size:13px;color:#c2cdd5;line-height:2}.cta-wrap{padding-block:40px}.cta{background:#eaf0ef;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:36px 40px;border-top:3px solid var(--navy)}.cta .eyebrow{margin-bottom:10px;font-size:9px}.cta h2{font-size:22px;letter-spacing:.02em}.cta p:not(.eyebrow){font-size:12px;margin-top:10px}.cta-actions{flex-shrink:0;min-width:335px}.tel{display:block;text-align:center;margin-bottom:12px}.tel>span{font-size:10px}.tel strong{display:flex;gap:8px;align-items:center;justify-content:center;font:600 29px/1.4 var(--font-en);letter-spacing:.025em}.tel strong .material-symbols-rounded{font-size:23px}.cta .button{font-size:13px;min-height:55px;padding:15px 19px}.cta .button .material-symbols-rounded{font-size:21px}
/* 05 Services */
.services{padding-top:70px}.service-main{display:grid;grid-template-columns:1fr 1fr;gap:34px}.service-main article{position:relative;padding-bottom:30px}.service-main img{width:100%;aspect-ratio:1.65;object-fit:cover}.service-main article>div{position:relative;background:white;width:90%;margin:-32px 0 0 auto;padding:24px 10px 0 27px}.service-main article>div>span{font:600 10px var(--font-en);letter-spacing:.14em;color:var(--blue)}.service-main h3{font-size:27px;margin-block:6px 10px}.service-main p{font-size:14px;color:var(--muted)}.service-small{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;display:grid;grid-template-columns:1.4fr repeat(5,1fr);gap:12px}.service-small>p{font-size:12px;line-height:1.8}.service-small strong{font-size:16px}.service-small>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:13px;border-left:1px solid var(--line)}.service-small .material-symbols-rounded{font-size:31px;color:var(--blue)}
/* 06 Works: slider retains stacked articles if JS is unavailable */
.works{background:var(--paper)}.works-slider:not(.swiper-initialized) .swiper-wrapper{display:block}.works-slider:not(.swiper-initialized) .work+.work{margin-top:50px}.works-slider:not(.swiper-initialized) .slider-controls{display:none}.work-images{display:grid;grid-template-columns:1fr 1fr;gap:28px;position:relative}.work-images figure{position:relative;min-width:0}.work-images img{width:100%;aspect-ratio:4/3;object-fit:cover}.work-images figcaption{display:flex;align-items:center;gap:16px;position:absolute;bottom:0;left:0;padding:12px 24px;background:var(--navy);color:#fff;font:600 14px var(--font-en);letter-spacing:.08em}.work-images figure:first-child figcaption{background:#fff;color:var(--navy)}.work-images figcaption span{font:400 10px 'Noto Sans JP',sans-serif}.work-arrow{width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:21px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2}.work-detail{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:30px}.work-detail .eyebrow{margin-bottom:14px}.tag{font:400 11px 'Noto Sans JP',sans-serif;margin-left:15px;border:1px solid #b6c3c9;padding:5px 10px}.work-detail h3{font-size:20px}.work-detail dl>div{display:grid;grid-template-columns:82px 1fr;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}.work-detail dt{color:var(--muted)}.work-source{display:block;text-align:right;font-size:11px;margin-top:18px;text-decoration:underline;text-underline-offset:4px}.slider-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:25px}.slider-controls .works-pagination{width:auto;font:500 13px var(--font-en);margin-right:12px;letter-spacing:.15em}.slider-controls button{border:1px solid #aebbc3;color:var(--navy);background:transparent;width:44px;height:44px;border-radius:50%;font-size:20px}.slider-controls button:hover{background:var(--navy);color:white}.slider-controls .swiper-button-disabled{opacity:.3}.section-end{display:flex;justify-content:center;align-items:center;gap:40px;margin-top:44px;padding-top:26px;border-top:1px solid var(--line);font-size:14px}
/* 07 Paint */
.paint-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.paint-grid h2{margin-bottom:30px}.paint-grid>div>p:not(.eyebrow){font-size:14px;margin-top:20px;line-height:2.1}.paint-board{position:relative;padding:45px 35px 30px;background:var(--paper);border:1px solid #e3e5e1}.swatches{display:flex;height:48px;margin:-46px -36px 32px}.swatches i{flex:1;background:#233e52}.swatches i:nth-child(2){background:#6e8999}.swatches i:nth-child(3){background:#a4b3b9}.swatches i:nth-child(4){background:#c7ccca}.swatches i:nth-child(5){background:#dfdcd2}.paint-board .eyebrow{font-size:9px}.paint-board li{display:flex;align-items:flex-start;gap:22px;padding:20px 0;border-top:1px solid var(--line)}.paint-board li>span{font:400 20px/1.8 var(--font-en);color:var(--blue)}.paint-board h3{font-size:17px}.paint-board li p{font-size:12px;margin-top:5px}.paint-board small{display:block;font-size:10px;color:var(--muted);margin-top:14px}
/* 09 Flow */
.flow-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}.flow-list li{position:relative;border-top:2px solid var(--navy);padding-top:15px}.flow-list li:not(:last-child):after{content:'→';position:absolute;right:-19px;top:70px;color:#8c9daa}.step-number{display:block;font:600 10px var(--font-en);letter-spacing:.12em}.flow-list .material-symbols-rounded{display:block;font-size:35px;margin-block:24px 20px;color:var(--blue)}.flow-list h3{font-size:15px;letter-spacing:0;margin-bottom:12px;min-height:48px}.flow-list p{font-size:12px;line-height:1.9;color:var(--muted)}.flow-note{display:flex;align-items:flex-start;justify-content:center;gap:10px;background:var(--paper);margin-top:36px;padding:15px 20px;font-size:12px}.flow-note .material-symbols-rounded{font-size:19px;margin-top:3px}
/* 10 Message */
.message{background:#eaf0ef}.message-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.message-images{position:relative;padding:0 48px 70px 0}.portrait{width:100%;aspect-ratio:6/7;object-fit:cover}.message-scene{position:absolute;bottom:0;right:0;width:50%;aspect-ratio:4/3;object-fit:cover;border:8px solid #eaf0ef}.message-copy h2{font-size:32px;margin-bottom:25px;line-height:1.8}.message-copy>p:not(.eyebrow){font-size:14px;margin-top:20px;line-height:2.1}.signature{border-top:1px solid #bfcfce;margin-top:30px;padding-top:20px;display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 20px}.signature>span{font-size:11px}.signature strong{font-size:24px;letter-spacing:.13em}.signature small{font:500 9px var(--font-en);letter-spacing:.1em}
/* 11 FAQ */
.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.faq-grid>div>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:24px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;gap:18px;padding:25px 0;cursor:pointer;list-style:none;font-size:15px;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span,.faq-answer>span{font:500 23px var(--font-en);color:var(--blue);flex-shrink:0}.faq-list summary i{width:16px;min-width:16px;height:16px;position:relative;margin-left:auto}.faq-list summary i:before,.faq-list summary i:after{content:'';position:absolute;background:var(--navy);width:14px;height:1px;top:7px;left:1px}.faq-list summary i:after{transform:rotate(90deg)}.faq-list details[open] summary i:after{transform:rotate(0deg)}.faq-answer{display:flex;gap:18px;padding:0 28px 28px 0}.faq-answer p{font-size:13px;line-height:2;color:var(--muted)}
/* 12 Area */
.area{background:var(--paper)}.area-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}.area h2{margin-bottom:24px}.area-grid>div>p:not(.eyebrow){margin-top:20px;font-size:14px}.area-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}.area-tags span{background:white;padding:6px 18px;border:1px solid var(--line);font-size:13px}.area .small{font-size:12px!important;color:var(--muted)}.area .text-link{margin-top:18px}.area-card{border:1px solid #bac9ce;background:#fff;padding:42px;text-align:center;position:relative}.area-card>.material-symbols-rounded{font-size:47px;color:var(--blue);margin-bottom:25px}.area-card .eyebrow{font-size:9px}.area-card h3{font-size:23px}.area-card p{font-size:12px!important}.area-line{width:30px;height:1px;background:var(--navy);margin:24px auto}.area-card a{display:inline-block;margin-top:22px;border-bottom:1px solid #bdc8ce;font-size:11px}
/* 13 Contact, confirmation, completion */
.contact{background:var(--navy-deep)}.contact-heading{text-align:center;color:#fff;margin-bottom:48px}.contact-heading .eyebrow{color:#bed0da}.contact-heading>p:not(.eyebrow){font-size:14px;color:#d0dbe2;margin-top:22px}.contact-phone{display:block;width:fit-content;margin:30px auto 0}.contact-phone>span{display:block;font-size:12px;margin-bottom:5px}.contact-phone strong{display:flex;justify-content:center;align-items:center;gap:12px;font:600 40px/1.5 var(--font-en);letter-spacing:.035em}.contact-phone .material-symbols-rounded{font-size:32px}.form-panel{background:white;max-width:890px;margin:auto;padding:48px 60px;color:var(--ink)}.form-title{text-align:center}.form-title h3{font-size:23px}.form-title p{font-size:12px;color:var(--muted);margin-top:10px}.form-steps{display:flex;justify-content:center;gap:54px;border-bottom:1px solid var(--line);padding:25px 0;margin-bottom:30px;font-size:13px;color:#7e8b94}.form-steps li{position:relative;display:flex;gap:8px;align-items:center}.form-steps li:not(:last-child):after{content:'—';position:absolute;right:-35px;color:#b3bec5}.form-steps b{font:500 11px var(--font-en)}.form-steps .active{font-weight:700;color:var(--navy)}.form-steps .active b{background:var(--navy);color:#fff;border-radius:50%;padding:7px}.form-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:22px;padding:20px 0;border-bottom:1px solid #e8ebeb}.form-row>label{font-size:13px;font-weight:500;display:flex;align-items:baseline;justify-content:space-between;padding-top:14px;gap:8px}.required,.optional{font-weight:400;font-size:9px;padding:1px 6px;border-radius:2px;white-space:nowrap;letter-spacing:.05em}.required{color:white;background:var(--navy)}.optional{color:#60717f;background:#eff2f3}.field-help{font-size:11px;color:var(--muted);margin-top:6px}.field-error{color:#b02b2b;font-size:12px;margin-top:7px}.form-alert{padding:18px 20px;background:#fff0ef;color:#9d2727;font-size:13px;margin-bottom:18px;border-left:3px solid #bb3931}.form-alert:focus{outline:none}[aria-invalid=true]{border-color:#b02b2b}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.privacy{margin-top:26px;padding:17px 20px;background:var(--paper);font-size:12px}.privacy summary{cursor:pointer;font-weight:500}.privacy p{margin-top:16px;line-height:2}.privacy a{display:inline-block;margin-top:12px;text-decoration:underline}.consent{margin:28px 0}.consent label{display:flex;justify-content:center;align-items:center;gap:10px;font-size:12px;cursor:pointer}.consent .field-error{text-align:center}.submit{width:100%;max-width:400px;margin:auto}.submit-note{font-size:11px;text-align:center;color:var(--muted);margin-top:12px}.preview-notice{font-size:11px;padding:12px 16px;background:#edf3f6;border:1px dashed #a9bdca;margin-bottom:20px;color:#455f6f}.form-page{padding:80px 0 100px;background:var(--paper);min-height:75vh}.narrow{max-width:890px}.form-page>.wrap>h1{font-size:30px}.form-page>.wrap>p:not(.eyebrow){margin:18px 0 32px;font-size:14px}.confirm-values>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:20px;border-bottom:1px solid var(--line);padding:20px 0;font-size:14px}.confirm-values dt{color:var(--muted);font-size:12px}.confirm-values dd{overflow-wrap:anywhere}.consent-copy{text-align:center;font-size:12px;margin:30px 0}.back-link{display:block;width:fit-content;margin:24px auto 0;text-decoration:underline;text-underline-offset:5px;font-size:13px}.thanks-card{padding:55px 40px;background:white;text-align:center}.success-icon{width:70px;height:70px;display:grid;place-items:center;border:1px solid #9bb8ae;border-radius:50%;background:#f0f5f3;margin:0 auto 25px}.success-icon .material-symbols-rounded{font-size:32px}.thanks-card h1{font-size:28px;margin-bottom:24px}.thanks-card .receipt{margin:25px auto;padding:10px;background:var(--paper);font-size:12px;overflow-wrap:anywhere}.thanks-phone{display:block;font:600 30px var(--font-en);margin:25px auto}.thanks-card .button{max-width:350px;margin:auto}
/* Footer & SP fixed CTA */
.footer{padding:60px 0 20px;background:#fff}.footer-main{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-bottom:45px}.footer-brand{display:flex;gap:20px;align-items:baseline;font:500 52px/1 var(--font-en);letter-spacing:-.04em}.footer-brand span{font:500 12px 'Noto Sans JP',sans-serif;letter-spacing:.05em}.footer-main p{font-size:11px;margin-top:24px;color:var(--muted)}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:18px 35px;font-size:11px}.copyright{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;align-items:center;font:400 9px var(--font-en);letter-spacing:.06em}.copyright small{font-size:9px}.mobile-cta{display:none}
/* Tablet */
@media (min-width:768px) and (max-width:1023px){.wrap{width:calc(100% - 64px)}.section{padding-block:80px}.nav{gap:25px}.about-grid,.paint-grid,.message-grid,.area-grid{gap:40px}.about-photo img{height:500px}.reasons-grid{gap:50px}.sign-grid{gap:16px}.sign-card h3{font-size:14px}.cta{padding:30px;flex-direction:column;text-align:center;align-items:stretch}.cta-actions{display:flex;gap:24px;align-items:center;justify-content:center}.tel{margin:0}.flow-list{grid-template-columns:repeat(3,1fr);gap:30px}.flow-list li:nth-child(3):after{display:none}.flow-list h3{min-height:0}.faq-grid{grid-template-columns:.7fr 1.3fr;gap:35px}.form-panel{padding:36px}.service-small{gap:8px}.service-small strong{font-size:13px}.message-copy h2{font-size:27px}.area-card{padding:30px}.work-detail{grid-template-columns:1fr}.work-detail h3{font-size:20px}}
/* Mobile first reading and touch targets */
@media (max-width:767px){html{scroll-padding-top:64px}body{font-size:14px;padding-bottom:76px;letter-spacing:.03em}.wrap{width:calc(100% - 40px)}.section{padding-block:66px}h2{font-size:26px;line-height:1.65;letter-spacing:.025em}h3{font-size:18px}.eyebrow{font-size:9px;margin-bottom:17px;letter-spacing:.13em}.section-heading{display:block;margin-bottom:30px}.heading-note{font-size:12px;margin-top:18px}.heading-note br{display:none}.sp-only{display:block}.nav{width:100%;min-height:54px;gap:0;justify-content:space-between;padding-inline:16px;font-size:10px;letter-spacing:0}.nav a{padding:14px 8px}.nav a:nth-child(3),.nav a:nth-child(4){display:none}.nav .nav-contact{padding:8px 12px;gap:12px}.hero-follow .wrap{display:block;min-height:0;padding-block:18px;font-size:10px;text-align:center}.hero-follow p{justify-content:center;gap:8px}.hero-follow a{display:none}.sign-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 15px}.sign-image img{aspect-ratio:1.22}.sign-image>span{font-size:8px;padding:5px 10px}.sign-card h3{font-size:13px;line-height:1.7;gap:4px;margin:13px 0 6px}.sign-card h3 .material-symbols-rounded{font-size:17px;margin-top:3px}.sign-card>p{font-size:11px;line-height:1.95}.sign-bottom{display:block;margin-top:30px;padding-top:22px;font-size:12px}.sign-bottom .text-link{margin-top:14px;margin-left:auto}.text-link{font-size:12px;gap:28px;min-height:44px}.about-grid{display:flex;flex-direction:column;gap:37px}.about-photo{width:100%;padding:0 18px 23px 0}.about-photo:before{left:16px;right:0;top:24px}.about-photo img{height:auto;aspect-ratio:1.12;object-fit:cover}.photo-caption{font-size:8px}.about-copy h2{font-size:28px;line-height:1.8;margin-bottom:23px}.about-copy>p:not(.eyebrow){font-size:13px;line-height:2.1;margin-top:17px}.about-note{padding-left:20px;margin-top:26px}.about-note p{font-size:14px}.reasons-grid{display:block}.reasons-title>p:not(.eyebrow){font-size:12px;margin-top:20px}.reasons-title>p br{display:none}.outline-house{display:none}.reason-list{margin-top:30px}.reason-list article{gap:20px;padding:24px 0}.reason-number{font-size:25px}.reason-list h3{font-size:17px;line-height:1.6}.reason-list p{font-size:12px}.cta-wrap{width:100%;padding:0}.cta{border:0;padding:32px 24px;display:block;text-align:center}.cta h2{font-size:20px;letter-spacing:.015em}.cta p:not(.eyebrow){font-size:11px;line-height:1.9;margin-top:12px}.cta-actions{min-width:0;margin-top:22px}.tel{margin-bottom:18px}.tel strong{font-size:30px}.cta .button{max-width:390px;margin:auto;min-height:58px;font-size:13px}.service-main{grid-template-columns:1fr;gap:26px}.service-main article{padding-bottom:0}.service-main img{aspect-ratio:1.6}.service-main article>div{width:91%;padding:20px 0 0 20px;margin-top:-27px}.service-main article>div>span{font-size:9px}.service-main h3{font-size:24px;margin-bottom:9px}.service-main p{font-size:12px;line-height:2}.service-small{grid-template-columns:repeat(3,1fr);gap:22px 0;margin-top:30px;padding-block:24px}.service-small>p{padding:0 10px;font-size:10px}.service-small strong{font-size:12px}.service-small>div{font-size:11px}.service-small>div:nth-child(4){border-left:0}.service-small .material-symbols-rounded{font-size:29px}.works .section-heading h2{font-size:25px}.work-images{gap:14px;grid-template-columns:1fr}.work-images img{aspect-ratio:4/3}.work-images figure:first-child{width:76%;margin-right:auto}.work-images figure:last-child{width:94%;margin-left:auto}.work-images figure:first-child img{aspect-ratio:1.55}.work-images figcaption{padding:9px 15px;font-size:12px;gap:12px}.work-images figcaption span{font-size:9px}.work-arrow{top:43%;left:auto;right:8px;width:34px;height:34px;transform:rotate(90deg);font-size:18px}.work-detail{grid-template-columns:1fr;gap:18px;margin-top:24px}.work-detail h3{font-size:17px}.work-detail .eyebrow{margin-bottom:12px}.tag{font-size:10px;margin-left:12px;padding:4px 8px}.work-detail dl>div{font-size:11px;grid-template-columns:76px 1fr}.work-source{font-size:10px}.slider-controls{margin-top:18px}.section-end{display:block;text-align:center;margin-top:28px;padding-top:24px;font-size:12px}.section-end .text-link{margin:10px auto 0}.paint-grid{display:block}.paint-grid h2{margin-bottom:23px}.paint-grid>div>p:not(.eyebrow){font-size:13px;margin-top:18px}.paint-board{margin-top:48px;padding:35px 24px 24px}.swatches{margin:-36px -25px 25px;height:36px}.paint-board li{gap:18px;padding:19px 0}.paint-board li>span{font-size:18px}.paint-board h3{font-size:16px}.paint-board li p{font-size:11px}.paint-board small{font-size:9px}.flow-list{display:block;margin-top:34px}.flow-list li{border-top:none;border-left:1px solid #bac8cf;padding:0 0 30px 70px;min-height:130px;margin-left:18px}.flow-list li:last-child{padding-bottom:0;border-color:transparent;min-height:0}.flow-list li:before{content:'';position:absolute;left:-5px;top:0;width:9px;height:9px;border-radius:50%;background:var(--navy)}.flow-list li:not(:last-child):after{display:none}.step-number{font-size:9px;line-height:1.2;margin-bottom:9px}.flow-list .material-symbols-rounded{position:absolute;left:19px;top:5px;margin:0;font-size:29px}.flow-list h3{min-height:0;font-size:16px;margin-bottom:8px}.flow-list p{font-size:12px}.flow-note{font-size:10px;margin-top:28px;padding:15px}.message-grid{display:flex;flex-direction:column;gap:35px}.message-images{width:100%;padding:0 46px 52px 0}.portrait{aspect-ratio:1;object-position:center 38%}.message-scene{width:45%;border-width:6px}.message-copy h2{font-size:27px;line-height:1.8}.message-copy>p:not(.eyebrow){font-size:13px;line-height:2.1;margin-top:18px}.signature{gap:7px 15px;margin-top:25px}.signature>span{font-size:10px}.signature strong{font-size:23px}.signature small{font-size:8px}.faq-grid{display:block}.faq-grid>div>p:not(.eyebrow){font-size:12px;margin-top:18px}.faq-grid>div>p br{display:none}.faq-list{margin-top:30px}.faq-list summary{font-size:13px;gap:12px;padding:22px 0;line-height:1.85}.faq-list summary>span,.faq-answer>span{font-size:21px}.faq-answer{gap:14px;padding:0 12px 24px 0}.faq-answer p{font-size:12px}.area-grid{display:block}.area-grid>div>p:not(.eyebrow){font-size:12px}.area-tags{gap:7px;margin-top:24px}.area-tags span{padding:5px 13px;font-size:12px}.area-card{margin-top:32px;padding:30px 22px}.area-card>.material-symbols-rounded{margin-bottom:16px;font-size:40px}.area-card .eyebrow{font-size:8px}.area-card h3{font-size:22px}.area .small{font-size:11px!important}.contact .wrap{width:100%}.contact-heading{padding-inline:20px;margin-bottom:30px}.contact-heading h2{font-size:27px;line-height:1.8}.contact-heading>p:not(.eyebrow){font-size:12px;margin-top:18px}.contact-phone{margin-top:25px}.contact-phone>span{font-size:11px}.contact-phone strong{font-size:33px;gap:8px}.contact-phone .material-symbols-rounded{font-size:27px}.form-panel{padding:28px 20px;margin-inline:12px}.form-title h3{font-size:21px}.form-title p{font-size:11px}.form-steps{padding:22px 0;margin-bottom:18px;font-size:12px;gap:45px}.form-steps li:not(:last-child):after{right:-28px}.form-row{display:block;padding:19px 0}.form-row>label{justify-content:flex-start;padding-top:0;gap:12px;font-size:13px;margin-bottom:10px}.form-row input,.form-row select,.form-row textarea{padding:13px 12px}.field-help{font-size:10px}.privacy{padding:15px;font-size:11px;margin-top:22px}.consent{margin:23px 0}.consent label{font-size:11px;gap:7px;flex-wrap:wrap}.consent label input{margin:0}.button{font-size:14px;min-height:59px;padding:17px 23px}.form-page{padding-block:45px 60px}.form-page .wrap{width:calc(100% - 32px)}.form-page .form-panel{margin:0;padding:24px 20px}.form-page>.wrap>h1{font-size:25px}.form-page>.wrap>p:not(.eyebrow){font-size:12px;margin:16px 0 25px}.confirm-values>div{display:block;padding:16px 0}.confirm-values dt{font-size:11px;margin-bottom:5px}.confirm-values dd{font-size:14px}.thanks-card{padding:35px 20px}.thanks-card h1{font-size:24px}.thanks-card>p{font-size:12px}.thanks-card .receipt{font-size:10px}.thanks-card .small{font-size:11px}.thanks-phone{font-size:28px}.footer{padding:40px 0 25px}.footer-main{display:block;margin-bottom:30px}.footer-brand{font-size:45px}.footer-brand span{font-size:10px}.footer-main p{font-size:10px;margin-top:18px}.footer-links{gap:14px 18px;font-size:10px;margin-top:28px}.copyright{font-size:8px}.copyright small{font-size:8px}.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;background:white;border-top:1px solid var(--navy);box-shadow:0 -3px 15px #10283c0d;padding-bottom:env(safe-area-inset-bottom)}.mobile-cta a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:68px;padding:9px 6px;font-size:10px}.mobile-cta a:last-child{background:var(--navy);color:white}.mobile-cta .material-symbols-rounded{font-size:24px}.mobile-cta a span:not(.material-symbols-rounded){line-height:1.6}.mobile-cta strong{display:block;font-size:12px;letter-spacing:0}.mobile-cta a:first-child strong{font-family:var(--font-en);font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* 見出しは意味のまとまりで改行し、語尾だけの孤立を防ぐ */
.phrase{display:inline-block;white-space:nowrap}

/* 動画セクション：PC/SPとも動画全体を表示し、操作ボタンを確保 */
.movie-section{background:#fff;border-bottom:1px solid var(--line)}
.movie-player{max-width:960px;margin-inline:auto;background:var(--navy-deep);border-radius:4px;overflow:hidden}
.movie-player video{display:block;width:100%;height:auto;max-height:75vh;aspect-ratio:16/9;object-fit:contain;background:#10283c}
.movie-footer{max-width:960px;margin:22px auto 0;display:flex;align-items:center;justify-content:space-between;gap:24px}
.movie-footer>p{font-size:12px;color:var(--muted)}
@media(max-width:767px){.movie-footer{display:block;margin-top:16px}.movie-footer>p{font-size:11px}.movie-footer .text-link{margin:12px 0 0 auto}.movie-player{border-radius:2px}}

/* GJ保証：既存のネイビーに、保証ロゴのゴールドをアクセントとして使用 */
.gj-guarantee{background:#f7f5ef;border-top:1px solid #e5dfce;border-bottom:1px solid #e5dfce}
.gj-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;margin-bottom:48px}
.gj-guarantee .eyebrow{color:#79632c}
.gj-intro h2{font-size:clamp(25px,2.5vw,36px);letter-spacing:.03em}
.gj-lead{font-size:14px;line-height:2.1;margin-top:24px}
.gj-brand{background:#fff;padding:35px 28px;border:1px solid #e8e2d3;text-align:center}
.gj-brand picture{display:block}
.gj-brand img{width:100%;height:auto}
.gj-brand>p{font-size:10px;letter-spacing:.02em;color:var(--muted);margin-top:20px}
.gj-promise{display:grid;grid-template-columns:1fr 1.5fr;gap:48px;padding:32px 36px;background:var(--navy);color:#fff;border-top:3px solid #b29b51}
.gj-promise-title{display:flex;gap:20px;align-items:center}
.gj-promise-title>.material-symbols-rounded{font-size:40px;color:#e0cb83}
.gj-promise-title h3{font-size:21px;line-height:1.8}
.gj-promise-copy{font-size:13px;color:#e0e7ec;line-height:2}
.gj-promise-copy p+p{margin-top:12px}
.gj-periods-heading{margin:42px 0 22px;display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.gj-periods-heading h3{font-size:20px}
.gj-periods-heading p{font-size:12px;color:var(--muted)}
.gj-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gj-period{padding:24px 25px 28px;background:#fff;border:1px solid #e5dfce;border-top:3px solid #b29b51}
.gj-part{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:16px;font-weight:600}
.gj-part>span{font-size:10px;font-weight:400;color:var(--muted)}
.gj-years{display:flex;align-items:baseline;gap:10px;margin:20px 0 24px;color:var(--navy)}
.gj-years strong{font:500 78px/1 var(--font-en);letter-spacing:-.06em}
.gj-years>span{font-size:20px;font-weight:500}
.gj-period h4{font-size:14px;line-height:1.8;font-weight:600;margin:0 0 12px}
.gj-product-note{font-size:11px;line-height:1.9;color:var(--muted)}
.gj-scope{display:grid;grid-template-columns:1.05fr 1fr;gap:36px;margin-top:30px;padding-top:28px;border-top:1px solid #d9d3c5}
.gj-scope dl>div{padding:12px 0;border-bottom:1px solid #e1ddcf;display:grid;grid-template-columns:125px 1fr;gap:15px;font-size:12px}
.gj-scope dt{color:var(--muted)}
.gj-scope dd>span{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.gj-conditions{font-size:11px;line-height:2;color:var(--muted)}
.gj-conditions p+p{margin-top:12px}
.gj-pdf-link{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:fit-content;padding:12px 0;min-height:44px;margin-top:12px;color:var(--navy);border-bottom:1px solid #9b8850;font-size:12px;font-weight:500}
.gj-pdf-link>.material-symbols-rounded{font-size:20px}
.gj-pdf-link>span:last-child{font-size:10px;font-weight:400}
.gj-contact{display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid #d9d3c5;padding-top:30px;margin-top:34px}
.gj-contact h3{font-size:20px}
.gj-contact p{font-size:12px;color:var(--muted);margin-top:9px}
.gj-contact-actions{flex-shrink:0;min-width:300px}
.gj-contact-actions .button{font-size:13px;min-height:58px;padding:16px 22px}
.gj-phone{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:15px;min-height:44px}
.gj-phone>span:last-child{font-size:10px;line-height:1.6}
.gj-phone strong{display:block;font:600 22px/1.4 var(--font-en);letter-spacing:.03em}
@media(min-width:768px) and (max-width:1023px){.gj-intro{gap:30px;grid-template-columns:1.2fr 1fr}.gj-intro h2{font-size:27px}.gj-brand{padding:26px 18px}.gj-brand>p{font-size:9px}.gj-promise{gap:28px;padding:28px}.gj-promise-title{gap:12px}.gj-promise-title h3{font-size:17px}.gj-promise-copy{font-size:12px}.gj-periods{gap:15px}.gj-period{padding:20px 17px}.gj-part{align-items:flex-start;flex-direction:column;gap:3px}.gj-scope{grid-template-columns:1fr}.gj-contact h3{font-size:17px}}
@media(max-width:767px){.gj-intro{display:block;margin-bottom:28px}.gj-intro h2{font-size:25px;letter-spacing:.01em}.gj-lead{font-size:12px;margin-top:20px}.gj-brand{display:flex;align-items:center;gap:20px;text-align:left;padding:20px;margin-top:26px}.gj-brand picture{width:84px;flex-shrink:0}.gj-brand>p{font-size:12px;margin:0;line-height:1.9;text-wrap:balance}.gj-promise{grid-template-columns:1fr;gap:20px;padding:25px 22px}.gj-promise-title{gap:16px}.gj-promise-title h3{font-size:18px}.gj-promise-title>.material-symbols-rounded{font-size:34px}.gj-promise-copy{font-size:12px}.gj-periods-heading{display:block;margin:32px 0 18px}.gj-periods-heading h3{font-size:19px}.gj-periods-heading p{font-size:11px;margin-top:9px}.gj-periods{grid-template-columns:1fr;gap:15px}.gj-period{display:grid;grid-template-columns:95px minmax(0,1fr);gap:7px 15px;padding:20px}.gj-part{grid-column:1 / -1;font-size:15px;padding-bottom:12px;border-bottom:1px solid #ece6d8;margin-bottom:8px}.gj-part>span{font-size:10px}.gj-years{grid-column:1;grid-row:2 / 4;display:block;margin:0;align-self:start}.gj-years strong{font-size:65px;display:block}.gj-years>span{display:block;font-size:14px;margin-top:3px}.gj-period h4{grid-column:2;margin:0;font-size:12px;align-self:start}.gj-product-note{grid-column:2;font-size:10px;line-height:1.9}.gj-scope{grid-template-columns:1fr;gap:24px;margin-top:24px;padding-top:12px}.gj-scope dl>div{grid-template-columns:95px 1fr;gap:12px;font-size:11px}.gj-scope dd>span{font-size:10px}.gj-conditions{font-size:11px}.gj-pdf-link{font-size:12px}.gj-contact{display:block;margin-top:26px;padding-top:24px}.gj-contact h3{font-size:18px;text-wrap:balance}.gj-contact p{font-size:11px}.gj-contact-actions{min-width:0;margin-top:20px}.gj-phone strong{font-size:24px}}
