*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,'Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,summary{font:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;z-index:1000;background:var(--ink);color:var(--paper);padding:14px}.skip:focus{top:60px}.site-utility{position:relative;z-index:100;min-height:40px;display:flex;align-items:center;justify-content:space-between;padding:9px 3.4%;gap:20px;background:#20211e;color:#fff;font-size:10px;letter-spacing:.04em}.site-utility a{text-decoration:underline;text-underline-offset:4px}.header{display:flex;align-items:center;justify-content:space-between}.brand{font-weight:700;letter-spacing:-.065em;white-space:nowrap}.brand sup{font-size:13px;letter-spacing:0;vertical-align:top;display:inline-block;padding-top:5px}.main-nav{display:flex;align-items:center;gap:30px;font-size:12px}.main-nav a{padding:12px 0}.main-nav a.active{text-decoration:underline;text-underline-offset:7px}.menu-button{display:none;border:0;background:none;color:inherit;font-size:11px;letter-spacing:.1em}.eyebrow{font-size:10px;letter-spacing:.11em;line-height:1.6;font-weight:500}.en-serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}.body-copy{font-size:14px;line-height:2.1;letter-spacing:.045em}.body-copy p+p{margin-top:1.5em}.arrow-link{display:inline-flex;align-items:center;gap:35px;font-size:12px;border-bottom:1px solid currentColor;padding:14px 0}.arrow-link span:last-child{font-size:24px;line-height:1}.caption{font-size:10px;line-height:1.7;letter-spacing:.025em}.section-label{display:flex;gap:25px;font-size:11px;letter-spacing:.075em}.service-details{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;position:relative;padding:24px 40px 24px 0}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;top:22px;font-size:25px;font-weight:400}details[open]>summary:after{content:'−'}.detail-inner{padding-bottom:28px;line-height:2;font-size:13px}.detail-inner ul{padding-left:1.2em;margin:12px 0}.price{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin:25px 0 5px;padding:15px 0;border-top:1px solid var(--line)}.price strong{font-size:24px;font-weight:500;letter-spacing:-.03em}.price small{font-size:11px}.note{font-size:11px;line-height:1.9;color:var(--muted)}.company-list{margin:0}.company-list>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.8}.company-list dt{color:var(--muted)}.company-list dd{margin:0}.company-list dd p+p{margin-top:8px}.company-list ul{margin:0;padding-left:1.1em}.contact-links{display:flex;flex-wrap:wrap;gap:20px}.contact-links a{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-row{display:flex;justify-content:space-between;gap:20px;font-size:10px;line-height:1.7}.social-links{display:flex;gap:25px;flex-wrap:wrap;font-size:11px}.social-links a{text-decoration:underline;text-underline-offset:4px}.original-notice{font-size:10px;line-height:1.8;color:var(--muted);padding-top:25px}.service-tag{font-size:10px;letter-spacing:.08em}.media-link{position:relative;display:block}.play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.play span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--paper);color:var(--ink);font-size:18px;padding-left:3px}.screen-only{display:block}@media(max-width:760px){html{scroll-padding-top:75px}.site-utility{padding:9px 5%;font-size:9px;gap:10px}.site-utility .utility-label{max-width:52%;line-height:1.5}.header{position:sticky;top:0;z-index:80;background:var(--paper)}.menu-button{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);padding:15px 6% 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:5px}.main-nav.open{display:flex}.main-nav a{font-size:15px}.company-list>div{grid-template-columns:85px 1fr;gap:10px;font-size:12px}.body-copy{font-size:13px}.footer-row{flex-direction:column}.contact-links{flex-direction:column}.social-links{gap:20px}.caption{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/* SAUNA TORECA / finished trim 63 × 88 mm with a circular 4 mm corner.
   One shared image-bound mask covers the default page and A/B/C/C′.
   Horizontal 4/63, vertical 4/88: equal radii at every display size.
   Contain preserves the complete 895 × 1245 artwork; source bytes are unchanged.
   The padded service-image panel and non-card photography are not rounded. */
#sauna-toreca .service-image>img{aspect-ratio:63/88;object-fit:contain;border-radius:6.3492063492% / 4.5454545455%;max-width:100%;height:auto;}
/* Keep A/C/C′ at their existing 250/210 px card heights, using proportional
   auto height so a narrower container cannot turn the 4R mask into an ellipse. */
.concept-a #sauna-toreca .service-image>img{width:calc(250px * 63 / 88);}
@media(max-width:760px){.concept-a #sauna-toreca .service-image>img{width:calc(210px * 63 / 88);}}
