/* 採用済みの写真・配色・動作を保持した、内容と視認性の改善案。 */
:root{--ink:#252925;--muted:#454e47;--line:#c6cec7}
body{line-height:1.9}
h2,h3{letter-spacing:-.035em}
.eyebrow{font-size:14px;font-weight:600;letter-spacing:.05em;margin-bottom:20px}
.accent-underline{background:linear-gradient(transparent 76%,var(--yellow) 76%,var(--yellow) 96%,transparent 96%);padding-bottom:.06em}
.site-header nav{font-size:14px;gap:25px}
.brand small{font-size:11px}
.site-header .button{font-size:14px;padding:11px 20px}
.button{font-size:16px;min-height:58px}
.hero h1{font-size:clamp(43px,4.4vw,62px);line-height:1.42}
.hero h2{font-size:23px;margin-top:24px}
.hero-content{max-width:700px;padding-top:68px}
.hero-description{font-size:17px;line-height:1.95;max-width:480px}
.hero .button{font-size:17px;min-width:260px}
.audience{font-size:14px}
.before-inset figcaption,.hero-after-label{font-size:13px;padding:6px 12px}
.comparison-disclaimer,.note{font-size:12px;line-height:1.9}
.hero-disclaimer{font-size:12px}
.storage-photo figcaption,.quotation figcaption{font-size:12px}
.idea{grid-template-columns:.95fr 1.25fr;gap:78px;padding-top:125px;padding-bottom:135px}
.storage-photo img{aspect-ratio:.9}
.idea-copy h2{font-size:40px;line-height:1.55;padding-bottom:0}
.idea-copy h2:after{display:none}
.reasons{grid-template-columns:1fr;gap:0;margin-top:34px}
.reasons>div{display:grid;grid-template-columns:155px 1fr;gap:28px;padding:24px 0;border-top:1px solid var(--line)}
.reasons>div:not(:first-child){border-left:0;padding-left:0}
.reasons h3{font-size:20px;line-height:1.65}
.reasons p{font-size:16px;line-height:1.95;margin:0;color:var(--muted)}
.idea-bottom{font-size:16px;line-height:1.95;margin-top:18px}
.case-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;padding-top:45px;border-top:1px solid var(--line);margin-bottom:65px}
.case-heading h2{font-size:48px;line-height:1.5}
.case-heading-intro>p:first-child{font-size:20px;font-weight:700;line-height:1.8}
.case-heading-intro>p:nth-child(2){font-size:16px;color:var(--muted);margin-top:18px;line-height:1.95}
.case-heading-intro .comparison-disclaimer{font-size:12px;margin-top:18px}
.case-kitchen{padding-bottom:125px}
.kitchen-case{grid-template-columns:1.02fr .98fr;gap:70px;align-items:start}
.case-visual{position:sticky;top:30px}
.case-number{display:flex;align-items:center;gap:23px;margin:0 0 26px;line-height:1}
.case-number b{font-size:66px;font-weight:500;letter-spacing:-.08em;color:var(--ink);font-variant-numeric:tabular-nums}
.case-number span{font-size:14px;line-height:1.7;padding:0;margin:0;border:0;font-weight:600}
.case-story h3{font-size:35px;line-height:1.6}
.case-problem{margin-top:28px;border-left:3px solid var(--yellow);padding-left:20px}
.case-problem>p:last-child{font-size:17px;line-height:1.9}
.case-problem .case-caption{margin:0 0 10px;font-size:13px}
.case-notes{margin-top:32px}
.case-notes>div{display:grid;grid-template-columns:90px 1fr;gap:22px;padding:23px 0}
.case-notes dt{font-size:13px;font-weight:700;margin-top:2px;color:var(--ink)}
.case-notes dd{font-size:16px;line-height:1.95;margin:0;color:var(--muted)}
.case-notes strong{display:block;font-size:18px;font-weight:700;margin-bottom:8px;color:var(--ink)}
.case-story>.note{max-width:none;font-size:12px;margin-top:14px}
.comparison-stage figcaption{font-size:13px;padding:6px 12px;font-weight:600;bottom:18px}
.comparison-controls{gap:18px;padding-top:13px}
.comparison-controls button{font-size:14px;min-height:48px;font-weight:600;border-bottom:2px solid #959f96}
.comparison-controls p{font-size:13px;max-width:none;line-height:1.7}
.comparison-grip{width:54px;height:54px}
.section-title{gap:12px 60px;margin-bottom:44px}
.section-title h2{font-size:42px;line-height:1.55;padding-bottom:24px}
.section-title>p:last-child{font-size:17px;line-height:1.95}
.section-title h2:after,.quote-copy h2:after{width:64px;height:4px}
.comparison--bath{max-width:1024px}
.bathroom>.comparison-disclaimer{max-width:1024px;font-size:12px;margin-top:20px}
.bath-details{max-width:1024px;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:45px}
.bath-details>div{border-top:2px solid var(--ink);padding-top:22px}
.bath-details .case-caption{font-size:13px;font-weight:600;margin:0 0 12px}
.bath-details h3{font-size:21px;line-height:1.65}
.bath-details p:not(.case-caption){font-size:16px;line-height:1.95;color:var(--muted);margin-top:14px}
.foundation{padding-top:88px;padding-bottom:96px}
.foundation-inner{gap:75px;align-items:start}
.foundation h2{font-size:37px;line-height:1.6}
.foundation figure{margin-top:-122px}
.foundation img{aspect-ratio:.92}
.foundation-copy>p:not(.eyebrow){font-size:16px;line-height:1.95}
.foundation-check{margin-top:28px}
.foundation-check>div{display:grid;grid-template-columns:55px 1fr;gap:18px;padding:15px 0;border-top:1px solid #ffffff38;font-size:14px;line-height:1.9}
.foundation-check dt{color:var(--yellow);font-weight:600}
.foundation-check dd{margin:0}
.foundation .note{font-size:12px!important;line-height:1.9}
.foundation figcaption{font-size:12px}
.foundation .other-services{font-size:13px!important}
.company{padding-top:140px;gap:0 78px;grid-template-columns:1fr 1.15fr}
.company-heading h2{font-size:clamp(38px,3.9vw,54px);line-height:1.55}
.company-signature{font-size:20px;margin-top:36px}
.company-intro{padding-top:44px}
.company-lead{font-size:25px;line-height:1.8;margin-bottom:28px}
.company-intro>p:not(.company-lead){font-size:17px;line-height:2;margin-top:24px}
.company-profile{margin-top:65px;padding:32px 0;gap:35px}
.company-profile dt{font-size:13px;margin-bottom:14px}
.company-profile dd{font-size:17px;line-height:1.7}
.company-profile dd span{font-size:13px;margin-top:8px}
.company-note{font-size:12px}
.company+.quotation{grid-template-columns:.85fr 1.15fr;gap:85px;padding-top:120px;align-items:start}
.quotation figure{position:sticky;top:45px;margin-top:54px}
.quotation img{aspect-ratio:.9}
.company+.quotation .quote-copy h2{font-size:37px;line-height:1.6}
.quote-copy li{gap:22px;padding:28px 0}
.quote-copy li>span{font-size:32px;line-height:1.35;color:#736024;font-variant-numeric:tabular-nums;letter-spacing:-.06em}
.quote-copy h3{font-size:24px;line-height:1.6}
.quote-copy li p{font-size:16px;line-height:1.95;margin-top:13px}
.quote-copy li .strength-output{background:#edf1eb;font-size:14px;line-height:1.95;padding:17px 20px;margin-top:20px;color:var(--ink)}
.strength-output span{display:block;font-weight:700;font-size:13px;margin-bottom:6px}
.quote-copy>.note{font-size:12px}
.information-grid{gap:78px}
.information-grid h2{font-size:36px;line-height:1.55}
.flow-list span{font-size:22px;min-width:31px}
.flow-list h3{font-size:21px;line-height:1.6}
.flow-list p{font-size:16px;line-height:1.95}
.flow-list+.note{font-size:12px}
.faq{padding-left:48px}
.faq summary{font-size:16px;line-height:1.85;padding-left:32px}
.faq summary:before{font-size:20px}
.faq details p{font-size:15px;line-height:1.95;padding-left:32px}
.faq details{padding:25px 0}
.contact h2{font-size:44px}
.contact-copy>p:not(.eyebrow){font-size:18px}
.form-panel{padding:38px}
.form-notice,form>.note{font-size:12px;line-height:1.9}
legend,.form-grid>label,.textarea-label{font-size:16px}
legend>span,label>span{font-size:12px}
.choices label{font-size:15px;min-height:48px}
.choices input{width:19px;height:19px}
.form-grid input,.form-grid select,textarea{min-height:50px}
.form-error{font-size:14px}
.contact-copy figcaption{font-size:12px}
#confirmation>p{font-size:14px}
#confirm-details dt{font-size:14px}
#confirm-details dd{font-size:16px}
.site-footer p{font-size:12px;line-height:1.9}
.site-footer button{font-size:12px}
@media(min-width:768px) and (max-width:1100px){
 .site-header nav{font-size:12px;gap:15px}.site-header .button{font-size:12px}.hero h1{font-size:48px}.hero h2{font-size:21px}
 .idea{gap:40px;grid-template-columns:.85fr 1.15fr}.idea-copy h2{font-size:32px}.reasons>div{grid-template-columns:115px 1fr;gap:18px}.reasons h3{font-size:18px}.reasons p{font-size:15px}
 .case-heading{gap:40px}.case-heading h2{font-size:39px}.case-heading-intro>p:first-child{font-size:18px}.case-heading-intro>p:nth-child(2){font-size:16px}
 .kitchen-case{gap:38px;grid-template-columns:.95fr 1.05fr}.case-story h3{font-size:29px}.case-number b{font-size:56px}.case-notes>div{grid-template-columns:1fr;gap:8px}.case-problem>p:last-child{font-size:16px}
 .comparison-controls{grid-template-columns:1fr 1fr;gap:0 16px}.comparison-controls p{grid-column:1/-1;grid-row:1;text-align:center;margin:0 0 4px}.comparison-controls button{text-align:center}
 .section-title h2{font-size:34px}.section-title>p:last-child{font-size:16px}.bath-details{gap:24px}.bath-details h3{font-size:19px}.bath-details p:not(.case-caption){font-size:15px}
 .foundation-inner{gap:38px}.foundation h2{font-size:30px}.foundation img{aspect-ratio:.8}.foundation-copy>p:not(.eyebrow){font-size:15px}
 .company{gap:0 45px}.company-heading h2{font-size:38px}.company-lead{font-size:22px}.company-intro>p:not(.company-lead){font-size:16px}
 .company+.quotation{gap:40px;grid-template-columns:.85fr 1.15fr}.company+.quotation .quote-copy h2{font-size:29px}.quote-copy h3{font-size:21px}.quote-copy li>span{font-size:25px}.quote-copy li{gap:15px}
 .information-grid{gap:40px}.information-grid h2{font-size:30px}.faq{padding-left:30px}.contact h2{font-size:35px}.form-panel{padding:28px}.contact-grid{gap:38px}
}
@media(max-width:767px){
 .eyebrow{font-size:13px;margin-bottom:18px}.site-header{padding:16px 20px}.brand{font-size:17px}.brand small{font-size:9px}.site-header .button{font-size:12px;padding:10px 12px}
 .hero h1{font-size:36px;line-height:1.5}.hero h2{font-size:18px;line-height:1.7;margin-top:18px}.hero .eyebrow{font-size:13px}.hero-content{padding:38px 22px 235px;max-width:none}.hero-description{font-size:16px;line-height:1.95;max-width:350px;margin-top:22px}.hero .button{font-size:16px;min-width:250px;min-height:58px}.audience{font-size:13px}
 .hero:before{background:linear-gradient(180deg,#171b1980 0%,#171b19a8 32%,#171b199e 58%,#171b1930 78%,#171b1900 100%)}
 .before-inset figcaption,.hero-after-label{font-size:11px;padding:5px 8px}.comparison-disclaimer,.hero-disclaimer,.note{font-size:12px;line-height:1.9}
 .idea{padding-top:76px;padding-bottom:88px;gap:36px}.storage-photo{width:88%}.storage-photo img{aspect-ratio:1.13}.storage-photo figcaption,.quotation figcaption{font-size:12px;margin-top:12px}
 .idea-copy h2{font-size:32px;line-height:1.6}.reasons{margin-top:30px}.reasons>div{display:block;padding:22px 0}.reasons h3{font-size:21px;line-height:1.65}.reasons h3 br{display:none}.reasons p{font-size:15px;line-height:1.95;margin-top:12px}.idea-bottom{font-size:15px;line-height:1.95;margin-top:15px}.idea-bottom br{display:none}
 .case-heading{display:block;padding-top:34px;margin-bottom:38px}.case-heading h2{font-size:32px;line-height:1.6}.case-heading-intro{margin-top:30px}.case-heading-intro>p:first-child{font-size:18px;line-height:1.8}.case-heading-intro>p:nth-child(2){font-size:15px;margin-top:16px}.case-heading-intro .comparison-disclaimer{font-size:12px;line-height:1.9;margin-top:16px}
 .case-kitchen{padding-bottom:85px}.kitchen-case{gap:38px}.case-visual{position:static;width:100%;max-width:450px}.case-number{gap:20px;margin-bottom:22px}.case-number b{font-size:56px}.case-number span{font-size:13px}.case-story h3{font-size:29px;line-height:1.6}.case-problem{margin-top:24px;padding-left:16px}.case-problem>p:last-child{font-size:16px}.case-problem>p:last-child br{display:none}
 .case-notes{margin-top:26px}.case-notes>div{display:block;padding:23px 0}.case-notes dt{font-size:13px;margin:0 0 9px}.case-notes dd{font-size:15px;line-height:1.95}.case-notes strong{font-size:19px;margin-bottom:10px}.case-story>.note{font-size:12px;margin-top:12px}
 .comparison-stage figcaption{font-size:11px;padding:5px 8px;bottom:12px}.comparison-grip{width:48px;height:48px}.comparison-controls{grid-template-columns:1fr 1fr;gap:0 16px;padding-top:12px}.comparison-controls p{grid-row:1;grid-column:1/-1;font-size:13px;max-width:none;margin:0 0 5px;text-align:center}.comparison-controls button{font-size:14px;min-height:48px;text-align:center}
 .section-title{margin-bottom:34px}.section-title h2{font-size:30px;line-height:1.6;padding-bottom:22px}.section-title>p:last-child{font-size:15px;line-height:1.95;margin-top:24px}.section-title>p:last-child br{display:none}.bathroom>.comparison-disclaimer{font-size:12px;margin-top:18px}.bath-details{grid-template-columns:1fr;gap:27px;margin-top:36px}.bath-details>div{padding-top:20px}.bath-details .case-caption{font-size:13px;margin-bottom:10px}.bath-details h3{font-size:22px}.bath-details p:not(.case-caption){font-size:15px;line-height:1.95;margin-top:12px}.bathroom{padding-bottom:102px}
 .foundation{padding:0 0 65px}.foundation-inner{gap:35px}.foundation figure{margin-top:-24px}.foundation img{aspect-ratio:1.25}.foundation h2{font-size:29px;line-height:1.6}.foundation-copy>p:not(.eyebrow){font-size:15px;line-height:1.95}.foundation-check{margin-top:26px}.foundation-check>div{font-size:14px;grid-template-columns:43px 1fr;gap:16px;padding:16px 0}.foundation .note{font-size:12px!important}.foundation .other-services{font-size:12px!important}
 .company{display:block;padding-top:90px}.company-heading h2{font-size:38px;line-height:1.6}.company-signature{font-size:19px;margin-top:30px}.company-intro{padding-top:40px}.company-lead{font-size:23px;line-height:1.85;margin-bottom:26px}.company-intro>p:not(.company-lead){font-size:16px;line-height:2;margin-top:22px}.company-profile{margin-top:42px;padding:0}.company-profile>div{grid-template-columns:1fr;gap:10px;padding:24px 0}.company-profile dt{font-size:12px;margin:0}.company-profile dd{font-size:17px}.company-profile dd span{font-size:13px;margin-top:6px}.company-note{font-size:12px;margin-top:18px}
 .company+.quotation{padding-top:80px;padding-bottom:85px;gap:38px}.quotation figure{position:static;margin-top:0;width:90%;align-self:flex-end}.quotation img{aspect-ratio:1.2}.company+.quotation .quote-copy h2{font-size:30px;line-height:1.6}.quote-copy ol{margin-top:23px}.quote-copy li{gap:14px;padding:26px 0}.quote-copy li>span{font-size:25px;min-width:28px}.quote-copy h3{font-size:21px;line-height:1.7}.quote-copy li p{font-size:15px;line-height:1.95;margin-top:12px}.quote-copy li .strength-output{font-size:14px;padding:15px;margin-top:18px}.strength-output span{font-size:12px;margin-bottom:8px}.quote-copy>.note{font-size:12px}
 .information-grid{gap:55px}.information-grid h2{font-size:30px}.flow-list h3{font-size:20px}.flow-list span{font-size:20px;min-width:27px}.flow-list p{font-size:15px;line-height:1.95}.flow-list+.note{font-size:12px}.faq{padding:40px 0 0}.faq summary{font-size:16px;line-height:1.9;padding-left:30px}.faq details p{font-size:15px;padding-left:30px;line-height:1.95}.faq details{padding:24px 0}
 .contact h2{font-size:34px;line-height:1.6}.contact-copy>p:not(.eyebrow){font-size:17px}.contact-copy figcaption{font-size:11px}.form-panel{padding:26px 20px}.form-notice,form>.note{font-size:12px}.choices label{font-size:15px}.choices{column-gap:16px}legend,.form-grid>label,.textarea-label{font-size:15px}legend>span,label>span{font-size:12px}.button{font-size:15px}.site-footer .brand{font-size:22px}.site-footer p{font-size:12px}.site-footer button{font-size:12px}
}
@media(max-width:359px){
 .brand{font-size:14px}.brand small{font-size:8px}.site-header .button{font-size:11px;padding-inline:10px}.hero h1{font-size:30px}.hero h2{font-size:16px}.hero-content{padding-inline:20px}.hero .button{min-width:0;width:100%;font-size:15px}.hero-description{font-size:15px}.idea-copy h2,.case-heading h2{font-size:29px}.case-story h3{font-size:25px}.section-title h2{font-size:27px}.company-heading h2{font-size:32px}.company-lead{font-size:20px}.company+.quotation .quote-copy h2{font-size:26px}.quote-copy h3{font-size:19px}.foundation h2{font-size:25px}.information-grid h2{font-size:27px}.contact h2{font-size:28px}.form-panel{padding-inline:16px}
}
