
:root{--ink:#253843;--pink:#d62b67;--pale:#fef7f4;--blue:#edf8fc;--line:#dce6e8;--muted:#637782;--yellow:#fff0b6}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:15px/1.75 "Yu Gothic",Meiryo,sans-serif;background:#fff}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #318ba7;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:clamp(30px,4.2vw,56px);line-height:1.5;letter-spacing:.035em}h2{font-size:30px;line-height:1.5}h3{font-size:19px}small,.muted{color:var(--muted)}.wrap{max-width:1160px;margin:auto;padding:0 28px}.demo{background:#263e49;color:white;font-size:12px}.demo .wrap{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:8px;padding-bottom:8px}.demo a{border-bottom:1px solid #8fa7af}.header{border-bottom:1px solid var(--line);background:#fff}.header .wrap{display:flex;align-items:center;gap:25px;min-height:92px}.brand{margin-right:auto;line-height:1.3}.brand strong{display:block;font-size:23px;letter-spacing:.025em}.brand small{font-size:11px}.brand .mark{font-size:14px;letter-spacing:.15em;color:#d32053;font-weight:bold}.store-select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px;max-width:230px}.nav{display:flex;gap:24px;align-items:center;font-size:13px;font-weight:bold}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:0;background:var(--pink);color:white;border-radius:50px;padding:15px 26px;font-weight:bold;line-height:1.5;transition:.15s}.btn:hover{filter:brightness(.94);transform:translateY(-1px)}.btn.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.btn.small{padding:9px 17px;font-size:13px}.hero{background:var(--pale);overflow:hidden;position:relative}.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:38px;align-items:center;padding-top:58px;padding-bottom:58px}.eyebrow{font-size:12px;color:var(--pink);letter-spacing:.12em;font-weight:bold;margin-bottom:14px}.hero p{margin:20px 0 28px}.hero h1 em{font-style:normal;background:linear-gradient(transparent 65%,#ffe0a3 65%)}.hero-photos{position:relative;padding-bottom:40px}.hero-main{width:100%;height:365px;object-fit:cover;border-radius:120px 18px 120px 18px}.hero-sub{width:44%;height:180px;object-fit:cover;border:8px solid #fff;border-radius:28px;position:absolute;bottom:0;left:-25px}.bubble{background:white;border:1px solid var(--line);border-radius:22px;padding:14px 20px;position:absolute;right:-4px;bottom:8px;width:53%;font-size:13px;font-weight:bold}.bubble img{width:54px;float:right;margin:0 0 0 10px}.trust{background:var(--yellow);padding:13px 20px;text-align:center;font-size:13px}.section{padding:64px 0}.section.soft{background:var(--blue)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.kicker{font-size:12px;letter-spacing:.13em;color:#537684;margin-bottom:8px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white}.card img.cover{width:100%;height:190px;object-fit:cover}.card-body{padding:24px}.card p{margin:8px 0 17px}.price{font-size:24px;font-weight:bold}.price small{font-size:12px;font-weight:normal}.step{padding:28px;background:white;border-radius:18px}.num{color:var(--pink);font-size:33px;line-height:1.2;margin-bottom:16px}.note{font-size:13px;background:#fff8df;border-radius:12px;padding:14px 18px;margin:20px 0}.info{background:var(--blue);padding:14px 18px;border-radius:12px;font-size:13px}.footer{background:#f5f8f9;padding:35px 0;font-size:12px;margin-top:40px}.footer .wrap{display:flex;gap:30px;justify-content:space-between}.page-head{background:var(--pale);padding:36px 0}.page-head p{margin-top:10px;color:var(--muted)}.steps{font-size:12px;letter-spacing:.06em;color:#68808b;margin-bottom:14px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.tab{border:1px solid var(--line);border-radius:30px;background:white;padding:11px 19px}.tab.active{background:var(--ink);color:white;border-color:var(--ink)}.estimate-layout{display:grid;grid-template-columns:1fr 350px;gap:28px}.products{display:grid;grid-template-columns:1fr 1fr;gap:18px}.product{padding:24px;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;gap:12px}.product .price{margin-top:auto}.product .btn{width:100%}.tag{display:inline-block;font-size:11px;padding:4px 10px;border-radius:20px;background:var(--blue);width:max-content}.cart{background:#fff8f5;border:1px solid #f0dcd7;padding:22px;border-radius:20px;position:sticky;top:15px;height:max-content}.cart-line{padding:18px 0;border-bottom:1px solid #ecdcd8;font-size:13px}.cart-row{display:flex;gap:8px;align-items:center;justify-content:space-between}.qty{width:58px;padding:5px;border:1px solid var(--line);border-radius:6px}.remove{border:0;background:none;color:#a93d5b;text-decoration:underline;font-size:12px}.total{font-size:29px;font-weight:bold;text-align:right;margin:16px 0}.full{width:100%}.form-layout{display:grid;grid-template-columns:1fr 340px;gap:30px}.panel{border:1px solid var(--line);padding:28px;border-radius:20px;background:#fff;margin-bottom:22px}.panel h2{font-size:21px;margin-bottom:20px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:bold}.field.wide{grid-column:1/-1}.field input,.field select,.field textarea{border:1px solid #c8d7dd;border-radius:8px;padding:11px;background:white;color:var(--ink);width:100%}.required{color:#b51e50;font-size:11px}.slots{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:12px 9px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-weight:normal;color:var(--muted)}.slot{border:1px solid #aed7d2;background:#f1fbf7;color:#247c6d;border-radius:8px;min-width:60px;padding:7px}.slot.closed{color:#839095;border-color:#e4eaed;background:#f1f4f5}.slot.selected{background:#247c6d;color:white}.checks{font-size:13px;display:flex;gap:10px;margin:22px 0}.error{color:#b42451;white-space:pre-line;margin:10px 0}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#253843;color:white;border-radius:40px;padding:12px 25px;z-index:10;box-shadow:0 5px 20px #0002}.success{width:74px;height:74px;border-radius:50%;background:#e2f3ed;color:#267b65;font-size:40px;display:grid;place-items:center;margin:0 auto 22px}.center{text-align:center}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.admin-card{padding:23px;border:1px solid var(--line);border-radius:15px}.admin-card.active{border:2px solid var(--pink)}.stat{font-size:22px;font-weight:bold;margin:12px 0}.admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.notice-list{padding-left:20px;color:var(--muted);font-size:14px}.review-row{display:grid;grid-template-columns:140px 1fr;border-bottom:1px solid var(--line);padding:13px 0;overflow-wrap:anywhere}.faq{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:bold;cursor:pointer}.faq p{padding-top:12px;font-size:14px}.store-grid button{margin-top:15px}.store-grid .current{border:2px solid var(--pink)}.empty{padding:25px 0;color:var(--muted);font-size:13px}button.plain{border:0;background:none;color:var(--pink);text-decoration:underline;padding:5px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}#app{min-height:60vh}
@media(max-width:900px){.nav{display:none}.hero .wrap{gap:20px}.hero-main{height:300px}.hero-sub{height:140px}.estimate-layout,.form-layout{grid-template-columns:1fr}.cart{position:static}.admin-columns{grid-template-columns:1fr}.hero h1{font-size:36px}.bubble{font-size:11px}.grid3{gap:14px}}@media(max-width:600px){.wrap{padding:0 18px}.demo .wrap{align-items:start;font-size:10px}.demo a{white-space:nowrap}.header .wrap{min-height:90px;gap:12px}.brand strong{font-size:16px}.brand .mark{font-size:12px}.store-select{width:148px;font-size:11px;padding:8px}.hero .wrap{grid-template-columns:1fr;padding-top:35px;padding-bottom:28px}.hero h1{font-size:36px}.hero p{font-size:14px}.hero-main{height:260px}.hero-sub{left:0;height:125px}.bubble{right:0;font-size:12px}.hero-photos{margin-top:5px}.trust{font-size:11px}.section{padding:38px 0}h2{font-size:25px}.section-head{align-items:start;flex-direction:column;gap:12px}.grid3,.admin-grid{grid-template-columns:1fr}.card{display:block}.products{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.field.wide{grid-column:auto}.panel{padding:20px}.footer .wrap{flex-direction:column;gap:10px}.tabs{gap:6px}.tab{font-size:12px;padding:8px 12px}.review-row{grid-template-columns:1fr;gap:4px}.page-head{padding:28px 0}.admin-card .stat{margin:8px 0}.hero .btn{width:100%}}
.hero h1{font-size:44px}@media(max-width:600px){.hero h1{font-size:32px}}@media(min-width:601px) and (max-width:900px){.hero .wrap{grid-template-columns:1fr;padding-top:36px}.hero h1{font-size:44px}.hero-photos{max-width:520px;width:100%;margin:auto}.hero-main{height:320px}.bubble{font-size:13px}.grid3{grid-template-columns:1fr}.hero-sub{left:0}}

:root{--ink:#292929;--pink:#d11774;--pale:#fff7d9;--blue:#effaff;--line:#e4e4e4;--muted:#646464;--yellow:#fff2b9}
.demo{background:#f4f4f4;color:#555;border-bottom:1px solid #e5e5e5}.demo a{border-color:#aaa}.header .wrap{min-height:104px}.brand .mark{font-size:26px;color:#171717;font-style:italic;font-weight:950;letter-spacing:-1px}.brand strong{font-size:19px}.brand small{color:#555}.header-contact{text-align:right;line-height:1.5}.header-contact b{display:block;font-size:24px;color:#d11774;white-space:nowrap}.header-contact small{font-size:10px}.nav{gap:15px}.btn{box-shadow:0 4px 0 #a60e5a}.btn.secondary{box-shadow:none}.btn:disabled{box-shadow:none}.banner-hero{background:#00a4e6 radial-gradient(#ffffff40 1px,transparent 1px);background-size:15px 15px}.banner-hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding-top:34px;padding-bottom:34px}.banner-hero :is(button,a){padding:0;border:5px solid white;box-shadow:0 4px 13px #00578530;border-radius:15px;background:white;overflow:hidden}.banner-hero img{width:100%;display:block}.estimate-entry{background:#fff2b9;padding:30px 0 34px}.entry-kicker{color:#bb5b00;font-weight:bold;font-size:15px;letter-spacing:.04em}.estimate-entry h1{font-size:30px;letter-spacing:0;margin:6px 0 16px}.entry-guide{display:flex;justify-content:center;align-items:center;gap:15px;margin:0 auto 22px}.entry-guide img{width:58px}.entry-guide>div{background:white;border:2px solid #edb73a;border-radius:18px;padding:12px 28px;text-align:left;line-height:1.65}.entry-guide b{font-size:18px}.entry-guide p{font-size:13px}.entry-btn{min-width:470px;font-size:18px;padding:16px 30px}.entry-btn span{font-size:28px;line-height:1}.entry-note{font-size:12px;margin-top:15px}.qualification{padding-top:30px;text-align:center}.qualification img{max-width:560px;width:100%;display:block;margin:auto}.section{padding:44px 0}.section-head h2{font-size:27px}.kicker{color:#d11774;font-weight:bold;font-size:12px;letter-spacing:.18em}.section-head p{margin-top:8px;font-size:14px}.card{border-radius:14px;border-color:#efdae4;box-shadow:0 4px 0 #fbedf3}.card-body{padding:22px}.card h3{font-size:17px}.card .price{color:#d11774}.set-feature{display:grid;grid-template-columns:42% 1fr;border-radius:16px;border:2px solid #f1d457;overflow:hidden;margin-bottom:26px;background:#fffceb}.set-feature img{width:100%;height:240px;object-fit:cover}.set-feature>div{padding:24px 30px}.set-feature h3{font-size:23px;margin:6px 0}.set-feature .price{color:#d11774;font-size:32px}.price-caption{font-size:12px;color:#696969;line-height:1.7;margin-top:18px}.mobile-only{display:none}.store-phone{font-size:23px;font-weight:bold;color:#d11774!important;margin:10px 0 0!important}.store-grid .card p{font-size:13px}.store-grid .card .store-phone{font-size:23px}.page-head{background:#fffaf0;padding:28px 0;border-bottom:1px solid #f2e8d2}.page-head h2{font-size:28px}.page-head p{font-size:14px}.steps{font-size:12px;color:#555}.estimate-section{padding-top:25px}.estimate-guide{display:flex;align-items:center;gap:14px;margin-bottom:24px;padding:12px 20px;border:1px solid #f4da8b;background:#fffdf2;border-radius:15px;max-width:630px}.estimate-guide img{width:43px}.estimate-guide b{font-size:17px}.estimate-guide p{font-size:13px}.tabs{background:#f5f5f5;padding:7px;border-radius:12px;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:24px}.tab{border:none;border-radius:8px;font-weight:bold;font-size:13px;padding:12px 8px;background:transparent}.tab.active{background:#d11774;color:white}.estimate-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}.selector-panel{border-color:#efdce5;padding:28px;border-radius:14px;box-shadow:0 4px 0 #fbedf3}.selector-panel .field{font-size:14px}.field select{min-height:49px}.service-description{font-size:13px;color:#626262;line-height:1.8;margin:14px 0 20px;min-height:48px}.selection-price{background:#fff9df;border:1px solid #f1df95;border-radius:12px;padding:16px;margin:24px 0}.selection-price .cart-row{align-items:start;flex-wrap:wrap}.selection-price strong{font-size:23px;color:#d11774}.selection-price span{font-size:13px}.selection-price p{font-size:12px;color:#777;margin-top:6px}.cart{background:#fffbea;border:2px solid #f1df95;border-radius:14px;padding:25px}.cart h3{font-size:21px}.cart-line{border-color:#eaddad}.total{color:#cf126c;border-top:2px solid #e9d685;padding-top:14px;font-size:35px;line-height:1.4}.total small{font-size:13px;color:#333}.cart-row{gap:10px}.cart .btn{font-size:15px}.panel{border-radius:14px}.step{border:1px solid #d7edf7}.footer{background:#f6f6f6}.footer a{text-decoration:underline}.form-layout{grid-template-columns:minmax(0,1fr) 360px}
@media(max-width:1100px){.nav{display:none}.header-contact{margin-left:auto}.brand{margin-right:0}.header .wrap{gap:20px}}
@media(max-width:900px){.estimate-layout,.form-layout{grid-template-columns:1fr}.cart{position:static}.header-contact b{font-size:20px}.tabs{grid-template-columns:repeat(3,1fr)}.set-feature{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr}}
@media(max-width:600px){.header .wrap{flex-wrap:wrap;gap:6px 15px;padding-top:14px;padding-bottom:12px}.brand{flex:1}.brand strong{font-size:16px}.brand .mark{font-size:23px}.header-contact{margin:0;text-align:right}.header-contact b{font-size:17px}.header-contact small{font-size:9px}.header .wrap>label{width:100%;display:flex;align-items:center;gap:12px;margin-top:7px;padding-top:8px;border-top:1px solid #eee}.store-select{width:auto;max-width:none;flex:1;padding:6px 9px}.banner-hero .wrap{gap:10px;padding:18px 12px}.banner-hero :is(button,a){border-width:3px;border-radius:9px}.estimate-entry{padding:23px 0 28px}.entry-kicker{font-size:11px}.estimate-entry h1{font-size:23px;line-height:1.55;max-width:310px;margin:9px auto 18px}.entry-guide{gap:9px;align-items:center}.entry-guide img{width:43px}.entry-guide>div{padding:10px 11px;border-radius:12px;flex:1}.entry-guide b{font-size:13px}.entry-guide p{font-size:11px}.entry-btn{min-width:0;width:100%;font-size:14px;padding:15px 16px}.entry-note{font-size:11px}.qualification{padding-top:22px}.section{padding:32px 0}.section-head h2{font-size:23px}.mobile-only{display:block}.set-feature{grid-template-columns:1fr}.set-feature img{height:190px}.set-feature>div{padding:20px}.set-feature h3{font-size:22px}.card img.cover{height:200px}.selector-panel,.cart{padding:20px}.tabs{padding:5px;gap:4px}.tab{padding:11px 4px;font-size:12px}.page-head h2{font-size:25px}.steps{font-size:10px;letter-spacing:0}.estimate-guide{padding:12px}.estimate-guide p{font-size:11px}.estimate-guide b{font-size:15px}.selection-price .cart-row{display:block}.selection-price strong{display:block;text-align:right}.fields{gap:16px}.cart-row>span{min-width:0}.cart-line .cart-row{flex-wrap:wrap}.total{font-size:32px}.info{font-size:12px}.footer .wrap{gap:18px}.store-grid .card{box-shadow:none}}


:root{--pink:#d11774;--accent-dark:#a60e5a;--accent-soft:#fff4f8;--accent-line:#efdce5;--accent-shadow:#fbedf3;--banner:#00a4e6;--entry:#fff2b9;--summary:#fffbea;--summary-line:#f1df95;--entry-line:#edb73a;--page-tint:#fffaf0;--caption:#aa5200}
:root[data-store="tomio"]{--pink:#17764b;--accent-dark:#105335;--accent-soft:#eff8f2;--accent-line:#cde4d5;--accent-shadow:#e7f3eb;--banner:#54a982;--entry:#e9f5e8;--summary:#f3faf1;--summary-line:#bcd8b9;--entry-line:#96bf86;--page-tint:#f5faf3;--caption:#386529;--blue:#f0f8f3}
:root[data-store="shirokita"]{--pink:#d51659;--accent-dark:#0b4b7d;--accent-soft:#eef6fd;--accent-line:#cddfee;--accent-shadow:#e7f1fa;--banner:#3289c6;--entry:#eaf5ff;--summary:#f2f8ff;--summary-line:#b7d5ec;--entry-line:#85b9df;--page-tint:#f4f9fe;--caption:#255c88;--blue:#eff7ff}
.official-logo{width:286px;max-width:100%;height:auto;display:block;object-fit:contain}.brand{min-width:0;flex-shrink:0}.brand .official-logo{height:auto}.footer-logo{width:270px;margin-bottom:17px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header-contact b,.kicker,.card .price,.set-feature .price,.selection-price strong,.total,.store-phone{color:var(--pink)!important}.btn{box-shadow:0 4px 0 var(--accent-dark)}.btn.secondary{box-shadow:none}.btn:disabled{box-shadow:none}.tab.active{background:var(--pink)}.banner-hero{background-color:var(--banner)}.estimate-entry{background:var(--entry)}.entry-kicker{color:var(--caption)}.entry-guide>div{border-color:var(--entry-line)}.page-head{background:var(--page-tint);border-color:var(--accent-line)}.card,.selector-panel{border-color:var(--accent-line);box-shadow:0 4px 0 var(--accent-shadow)}.estimate-guide{background:var(--summary);border-color:var(--summary-line)}.cart,.selection-price{background:var(--summary);border-color:var(--summary-line)}.cart-line,.total{border-color:var(--summary-line)}.set-feature{border-color:var(--entry-line);background:var(--summary)}.step{border-color:var(--accent-line)}.store-grid .current{border-color:var(--pink)}.brand:focus-visible{outline-color:var(--pink)}
@media(min-width:901px) and (max-width:1200px){.official-logo{width:260px}.header-contact b{font-size:21px}}
@media(min-width:601px) and (max-width:900px){.header .wrap{display:grid;grid-template-columns:1fr 1fr;padding-top:18px;padding-bottom:18px;gap:10px 20px}.brand{grid-column:1/-1}.header-contact{margin:0;text-align:left}.header .wrap>label{justify-self:end}.store-select{width:230px}}
@media(max-width:600px){.brand{flex:1 1 100%}.brand .official-logo{width:275px;max-width:100%}.header .wrap{padding-top:16px}.header-contact{margin-top:5px;text-align:left;flex:1}.header-contact b{font-size:19px}.header-contact small{font-size:10px}.header .wrap>label{margin-top:5px;flex:1;width:auto;display:block;border:0;padding:0;min-width:143px}.store-select{width:100%;margin-top:3px;font-size:11px}.footer-logo{width:265px}.store-grid .card{box-shadow:none}}


.option-box{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.option-box h4{margin:0 0 6px;font-size:15px}.option-box>p{margin:0 0 12px;font-size:12px;color:var(--muted)}
.option-list{display:grid;gap:10px}.option-row{display:grid;grid-template-columns:1fr minmax(105px,140px);gap:12px;align-items:center;padding:10px 0;border-top:1px dashed var(--line)}
.option-row:first-child{border-top:0}.option-row b{display:block;font-size:13px}.option-row small{display:block;margin-top:3px;color:var(--muted);line-height:1.45}.option-row select{width:100%}
.option-summary{margin-top:6px;font-size:12px;color:var(--muted)}
.phone-check{margin-top:16px;padding:14px;border:2px solid var(--accent);border-radius:14px;background:#fff}.phone-check b{display:block;margin-bottom:5px}.phone-check a{font-weight:800;font-size:20px;color:var(--accent);text-decoration:none}.phone-check small{display:block;margin-top:4px;color:var(--muted)}
@media(max-width:640px){.option-row{grid-template-columns:1fr}.phone-check a{font-size:18px}}
/* v3.0: menu-by-menu estimate with store-scoped pricing. */
:root{--accent:var(--pink);--soft:var(--accent-soft)}
.menu-list{display:grid;gap:20px;min-width:0}.menu-card{padding:24px;border:1px solid var(--accent-line);border-radius:16px;background:#fff;scroll-margin-top:18px}.menu-card.editing{border:2px solid var(--pink)}.menu-card h3{font-size:18px;line-height:1.6}.menu-card .service-description{min-height:0;margin:10px 0 16px}.menu-card .option-box{background:var(--accent-soft);margin:16px 0;padding:12px 16px}.menu-card summary{cursor:pointer;font-size:14px;font-weight:bold;color:var(--pink);padding:4px 0}.menu-card .option-row select{min-height:44px;padding:7px;border:1px solid var(--line);border-radius:8px;background:white}.menu-card .selection-price{margin:16px 0}.menu-card .selection-price strong{font-size:22px}.menu-card .fields{margin-top:14px}.menu-card .stepper{display:flex;align-items:center;gap:10px}.menu-card .stepper button{min-width:44px;min-height:44px;border:1px solid var(--accent-line);border-radius:8px;background:var(--accent-soft);font-size:22px;color:var(--pink)}.menu-card .stepper select{width:95px}.editing-note{color:var(--pink);font-weight:bold;font-size:13px;margin:0 0 10px}.menu-jump{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.menu-jump a{text-decoration:underline;color:var(--pink);font-weight:bold}.tomio-estimate .estimate-layout{grid-template-columns:minmax(0,1fr) 350px}.tomio-estimate .cart{max-height:calc(100vh - 32px);overflow:auto}.menu-error{scroll-margin-top:15px}.menu-card .btn{margin-bottom:4px}.tomio-estimate .tabs{position:relative}.menu-card,.cart{overflow-wrap:anywhere}.option-summary{display:block}.menu-card .price-caption{margin-top:10px}
@media(max-width:900px){.tomio-estimate .estimate-layout{grid-template-columns:1fr}.tomio-estimate .cart{max-height:none;overflow:visible}.menu-jump{position:sticky;top:0;background:white;padding:12px 0;z-index:2;border-bottom:1px solid var(--accent-line)}}
@media(max-width:600px){.menu-card{padding:18px}.menu-card .fields{grid-template-columns:1fr}.menu-card .option-box{padding:10px 12px}.menu-card .option-row{grid-template-columns:minmax(0,1fr) 104px;gap:8px}.menu-card .option-row select{font-size:12px}.menu-card .selection-price .cart-row{display:flex}.menu-card .selection-price strong{font-size:21px}.menu-card .selection-price span{font-size:12px}.toast{width:calc(100% - 30px);text-align:center;border-radius:12px;padding:12px}.review-row{grid-template-columns:90px minmax(0,1fr)}}

/* Three-store v3.0 */
[data-store=shirokita] .banner-hero .wrap{max-width:1320px;gap:22px;padding-top:38px;padding-bottom:38px}
.bottom-contact{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;justify-content:center;gap:12px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#fffefaf5;box-shadow:0 -4px 24px #163d2420;border-top:1px solid #d8e8dc;backdrop-filter:blur(10px)}
.bottom-contact a{display:flex;align-items:center;justify-content:center;gap:20px;min-height:56px;border-radius:12px;font-weight:bold;width:min(43%,460px);padding:10px 16px}.bottom-contact span{font-size:13px}.contact-web{background:var(--pink);color:white}.contact-phone{background:#fff;border:2px solid var(--pink);color:var(--accent-dark)}.has-contact{padding-bottom:100px}
.menu-fold{padding:0!important;overflow:hidden}.menu-fold>summary{display:flex;align-items:center;gap:15px;padding:18px!important;list-style:none;color:var(--ink);min-height:104px}.menu-fold>summary::-webkit-details-marker{display:none}.menu-fold>summary:hover{background:#f3faf6}.menu-title{flex:1;min-width:0}.menu-title b{font-size:16px;line-height:1.6;display:block}.menu-title small{display:block;font-size:11px;font-weight:normal;margin-top:5px;color:#61796b}.fold-chevron{font-size:25px;color:#17764b;transition:transform .2s}.menu-fold[open]>summary .fold-chevron{transform:rotate(45deg)}.menu-fold[open]>summary{border-bottom:1px solid var(--accent-line)}.menu-content{padding:8px 24px 24px}.menu-thumb{width:76px;height:76px;flex:0 0 76px;border-radius:16px;background:#edf8f1;color:#267750;display:grid;place-items:center}.menu-thumb svg{width:70px;height:70px}.sparkle{transform-origin:73px 15px;animation:shine 2.8s ease-in-out infinite}.airflow{animation:flow 2.8s ease-in-out infinite}@keyframes shine{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}@keyframes flow{0%,100%{opacity:.4;transform:translateY(-1px)}50%{opacity:1;transform:translateY(3px)}}
[data-store=shirokita] .multi-discount{color:#c51d32!important;font-weight:700}.cart-row.multi-discount{padding:9px 0}.cart-totals>.cart-row{font-size:13px}.phone-field{border:0;margin:0;padding:0;min-width:0}.phone-field legend{padding:0;margin-bottom:7px}.phone-parts{display:flex;align-items:center;gap:7px}.phone-parts input{min-width:0;text-align:center;padding:11px 5px;flex:1;width:0}.mobile-total{display:none}
@media(min-width:761px){[data-store=shirokita] .tomio-estimate .estimate-layout{grid-template-columns:minmax(0,1fr) 350px;align-items:start}[data-store=shirokita] .tomio-estimate .cart{position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow:auto;padding:20px}.tomio-estimate .cart-items{max-height:30vh;overflow:auto;overscroll-behavior:contain}.tomio-estimate .cart-totals .total{margin:10px 0;font-size:30px}.tomio-estimate .cart-totals .note{margin:8px 0}.tomio-estimate .menu-jump{position:static}.tomio-estimate .cart>.price-caption{margin-top:10px;font-size:11px}}
@media(max-width:760px){[data-store=shirokita] .tomio-estimate .estimate-layout{grid-template-columns:1fr}[data-store=shirokita] .banner-hero .wrap{padding:20px 10px;gap:12px}[data-store=shirokita] .banner-hero :is(button,a){border-width:3px}.bottom-contact{padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px}.bottom-contact a{flex:1;flex-direction:column;gap:2px;width:auto;padding:9px 4px;font-size:14px}.bottom-contact span{font-size:12px}.menu-title b{font-size:14px}.menu-thumb{width:62px;height:62px;flex-basis:62px}.menu-thumb svg{width:58px;height:58px}.menu-fold>summary{padding:14px!important;gap:10px}.menu-content{padding:6px 16px 18px}.mobile-total{position:fixed;bottom:0;left:0;right:0;z-index:20;background:#fffdf4;border-top:2px solid #c9decf;padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 -3px 18px #203b2018}.mobile-total strong{display:block;color:#17764b;font-size:23px;line-height:1.4}.mobile-total small{display:block;font-size:11px}.mobile-total button{border:1px solid #17764b;border-radius:8px;background:white;color:#17764b;min-height:44px;padding:8px;font-size:12px;white-space:nowrap}.has-mobile-total{padding-bottom:132px}.has-mobile-total .toast{bottom:132px}.has-contact .toast{bottom:105px}}
@media(prefers-reduced-motion:reduce){.menu-thumb *{animation:none!important}.fold-chevron{transition:none}}
@media(min-width:761px){[data-store=shirokita] .tomio-estimate .cart{display:flex;flex-direction:column}.tomio-estimate .cart-items{flex:0 1 auto;min-height:44px}.tomio-estimate .cart-totals{flex:0 0 auto}.tomio-estimate .cart>h3,.tomio-estimate .cart>.kicker,.tomio-estimate .cart>.price-caption{flex-shrink:0}}

.contact-summary{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:#f4f8f5;padding:18px;border-radius:12px;line-height:1.8}.review-row b{overflow-wrap:anywhere;min-width:0}.review-row{gap:16px}._formrun_gotcha{position:absolute!important;height:1px;width:1px;overflow:hidden}#request-form input,#request-form textarea{max-width:100%}#contact-send button:disabled{opacity:.55;cursor:not-allowed} .required-policies{margin:20px 0;padding:16px;border:2px solid #d58b25;border-radius:12px;background:#fffaf1}.required-policies h3{margin-top:0}.required-policies .checks{margin:12px 0}

@media(max-width:760px){
  .form-layout>*{min-width:0}
  #request-form,.form-layout .panel,.booking-week{min-width:0;max-width:100%}
  .week-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .week-table{min-width:620px}
  .mobile-actions{display:grid;grid-template-columns:1fr;gap:6px;min-width:148px}
  .mobile-actions #mobile-total-detail{width:100%}
  .mobile-actions .phone-booking{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:48px;padding:7px 10px;border-radius:9px;background:#17764b;color:#fff;text-decoration:none;line-height:1.25;touch-action:manipulation}
  .mobile-actions .phone-booking b{font-size:13px}
  .mobile-actions .phone-booking small{font-size:11px;color:#fff}
}


[data-store="tomio"] .schedule-entry-btn{
  min-height:60px;
  margin-top:6px;
  background:#0b914c;
  color:#fff;
  border:2px solid #08723b;
  box-shadow:0 5px 0 #075d31,0 8px 18px #0b914c33;
  font-size:17px;
  letter-spacing:.03em;
}
[data-store="tomio"] .schedule-entry-btn:hover{background:#087d42;filter:none}
[data-store="tomio"] .schedule-entry-btn:focus-visible{outline-color:#0b914c;outline-width:4px}
[data-store="tomio"] .schedule-entry-btn:disabled{
  background:#c7dfd0;
  color:#466052;
  border-color:#accbb8;
  box-shadow:none;
  opacity:1;
}
@media(max-width:760px){
  [data-store="tomio"] .schedule-entry-btn{min-height:64px;font-size:17px}
}


[data-store="tomio"] .booking-week{margin-top:16px}
[data-store="tomio"] .booking-week>.info{font-size:15px;font-weight:700;line-height:1.8;border-left:5px solid #17764b}
[data-store="tomio"] .booking-legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0 14px}
[data-store="tomio"] .booking-legend small{flex-basis:100%;font-size:12px;color:#53665b}
[data-store="tomio"] .legend-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:9px;font-size:13px;font-weight:700}
[data-store="tomio"] .legend-chip b{font-size:20px;line-height:1}
[data-store="tomio"] .legend-chip.available{background:#e7f7ec;border:2px solid #158450;color:#09683a}
[data-store="tomio"] .legend-chip.unavailable{background:#f1f3f2;border:2px solid #d7ddda;color:#69746e}
[data-store="tomio"] .week-navigation{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:14px 0}
[data-store="tomio"] .week-navigation button{min-height:44px;border:1px solid #aacbb6;border-radius:9px;background:#fff;color:#155e3e;font-weight:700;padding:8px}
[data-store="tomio"] .week-navigation button:hover{background:#edf8f1}
[data-store="tomio"] .week-navigation button:disabled{background:#f4f5f4;color:#9aa39e;border-color:#dfe4e1;opacity:1}
[data-store="tomio"] .calendar-scroll-hint{display:none;margin:6px 0;color:#155e3e;font-size:12px;font-weight:700;text-align:center}
[data-store="tomio"] .week-scroll{border:1px solid #c8ddd0;border-radius:12px;overflow:auto;background:#fff;box-shadow:0 3px 12px #143b2420}
[data-store="tomio"] .week-table{width:100%;min-width:790px;border-collapse:separate;border-spacing:0;table-layout:fixed}
[data-store="tomio"] .week-table caption{caption-side:top;background:#155e3e;color:#fff;font-size:15px;font-weight:800;padding:10px;border-radius:11px 11px 0 0}
[data-store="tomio"] .week-table th,[data-store="tomio"] .week-table td{padding:8px 5px;text-align:center;vertical-align:middle;border-right:1px solid #dce8df;border-bottom:1px solid #dce8df;white-space:normal}
[data-store="tomio"] .week-table thead th{background:#eff8f2;color:#213c2d;font-weight:700;height:82px}
[data-store="tomio"] .week-table thead th:first-child{width:104px}
[data-store="tomio"] .week-table tbody th{position:sticky;left:0;z-index:1;width:104px;background:#f8faf8;color:#263d30;font-weight:800;line-height:1.25}
[data-store="tomio"] .date-month,[data-store="tomio"] .date-number,[data-store="tomio"] .date-weekday{display:block}
[data-store="tomio"] .date-month{font-size:11px;color:#5d7164}
[data-store="tomio"] .date-number{font-size:20px;line-height:1.25;color:#173e29}
[data-store="tomio"] .date-weekday{font-size:12px}
[data-store="tomio"] .date-heading.day-0 .date-number,[data-store="tomio"] .date-heading.day-0 .date-weekday{color:#c23a45}
[data-store="tomio"] .date-heading.day-6 .date-number,[data-store="tomio"] .date-heading.day-6 .date-weekday{color:#2169a6}
[data-store="tomio"] .today-tag{display:inline-block;margin-top:3px;padding:1px 6px;border-radius:10px;background:#17764b;color:#fff;font-size:10px}
[data-store="tomio"] .time-start,[data-store="tomio"] .time-end,[data-store="tomio"] .time-separator{display:block}
[data-store="tomio"] .time-start,[data-store="tomio"] .time-end{font-size:14px}
[data-store="tomio"] .time-separator{font-size:11px;color:#748278;margin:1px 0}
[data-store="tomio"] .week-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:100%;min-width:76px;min-height:64px;padding:5px 3px;border:2px solid #158450;border-radius:11px;background:#e7f7ec;color:#09683a;box-shadow:0 3px 0 #0e6f41;font-weight:800;touch-action:manipulation}
[data-store="tomio"] .week-slot:hover{background:#d7f1df;transform:translateY(-1px)}
[data-store="tomio"] .week-slot-mark{font-size:24px;line-height:1}
[data-store="tomio"] .week-slot-text{font-size:11px;line-height:1.25;white-space:nowrap}
[data-store="tomio"] .week-slot.chosen{background:#0b914c;border-color:#08723b;color:#fff;box-shadow:0 3px 0 #075d31}
[data-store="tomio"] .week-slot:disabled{background:#f1f3f2;border-color:#d7ddda;color:#7a8580;box-shadow:none;opacity:1;cursor:default}
[data-store="tomio"] .week-slot:disabled:hover{transform:none;background:#f1f3f2}
[data-store="tomio"] #booking-selection{margin:14px 0 0;padding:12px 14px;border-radius:9px;background:#f0f8f3;color:#17482f;font-weight:700}
@media(max-width:760px){
  [data-store="tomio"] .calendar-scroll-hint{display:block}
  [data-store="tomio"] .week-table{min-width:760px}
  [data-store="tomio"] .week-table thead th:first-child,[data-store="tomio"] .week-table tbody th{width:96px}
  [data-store="tomio"] .week-slot{min-height:68px}
}


:is([data-store="tomio"],[data-store="shirokita"]) .season-campaign{padding:34px 0;background:linear-gradient(135deg,#fff8e8 0%,#fff0f3 52%,#f0f8f3 100%);border-top:1px solid #f0d8be;border-bottom:1px solid #ead7c4}
:is([data-store="tomio"],[data-store="shirokita"]) .campaign-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:center;gap:32px;padding:30px;border:3px solid #f07aa0;border-radius:22px;background:#fff;box-shadow:0 8px 28px #71334618}
:is([data-store="tomio"],[data-store="shirokita"]) .campaign-period{display:inline-block;margin-bottom:10px;padding:5px 12px;border-radius:20px;background:#17764b;color:#fff;font-size:12px;font-weight:800}
:is([data-store="tomio"],[data-store="shirokita"]) .campaign-copy h2{font-size:30px;line-height:1.45;color:#2e2729}
:is([data-store="tomio"],[data-store="shirokita"]) .campaign-copy p{margin:12px 0 20px;font-size:15px;font-weight:700;line-height:1.9}
:is([data-store="tomio"],[data-store="shirokita"]) .campaign-cta{background:#17764b;box-shadow:0 4px 0 #105335}
:is([data-store="tomio"],[data-store="shirokita"]) .campaign-image{display:block;padding:22px 18px;border-radius:18px;background:#fff8ef;border:1px solid #f3d9c2}
:is([data-store="tomio"],[data-store="shirokita"]) .campaign-image img{display:block;width:100%;height:auto}
:is([data-store="tomio"],[data-store="shirokita"]) .campaign-note{margin:12px 4px 0;color:#655d58;font-size:11px;line-height:1.75}
@media(max-width:760px){
  :is([data-store="tomio"],[data-store="shirokita"]) .season-campaign{padding:24px 0}
  :is([data-store="tomio"],[data-store="shirokita"]) .campaign-card{grid-template-columns:1fr;gap:20px;padding:20px;border-radius:18px}
  :is([data-store="tomio"],[data-store="shirokita"]) .campaign-copy h2{font-size:24px}
  :is([data-store="tomio"],[data-store="shirokita"]) .campaign-copy p{font-size:14px}
  :is([data-store="tomio"],[data-store="shirokita"]) .campaign-cta{width:100%;min-height:58px;padding:12px;font-size:14px}
  :is([data-store="tomio"],[data-store="shirokita"]) .campaign-image{grid-row:1;padding:15px 10px}
}


.trust-strip{padding:24px 0;background:#fff;border-bottom:1px solid #dce8df}
.trust-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(280px,1.2fr);gap:18px;align-items:stretch}
.google-rating,.company-proof{border:1px solid #d7e7dc;border-radius:18px;padding:22px;background:#fff;box-shadow:0 8px 24px rgba(22,91,59,.07)}
.rating-number{display:flex;align-items:center;gap:12px;margin:8px 0}.rating-number strong{font-size:42px;line-height:1;color:#17764b}.rating-stars{color:#e3a500;font-size:22px;letter-spacing:2px}.rating-meta{font-size:13px;color:#66756d}.review-note{font-size:11px;color:#66756d;line-height:1.65;margin-top:10px}.proof-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.proof-list div{background:#edf7f1;border-radius:12px;padding:14px;text-align:center}.proof-list b{display:block;color:#17764b;font-size:17px}.company-hero{background:linear-gradient(135deg,#edf8f1,#fff);padding:54px 0}.company-lead{max-width:760px;font-size:17px;line-height:2}.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.company-card{background:#fff;border:1px solid #d7e7dc;border-radius:18px;padding:25px}.company-table{width:100%;border-collapse:collapse}.company-table th,.company-table td{border-bottom:1px solid #e1e8e3;padding:13px 8px;text-align:left;vertical-align:top}.company-table th{width:30%;color:#17764b}.history-list{border-left:3px solid #88b99c;padding-left:20px}.history-list div{margin:0 0 16px}.history-list b{display:block;color:#17764b}.achievement-card{border-radius:22px;padding:30px;background:#143e2b;color:#fff}.achievement-card .tag{background:#fff;color:#17764b}.achievement-card p{line-height:1.9}.source-note{font-size:11px;color:#6c7771;margin-top:12px}.company-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.achievement-photo{margin:0 0 22px}.achievement-photo img{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:16px}.achievement-photo figcaption{font-size:11px;color:#dce8e1;margin-top:8px}.phone-anchor{color:inherit;text-decoration:none}.phone-anchor:hover,.phone-anchor:focus{text-decoration:underline}.header-contact .phone-anchor,.store-phone .phone-anchor{display:inline-block}
@media(max-width:760px){.trust-grid,.company-grid{grid-template-columns:1fr}.proof-list{grid-template-columns:1fr}.google-rating,.company-proof,.company-card,.achievement-card{padding:19px}.company-hero{padding:36px 0}.nav a[href="#/company"]{display:none}}
:root[data-store="shirokita"] .menu-fold>summary:hover{background:#f2f8ff}
:root[data-store="shirokita"] .menu-thumb{background:#e7f3fc;color:#d51659}
:root[data-store="shirokita"] .fold-chevron{color:#d51659}
:root[data-store="shirokita"] .mobile-total{background:#f5faff;border-color:#a9cce6;box-shadow:0 -3px 18px #0b4b7d1f}
:root[data-store="shirokita"] .mobile-total strong{color:#d51659}
:root[data-store="shirokita"] .mobile-total button{border-color:#d51659;color:#d51659}
:root[data-store="shirokita"] .banner-hero :is(button,a){border-color:#d7ebfa;box-shadow:0 5px 16px #0b4b7d38}
:root[data-store="shirokita"] .banner-hero :is(button,a):nth-child(2){position:relative}
:root[data-store="shirokita"] .banner-hero :is(button,a):nth-child(2)::before{content:"";position:absolute;inset:0;background:#d5165924;pointer-events:none}
:root[data-store="shirokita"] .banner-hero :is(button,a):nth-child(2)::after{content:"ハウスクリーニング";position:absolute;left:50%;bottom:16px;transform:translateX(-50%);padding:7px 20px;border-radius:999px;background:#d51659ef;color:#fff;font-size:14px;font-weight:800;letter-spacing:.04em;white-space:nowrap;box-shadow:0 3px 9px #0b4b7d40}
:root[data-store="shirokita"] .season-campaign{background:linear-gradient(135deg,#eaf5ff 0%,#f5faff 52%,#e4f0fb 100%);border-color:#b9d7ec}
:root[data-store="shirokita"] .campaign-card{border-color:#3289c6;box-shadow:0 8px 28px #0b4b7d24}
:root[data-store="shirokita"] .campaign-period,:root[data-store="shirokita"] .campaign-cta{background:#d51659}
:root[data-store="shirokita"] .campaign-cta{box-shadow:0 4px 0 #0b4b7d}
:root[data-store="shirokita"] .campaign-image{background:#f2f8ff;border-color:#c5dff1}
:root[data-store="shirokita"] .campaign-note{color:#47677f}
:root[data-store="shirokita"] .google-rating,:root[data-store="shirokita"] .company-proof,:root[data-store="shirokita"] .company-card{border-color:#cddfee;box-shadow:0 8px 24px #0b4b7d12}
:root[data-store="shirokita"] .rating-number strong,:root[data-store="shirokita"] .proof-list b,:root[data-store="shirokita"] .company-table th,:root[data-store="shirokita"] .history-list b{color:#d51659}
:root[data-store="shirokita"] .proof-list div{background:#eef6fd}
:root[data-store="shirokita"] .company-hero{background:linear-gradient(135deg,#eaf5ff,#fff)}
:root[data-store="shirokita"] .company-table th,:root[data-store="shirokita"] .company-table td{border-color:#dbe8f2}
:root[data-store="shirokita"] .history-list{border-color:#6ca9d2}
:root[data-store="shirokita"] .achievement-card{background:#0b3657}
:root[data-store="shirokita"] .achievement-card .tag{color:#d51659}
:root[data-store="shirokita"] .achievement-photo figcaption{color:#dcecf7}
@media(max-width:600px){:root[data-store="shirokita"] .banner-hero :is(button,a):nth-child(2)::after{bottom:8px;padding:5px 10px;font-size:10px}}

/* v3.8.5: 武庫之荘店の見積り時間・電話申込・予約日時をブルーへ統一 */
:root[data-store="shirokita"] .schedule-entry-btn{min-height:60px;margin-top:6px;background:#d51659;color:#fff;border:2px solid #0b4b7d;box-shadow:0 5px 0 #083d67,0 8px 18px #d5165933;font-size:17px;letter-spacing:.03em}
:root[data-store="shirokita"] .schedule-entry-btn:hover{background:#0e5d99;filter:none}
:root[data-store="shirokita"] .schedule-entry-btn:focus-visible{outline-color:#d51659;outline-width:4px}
:root[data-store="shirokita"] .schedule-entry-btn:disabled{background:#c9ddec;color:#46657c;border-color:#aac9df;box-shadow:none;opacity:1}
:root[data-store="shirokita"] .mobile-actions .phone-booking{background:#d51659;box-shadow:0 3px 0 #0b4b7d}
:root[data-store="shirokita"] .work-duration{color:#d51659}
:root[data-store="shirokita"] .work-duration.unknown{color:#9a5a13}
:root[data-store="shirokita"] .work-duration-total{background:#eaf5ff;color:#0b4b7d;border:1px solid #c5dff1}
:root[data-store="shirokita"] .work-duration-note{color:#47677f}
:root[data-store="shirokita"] .booking-week{margin-top:16px}
:root[data-store="shirokita"] .booking-week>.info{font-size:15px;font-weight:700;line-height:1.8;border-left:5px solid #d51659}
:root[data-store="shirokita"] .booking-legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0 14px}
:root[data-store="shirokita"] .booking-legend small{flex-basis:100%;font-size:12px;color:#47677f}
:root[data-store="shirokita"] .legend-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:9px;font-size:13px;font-weight:700}
:root[data-store="shirokita"] .legend-chip b{font-size:20px;line-height:1}
:root[data-store="shirokita"] .legend-chip.available{background:#eaf5ff;border:2px solid #2380bf;color:#0b568c}
:root[data-store="shirokita"] .legend-chip.unavailable{background:#f1f3f5;border:2px solid #d7dde2;color:#69747c}
:root[data-store="shirokita"] .week-navigation{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:14px 0}
:root[data-store="shirokita"] .week-navigation button{min-height:44px;border:1px solid #a9cce6;border-radius:9px;background:#fff;color:#0b568c;font-weight:700;padding:8px}
:root[data-store="shirokita"] .week-navigation button:hover{background:#eef6fd}
:root[data-store="shirokita"] .week-navigation button:disabled{background:#f4f5f6;color:#9aa3aa;border-color:#dfe4e8;opacity:1}
:root[data-store="shirokita"] .calendar-scroll-hint{display:none;margin:6px 0;color:#0b568c;font-size:12px;font-weight:700;text-align:center}
:root[data-store="shirokita"] .week-scroll{border:1px solid #c5dff1;border-radius:12px;overflow:auto;background:#fff;box-shadow:0 3px 12px #0b4b7d20}
:root[data-store="shirokita"] .week-table{width:100%;min-width:790px;border-collapse:separate;border-spacing:0;table-layout:fixed}
:root[data-store="shirokita"] .week-table caption{caption-side:top;background:#0b568c;color:#fff;font-size:15px;font-weight:800;padding:10px;border-radius:11px 11px 0 0}
:root[data-store="shirokita"] .week-table th,:root[data-store="shirokita"] .week-table td{padding:8px 5px;text-align:center;vertical-align:middle;border-right:1px solid #dbe8f2;border-bottom:1px solid #dbe8f2;white-space:normal}
:root[data-store="shirokita"] .week-table thead th{background:#eef6fd;color:#173e59;font-weight:700;height:82px}
:root[data-store="shirokita"] .week-table thead th:first-child{width:104px}
:root[data-store="shirokita"] .week-table tbody th{position:sticky;left:0;z-index:1;width:104px;background:#f7fbfe;color:#21475f;font-weight:800;line-height:1.25}
:root[data-store="shirokita"] .date-month,:root[data-store="shirokita"] .date-number,:root[data-store="shirokita"] .date-weekday{display:block}
:root[data-store="shirokita"] .date-month{font-size:11px;color:#5a7182}
:root[data-store="shirokita"] .date-number{font-size:20px;line-height:1.25;color:#173e59}
:root[data-store="shirokita"] .date-weekday{font-size:12px}
:root[data-store="shirokita"] .date-heading.day-0 .date-number,:root[data-store="shirokita"] .date-heading.day-0 .date-weekday{color:#c23a45}
:root[data-store="shirokita"] .date-heading.day-6 .date-number,:root[data-store="shirokita"] .date-heading.day-6 .date-weekday{color:#2169a6}
:root[data-store="shirokita"] .today-tag{display:inline-block;margin-top:3px;padding:1px 6px;border-radius:10px;background:#d51659;color:#fff;font-size:10px}
:root[data-store="shirokita"] .time-start,:root[data-store="shirokita"] .time-end,:root[data-store="shirokita"] .time-separator{display:block}
:root[data-store="shirokita"] .time-start,:root[data-store="shirokita"] .time-end{font-size:14px}
:root[data-store="shirokita"] .time-separator{font-size:11px;color:#6d7f8c;margin:1px 0}
:root[data-store="shirokita"] .week-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:100%;min-width:76px;min-height:64px;padding:5px 3px;border:2px solid #2380bf;border-radius:11px;background:#eaf5ff;color:#0b568c;box-shadow:0 3px 0 #12699f;font-weight:800;touch-action:manipulation}
:root[data-store="shirokita"] .week-slot:hover{background:#dceefa;transform:translateY(-1px)}
:root[data-store="shirokita"] .week-slot-mark{font-size:24px;line-height:1}
:root[data-store="shirokita"] .week-slot-text{font-size:11px;line-height:1.25;white-space:nowrap}
:root[data-store="shirokita"] .week-slot.chosen{background:#d51659;border-color:#0b4b7d;color:#fff;box-shadow:0 3px 0 #083d67}
:root[data-store="shirokita"] .week-slot:disabled{background:#f1f3f5;border-color:#d7dde2;color:#7a858c;box-shadow:none;opacity:1;cursor:default}
:root[data-store="shirokita"] .week-slot:disabled:hover{transform:none;background:#f1f3f5}
:root[data-store="shirokita"] #booking-selection{margin:14px 0 0;padding:12px 14px;border-radius:9px;background:#eef6fd;color:#173e59;font-weight:700}
@media(max-width:760px){
  :root[data-store="shirokita"] .schedule-entry-btn{min-height:64px;font-size:17px}
  :root[data-store="shirokita"] .calendar-scroll-hint{display:block}
  :root[data-store="shirokita"] .week-table{min-width:760px}
  :root[data-store="shirokita"] .week-table thead th:first-child,:root[data-store="shirokita"] .week-table tbody th{width:96px}
  :root[data-store="shirokita"] .week-slot{min-height:68px}
}
/* v3.8.6 sample: トップページから日時を先に選ぶ導線 */
.quick-booking{padding:34px 0;background:linear-gradient(135deg,#edf7ff 0%,#f8fbff 100%);border-top:1px solid #cfe3f2;border-bottom:1px solid #cfe3f2}
.quick-booking-card{padding:26px;border:1px solid #b9d7ec;border-radius:20px;background:#fff;box-shadow:0 10px 28px #0b4b7d14}
.quick-booking-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.quick-booking-head h2{margin:4px 0 7px;font-size:27px;color:#173e59}
.quick-booking-head p{margin:0;color:#47677f}
.quick-route-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:#d51659;color:#fff;font-size:12px;font-weight:800;white-space:nowrap}
.quick-status{margin:0 0 12px;padding:9px 12px;border-radius:9px;background:#eef6fd;color:#255c88;font-size:12px;font-weight:700}
.quick-days{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));gap:9px;overflow-x:auto;padding:3px 2px 10px;scrollbar-color:#85b9df #eef6fd}
.quick-day{min-width:118px;padding:12px 9px;border:1px solid #cddfee;border-radius:14px;background:#f9fcff;text-align:center}
.quick-day-date{display:block;margin-bottom:9px;color:#173e59;font-weight:800;line-height:1.35}
.quick-day-date small{display:block;color:#5a7182;font-size:11px;font-weight:700}
.quick-home-slot{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;min-height:45px;margin:6px 0;padding:6px 3px;border:2px solid #2380bf;border-radius:10px;background:#eaf5ff;color:#0b568c;font-size:11px;font-weight:800;box-shadow:0 2px 0 #12699f;touch-action:manipulation}
.quick-home-slot:hover{background:#dceefa;transform:translateY(-1px)}
.quick-home-slot.chosen{background:#d51659;border-color:#0b4b7d;color:#fff;box-shadow:0 2px 0 #083d67}
.quick-home-slot:disabled{background:#f1f3f5;border-color:#d7dde2;color:#7a858c;box-shadow:none;opacity:1;cursor:default}
.quick-selection{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:15px 17px;border-radius:13px;background:#eef6fd;border:1px solid #c5dff1}
.quick-selection strong{display:block;color:#0b4b7d;font-size:16px}
.quick-selection small{color:#47677f}
.quick-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.quick-actions .btn{margin:0;min-height:50px;padding:11px 18px;background:#d51659;box-shadow:0 4px 0 #0b4b7d}
.quick-actions .plain{display:inline-flex;align-items:center;min-height:50px;margin:0;padding:10px 15px;border:1px solid #85b9df;border-radius:10px;background:#fff;color:#0b568c;text-decoration:none}
.quick-route-note{margin:13px 0 0;color:#5a7182;font-size:11px;line-height:1.7}
@media(max-width:760px){
  .quick-booking{padding:24px 0}
  .quick-booking-card{padding:18px 14px;border-radius:17px}
  .quick-booking-head{display:block}
  .quick-booking-head h2{font-size:22px}
  .quick-route-badge{margin-top:12px}
  .quick-days{grid-template-columns:repeat(7,118px);margin-right:-14px;padding-right:14px}
  .quick-selection{display:block}
  .quick-actions{display:grid;grid-template-columns:1fr;margin-top:13px}
  .quick-actions .btn,.quick-actions .plain{width:100%;justify-content:center}
}
@media(max-width:760px){
  :root[data-store="shirokita"] #mobile-total-detail.mobile-web-reserve{min-height:50px;border-color:#0b4b7d;background:#d51659;color:#fff;box-shadow:0 3px 0 #0b4b7d;font-size:13px;font-weight:800}
  :root[data-store="shirokita"] #mobile-total-detail.mobile-web-reserve:active{transform:translateY(2px);box-shadow:0 1px 0 #0b4b7d}
}
/* v3.8.8 sample: 見積り2ルートと入力なしのお問い合わせを明確化 */
.route-number{display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px;padding:6px 12px;border-radius:999px;background:#0b4b7d;color:#fff;font-size:12px;font-weight:900;letter-spacing:.05em}
.route-dog-guide{display:flex;align-items:center;gap:14px;max-width:650px;margin:0 auto 18px;text-align:left}
.route-dog-guide img{width:64px;height:auto;flex:0 0 auto}
.route-speech{position:relative;flex:1;padding:13px 18px;border:2px solid #85b9df;border-radius:17px;background:#fff;color:#173e59;box-shadow:0 4px 0 #dcecf7}
.route-speech:before{content:"";position:absolute;left:-11px;top:24px;width:17px;height:17px;border-left:2px solid #85b9df;border-bottom:2px solid #85b9df;background:#fff;transform:rotate(45deg)}
.route-speech b{display:block;font-size:19px;line-height:1.45}.route-speech p{margin:3px 0 0;color:#47677f;font-size:13px;line-height:1.65}
.estimate-entry .route-number{background:#d51659}.estimate-entry .route-dog-guide{margin-bottom:22px}.estimate-entry .route-speech{border-color:#4f9dd1;box-shadow:0 4px 0 #bddbf0}.estimate-entry .route-speech:before{border-color:#4f9dd1}
.quick-booking-head{display:block}.quick-booking-head .route-dog-guide{max-width:none;margin:0 0 18px}.quick-booking-head .route-number{margin-bottom:10px}.quick-booking-head .kicker,.quick-booking-head>div>h2,.quick-booking-head>div>p{display:none}
.contact-route{padding:26px 0;background:#f7fbfe;border-bottom:1px solid #cfe3f2}.contact-route-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:22px 26px;border:1px solid #b9d7ec;border-radius:18px;background:#fff}.contact-route .route-dog-guide{max-width:none;margin:0}.contact-route .route-number{background:#5a7182}.contact-route .btn{min-width:220px;margin:0;background:#fff;color:#0b568c;border:2px solid #2380bf;box-shadow:0 4px 0 #b9d7ec}
@media(max-width:760px){.route-dog-guide{gap:9px}.route-dog-guide img{width:50px}.route-speech{padding:11px 12px;border-radius:14px}.route-speech:before{left:-9px;top:20px;width:14px;height:14px}.route-speech b{font-size:15px}.route-speech p{font-size:11px}.contact-route{padding:20px 0}.contact-route-card{display:block;padding:17px 14px}.contact-route .btn{width:100%;min-width:0;margin-top:16px}}

.banner-hero a{display:block;color:inherit;text-decoration:none}
