/* 写真・料金・予約への共通入口。既存の白／黒／トープに統一。 */
.offer-switch{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:15px 0 12px;font:13px/1.6 var(--ub-reading-font,sans-serif);letter-spacing:0}
.offer-switch>span{color:#62574e;margin-right:4px}.offer-switch button,.budget-option{appearance:none;font:inherit;min-height:44px;padding:10px 17px;border:1px solid #baac9b;border-radius:5px;background:#fff;color:#302a26;cursor:pointer;letter-spacing:0}
.offer-switch button[aria-pressed=true],.budget-option[aria-pressed=true]{color:#fff;background:#302a26;border-color:#302a26}
.offer-caption,.discovery-note{font:12px/1.8 var(--ub-reading-font,sans-serif);color:#665b51;letter-spacing:0;margin:10px 0}
.offer-caption a,.discovery-note a{text-decoration:underline;text-underline-offset:3px}
.budget-options{display:flex;flex-wrap:wrap;gap:6px;padding:2px 12px 12px}.budget-option{font-size:12px;padding-inline:12px}
.catalog-page .treatment-card{grid-template-areas:'photo name' 'photo description' 'photo price' 'photo more'}
.catalog-price{grid-area:price;min-width:0;font-family:var(--ub-reading-font,sans-serif);letter-spacing:0;padding-top:8px;border-top:1px solid #e3dacf}
.offer-period{display:block;color:#76634f;font:11px/1.5 var(--ub-reading-font,sans-serif);margin:0 0 4px;letter-spacing:.03em}
.offer-amount{display:block;font:500 26px/1.25 var(--ub-reading-font,sans-serif);color:#272421;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.offer-amount small{font-size:11px;font-weight:400;letter-spacing:0;margin-left:5px}.offer-description,.offer-condition{display:block;font:12px/1.7 var(--ub-reading-font,sans-serif);letter-spacing:0;margin:5px 0 0;color:#544c45}.offer-condition{font-size:11px;color:#766b60}
.discovery{margin:30px 0 34px;padding:25px;border:1px solid #d6c9bb;border-radius:8px;background:linear-gradient(140deg,#faf7f2,#fff 60%);text-align:left;letter-spacing:0}
.discovery .discovery-kicker{font:11px/1.5 var(--ub-reading-font,sans-serif);letter-spacing:.12em;color:#7a6550;margin:0 0 8px}
.discovery h2{font:500 24px/1.6 var(--ub-heading-font,serif);letter-spacing:.025em;margin:0 0 8px;color:#292622}.discovery .discovery-intro{font:13px/1.8 var(--ub-reading-font,sans-serif);margin:0 0 14px;color:#61564d}
.discovery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.discovery-card{display:flex;flex-direction:column;min-width:0;border:1px solid #ddd2c7;border-radius:6px;background:#fff;overflow:hidden}
.discovery-photo{display:flex;align-items:center;justify-content:center;height:156px;background:#fbfaf7;text-decoration:none;color:#7e6a51;font:18px/1.6 var(--ub-reading-font,sans-serif)}
.discovery-photo img{display:block;width:100%;height:100%;padding:13px;object-fit:contain;mix-blend-mode:multiply}
.discovery-copy{padding:16px;display:flex;flex:1;flex-direction:column}.discovery h3{font:500 16px/1.6 var(--ub-reading-font,sans-serif);letter-spacing:0;color:#302a26;margin:0 0 5px}.discovery .discovery-difference{font:12px/1.7 var(--ub-reading-font,sans-serif);color:#685b4d;margin:0 0 13px}.discovery-price{margin-top:auto}
.discovery-actions{display:grid;grid-template-columns:1fr;gap:7px;margin-top:14px}.discovery .discovery-button,.discovery-button{display:flex;align-items:center;justify-content:center;min-height:45px;padding:10px 12px;border:1px solid #332d28;border-radius:4px;background:#332d28;color:white;text-decoration:none;text-align:center;font:13px/1.6 var(--ub-reading-font,sans-serif);letter-spacing:0;cursor:pointer}
.discovery .discovery-detail{display:flex;align-items:center;justify-content:center;min-height:44px;font:12px/1.6 var(--ub-reading-font,sans-serif);border:1px solid #c9baaa;border-radius:4px;background:#f7f2eb;color:#584735;text-decoration:none;padding:9px}
.discovery-card a::after{content:none!important}.discovery [hidden],.catalog-page [hidden]{display:none!important}
.guide-explainer{border:1px solid #ded5ca;border-radius:6px;margin:14px 0;background:#fff;overflow:hidden}.guide-explainer>summary{display:flex;align-items:center;gap:12px;min-height:66px;list-style:none;cursor:pointer;padding:17px 20px}.guide-explainer>summary::-webkit-details-marker{display:none}.guide-explainer>summary::after{content:'＋';font:20px/1 sans-serif;color:#796552;margin-left:auto;flex:none}.guide-explainer[open]>summary::after{content:'−'}.guide-explainer>summary h2{font:500 18px/1.6 var(--ub-reading-font,sans-serif);letter-spacing:0;margin:0;min-width:0}.guide-explainer>summary .snum{display:none}.guide-explainer-body{padding:0 22px 22px}.guide-explainer .sec{padding:0!important;margin:0;border:0}.guide-explainer[open]>summary{border-bottom:1px solid #e9e2d8;margin-bottom:18px}.guide-explainer:target{scroll-margin-top:100px}
.first-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.first-offer-date{display:inline-block;font:12px/1.5 var(--ub-reading-font,sans-serif);padding:6px 10px;background:#ece1d3;color:#5b4228;border-radius:3px;margin:0 0 12px}
.live-openings{margin:26px 0!important}.live-openings .discovery-card{padding:18px}.live-slot-date{font:500 22px/1.4 var(--ub-reading-font,sans-serif);letter-spacing:0;color:#342b22;margin:0 0 12px}.live-slot-date small{font-size:15px}.live-openings h3{font-size:16px}.live-openings .offer-amount{font-size:22px}.live-openings .discovery-button{margin-top:auto}.live-openings .offer-condition{margin-bottom:12px}
.home-case-entry{max-width:1100px;margin:28px auto 36px;padding:0 32px;text-align:left}.home-case-entry-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:14px}.home-case-entry h2{font:500 23px/1.6 var(--ub-heading-font,serif);letter-spacing:.04em;margin:0}.home-case-entry-head>a{font:12px/1.6 var(--ub-reading-font,sans-serif);color:#69533d;text-decoration:underline;text-underline-offset:4px;flex:none;padding:10px 0}.home-case-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-case-tile{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:16px;border:1px solid #d7c7b5;background:linear-gradient(135deg,#fff,#f7f1e9);border-radius:6px;overflow:hidden;text-decoration:none!important;color:#302923;padding:12px}.home-case-tile img{width:112px;height:140px;object-fit:contain;background:white}.home-case-tile span{min-width:0;font:500 15px/1.7 var(--ub-reading-font,sans-serif);letter-spacing:0}.home-case-tile small{display:block;font-size:11px;font-weight:400;margin-top:9px;color:#74634f}.case-detail-dialog{width:min(620px,calc(100% - 28px));max-height:90dvh;padding:0;border:1px solid #c9b79e;border-radius:8px;color:#332b23;background:#fffaf3}.case-detail-dialog::backdrop{background:rgba(30,22,18,.7)}.case-detail-close{position:sticky;top:0;display:flex;justify-content:flex-end;padding:8px 12px;background:#fffaf3;z-index:2}.case-detail-close button{min-height:44px;padding:9px 17px;background:#302820;color:white;border:0;border-radius:4px;font:13px/1.5 sans-serif;cursor:pointer}.case-detail-content{padding:0 20px 24px}.case-detail-content>img{display:block;width:100%;max-height:55dvh;object-fit:contain}.case-detail-content .case-cap{padding:18px 0!important}.case-detail-content .case-cap p{font:13px/1.9 var(--ub-reading-font,sans-serif)}.case-detail-content .case-cap h3{font-size:21px}.case-detail-content a{color:#60472d;text-decoration:underline;text-underline-offset:3px}.case-detail-content .case-menu-link{display:block;padding:13px;text-align:center;background:#342a22;color:#fff;border-radius:4px;text-decoration:none}.case-detail-content [hidden]{display:none!important}
.offer-switch button:focus-visible,.budget-option:focus-visible,.discovery a:focus-visible,.guide-explainer>summary:focus-visible,.home-case-tile:focus-visible{outline:2px solid #81623e;outline-offset:4px}
@media(max-width:700px){.discovery{padding:18px 14px;margin:24px 0}.discovery h2{font-size:22px}.discovery-grid{grid-template-columns:1fr;gap:12px}.discovery-card{display:grid;grid-template-columns:76px minmax(0,1fr);padding:14px;gap:12px}.discovery-photo{height:110px;align-self:start;border-radius:4px;overflow:hidden}.discovery-photo img{padding:5px}.discovery-copy{padding:0}.discovery h3{font-size:16px}.discovery .discovery-difference{margin-bottom:10px}.offer-amount{font-size:25px}.discovery-actions{gap:6px;margin-top:12px}.discovery .discovery-detail{font-size:11px}.guide-explainer>summary{padding:15px}.guide-explainer>summary h2{font-size:17px}.guide-explainer-body{padding:0 16px 20px}.live-openings .discovery-card{display:flex;gap:0}.live-slot-date{font-size:24px}.home-case-entry{padding:0 20px;margin:24px auto}.home-case-entry h2{font-size:21px}.home-case-entry-head>a{font-size:11px}.home-case-tiles{gap:10px}.home-case-tile{display:block;padding:10px}.home-case-tile img{width:100%;height:auto;aspect-ratio:4/5;max-height:190px;margin-bottom:9px}.home-case-tile span{font-size:13px}.home-case-tile small{font-size:10px;margin-top:6px}.home-case-entry .discovery-note{font-size:10px}.catalog-page .treatment-card{row-gap:8px}.catalog-price{padding-top:6px}.catalog-price .offer-amount{font-size:25px}.offer-switch{gap:6px}.offer-switch button{padding-inline:13px}}
@media(prefers-reduced-motion:no-preference){.discovery-button,.home-case-tile{transition:background .18s,border-color .18s}.discovery-button:hover{background:#5f4b38}.home-case-tile:hover{border-color:#987957}}
/* Common color-system rules also style discovery links; retain a clear booking priority here. */
.ub-colors .discovery .discovery-actions>a.discovery-button{background:linear-gradient(135deg,#483d34,#2d2824);border-color:#332d28;color:#fff}
.ub-colors .discovery .discovery-actions>a.discovery-button:hover{background:#5b4736;color:#fff}
.ub-colors .discovery .discovery-actions>a.discovery-detail{background:#f8f5f0;border-color:#c5b5a2;color:#64503d}
.discovery-grid:has(>.discovery-card:only-child){grid-template-columns:minmax(0,1fr);max-width:560px}
@media(max-width:700px){
 .guide-discovery .discovery-card{grid-template-areas:'photo name' 'photo difference' 'photo price' 'actions actions';row-gap:5px;column-gap:12px}
 .guide-discovery .discovery-photo{grid-area:photo}
 .guide-discovery .discovery-copy{display:contents}
 .guide-discovery h3{grid-area:name;margin:0}
 .guide-discovery .discovery-difference{grid-area:difference;margin:0 0 5px}
 .guide-discovery .discovery-price{grid-area:price;margin:0}
 .guide-discovery .discovery-actions{grid-area:actions;grid-template-columns:1fr 1fr;margin-top:10px}
 .guide-discovery .discovery-actions a{padding:10px 5px;font-size:12px}
}
