/*
Theme Name: TOTONOUBAI Corporate Sample
Theme URI: https://www.totonoubai.com/
Author: Sample Design
Description: 株式会社トトノウバイの企業・施設プロデュース向けTOPページ専用サンプルテーマ。
Version: 1.0.0
Text Domain: totonoubai-corporate
*/

:root{--ink:#181815;--paper:#fbfaf6;--white:#fff;--gold:#a18b54;--gold-deep:#8d7743;--sand:#cbbd8c;--charcoal:#22231f;--line:rgba(24,24,21,.18);--serif:"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{position:sticky;top:0;z-index:50;height:76px;background:rgba(255,255,255,.97);display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;border-bottom:1px solid rgba(0,0,0,.04)}.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:.07em;color:var(--gold-deep);font-size:18px}.brand img{width:38px;height:38px;border-radius:50%}.desktop-nav{display:flex;gap:46px;align-items:center}.desktop-nav a{font-size:14px;letter-spacing:.08em}.desktop-nav a::after{content:"＋";margin-left:10px}.menu-toggle{display:none;border:0;background:none;width:46px;height:46px;position:relative;cursor:pointer}.menu-toggle span,.menu-toggle::before,.menu-toggle::after{position:absolute;content:"";width:21px;height:1px;background:var(--ink);left:13px;transition:.3s}.menu-toggle::before{top:15px}.menu-toggle span{top:22px}.menu-toggle::after{top:29px}.mobile-panel{display:none}
.hero{height:calc(100vh - 76px);min-height:600px;position:relative;overflow:hidden;background:#111}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;background-size:cover;background-position:center;animation:heroFade 18s infinite}.hero-slide:nth-child(1){background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.28)),url('assets/images/wood-stove.jpg')}.hero-slide:nth-child(2){background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.28)),url('assets/images/sauna-room.jpg');animation-delay:6s}.hero-slide:nth-child(3){background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.28)),url('assets/images/stone-bath.jpg');animation-delay:12s}@keyframes heroFade{0%{opacity:0;transform:scale(1)}7%,30%{opacity:1}37%,100%{opacity:0;transform:scale(1.05)}}.hero-brand{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.34)}.hero-brand img{width:132px;height:132px;margin:0 auto 24px;border-radius:50%;mix-blend-mode:screen;filter:brightness(1.45) grayscale(1)}.hero-brand h1{font-family:var(--serif);font-size:clamp(43px,5vw,72px);font-weight:400;line-height:1.02;letter-spacing:.08em;margin:0}.hero-brand p{margin:17px 0 0;font-family:var(--serif);letter-spacing:.28em;font-size:13px}.scroll-cue{position:absolute;right:4vw;bottom:28px;color:#fff;font-size:10px;letter-spacing:.2em;writing-mode:vertical-rl}.scroll-cue::after{content:"";display:block;width:1px;height:55px;background:#fff;margin:10px auto 0}
.section{padding:102px 0}.section-head{text-align:center;margin-bottom:50px}.section-head .jp{display:block;color:#888275;font-family:var(--serif);font-size:17px;letter-spacing:.14em}.section-head .en{display:block;font-family:var(--serif);font-size:44px;line-height:1.15;font-weight:400;color:#aaa69c;letter-spacing:.02em}.section-lead{text-align:center;max-width:790px;margin:-20px auto 42px;padding:0 24px}.business-grid{display:grid;grid-template-columns:1fr 1fr}.business-card{min-height:430px;position:relative;display:grid;place-items:center;color:#fff;text-align:center;background-size:cover;background-position:center;overflow:hidden}.business-card::before{content:"";position:absolute;inset:0;background:rgba(18,17,13,.28);transition:.5s}.business-card:hover::before{background:rgba(18,17,13,.1)}.business-card:nth-child(1){background-image:url('assets/images/sauna-room.jpg')}.business-card:nth-child(2){background-image:url('assets/images/team.png')}.business-card:nth-child(3){background-image:url('assets/images/craft.jpeg')}.business-card:nth-child(4){background-image:url('assets/images/octagon-sauna.jpeg')}.business-card>div{position:relative}.business-card h3{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:.05em;margin:0}.business-card small{display:block;font-family:var(--serif);font-size:17px;margin-top:3px}.pill{display:inline-flex;align-items:center;justify-content:center;min-width:108px;height:36px;border-radius:999px;background:#e7ddb8;color:#3e3b31;margin-top:22px;font-family:var(--serif);font-size:16px}.outline-btn{display:flex;width:min(440px,calc(100% - 40px));height:64px;border:1px solid var(--gold-deep);border-radius:999px;align-items:center;justify-content:center;margin:56px auto 0;letter-spacing:.05em;transition:.3s}.outline-btn::before{content:"›";display:grid;place-content:center;width:17px;height:17px;background:var(--gold);color:#fff;border-radius:50%;margin-right:12px;line-height:1}.outline-btn:hover{background:var(--gold);color:#fff}
.facilities{background:var(--sand);padding-bottom:86px}.facilities .section-head .jp,.facilities .section-head .en{color:rgba(55,48,31,.42)}.facility-strip{display:grid;grid-template-columns:repeat(4,1fr);height:315px;overflow:hidden}.facility-strip figure{margin:0;position:relative}.facility-strip img{width:100%;height:100%;object-fit:cover}.facility-strip figure:nth-child(2),.facility-strip figure:nth-child(4){margin-top:38px;height:277px}.dual-link{padding:98px 0}.feature-block{max-width:900px;margin:0 auto 90px}.feature-block:last-child{margin-bottom:0}.feature-block figure{margin:18px 0 0}.feature-block img{width:100%;height:450px;object-fit:cover}.feature-block.recruit img{object-position:center 38%}.feature-block .outline-btn{margin-top:24px}
.news{padding-top:24px;overflow:hidden}.news-track{display:flex;gap:28px;width:max-content;animation:newsMove 36s linear infinite;padding:0 20px}.news-card{width:260px}.news-card img{width:100%;height:190px;object-fit:cover}.news-card time{display:block;color:var(--gold-deep);font-family:var(--serif);font-size:12px;margin-top:14px}.news-card h3{font-size:14px;line-height:1.65;margin:4px 0;font-weight:500}@keyframes newsMove{to{transform:translateX(calc(-50% - 14px))}}
.sustainability{background:#0e0f0d;color:#fff;padding-top:0}.sustainability-hero{height:510px;background:linear-gradient(rgba(0,0,0,.14),rgba(0,0,0,.36)),url('assets/images/water-bath.jpeg') center/cover;display:grid;place-items:center}.sustainability-hero .section-head{margin:0}.sustainability-hero .jp,.sustainability-hero .en{color:#fff}.sustainability-body{padding:90px max(7vw,24px)}.sustainability-body>p{text-align:center;max-width:780px;margin:0 auto 60px;color:#dadad4}.sustain-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;max-width:1000px;margin:auto}.sustain-card{height:330px;position:relative;display:grid;place-items:center;text-align:center;background-size:cover;background-position:center;overflow:hidden}.sustain-card::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.44)}.sustain-card:nth-child(1){grid-column:1/-1;background-image:url('assets/images/stone-bath.jpg')}.sustain-card:nth-child(2){background-image:url('assets/images/wood-stove.jpg')}.sustain-card:nth-child(3){background-image:url('assets/images/staff.jpeg')}.sustain-card:nth-child(4){background-image:url('assets/images/craft.jpeg')}.sustain-card:nth-child(5){background-image:url('assets/images/team.png')}.sustain-card>div{position:relative}.sustain-card h3{font-family:var(--serif);font-weight:400;font-size:25px;margin:0}.sustain-card small{font-family:var(--serif);font-size:15px}.sustainability .outline-btn{border-color:#7f785f}.site-footer{background:#30312d;color:#fff;padding:70px 6vw 28px}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:15px 40px;font-size:13px}.footer-brand{justify-self:end}.footer-brand .brand{color:#d4c28b;margin-bottom:20px}.footer-brand address{font-style:normal;color:#cbc9c0;font-size:12px}.copyright{border-top:1px solid rgba(255,255,255,.15);margin-top:55px;padding-top:22px;font-size:10px;color:#aaa}.to-top{position:fixed;right:28px;bottom:28px;width:56px;height:56px;border-radius:50%;background:var(--gold);color:#111;display:grid;place-items:center;z-index:20;font-size:22px}.reveal{opacity:0;transform:translateY(28px);transition:.8s}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:760px){body{font-size:14px}.site-header{height:68px;padding:0 18px}.brand{font-size:14px;gap:8px}.brand img{width:30px;height:30px}.desktop-nav{display:none}.menu-toggle{display:block}.mobile-panel{display:block;position:fixed;top:0;right:0;z-index:60;width:76vw;max-width:330px;height:100vh;background:var(--gold);padding:90px 0 30px;transform:translateX(105%);transition:.45s}.mobile-panel a{display:flex;justify-content:space-between;padding:20px 38px;border-bottom:1px solid rgba(255,255,255,.22);font-weight:600;font-size:13px}.mobile-panel a::after{content:"＋"}.menu-open .mobile-panel{transform:none}.menu-open .menu-toggle{position:fixed;right:16px;top:11px;z-index:70}.menu-open .menu-toggle span{opacity:0}.menu-open .menu-toggle::before{transform:rotate(45deg);top:23px}.menu-open .menu-toggle::after{transform:rotate(-45deg);top:23px}.menu-shade{position:fixed;inset:0;background:rgba(255,255,255,.7);z-index:55;opacity:0;pointer-events:none;transition:.4s}.menu-open .menu-shade{opacity:1;pointer-events:auto}.hero{height:calc(100svh - 68px);min-height:560px}.hero-brand img{width:105px;height:105px;margin-bottom:22px}.hero-brand h1{font-size:40px}.hero-brand p{font-size:10px}.scroll-cue{display:none}.section{padding:78px 0}.section-head{margin-bottom:36px}.section-head .jp{font-size:14px}.section-head .en{font-size:35px}.section-lead{text-align:left;margin:-12px auto 32px}.business-grid{display:block}.business-card{min-height:340px}.business-card h3{font-size:24px}.facilities{padding-bottom:70px}.facility-strip{grid-template-columns:1fr 1fr;height:470px}.facility-strip figure,.facility-strip figure:nth-child(2),.facility-strip figure:nth-child(4){margin:0;height:auto}.dual-link{padding:76px 18px}.feature-block{margin-bottom:76px}.feature-block img{height:270px}.news{padding-top:0}.news-track{gap:18px}.news-card{width:220px}.news-card img{height:160px}.sustainability-hero{height:420px}.sustainability-body{padding:72px 18px}.sustainability-body>p{text-align:left}.sustain-grid{display:block}.sustain-card,.sustain-card:nth-child(1){height:310px;margin-bottom:18px}.site-footer{padding:58px 24px 24px}.footer-grid{display:block}.footer-links{gap:15px 24px}.footer-brand{margin-top:48px}.copyright{margin-top:40px}.to-top{width:48px;height:48px;right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide,.news-track{animation:none}.hero-slide:first-child{opacity:1}.reveal{opacity:1;transform:none}}

/* Higher-resolution presentation overrides for the corporate sample. */
.business-card:nth-child(2){background-image:url('assets/images/staff.jpeg')}
.sustain-card:nth-child(5){background-image:url('assets/images/satori-sauna.jpeg')}
#company figure{height:450px;background:url('assets/images/satori-sauna.jpeg') center/cover no-repeat}
#company figure img{display:none}
@media(max-width:760px){#company figure{height:270px}}
@media(max-width:760px){.menu-open .site-header{z-index:70;background:transparent;border-color:transparent;pointer-events:none}.menu-open .menu-toggle{pointer-events:auto}}
