:root{--navy:#1b2a4a;--navy-deep:#111e37;--gold:#b08830;--gold-light:#c9a45e;--ivory:#faf7f0;--ivory-deep:#f3eee2;--text:#2a3242;--line:#e5ddc9;--muted:#7d7a70;--panel:#ffffff;--danger:#b3402e;--ok:#2e7d4f;--warn-bg:#fbf4e2;--radius:12px;--serif:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic UI",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--ivory);color:var(--text);font-family:var(--sans);font-size:15px;letter-spacing:-.015em;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--navy);text-decoration:none}a:hover{opacity:.85}h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:.04em;color:var(--navy)}h1{font-size:22px;margin:0 0 14px}h2{font-size:18px;margin:24px 0 10px}h3{font-size:15px;margin:16px 0 6px}p{margin:0 0 10px}.muted{color:var(--muted);font-size:13px}.small{font-size:12px}.error{color:var(--danger)}.error,.ok{font-size:13px}.ok{color:var(--ok)}.center{text-align:center}.mt0{margin-top:0}.mb0{margin-bottom:0}.mt8{margin-top:8px}.mt16{margin-top:16px}.nowrap{white-space:nowrap}.topbar{position:fixed;top:0;left:0;right:0;z-index:40;background:var(--navy);color:#fff;border-bottom:3px solid var(--gold)}.topbar-inner{max-width:1080px;margin:0 auto;padding:10px 16px;justify-content:space-between;flex-wrap:wrap;gap:8px}.brand,.topbar-inner{display:flex;align-items:center}.brand{gap:10px;color:#fff}.brand img{height:26px;display:block;filter:brightness(0) invert(1)}.brand span{font-size:13px;opacity:.9;letter-spacing:.08em;font-family:var(--serif)}.nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.linklike,.nav a{color:#f1ead8;font-size:13px;padding:5px 12px;cursor:pointer;font-family:inherit;border:1px solid rgba(201,164,94,.5);border-radius:8px;background:rgba(255,255,255,.06);white-space:nowrap}.linklike:hover,.nav a:hover{background:rgba(201,164,94,.25);opacity:1}.admin-main{max-width:1080px;margin:0 auto;padding:84px 16px 60px}@media (max-width:720px){.admin-main{padding-top:130px}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}.card h2:first-child{margin-top:0}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px}.kpi .num{font-size:26px;font-weight:700;color:var(--navy);font-family:var(--serif)}.kpi .label{font-size:12px;color:var(--muted)}table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}td,th{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}th{background:var(--ivory-deep);font-size:12px;color:#6a6150;white-space:nowrap;text-align:center}tr:last-child td{border-bottom:none}td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}tr.row-cancelled td{color:var(--muted)}tr.row-visited td{background:#f2f8f3}tr.row-noshow td{background:#fbeeea}.btn{display:inline-block;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px;padding:7px 14px;font-size:14px;cursor:pointer;font-family:inherit;line-height:1.5}.btn:hover{border-color:var(--gold)}.btn-primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-deep)}.btn-gold{background:var(--gold);border-color:var(--gold);color:#fff}.btn-gold:hover{background:#9a7628}.btn-danger{color:var(--danger);border-color:#e8cfc7}.btn-sm{padding:3px 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{display:block;width:100%;text-align:center;padding:14px;font-size:16px;border-radius:10px}input,select,textarea{font-family:inherit;font-size:15px;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid #e9dcb9;border-color:var(--gold)}input[type=date]{width:160px}label{font-size:12px;color:var(--muted);display:block;margin-bottom:3px}.field{display:inline-block;margin:0 10px 10px 0;vertical-align:top}.form-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.inline-form{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.badge{display:inline-block;font-size:12px;padding:1px 9px;border-radius:999px;white-space:nowrap}.badge-green{background:#e4f0e8;color:var(--ok)}.badge-gold{background:#f5ead2;color:#8a6420}.badge-gray{background:#edebe4;color:#77716a}.badge-red{background:#f7e5e1;color:var(--danger)}.badge-navy{background:#e4e8f0;color:var(--navy)}.alert-banner{background:var(--warn-bg);border:1px solid var(--gold-light);border-radius:var(--radius);padding:10px 14px;margin-bottom:16px;font-size:14px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login-card{width:360px;text-align:center}.login-card img{width:170px;margin:8px auto 6px;display:block}.login-card input{width:100%;margin:12px 0}.login-card .btn{width:100%}.landing{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;text-align:center}.landing img{width:200px}.landing-links{gap:12px;margin-top:16px;justify-content:center}.daynav,.landing-links{display:flex;flex-wrap:wrap}.daynav{align-items:center;gap:8px;margin-bottom:14px}.daynav .date-title{font-family:var(--serif);font-size:20px;color:var(--navy);margin:0 6px}.slot-block{margin-bottom:14px}.slot-head{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.slot-head .time{font-family:var(--serif);font-size:18px;color:var(--navy)}.slot-empty{color:var(--muted);font-size:13px;padding:6px 10px;border:1px dashed var(--line);border-radius:8px}.liff-wrap{max-width:480px;margin:0 auto;padding:0 14px calc(96px + env(safe-area-inset-bottom))}.liff-header{text-align:center;padding:8px 0 10px}.liff-header img{width:150px;display:inline-block}.liff-header .sub{font-size:11px;color:var(--gold);letter-spacing:.22em;font-family:var(--serif);margin-top:4px}.liff-member{text-align:center;font-size:13px;color:var(--muted);margin-bottom:10px}.liff-member strong{color:var(--text);font-weight:500}.dev-banner{background:#eef1f7;border:1px dashed #8a9bc0;border-radius:8px;padding:8px 12px;font-size:12px;color:#33456e;margin-bottom:12px}.liff-loading-card{padding-block:36px}.liff-loading-indicator{display:inline-block;width:28px;height:28px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--gold);animation:liff-spin .8s linear infinite;margin-bottom:10px}@keyframes liff-spin{to{transform:rotate(1turn)}}.form-field{margin-bottom:14px}.coupon-entry{border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:16px 0 20px}.coupon-entry label{display:block;margin-bottom:10px;font-weight:600}.coupon-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.coupon-controls input{flex:1 1 140px;width:100%;min-width:0}.coupon-controls .btn{margin:0;flex:0 0 auto}.coupon-entry p{margin:10px 0 0}.coupon-reservation{margin:8px 0;overflow-wrap:anywhere}.form-field input,.form-field textarea{width:100%}.form-field .req{color:var(--danger);font-size:11px;margin-left:4px}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--panel);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom)}.tab{min-height:52px;display:flex;align-items:center;justify-content:center;padding:8px 3px;font-size:11px;color:var(--muted);background:none;cursor:pointer;font-family:inherit;border:none;border-top:2px solid transparent;border-right:1px solid var(--line)}.tab:last-child{border-right:0}.tab.active{color:var(--navy);font-weight:700;border-top-color:var(--gold);background:var(--ivory-deep)}.section-title{font-family:var(--serif);font-size:19px;color:var(--navy);margin:4px 0;letter-spacing:.06em}.section-lead{font-size:13px;color:var(--muted);margin-bottom:12px}.course-box{background:var(--ivory-deep);border-left:3px solid var(--gold);padding:8px 12px;border-radius:0 8px 8px 0;font-size:14px;margin-bottom:14px}.course-box .label{font-size:11px;color:var(--gold);letter-spacing:.1em}.steps{display:flex;gap:6px;margin-bottom:14px;font-size:12px;color:var(--muted)}.steps span{flex:1 1;text-align:center;padding:5px 0;border-bottom:2px solid var(--line)}.steps span.on{color:var(--navy);border-bottom-color:var(--gold);font-weight:700}.steps span.done{color:var(--gold);border-bottom-color:var(--gold-light)}.date-list{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}.date-btn{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:10px 8px;font-family:inherit;cursor:pointer;font-size:15px;color:var(--text);text-align:center}.date-btn.sun{color:var(--danger)}.date-btn.sat{color:#2f5f9e}.date-btn:hover{border-color:var(--gold)}.date-btn.selected{background:var(--navy);color:#fff;border-color:var(--navy)}.slot-list{display:grid;grid-gap:8px;gap:8px}.slot-btn{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:12px 14px;font-family:inherit;cursor:pointer;color:var(--text)}.slot-btn .t{font-family:var(--serif);font-size:18px;color:var(--navy)}.slot-btn .r{font-size:13px;color:var(--ok)}.slot-btn.full{opacity:.55;cursor:not-allowed;background:var(--ivory-deep)}.slot-btn.full .r{color:var(--muted)}.slot-btn.selected{background:var(--navy);border-color:var(--navy)}.slot-btn.selected .r,.slot-btn.selected .t{color:#fff}.confirm-box{border:1px solid var(--gold-light);border-radius:var(--radius);padding:14px 16px;background:#fffdf8;margin-bottom:14px}.confirm-box dl{margin:0;display:grid;grid-template-columns:5em 1fr;grid-row-gap:6px;row-gap:6px}.confirm-box dt{color:var(--muted);font-size:12px;padding-top:3px}.confirm-box dd{margin:0;font-size:15px}.confirm-box dd.big{font-size:20px}.confirm-box dd.big,.done-mark{font-family:var(--serif);color:var(--navy)}.done-mark{text-align:center;font-size:22px;margin:10px 0 6px}.done-mark:before{content:"";display:block;width:44px;height:44px;margin:0 auto 8px;border-radius:50%;border:2px solid var(--gold);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23b08830' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") 50%/24px no-repeat}.resv-item{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px;background:var(--panel)}.resv-item .when{font-family:var(--serif);font-size:17px;color:var(--navy)}.resv-item .meta{font-size:13px;color:var(--muted);margin-top:2px}.resv-item .actions{margin-top:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.resv-item.past{opacity:.8}.stamp-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px;margin:12px 0 14px}.stamp{aspect-ratio:1;border-radius:50%;border:2px dashed var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:13px;color:#c4bda9;background:var(--panel)}.stamp.on{border:2px solid var(--gold);background:radial-gradient(circle at 50% 45%,#d9bf7f,var(--gold) 70%);color:#fff;box-shadow:0 2px 6px rgba(176,136,48,.35)}.stamp.on:after{content:"K";font-size:20px;font-weight:700}.stamp.on span{display:none}.stamp-summary{text-align:center;font-family:var(--serif);font-size:18px;color:var(--navy)}.stamp-summary strong{font-size:30px;color:var(--gold)}.history-list{list-style:none;padding:0;margin:0}.history-list li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}.history-list li:last-child{border-bottom:none}.history-list .d{color:var(--muted);font-size:13px}.code-box{text-align:center;border:1px solid var(--gold-light);background:#fffdf8;border-radius:var(--radius);padding:14px;margin:10px 0 14px}.code-box .code{font-family:var(--serif);font-size:32px;letter-spacing:.2em;color:var(--navy)}.code-box .link{font-size:12px;color:var(--muted);word-break:break-all;margin-top:6px}.btn-line{background:#06c755;border-color:#06c755;color:#fff}.btn-line:hover{background:#05b04c}.btn-row{display:grid;grid-gap:8px;gap:8px;margin-bottom:14px}.info-row{display:grid;grid-template-columns:6em 1fr;grid-row-gap:4px;row-gap:4px;font-size:14px}.info-row .k{color:var(--muted);font-size:12px;padding-top:2px}.notice{font-size:13px;color:var(--muted);border-top:1px dashed var(--line);padding-top:8px;margin-top:10px}.choice-list{display:flex;flex-direction:column;gap:8px}.choice{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #d9d2c3;border-radius:10px;background:#fff;cursor:pointer;font-weight:400}.choice input{width:auto;margin:0;accent-color:var(--navy,#1b2a4a)}.choice .n{flex:1 1}.choice .d{font-size:13px;color:var(--muted,#777)}.choice.on{border-color:var(--navy,#1b2a4a);background:#f3f5fa}.choice.off{opacity:.55;cursor:not-allowed;background:var(--ivory-deep,#f1ece0)}.star-input{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.star-input .star{font-size:34px;line-height:1;background:none;border:0;padding:2px 4px;color:#d9d2c3;cursor:pointer}.star-input .star.on{color:var(--gold,#b08830)}.star-input .muted{margin-left:8px}.language-switcher{position:-webkit-sticky;position:sticky;top:0;z-index:50;display:grid;grid-template-columns:88px repeat(3,minmax(0,1fr));width:100%;margin:0 0 14px;border:0;border-bottom:1px solid #d8cdb6;border-radius:0;overflow:hidden;background:#fffdf8}.language-switcher button{min-height:44px;padding:6px 4px;margin:0;background:transparent;border:0;border-right:1px solid #e5dcc8;border-bottom:1px solid #e5dcc8;border-radius:0;color:#26364b;font-size:15px;font-weight:500;cursor:pointer;white-space:nowrap}.language-switcher .language-option:nth-child(4),.language-switcher .language-option:nth-child(7){border-right:0}.language-switcher .language-option:nth-child(n+5){border-bottom:0}.language-switcher .language-home{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:88px;height:88px;padding:8px;border-right:1px solid #e5dcc8;border-bottom:0;color:var(--navy);background:#fffdf8;text-decoration:none}.language-home-mark{position:relative;display:block;flex:none;width:52px;height:51px;overflow:hidden}.language-switcher .language-home-mark img{position:absolute;top:0;left:50%;width:106px;max-width:none;height:auto;transform:translateX(-50%);mix-blend-mode:multiply}.language-home-label{font-family:var(--sans);font-size:10px;line-height:1.2;font-weight:600;text-align:center;white-space:normal}.language-home-label:lang(ja){font-size:11px}.language-switcher .language-home{padding:4px}.language-switcher button.on{background:var(--navy);color:#fff;font-weight:700}.language-switcher button:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}@media (max-width:359px){.language-switcher .language-option{font-size:12px}}.survey-entry-button{min-height:64px;font-size:19px;font-weight:700;line-height:1.5}.store-phone{text-align:center;font-family:var(--sans);font-size:14px;line-height:1.7;margin:24px auto 8px;padding:16px 12px;border:1px solid var(--gold-light);border-radius:var(--radius);background:var(--panel);color:var(--navy)}.store-phone-label{font-size:12px;font-weight:500}.store-phone a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:5px 10px;border-radius:7px;color:var(--navy);font-size:21px;font-weight:700;text-decoration:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.store-phone a svg{color:var(--gold)}.store-phone a:hover{opacity:1;background:var(--ivory-deep)}.store-phone a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.store-phone-note{margin:7px 0 0;font-size:11px;line-height:1.7;color:var(--muted)}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.booking-datetime{margin:16px 0}.booking-datetime select{width:100%;min-height:48px}.booking-time-label{margin-top:20px;color:var(--text);font-weight:600}.booking-time-selects{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:8px 0 16px}.slot-btn.time{flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;gap:2px}.slot-btn.time .t{font-size:16px}.slot-btn.time .r{font-size:11px;color:var(--muted);margin-left:0!important}.slot-btn.on{background:var(--navy);border-color:var(--navy)}.slot-btn.on .r,.slot-btn.on .t,.slot-btn.on .t span{color:#fff!important}.price-table{margin:8px auto 4px;border-collapse:collapse;font-size:14px}.price-table td,.price-table th{padding:4px 10px;text-align:center}.price-table thead th{font-size:12px;color:var(--muted);font-weight:400}.price-table tbody th{font-weight:500;text-align:left}.price-card{text-align:center;padding:20px 16px 16px}.price-title{margin:0;font-family:var(--sans);font-size:clamp(20px,5.5vw,26px);font-weight:800;line-height:1.5;color:var(--navy);letter-spacing:0}.price-title:lang(ja){font-size:clamp(18px,5.3vw,26px)}.price-until{margin:4px 0 10px;font-size:13px;color:var(--gold);font-weight:600}.price-lead{margin:16px auto 20px;max-width:360px;font-family:var(--serif);font-size:14px;line-height:1.9;color:var(--text);text-align:left}.price-lead p{margin:0;text-wrap:pretty}.price-lead p+p{margin-top:12px}.price-lead:lang(ko),.price-lead:lang(zh){font-family:var(--sans)}.price-lead:lang(ko){word-break:keep-all;overflow-wrap:normal}@media (max-width:359px){.price-title:lang(ja){font-size:17px;letter-spacing:0}.price-board td,.price-board th{padding-left:3px;padding-right:3px}.price-board{table-layout:fixed}.price-board tbody th{font-size:12px;white-space:normal;overflow-wrap:anywhere}.price-board td.regular{font-size:12px}.price-board td.campaign{font-size:18px}.price-board .yen .tax{display:block;margin-left:0;font-size:9px}.price-board td .yen{white-space:normal;overflow-wrap:normal}}.price-board{width:100%;max-width:360px;table-layout:fixed;margin:0 auto 12px;border-collapse:collapse;background:none;border:none;border-radius:0}.price-board td,.price-board th{padding:10px 6px;border-bottom:1px solid var(--line);background:none;text-align:center}.price-board tbody tr:last-child td,.price-board tbody tr:last-child th{border-bottom:none}.price-board thead th{padding-top:0;font-size:12px;font-weight:400;color:var(--muted);border-bottom:1px solid var(--line)}.price-board thead th.campaign{color:var(--gold);font-weight:600}.price-board tbody th{text-align:left;font-size:14px;padding-left:0;font-weight:500;color:var(--text);white-space:normal}.price-board td.regular{font-size:14px;color:var(--muted);white-space:nowrap}.price-board td.campaign{font-size:clamp(14px,4.6vw,21px);font-weight:700;color:var(--gold);white-space:nowrap}.price-note{margin:2px 0;font-size:13px;color:var(--text)}.price-more{margin:10px auto 0;max-width:360px;text-align:left;font-size:13px;color:var(--muted)}.price-more summary{cursor:pointer;text-align:center;color:var(--navy)}.price-more p{margin:6px 0 0;line-height:1.6}.price-link{display:inline-block;margin-top:12px;font-size:14px}.price-guide-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:18px}.price-guide-actions a,.price-guide-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:78px;padding:10px 4px;color:var(--navy);background:var(--ivory);border:1px solid var(--line);border-radius:10px;font:inherit;font-size:12px;cursor:pointer}.price-guide-actions svg{color:var(--gold)}.price-guide-actions button[aria-expanded=true]{border-color:var(--gold);background:#f5eddc}.price-guide-actions a:focus-visible,.price-guide-actions button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.price-guide-copy{margin-top:12px;padding:12px;text-align:left;font-size:13px;line-height:1.8;color:var(--muted);background:var(--ivory);border-radius:8px}.yen,.yen .amount{white-space:nowrap}.yen .amount{display:inline-block}.yen .tax{margin-left:2px;font-size:10px;font-weight:400;color:var(--muted);letter-spacing:0}.price-board td.campaign .yen .tax{font-size:11px;color:var(--gold)}.price-board td .yen{white-space:normal}.price-board .yen .tax{display:block;margin-left:0}.regular-price{color:var(--muted);font-size:12px;margin-right:4px}.therapist-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.therapist-heading .d{font-size:13px;font-weight:400;color:var(--text)}.therapist-selection-fee{margin:4px 0 8px;font-family:var(--sans);font-size:16px;font-weight:700;color:var(--navy)}.therapist-selection-fee .yen .amount{font-size:19px}.therapist-order-note{margin:0 0 6px;text-align:right;font-family:var(--sans);font-size:11px;color:var(--muted)}.therapist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:10px}.therapist-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px 12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:center;transition:border-color .15s,box-shadow .15s}.therapist-card input{position:absolute;opacity:0;pointer-events:none}.therapist-card.on{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset;background:#fffaf0}.therapist-card:focus-within{outline:2px solid var(--navy);outline-offset:2px}.therapist-avatar{width:72px;height:72px;border-radius:50%;margin-bottom:4px}.therapist-name{font-size:15px;font-weight:700;color:var(--navy)}.therapist-badge{font-size:10px;color:var(--gold);border:1px solid var(--gold-light);border-radius:999px;padding:1px 8px}.therapist-line{font-size:12px;color:var(--text);line-height:1.5}.therapist-line .k{display:block;font-size:10px;color:var(--muted)}.therapist-nationality{display:inline-flex;align-items:baseline;gap:6px;font-size:12px;line-height:1.5;color:var(--text);white-space:nowrap}.therapist-nationality .k{font-size:10px;color:var(--muted)}.therapist-message{align-self:stretch;width:100%;min-width:0;margin-top:8px;font-family:var(--sans);font-size:13px;color:var(--text);line-height:1.75;text-align:left;letter-spacing:-.02em;word-spacing:normal;text-wrap:pretty;overflow-wrap:break-word;line-break:strict;--intro-leading:23px;line-height:var(--intro-leading)}.therapist-punctuation{font-feature-settings:"palt" 1}@media (max-width:520px){.therapist-card{padding:14px 8px 12px}.therapist-avatar{width:60px;height:60px}}@media (max-width:359px){.therapist-message{font-size:12px;--intro-leading:21px}}.therapist-debut{display:flex;flex-direction:column;font-size:11px;color:var(--gold);margin-top:2px}.avatar-pick{display:inline-flex;gap:2px;flex-wrap:wrap;vertical-align:middle}.avatar-pick label{cursor:pointer;border-radius:50%;padding:1px}.avatar-pick input{position:absolute;opacity:0}.avatar-pick label:has(input:checked){box-shadow:0 0 0 2px var(--gold)}.entry-choices{display:grid;grid-gap:12px;gap:12px}.entry-choice{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:18px 16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}.entry-choice:focus-visible,.entry-choice:hover{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset;outline:none}.entry-title{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--navy)}.entry-title:after{content:" →";color:var(--gold)}.entry-note{font-size:13px;color:var(--muted);line-height:1.6}.reservation-card{background:var(--ivory-deep);color:var(--text);border-color:var(--gold-light);border-top:3px solid var(--gold);padding:22px 18px;scroll-margin-top:104px}.reservation-anchor{min-height:0}.liff-wrap .section-title,.reservation-card .done-mark{font-family:var(--sans);font-weight:700;letter-spacing:.02em}.reservation-card .section-title{font-size:22px;margin-bottom:10px}.reservation-card .done-mark,.reservation-card .section-title{color:var(--navy)}.reservation-card .booking-time-label,.reservation-card .muted,.reservation-card .section-lead,.reservation-card .steps,.reservation-card label{color:var(--navy-deep)}.reservation-card .steps span{border-bottom-color:var(--gold-light)}.reservation-card .steps span.on{color:var(--navy-deep);border-bottom-color:var(--navy-deep)}.reservation-card .steps span.done{color:var(--navy)}.reservation-card .entry-choice{background:var(--panel);border-color:var(--line)}.reservation-card .entry-title{color:var(--navy);font-family:var(--sans);font-weight:700;letter-spacing:.02em}.reservation-card .entry-title:after{color:var(--gold)}.reservation-card .entry-note{color:var(--text)}.reservation-card .entry-choice:hover{background:var(--ivory);border-color:var(--gold-light);box-shadow:0 3px 10px #b0883014}.reservation-card .entry-choice:focus-visible{background:var(--ivory);border-color:var(--gold-light);outline:2px solid var(--gold);outline-offset:3px;box-shadow:none}.reservation-card .btn{background:transparent;color:var(--navy-deep);border-color:var(--navy)}.reservation-card .btn-primary{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:700}.reservation-card .btn-line{background:#06c755;border-color:#06c755;color:#fff}.reservation-card .choice,.reservation-card .confirm-box,.reservation-card .therapist-card,.reservation-card input,.reservation-card select,.reservation-card textarea{color:var(--text)}.reservation-card .choice .muted,.reservation-card .confirm-box .muted{color:var(--muted)}.reservation-card .therapist-card{border-color:#d9c6a5}.reservation-card .therapist-card.on{box-shadow:0 0 0 2px var(--gold-light) inset}.reservation-card .alert-banner{color:#5a3d00}.reservation-card form.card{background:transparent;border-color:var(--gold-light);color:var(--navy-deep)}.reservation-card .error{color:var(--navy-deep);font-weight:700}.reservation-card .notice{color:var(--navy-deep)}.entry-visual{gap:14px;width:100%}.entry-icon,.entry-visual{display:flex;align-items:center}.entry-icon{justify-content:center;flex:0 0 56px;border-radius:50%;background:var(--ivory);color:var(--gold)}.entry-icon,.entry-icon img{width:56px;height:56px}.entry-icon-ring{position:relative}.entry-icon-ring:before{content:"";position:absolute;inset:2.625px;border:.5833px solid var(--gold-light);opacity:.55;border-radius:50%;pointer-events:none}.payment-guide-dialog{width:min(440px,calc(100% - 28px));max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--gold-light);border-radius:14px;background:var(--panel);color:var(--text)}.payment-guide-dialog::-webkit-backdrop{background:#111e3780}.payment-guide-dialog::backdrop{background:#111e3780}.payment-guide-content{padding:20px}.payment-guide-heading{display:flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--gold)}.payment-guide-heading h2{margin:0;font-family:var(--sans);font-size:20px;font-weight:700;color:var(--navy)}.payment-guide-close{margin-left:auto;flex-shrink:0;width:40px;height:40px;border:0;border-radius:50%;background:var(--ivory);color:var(--navy);font-size:26px;cursor:pointer}.payment-guide-description{font-size:13px;line-height:1.8;color:var(--muted)}.payment-guide-methods{display:grid;grid-gap:12px;gap:12px;margin:18px 0}.payment-guide-method{padding:14px;border-radius:10px;background:var(--ivory)}.payment-guide-method h3{margin:0 0 8px;font-family:var(--sans);font-size:15px;font-weight:700}.payment-guide-method:first-child h3{margin-bottom:0}.payment-guide-brands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px;margin:0;padding:0;list-style:none}.payment-guide-brands li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;padding:10px 6px;border:1px solid var(--line);border-radius:6px;background:var(--panel);font-family:var(--sans);font-size:12px;line-height:1.4;text-align:center;overflow-wrap:anywhere}.payment-guide-brands img{width:36px;height:28px;object-fit:contain}.payment-guide-brands .payment-guide-transit{grid-column:1/-1;grid-row:2;flex-direction:row;gap:10px}.payment-guide-close-button{display:block;width:100%;margin-top:24px;background:var(--ivory);border:1px solid var(--gold-light);color:var(--navy);padding:12px;transition:background .18s,border-color .18s,box-shadow .18s}.payment-guide-close-button:hover{background:#f0e8d6;border-color:var(--gold);box-shadow:0 2px 8px #ad85251a}.payment-guide-close-button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.reservation-empty-state>p{margin:0 0 12px;line-height:1.8}.reservation-empty-state>.btn{display:block;width:100%;margin-top:20px}@media (max-width:359px){.price-card .price-board td,.price-card .price-board th{padding-left:3px;padding-right:3px}.price-card .price-board tbody th{font-size:12px;white-space:normal;overflow-wrap:anywhere}.price-card .price-board thead th{font-size:10px;white-space:normal}.price-card .price-board td.regular{font-size:12px}.price-card .price-board td.campaign{font-size:14px}.price-card .price-board td .yen .tax{font-size:9px}}.entry-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.tabbar .tab{flex-direction:column;gap:4px;min-height:64px;font-family:var(--sans);font-size:11px;line-height:1.3}.tabbar .tab svg{width:24px;height:24px;flex-shrink:0}.tabbar .customer-menu-label{display:grid;place-items:center;width:100%;min-height:2.6em;line-height:1.3;text-align:center;overflow-wrap:anywhere}.customer-menu-label-part{display:inline-block;white-space:nowrap}:root{--customer-footer-height:min(23.32vw,111.936px);--customer-footer-space:calc(var(--customer-footer-height) + 20px + env(safe-area-inset-bottom))}.customer-footer{width:min(100%,480px);left:50%;right:auto;transform:translateX(-50%);height:auto;border:0;isolation:isolate;text-size-adjust:100%}.customer-footer:after,.customer-footer:before{content:"";position:absolute;z-index:0;pointer-events:none;-webkit-clip-path:inset(0 -100vmax);clip-path:inset(0 -100vmax)}.customer-footer:before{inset:0;background:#fff;box-shadow:0 0 0 100vmax #fff}.customer-footer:after{top:0;left:0;right:0;height:1px;background:var(--line);box-shadow:0 0 0 100vmax var(--line)}.customer-footer-art{position:relative;grid-column:1/-1;display:block;width:100%;height:auto;aspect-ratio:2500/583;z-index:1;pointer-events:none}.customer-footer-art-failed .customer-footer-art{visibility:hidden}.customer-footer .tab,.customer-footer .tab.active{position:absolute;top:0;bottom:env(safe-area-inset-bottom);z-index:2;height:auto;min-height:0;border:0;padding:min(3.4375vw,16.5px) 3px 0;justify-content:flex-start;gap:min(1.25vw,6px);font-size:min(3.4375vw,16.5px);font-weight:400;color:var(--muted);background:transparent;-webkit-tap-highlight-color:transparent}.customer-footer .tab svg{width:min(7.5vw,36px);height:min(7.5vw,36px)}.customer-footer .tab>.customer-menu-label,.customer-footer .tab>svg{visibility:hidden}.customer-footer-art-failed .tab>.customer-menu-label,.customer-footer-art-failed .tab>svg{visibility:visible}.customer-footer .tab:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}.liff-wrap{padding-bottom:var(--customer-footer-space)}.slot-btn.time{position:relative}.slot-btn.time.rec{border-color:var(--gold-light);background:#fffaf0}.rec-mark{position:absolute;top:-8px;right:4px;padding:0 6px;font-size:10px;line-height:16px;color:#fff;background:var(--gold);border-radius:999px}.price-card .price-board{max-width:360px;border-collapse:separate;border-spacing:0}.price-card .price-board thead th:first-child,.price-card .price-board thead th:nth-child(2){width:30%}.price-card .price-board thead th:nth-child(3){width:40%}.price-card .price-board td,.price-card .price-board th{padding:10px 4px;vertical-align:middle}.price-card .price-board tbody th{font-size:12px;padding-left:0}.price-card .price-board:lang(ja) tbody th{white-space:nowrap;overflow-wrap:normal}.price-card .price-board thead th{font-size:clamp(10px,2.8vw,12px);white-space:normal}.price-card .price-board td{height:62px}.price-card .price-board td.regular{font-size:12px}.price-card .price-board td.campaign{font-size:18px}.price-card .price-board td .yen{display:inline-flex;align-items:baseline;justify-content:center;gap:3px;white-space:nowrap}.price-card .price-board td .yen .tax{display:inline-block;max-width:32px;margin:0;font-size:8px;line-height:1.2;white-space:normal;text-align:left}.price-card .price-board td.campaign,.price-card .price-board thead th.campaign{border-left:1px solid var(--gold-light);border-right:1px solid var(--gold-light);background:#fcf7ea}.price-card .price-board thead th.campaign{border-top:1px solid var(--gold-light);border-radius:9px 9px 0 0;color:var(--gold);font-weight:700}.price-card .price-board tbody tr:last-child td.campaign{border-bottom:1px solid var(--gold-light);border-radius:0 0 9px 9px}@media(max-width:359px){.price-card .price-board td,.price-card .price-board th{padding:8px 2px}.price-card .price-board tbody th{font-size:11px}.price-card .price-board td.regular{font-size:10px}.price-card .price-board td.campaign{font-size:16px}.price-card .price-board td .yen{gap:2px}.price-card .price-board td .yen .tax{font-size:7.5px;max-width:24px}}.language-switcher{grid-template-columns:minmax(72px,96px) minmax(0,1fr);align-items:center}.language-switcher .language-home{grid-row:1;width:100%;height:76px}.language-home-mark{width:42px;height:41px}.language-switcher .language-home-mark img{width:86px}.language-select-label{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px 12px;min-width:0;padding:10px 14px;font:13px var(--sans);color:var(--navy)}.language-select{width:min(100%,220px);min-width:0;min-height:44px;padding:8px 32px 8px 12px;border:1px solid #d8cdb6;border-radius:6px;background:#fff;color:var(--navy);font:16px var(--sans)}.language-select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media(max-width:359px){.language-select-label{padding:8px;gap:4px}}.customer-footer-html{aspect-ratio:2500/583}.group-entry{margin:0 0 22px;border-color:var(--gold);padding:16px;text-align:left;line-height:1.6}.group-entry small{display:block;margin-top:6px;font-size:13px;font-weight:400;color:#6c6c64}.group-booking,.group-reservations{min-width:0;overflow-wrap:anywhere}.group-step-note{color:#77766e;margin:0 0 22px}.group-person-list{display:grid;grid-gap:18px;gap:18px;margin:20px 0}.group-person{min-width:0;margin:0;padding:18px;border:1px solid #d8cdb6;border-radius:12px;background:#fff}.group-person legend{padding:0 8px;font-weight:700}.group-person h3,.group-person h4{margin:0 0 12px;font-size:17px;line-height:1.6}.group-edit-contact{margin:0 0 18px;min-height:44px;white-space:normal}.group-line-help input,.group-person input,.group-person select,.group-person textarea{max-width:100%;min-width:0;box-sizing:border-box}.group-check{display:flex;align-items:flex-start;gap:12px;margin:16px 0 20px;line-height:1.7}.group-check input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;margin:3px 0 0;accent-color:var(--navy)}.group-booking .btn-block,.group-management>.btn-block{margin-top:20px;min-height:48px;white-space:normal}.group-hour-grid,.group-minute-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin:18px 0}.group-hour-grid .btn,.group-minute-grid .btn{min-height:48px;padding:10px 6px;white-space:normal;font-size:15px}.group-price-lines{margin:16px 0 0;font-size:14px}.group-price-lines>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:8px 0}.group-price-lines dt{flex:1 1;min-width:0}.group-price-lines dd{margin:0;flex:0 1 auto;text-align:right}.group-price-total{border-top:1px solid #e2dac8;padding-top:10px;font-weight:700}.group-grand-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:18px;margin:22px 0;background:#f6f0e2;border-radius:10px}.group-grand-total strong{font-size:22px;text-align:right}.group-grand-total small{font-size:12px;font-weight:400}.group-reservations{margin:20px 0 28px;padding-bottom:12px;border-bottom:1px solid #ded5c3}.group-management{display:grid;grid-gap:16px;gap:16px;margin:22px 0;padding:18px;border:1px solid #c9ab6c;border-radius:14px}.group-management>h4{margin:0;font-size:18px}.group-management>p{margin:0}.group-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.group-actions .btn{min-height:44px;white-space:normal}.group-line-help{border:1px solid #d8cdb6;border-radius:10px;background:#faf8f1;padding:14px;margin:18px 0 0}.group-line-help p{margin:0 0 12px}.group-line-help .btn{margin-top:12px;white-space:normal}.group-line-help input{width:100%;padding:12px}@media(max-width:399px){.group-management,.group-person{padding:14px}.group-grand-total{padding:14px;gap:10px}.group-grand-total strong{font-size:19px}.group-price-lines{font-size:13px}.group-actions .btn{width:100%}}.coupon-entry-quiet{margin:0 0 18px;padding:0;border:0;background:transparent}.coupon-entry-quiet>summary{width:-moz-fit-content;width:fit-content;min-height:44px;padding:11px 0;color:var(--muted);font-size:13px;cursor:pointer;line-height:1.6}.coupon-entry-quiet[open]>.coupon-entry-body{margin-top:8px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#faf8f2}.coupon-entry-body>label{display:block;margin-bottom:10px;font-size:14px}.coupon-entry-body .coupon-controls{display:flex;flex-wrap:wrap;gap:10px}.coupon-entry-body .coupon-controls input{min-width:0;flex:1 1 150px;width:100%;font-size:16px}.coupon-entry-body .coupon-controls .btn{flex:0 1 auto;min-height:44px;white-space:normal}.coupon-entry-body p{margin:12px 0 0}.coupon-preview-prices{margin:0 0 22px;padding:12px 16px;border:1px solid var(--line);border-radius:10px}.coupon-preview-prices>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:5px 0;font-size:14px}.coupon-preview-prices .yen .amount{font-size:18px}.time-course-day-price{padding:10px 16px;text-align:right;font-size:14px;border-bottom:1px solid var(--line)}.time-lane-price{margin-top:5px;font-size:13px}.time-choice-price{margin-top:7px;font-size:14px}.time-choice-price .yen .amount,.time-lane-price .yen .amount{font-size:inherit}.time-choice-price .yen .tax,.time-lane-price .yen .tax{font-size:10px}@media(max-width:359px){.coupon-entry-quiet[open]>.coupon-entry-body{padding:12px}.coupon-controls .btn{padding:9px 12px}.coupon-preview-prices{padding:10px 12px}.coupon-preview-prices .yen .amount{font-size:16px}}