img { max-width: 100%; height: auto; }
:root{--background:#f9f8f3;--main:#0e3127;--accent:#c36444;--accent-accessible:#b75b3e;--accent-text:#fff;--text:#424640;--line:#bdc6bf;--muted:#5e655f;--heading:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;--body:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;--content:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip;scroll-padding-top:28px}body{margin:0;background:var(--background);color:var(--text);font-family:var(--body);font-size:18px;font-weight:400;line-height:1.85;overflow-x:clip}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:not-allowed}img{display:block}h1,h2,h3,p,figure{margin:0}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3{font-family:var(--heading);color:var(--main);font-weight:700}h2{font-size:clamp(30px,3.35vw,48px);line-height:1.5;letter-spacing:.025em;white-space:nowrap;margin-bottom:22px}h3{font-size:24px;line-height:1.65}.container{width:min(var(--content),calc(100% - 80px));margin-inline:auto}.section{margin-top:102px}.bleed-left { margin-left: calc(50% - 50vw); }
.bleed-right { margin-right: calc(50% - 50vw); }
.bleed-full { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
:focus-visible{outline:3px solid var(--main);outline-offset:6px}.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--background);padding:8px 20px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.header{height:112px}.header-inner{height:100%;width:calc(100% - 120px);max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:22px;white-space:nowrap;color:var(--main);font-family:var(--heading);font-size:32px;font-weight:700;letter-spacing:.075em;line-height:1.4}.brand img{width:64px;height:68px;object-fit:contain}.nav{display:flex;align-items:center;gap:30px;font-size:16px;font-weight:600}.nav>a{padding-block:12px}.nav>a:hover{color:var(--main);text-decoration:underline;text-underline-offset:7px}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:56px;padding:13px 30px;border:1px solid transparent;border-radius:4px;font-size:18px;font-weight:500;line-height:1.5;transition:transform .2s,box-shadow .2s,background-color .2s}.button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0e312710}.button-primary{color:var(--accent-text);background:var(--accent-accessible);text-shadow:0 1px 2px #48200c66}.button-primary:hover{background:#ae5436}.nav-cta{font-size:16px;padding:13px 22px;min-height:52px}.button-outline{border-color:#68867c;background:transparent;color:var(--main);min-width:250px}.button-outline:hover{background:#eaf0e9}.arrow{display:inline-block;width:24px;height:12px;position:relative;flex:0 0 24px}.arrow:before{content:"";position:absolute;left:0;top:5px;width:23px;border-top:1.5px solid currentColor}.arrow:after{content:"";position:absolute;right:1px;top:1px;width:9px;height:9px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}.menu-toggle{display:none}
.hero-inner{display:grid;grid-template-columns:41.6% 58.4%;min-height:694px;position:relative}.hero-copy{position:relative;z-index:1;padding-top:98px;padding-bottom:55px}.hero-eyebrow{font-size:18px;font-weight:600;letter-spacing:.05em;margin-bottom:18px}.hero h1{font-size:clamp(35px,3.36vw,48px);line-height:1.5;letter-spacing:-.04em;white-space:nowrap}.hero h1 span{display:inline-block}.hero-description{font-size:20px;line-height:1.75;margin:22px 0 34px}.hero-button{width:390px;max-width:100%;min-height:74px;font-size:22px}.note{font-size:15px;line-height:1.8;margin-top:14px;color:var(--muted)}.hero-photo{position:relative;margin-right:calc((var(--content) - 100vw)/2);min-width:0}.hero-photo img{width:100%;height:100%;aspect-ratio:1.17;object-fit:cover;object-position:52% 50%}.concerns{margin-top:66px}.concerns h2{margin-bottom:12px}.concerns p{font-size:20px;line-height:1.75}.concern-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;min-height:150px}.concern-list li{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;padding:0 15px}.concern-list li+li:before{content:"";position:absolute;left:0;top:12px;height:116px;border-left:1px solid var(--line)}.concern-list img{width:88px;height:85px;object-fit:contain}.concern-list h3{font-size:24px;white-space:nowrap}.comfort{margin-top:100px}.comfort-grid{display:grid;grid-template-columns:1fr .88fr;gap:54px;align-items:center}.photo{width:100%;object-fit:cover;object-position:center;border-radius:2px}.comfort-photo{aspect-ratio:2.04}.feature-list{display:grid;gap:27px;margin-bottom:33px}.feature-list li{position:relative;padding-left:76px;font-size:20px;font-weight:500;white-space:nowrap}.feature-list li:before{content:"";position:absolute;left:0;top:19px;width:52px;border-top:2px solid #75998c}.comfort-copy p{font-size:17px;white-space:nowrap}.works{margin-top:98px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:28px}.case-grid .photo{aspect-ratio:1.47}.case-grid figcaption{font-size:20px;margin-top:8px;line-height:1.65;white-space:nowrap}.about{display:grid;grid-template-columns:1.13fr 1fr;gap:54px;margin-top:108px;align-items:start}.about h2{font-size:clamp(30px,3.05vw,44px);letter-spacing:0;margin-bottom:52px}.about p{font-size:19px;line-height:1.8}.about .button{margin-top:55px}.about-photo{aspect-ratio:1.46;object-position:50% 40%}.flow{margin-top:100px}.flow h2{margin-bottom:12px}.flow p{font-size:20px}.flow-list{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:32px}.flow-list li{position:relative;text-align:center;line-height:1.5}.step{font-family:var(--heading);font-size:31px;color:#3d6659}.flow-list h3{margin-top:10px;font-size:25px;white-space:nowrap}.flow-list .arrow{position:absolute;right:-29px;top:46px;color:#608c80}.faq{margin-top:102px}.faq h2{margin-bottom:35px}.faq-list{margin:0}.faq-list>div{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;min-height:90px;gap:36px;padding-block:20px}.faq-list>div+div{border-top:1px solid var(--line)}.faq-list dt{position:relative;font-size:17px;display:flex;align-items:center;gap:32px;line-height:1.7}.question-mark{color:var(--main);font:40px/1 var(--heading);flex-shrink:0}.faq-list dd{margin:0;padding-left:36px;border-left:1px solid var(--line);font-size:17px;line-height:1.7;white-space:nowrap}.contact{text-align:center;padding-top:128px;padding-bottom:105px}.contact h2{font-size:43px;letter-spacing:0;margin-bottom:10px}.contact>p{font-size:18px}.contact-button{margin-top:64px;min-height:82px;width:460px;font-size:24px;max-width:100%}.contact>.note{font-size:16px;margin-top:24px}.footer{width:calc(100% - 100px);max-width:1340px;border-top:1px solid #9ea8a2;margin:auto;padding:40px 14px 52px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.footer-right{text-align:right;font-size:14px;color:var(--muted)}.footer-right nav{display:flex;gap:32px;margin-bottom:14px}.footer-right button{border:0;padding:5px 0;background:none;font-size:14px}.footer-right button:hover{text-decoration:underline;text-underline-offset:5px}.footer small{font-size:13px}.back-top{position:fixed;right:20px;bottom:20px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--background);border:1px solid #75998c;color:var(--main);border-radius:4px;z-index:5;opacity:0;visibility:hidden;transition:opacity .2s}.back-top.is-visible{opacity:1;visibility:visible}.up-arrow{width:13px;height:13px;transform:translateY(4px) rotate(-45deg);border-top:2px solid currentColor;border-right:2px solid currentColor}.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .4s,transform .4s}.js .reveal.is-visible{opacity:1;transform:none}.case-grid:target{outline:1px solid #75998c;outline-offset:12px}
dialog{border:1px solid var(--line);border-radius:6px;background:var(--background);color:var(--text);padding:0;max-width:min(620px,calc(100vw - 36px));max-height:85dvh;width:620px}dialog::backdrop{background:#102e256e}.dialog-inner{padding:46px 38px;position:relative}.dialog-inner h2{font-size:28px;white-space:normal;margin-right:18px}.dialog-inner p{margin-block:18px;text-align:left;font-size:16px}.dialog-close{position:absolute;right:16px;top:16px;width:44px;height:44px;background:none;border:0}.dialog-close:before,.dialog-close:after{content:"";position:absolute;left:10px;top:21px;width:24px;border-top:2px solid var(--main);transform:rotate(45deg)}.dialog-close:after{transform:rotate(-45deg)}.demo-notice{background:#e8ede6;padding:10px 14px;color:var(--main);font-weight:600}.dialog-inner form{display:grid;gap:10px}.dialog-inner input:not([type=radio]),.dialog-inner textarea{border:1px solid #80958b;border-radius:3px;background:#fff;padding:10px 12px;width:100%;font-size:16px;min-height:46px}.dialog-inner fieldset{border:1px solid var(--line);padding:12px;margin:10px 0}.radio{display:inline-flex;gap:8px;align-items:center;margin-right:18px}.demo-submit{margin-top:16px;opacity:.7}.company-details>div{padding-block:12px;border-top:1px solid var(--line)}.company-details dd{margin-left:0}.scroll-locked{overflow:hidden!important}
@media(min-width:1441px){.hero h1{font-size:48px}}
@media(max-width:1250px) and (min-width:901px){.header-inner{width:calc(100% - 80px)}.brand{font-size:27px;gap:14px}.brand img{width:54px;height:60px}.nav{gap:18px;font-size:14px}.nav-cta{font-size:14px;padding-inline:16px}.hero-photo{margin-right:-40px}.hero-copy{padding-top:70px}.hero h1{font-size:3.25vw}.hero-description{font-size:18px}.hero-button{font-size:19px;width:340px}.hero-inner{min-height:590px}.hero-photo img{aspect-ratio:auto}.about{gap:34px}.about h2{font-size:3vw}.about p{font-size:17px}.comfort-copy p{font-size:16px}.feature-list li{font-size:18px;padding-left:60px}.case-grid figcaption{font-size:17px}.faq-list dd,.faq-list dt{font-size:16px}.faq-list>div{gap:22px}.faq-list dd{padding-left:22px}.contact h2{font-size:38px}}
@media(max-width:900px){body{font-size:17px}.container{width:calc(100% - 48px)}h2{font-size:clamp(25px,4.7vw,38px)}.header{height:88px}.header-inner{width:calc(100% - 48px)}.brand{font-size:26px;gap:14px}.brand img{width:48px;height:52px}.menu-toggle{display:block;z-index:32;position:relative;width:48px;height:48px;background:none;border:1px solid var(--line);border-radius:3px}.menu-toggle span{position:absolute;left:11px;width:24px;height:1.5px;background:var(--main);transition:transform .2s,top .2s}.menu-toggle span:first-child{top:18px}.menu-toggle span:last-child{top:28px}.menu-toggle[aria-expanded=true] span:first-child{top:23px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{top:23px;transform:rotate(-45deg)}.nav{display:none}.js .nav{position:fixed;inset:88px 0 0;z-index:30;background:var(--background);padding:40px 24px 100px;overflow-y:auto;flex-direction:column;align-items:center;justify-content:flex-start;gap:22px}.js .nav.is-open{display:flex}.nav .button{width:100%;max-width:360px}.hero-inner{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:50px 0 44px}.hero h1{font-size:clamp(34px,6.4vw,50px);line-height:1.55;letter-spacing:0}.hero-description{font-size:18px}.hero-photo{margin:0 -24px}.hero-photo img{height:auto;width:100%;aspect-ratio:1.5;object-position:center}.hero-button{max-width:360px}.hero-eyebrow{font-size:16px}.section{margin-top:72px}.concerns{margin-top:60px}.concerns p{font-size:17px}.concern-list{gap:12px;margin-top:36px;min-height:130px}.concern-list li{padding-inline:4px;gap:16px}.concern-list img{height:66px;width:70px}.concern-list h3{font-size:clamp(15px,2.6vw,21px)}.concern-list li+li:before{height:100px}.comfort-grid{grid-template-columns:1fr;gap:30px}.comfort-copy{grid-row:1}.feature-list{gap:20px;margin-bottom:24px}.feature-list li{font-size:18px}.comfort-copy p{font-size:17px;white-space:normal}.comfort-photo{aspect-ratio:2.04}.case-grid{grid-template-columns:repeat(2,1fr);gap:28px 20px}.case-grid figcaption{font-size:18px;white-space:normal}.about{grid-template-columns:1fr;gap:32px}.about h2{font-size:clamp(25px,4.7vw,38px);margin-bottom:25px}.about p{font-size:18px}.about .button{margin-top:32px}.about-photo{aspect-ratio:1.46;max-width:600px}.flow p{font-size:17px}.flow-list{gap:25px}.flow-list h3{font-size:20px}.flow-list .arrow{right:-25px}.step{font-size:29px}.faq-list>div{grid-template-columns:1fr;gap:15px;padding-block:24px}.faq-list dt{font-size:17px;gap:20px}.faq-list dd{font-size:17px;white-space:normal;border:0;padding-left:49px}.question-mark{font-size:34px}.contact{padding-top:92px;padding-bottom:80px}.contact h2{font-size:clamp(24px,4.6vw,36px)}.contact>p{font-size:17px}.contact-button{margin-top:48px;font-size:21px;min-height:74px;max-width:360px}.footer{width:calc(100% - 48px);padding:32px 0 90px}.footer-inner{flex-direction:column;align-items:flex-start;gap:24px}.footer-right{text-align:left}.footer-right nav{gap:24px}.back-top{right:14px;bottom:14px}.desktop-break{display:none}html:not(.js) .header{height:auto}html:not(.js) .header-inner{flex-wrap:wrap;padding-block:15px}html:not(.js) .menu-toggle{display:none}html:not(.js) .nav{display:flex;flex-wrap:wrap;gap:14px;width:100%;font-size:16px}html:not(.js) .nav .button{width:auto}}
@media(max-width:540px){body{font-size:16px}.container{width:calc(100% - 40px)}.header{height:80px}.header-inner{width:calc(100% - 40px)}.brand{font-size:22px;gap:12px;letter-spacing:.04em}.brand img{width:42px;height:48px}.js .nav{top:80px}.hero-copy{padding-top:34px;padding-bottom:36px}.hero h1{font-size:clamp(29px,7.65vw,40px);letter-spacing:-.045em}.hero-eyebrow{font-size:14px;letter-spacing:.02em;margin-bottom:18px}.hero-description{font-size:16px;line-height:1.9;margin-top:20px;margin-bottom:28px}.hero-button{width:100%;font-size:19px;min-height:64px}.hero-photo{margin-inline:-20px}.hero-photo img{aspect-ratio:1.36}.note{font-size:13px}.section{margin-top:62px}h2{font-size:clamp(20px,5.45vw,29px);letter-spacing:0;margin-bottom:24px;line-height:1.6}.concerns{margin-top:48px}.concerns h2{margin-bottom:18px}.concerns p{font-size:16px;line-height:1.9}.concern-list{grid-template-columns:1fr;margin-top:32px;gap:0}.concern-list li{flex-direction:row;justify-content:flex-start;gap:28px;padding:22px 30px}.concern-list li+li:before{top:0;left:30px;right:30px;border-left:0;border-top:1px solid var(--line);height:0}.concern-list img{width:62px;height:58px}.concern-list h3{font-size:20px}.feature-list li{font-size:17px;padding-left:52px;white-space:normal}.feature-list li:before{width:32px;top:16px}.comfort-copy p{font-size:16px}.comfort-grid{gap:28px}.comfort-photo{aspect-ratio:1.8}.case-grid{grid-template-columns:1fr;gap:30px;margin-bottom:30px}.case-grid .photo{aspect-ratio:1.47}.case-grid figcaption{font-size:18px}.button-outline{width:100%;max-width:360px;min-height:56px;font-size:17px}.about h2{font-size:clamp(23px,5.9vw,31px);margin-bottom:24px}.about p{font-size:16px;line-height:1.9}.about-photo{aspect-ratio:1.46}.flow p{font-size:16px}.flow-list{grid-template-columns:1fr;gap:0;margin-top:22px}.flow-list li{text-align:left;display:flex;align-items:center;gap:28px;padding:24px 15px}.flow-list h3{margin:0;font-size:22px}.flow-list .arrow{right:40px;top:auto;bottom:-5px;transform:rotate(90deg)}.step{font-size:28px;width:35px}.faq h2{margin-bottom:10px}.faq-list>div{gap:14px}.faq-list dt{font-size:16px;align-items:flex-start;gap:16px}.faq-list dd{font-size:16px;padding-left:42px}.question-mark{font-size:30px;line-height:1.4}.contact{padding-top:86px;padding-bottom:86px}.contact h2{font-size:clamp(18px,4.85vw,26px);letter-spacing:-.035em;margin-bottom:20px}.contact>p{font-size:16px;text-align:left;line-height:1.9}.contact-button{margin-top:50px;width:100%;font-size:20px;min-height:74px}.contact>.note{font-size:14px;text-align:center;margin-top:25px}.footer{width:calc(100% - 40px);padding-top:30px}.footer .brand{font-size:22px}.footer-right nav{gap:22px;flex-wrap:wrap}.footer-right button{min-height:44px}.dialog-inner{padding:54px 22px 28px}.dialog-inner h2{font-size:23px}.dialog-inner fieldset{font-size:16px}.dialog-inner .radio{margin-block:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}}

@media(max-width:360px){h2{font-size:5.3vw}.about h2{font-size:5.9vw}.contact h2{font-size:4.85vw}.brand{font-size:20px;gap:9px}.hero h1{font-size:7.65vw}.feature-list li{font-size:16px}}

@media(min-width:901px) and (max-width:1250px){.comfort-copy p,.faq-list dd{white-space:normal}}

/* 添付デザイン724×2172を基準に、PCでは全体の比率を保って拡縮する。 */
@media (min-width: 901px) {
  :root { --design-unit: calc(100vw / 724); --content: calc(640 * var(--design-unit)); }
  body { font-size: max(16px, calc(12.5 * var(--design-unit))); line-height: 1.68; }
  .container { width: var(--content); }
  h2 { font-size: calc(32 * var(--design-unit)); line-height: calc(48 * var(--design-unit)); font-weight: 600; letter-spacing: 0; font-feature-settings: "palt" 1; margin-bottom: 0; }
  h3 { font-weight: 600; }
  .header { height: calc(56 * var(--design-unit)); }
  .header-inner { width: var(--content); max-width: none; gap: calc(18 * var(--design-unit)); }
  .brand { gap: calc(13 * var(--design-unit)); font-size: calc(22 * var(--design-unit)); font-weight: 600; letter-spacing: .045em; font-feature-settings: "palt" 1; }
  .brand img { width: calc(36 * var(--design-unit)); height: calc(39 * var(--design-unit)); }
  .nav { gap: calc(21 * var(--design-unit)); font-size: max(13px, calc(9 * var(--design-unit))); }
  .nav > a { padding-block: calc(8 * var(--design-unit)); }
  .button { gap: calc(15 * var(--design-unit)); min-height: calc(33 * var(--design-unit)); padding: calc(6 * var(--design-unit)) calc(19 * var(--design-unit)); border-radius: calc(3 * var(--design-unit)); font-size: max(16px, calc(12 * var(--design-unit))); }
  .button-primary { text-shadow: none; }
  .nav-cta { min-height: calc(28 * var(--design-unit)); padding-inline: calc(15 * var(--design-unit)); font-size: max(13px, calc(10 * var(--design-unit))); }
  .button-outline { min-width: calc(158 * var(--design-unit)); min-height: calc(33 * var(--design-unit)); }
  .arrow { width: calc(18 * var(--design-unit)); height: calc(12 * var(--design-unit)); flex-basis: calc(18 * var(--design-unit)); }
  .arrow::before { width: calc(17 * var(--design-unit)); top: calc(5 * var(--design-unit)); border-top-width: max(1px, calc(.8 * var(--design-unit))); }
  .arrow::after { width: calc(6 * var(--design-unit)); height: calc(6 * var(--design-unit)); top: calc(2 * var(--design-unit)); right: calc(1 * var(--design-unit)); border-width: max(1px, calc(.8 * var(--design-unit))); }
  .hero-inner { grid-template-columns: 42.65625% 57.34375%; height: calc(349 * var(--design-unit)); min-height: 0; }
  .hero-copy { padding-top: calc(53 * var(--design-unit)); padding-bottom: 0; }
  .hero-eyebrow { font-size: max(14px, calc(11 * var(--design-unit))); line-height: calc(18 * var(--design-unit)); letter-spacing: .035em; margin-bottom: calc(10 * var(--design-unit)); }
  .hero h1 { font-size: calc(32 * var(--design-unit)); line-height: calc(44 * var(--design-unit)); letter-spacing: -.055em; font-weight: 700; }
  .hero-description { font-size: max(16px, calc(12.5 * var(--design-unit))); line-height: calc(22 * var(--design-unit)); margin: calc(8 * var(--design-unit)) 0 calc(23 * var(--design-unit)); }
  .hero-button { width: calc(230 * var(--design-unit)); max-width: none; min-height: calc(40 * var(--design-unit)); font-size: calc(15 * var(--design-unit)); }
  .hero .note { margin-top: calc(8 * var(--design-unit)); font-size: max(13px, calc(10.5 * var(--design-unit))); line-height: calc(18 * var(--design-unit)); }
  .hero-photo { margin-right: calc((var(--content) - 100vw) / 2); }
  .hero-photo img { width: 100%; height: 100%; aspect-ratio: 409 / 349; object-position: 52% 50%; }
  .section { margin-top: 0; }
  .concerns { padding-top: calc(30 * var(--design-unit)); }
  .concerns h2 { margin-bottom: calc(3 * var(--design-unit)); }
  .concerns p { font-size: max(16px, calc(12.5 * var(--design-unit))); line-height: calc(21 * var(--design-unit)); }
  .concern-list { margin-top: calc(24 * var(--design-unit)); min-height: 0; }
  .concern-list li { gap: calc(8 * var(--design-unit)); padding-inline: calc(8 * var(--design-unit)); }
  .concern-list img { width: calc(54 * var(--design-unit)); height: calc(50 * var(--design-unit)); }
  .concern-list h3 { font-size: calc(17 * var(--design-unit)); line-height: calc(26 * var(--design-unit)); font-feature-settings: "palt" 1; }
  .concern-list li + li::before { top: calc(5 * var(--design-unit)); height: calc(62 * var(--design-unit)); }
  .comfort { padding-top: calc(38 * var(--design-unit)); }
  .comfort h2 { margin-bottom: calc(14 * var(--design-unit)); }
  .comfort-grid { grid-template-columns: 324fr 286fr; gap: calc(30 * var(--design-unit)); }
  .comfort-photo { aspect-ratio: 324 / 160; }
  .comfort-copy { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; padding-top: calc(12 * var(--design-unit)); }
  .feature-list { gap: calc(20 * var(--design-unit)); margin-bottom: 0; }
  .feature-list li { padding-left: calc(52 * var(--design-unit)); font-size: max(16px, calc(12.5 * var(--design-unit))); line-height: calc(21 * var(--design-unit)); }
  .feature-list li::before { width: calc(36 * var(--design-unit)); top: calc(10 * var(--design-unit)); border-top-width: max(1px, calc(.8 * var(--design-unit))); }
  .comfort-copy p { font-size: max(16px, calc(12 * var(--design-unit))); line-height: calc(21 * var(--design-unit)); white-space: nowrap; }
  .works { padding-top: calc(46 * var(--design-unit)); }
  .works h2 { margin-bottom: calc(10 * var(--design-unit)); }
  .case-grid { gap: calc(14 * var(--design-unit)); margin-bottom: calc(12 * var(--design-unit)); }
  .case-grid .photo { aspect-ratio: 205 / 139; }
  .case-grid figcaption { margin-top: calc(5 * var(--design-unit)); font-size: calc(14 * var(--design-unit)); line-height: calc(24 * var(--design-unit)); font-feature-settings: "palt" 1; }
  .about { padding-top: calc(43 * var(--design-unit)); grid-template-columns: 324fr 286fr; gap: calc(30 * var(--design-unit)); }
  .about h2 { font-size: calc(30 * var(--design-unit)); line-height: calc(48 * var(--design-unit)); margin-bottom: calc(21 * var(--design-unit)); }
  .about p { font-size: max(16px, calc(12.5 * var(--design-unit))); line-height: calc(21 * var(--design-unit)); }
  .about .button { margin-top: calc(36 * var(--design-unit)); }
  .about-photo { margin-top: calc(10 * var(--design-unit)); aspect-ratio: 286 / 196; max-width: none; object-position: 50% 40%; }
  .flow { padding-top: calc(39 * var(--design-unit)); }
  .flow h2 { margin-bottom: calc(3 * var(--design-unit)); }
  .flow p { font-size: max(16px, calc(12.5 * var(--design-unit))); line-height: calc(21 * var(--design-unit)); }
  .flow-list { gap: calc(18 * var(--design-unit)); margin-top: calc(17 * var(--design-unit)); }
  .step { font-size: calc(22 * var(--design-unit)); line-height: calc(30 * var(--design-unit)); }
  .flow-list h3 { margin-top: calc(3 * var(--design-unit)); font-size: calc(17 * var(--design-unit)); line-height: calc(25 * var(--design-unit)); font-feature-settings: "palt" 1; }
  .flow-list .arrow { right: calc(-18 * var(--design-unit)); top: calc(29 * var(--design-unit)); }
  .faq { padding-top: calc(44 * var(--design-unit)); }
  .faq h2 { margin-bottom: calc(14 * var(--design-unit)); }
  .faq-list > div { grid-template-columns: 325fr 315fr; min-height: calc(50 * var(--design-unit)); gap: 0; padding-block: calc(10 * var(--design-unit)); }
  .faq-list dt { font-size: max(14px, calc(11.5 * var(--design-unit))); gap: calc(25 * var(--design-unit)); line-height: calc(21 * var(--design-unit)); letter-spacing: -.025em; }
  .question-mark { font-size: calc(24 * var(--design-unit)); line-height: calc(30 * var(--design-unit)); }
  .faq-list dd { padding-left: calc(36 * var(--design-unit)); font-size: max(14px, calc(11.5 * var(--design-unit))); line-height: calc(21 * var(--design-unit)); white-space: nowrap; letter-spacing: -.025em; }
  .contact { padding-top: calc(45 * var(--design-unit)); padding-bottom: calc(26 * var(--design-unit)); }
  .contact h2 { font-size: calc(28 * var(--design-unit)); line-height: calc(42 * var(--design-unit)); margin-bottom: 0; }
  .contact > p { font-size: max(16px, calc(12 * var(--design-unit))); line-height: calc(20 * var(--design-unit)); }
  .contact-button { margin-top: calc(19 * var(--design-unit)); min-height: calc(47 * var(--design-unit)); width: calc(276 * var(--design-unit)); font-size: calc(17 * var(--design-unit)); }
  .contact > .note { font-size: max(14px, calc(11 * var(--design-unit))); line-height: calc(20 * var(--design-unit)); margin-top: calc(8 * var(--design-unit)); }
  .footer { width: calc(664 * var(--design-unit)); max-width: none; margin-inline: auto; padding: calc(20 * var(--design-unit)) calc(12 * var(--design-unit)) calc(32 * var(--design-unit)); }
  .footer-inner { gap: calc(24 * var(--design-unit)); }
  .footer-right { font-size: calc(9 * var(--design-unit)); }
  .footer-right nav { gap: calc(21 * var(--design-unit)); margin-bottom: calc(5 * var(--design-unit)); }
  .footer-right button { font-size: max(12px, calc(8.5 * var(--design-unit))); padding-block: calc(3 * var(--design-unit)); }
  .footer small { font-size: max(12px, calc(8 * var(--design-unit))); }
}
@media (min-width: 901px) and (max-width: 1099px) {
  .nav { gap: 14px; font-size: 12px; }
  .nav-cta { font-size: 12px; padding-inline: 12px; }
  .brand { font-size: calc(21 * var(--design-unit)); }
  .comfort-copy p, .faq-list dd { font-size: 14px; white-space: normal; }
  .faq-list dt { font-size: 14px; }
}
