
.tt-root{--ink:#624333;--blue:#854f3b;--pink:#bd5262;--bg:#fffcfa;--line:#ead3c9}.tt-root *{box-sizing:border-box}.tt-root{margin:0;background:var(--bg);color:var(--ink);font:16px/1.8 system-ui,-apple-system,"Yu Gothic",sans-serif}.tt-root header{background:#fff;border-bottom:1px solid var(--line);padding:22px max(20px,calc((100vw - 1100px)/2))}.tt-root header small{color:var(--pink);font-weight:700}.tt-root h1{font-size:clamp(24px,4vw,36px);margin:2px 0}.tt-root h2{font-size:25px;margin:0 0 14px}.tt-root h3{font-size:19px;margin:0 0 10px}.tt-root p{margin:8px 0 18px}.tt-root nav{display:flex;gap:8px;overflow:auto;padding:14px 0}.tt-root button,.tt-root a.button{border:1px solid var(--line);background:white;border-radius:10px;padding:12px 16px;font:inherit;color:var(--ink);cursor:pointer;text-decoration:none;display:inline-block}.tt-root button:hover{border-color:var(--blue)}.tt-root button.active{background:#f9e8e4;color:#704b3b;border-color:#dab2a7}.tt-root button.primary{background:#fae6e4;color:#704134;border-color:#e5b6b4}.tt-root button.danger{color:#a02342}.tt-root button:disabled{opacity:.45;cursor:default}.tt-root main{max-width:1100px;margin:auto;padding:26px 20px 70px}.tt-root .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.tt-root .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tt-root .card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;margin-bottom:18px}.tt-root .intro{background:var(--blue);color:#fff;padding:32px;border-radius:20px;margin-bottom:24px}.tt-root .intro h2{font-size:30px}.tt-root .tag{font-size:14px;display:inline-block;padding:3px 10px;border-radius:20px;background:#faeeec;color:var(--blue);margin-bottom:10px}.tt-root .note{padding:14px 18px;background:#faf0ea;border-radius:10px;font-size:14px}.tt-root .muted{color:#846357;font-size:14px}.tt-root .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.tt-root label{display:block;font-weight:600;margin:14px 0 5px}.tt-root input,.tt-root textarea,.tt-root select{width:100%;border:1px solid #dcb9ad;border-radius:8px;padding:12px;font:inherit;background:#fff;color:var(--ink)}.tt-root textarea{min-height:100px}.tt-root input[type=checkbox]{width:auto}.tt-root input[type=file]{font-size:14px}.tt-root form button{margin-top:16px}.tt-root section[hidden]{display:none}.tt-root .photo{width:100%;height:210px;object-fit:cover;border-radius:12px}.tt-root .placeholder{height:150px;background:#fcf2ef;border-radius:12px;display:grid;place-items:center;color:#946f5e;font-size:18px;margin-bottom:16px}.tt-root #toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#624333;color:white;border-radius:12px;padding:12px 22px;max-width:90vw;z-index:10;box-shadow:0 8px 24px #0002}.tt-root details{margin:20px 0}.tt-root summary{cursor:pointer}.tt-root pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#fcf2ef;padding:16px;border-radius:10px;font:14px/1.7 system-ui}.tt-root table{width:100%;border-collapse:collapse;font-size:14px}.tt-root th,.tt-root td{text-align:left;padding:10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.tt-root .scroll{overflow:auto}.tt-root footer{font-size:14px;text-align:center;padding:24px;background:white}.tt-root .steps{display:grid;gap:10px}.tt-root .steps div{padding:12px 16px;background:#fcf2ef;border-radius:10px}.tt-root .empty{color:#846357;padding:16px 0}.tt-root .banner{font-size:14px;background:#faf0ed;padding:10px 20px;text-align:center}.tt-root .check{font-weight:400;display:flex;gap:10px;align-items:start}.tt-root .actions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}@media(max-width:720px){.tt-root .grid,.tt-root .cards{grid-template-columns:1fr}.tt-root header{padding:18px 18px 0}.tt-root main{padding:20px 16px 60px}.tt-root .card{padding:20px}.tt-root nav button{white-space:nowrap;padding:10px 12px}.tt-root .intro{padding:24px}.tt-root h2{font-size:23px}}

.tt-root header .brand{font:22px/1.7 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.12em}.tt-root header .shop-nav{display:flex;gap:24px;justify-content:flex-end;flex-wrap:wrap;margin:8px 0}.tt-root header .shop-nav a{color:var(--ink);text-decoration:none;font-family:"Yu Mincho",serif}.tt-root h1,.tt-root h2,.tt-root h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}.tt-root main{max-width:1160px}.tt-root .hero-frame{overflow:hidden;border-radius:2px;margin-bottom:24px}.tt-root .hero-frame img{width:100%;display:block;margin-top:-5.45%}.tt-root .landing-block{padding:48px 24px;text-align:center;scroll-margin-top:20px}.tt-root .landing-block.tint{background:#fff7f6;border-radius:14px}.tt-root .landing-block h2{line-height:1.8;letter-spacing:.07em}.tt-root .eyebrow{color:#b65f69;letter-spacing:.15em;font-size:14px}.tt-root .landing-block p{max-width:740px;margin:12px auto 22px}.tt-root .landing-block .card{text-align:left}.tt-root .landing-block .cards .card{text-align:center}.tt-root .concerns{list-style:none;max-width:660px;margin:22px auto;padding:0;text-align:left}.tt-root .concerns li{background:#fff5f5;margin:10px 0;padding:12px 20px}.tt-root .price{font:26px/1.8 "Yu Mincho",serif;color:#874c35}.tt-root .care-links{margin:30px 0}.tt-root .landing-block .small-editor{max-width:800px;margin:24px auto;text-align:left;background:white}.tt-root .small-editor summary{font-weight:600;color:#784636}.tt-root .affiliate-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.tt-root .affiliate-group{border:1px solid var(--line);border-radius:20px;padding:24px 16px;background:#fff}.tt-root .affiliate-group h3{font-size:21px}.tt-root .affiliate-group .card{padding:18px;margin:14px 0;text-align:left;box-shadow:none}.tt-root .affiliate-group .photo{height:160px}.tt-root .landing-tools{margin-top:16px;text-align:left}.tt-root .intro{background:#fff7f5;color:var(--ink);border:1px solid var(--line)}.tt-root footer button{margin:12px}.tt-root .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}.tt-root a{color:#854f3b}.tt-root input:focus,.tt-root textarea:focus,.tt-root select:focus,.tt-root button:focus-visible{outline:3px solid #be818c;outline-offset:3px}@media(max-width:720px){.tt-root header .shop-nav{justify-content:flex-start;gap:10px 20px;font-size:14px}.tt-root header .brand{font-size:19px}.tt-root header h1{font-size:21px}.tt-root .landing-block{padding:32px 12px}.tt-root .affiliate-columns{grid-template-columns:1fr}.tt-root .hero-frame{margin-left:-16px;margin-right:-16px}.tt-root .landing-block h1{font-size:25px}.tt-root .landing-block h2{font-size:23px}}

.tt-root{max-width:1160px;margin:auto}.tt-root section{margin-top:20px}.tt-root [hidden]{display:none!important}.tt-root .wp-login-link{padding:20px}.tt-root form .button{margin-top:15px}.tt-root .hero-frame img{max-width:100%}.tt-root .card .photo{max-width:100%}

/* 予約カレンダーとiPhoneの横揺れ防止 */
.tt-root{width:100%;max-width:100%;overflow-x:clip}.tt-root,.tt-root *{min-width:0}.tt-root img,.tt-root iframe,.tt-root input,.tt-root select,.tt-root textarea{max-width:100%}.tt-root .tt-content{width:100%;overflow-x:clip}.tt-root .booking-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);gap:22px;align-items:start}.tt-root .booking-calendar{margin:18px 0 28px}.tt-root .calendar-note{padding:13px 16px;border-radius:12px;background:#f6f1e9;color:#365f59}.tt-root .open-key{display:inline-block;margin-right:5px;padding:1px 10px;border-radius:999px;background:#e3f2ea;font-weight:700}.tt-root .calendar-month{margin:24px 0}.tt-root .calendar-month h3{padding-bottom:8px;border-bottom:1px solid var(--line)}.tt-root .calendar-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tt-root .calendar-day{padding:11px;border:1px solid var(--line);border-radius:14px;background:#fff}.tt-root .calendar-day h4{margin:0 0 8px;font-size:14px}.tt-root .slot{display:block;margin:6px 0;padding:7px 8px;border-radius:9px;font-size:12px;line-height:1.45;text-align:center}.tt-root label.slot{font-weight:400;cursor:pointer}.tt-root .slot input{position:absolute;opacity:0;pointer-events:none}.tt-root .slot.open,.tt-root .slot.available{border:1px solid #a9cbbb;background:#edf7f1;color:#285c4b}.tt-root .slot.open:has(input:checked){background:#326d5f;color:#fff;border-color:#326d5f;box-shadow:0 0 0 3px #c9e2d8}.tt-root .slot.booked{background:#f3eded;color:#8a7168}.tt-root .booking-replies{position:sticky;top:20px}.tt-root .booking-admin-card{border-left:5px solid #83a99d}
@media(max-width:820px){.tt-root .booking-layout{grid-template-columns:1fr}.tt-root .booking-replies{position:static}.tt-root .calendar-days{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.tt-root .calendar-days{gap:7px}.tt-root .calendar-day{padding:9px 7px}.tt-root .slot{padding:7px 4px;font-size:11px}.tt-root .tt-content>section:not(#home){padding:20px 14px}}

.tt-root .tt-password-field{display:flex;align-items:stretch;gap:8px;margin-bottom:16px;min-width:0}.tt-root .tt-password-field input{flex:1;min-width:0;width:0;margin:0}.tt-root .tt-password-field .tt-password-toggle{flex:0 0 auto;margin:0;white-space:nowrap;min-height:44px;padding:8px 12px}

.tt-root .tt-staff-booking-workspace{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:20px;align-items:start}.tt-root .tt-staff-calendar{position:sticky;top:20px}.tt-root .tt-staff-calendar summary{cursor:pointer;font-weight:700}.tt-root .tt-staff-calendar-scroll{max-height:65vh;overflow-y:auto;overscroll-behavior:contain}.tt-root .tt-staff-calendar .calendar-days{grid-template-columns:repeat(2,minmax(0,1fr))}.tt-root .tt-staff-calendar p{font-size:14px}.tt-root .tt-staff-booking-replies .booking-admin-card:first-child{margin-top:0}@media(max-width:820px){.tt-root .tt-staff-booking-workspace{grid-template-columns:1fr}.tt-root .tt-staff-calendar{position:static}.tt-root .tt-staff-calendar-scroll{max-height:320px}}
