/* Shared adaptation for real store data; loaded after the approved Jujo styles. */
[data-brand-preview] .promo--campaign .promo__bubble{padding:30px 32px 36px}
[data-brand-preview] .ft__logo-img{width:233px;height:auto;max-width:100%}
[data-brand-preview] .ft__store>span{display:block;text-wrap:balance}
[data-brand-preview] .local__line{display:block;text-wrap:balance}
[data-brand-preview] .local__phrase{display:inline-block;max-width:100%;text-wrap:balance;word-break:normal;overflow-wrap:anywhere;vertical-align:top}
[data-brand-preview] .local__title-phrase{display:inline-block;max-width:100%;text-wrap:balance}
[data-brand-preview] .local__card > p{overflow-wrap:anywhere}
[data-brand-preview] .local__hours-note{display:block;margin-top:8px;font-size:11px;line-height:1.7;color:#555}
[data-brand-preview] .brand-local-excerpt{text-align:left;line-height:1.95;margin:0 0 1.4em;overflow-wrap:anywhere}
.brand-local-more{text-align:left;border-top:1px solid #d4ddcf;padding-top:20px;margin-top:24px;font-size:14px}
.brand-local-more summary{cursor:pointer;color:#036242;font-weight:700;text-align:center;list-style-position:inside}
.brand-local-more > div{margin-top:24px}
.brand-local-more p{line-height:1.9}
[data-brand-preview] .whohelp__context{max-width:38em;margin-inline:auto;white-space:normal;text-wrap:wrap}
[data-brand-preview] .store-name-part,
[data-brand-preview] .heading-phrase{display:inline-block;white-space:nowrap}
[data-brand-preview] .director__text{white-space:normal}
[data-brand-preview] .commit__statement,[data-brand-preview] .commit__date{display:block;text-wrap:balance}
[data-brand-preview] .commit__phrase{display:inline-block;white-space:nowrap}
[data-brand-preview] .commit__ttl{min-width:0;text-wrap:balance}
[data-brand-preview] .access__info{min-width:0;container-type:inline-size}
[data-brand-preview] .access__map{min-width:0}
[data-brand-preview] .access__name{overflow-wrap:anywhere}
[data-brand-preview] .hours__reservation-content > span,
[data-brand-preview] .figma-cta--reserve .figma-cta__content > span{display:flex;flex-wrap:wrap;justify-content:center;gap:0 .15em;min-width:0;line-height:1.5}
[data-brand-preview] .hours__reservation-content > span > span,
[data-brand-preview] .figma-cta--reserve .figma-cta__content > span > span{display:inline-block}
[data-brand-preview] .hours__btnwrap .btn,[data-brand-preview] .figma-cta--reserve{height:auto;min-height:45px}
[data-brand-preview] .hours__btnwrap .btn,[data-brand-preview] .figma-cta--reserve{justify-content:center;gap:0;padding:8px 42px}
[data-brand-preview] .hours__reservation-content,[data-brand-preview] .figma-cta--reserve .figma-cta__content{display:block;flex:1 1 auto;width:100%;min-width:0;max-width:100%}
[data-brand-preview] .hours__reservation-icon,[data-brand-preview] .figma-cta--reserve .figma-cta__icon{position:absolute;left:16px;top:50%;transform:translateY(-50%)}
[data-brand-preview] .hours__btnwrap .btn>i,[data-brand-preview] .figma-cta--reserve>i{position:absolute;right:16px;top:50%;transform:translateY(-50%)}
[data-brand-preview] .hours__table{table-layout:auto}
[data-brand-preview] .price__table td span{display:block;font-size:.8em;font-weight:400;line-height:1.7}
[data-brand-preview] .price__table td.price__yen span{font-weight:600}
[data-brand-preview] .column__card img{width:100%;aspect-ratio:700/368;object-fit:cover}
@media(min-width:768px){
 [data-brand-preview] .whohelp__head{padding-top:64px}
 [data-brand-preview] .whohelp__context{max-width:20em}
 /* Match the brand TOP: scale the complete 1440:750 composition to the viewport. */
 [data-brand-preview] .fv__desktop{width:100%;max-width:none}
 [data-brand-preview] .fv__desk-name{font-size:3.45cqw;letter-spacing:0;white-space:nowrap}
 [data-long-brand="true"] .fv__desk-name{font-size:2.7cqw}
 [data-brand-preview] .fv__desk-store{font-size:min(5.9cqw,calc(42cqw / var(--clinic-chars)));line-height:1.4;margin-top:0!important;letter-spacing:0;white-space:nowrap}
 [data-brand-preview] .fv__desk-access{font-size:1.65cqw;max-width:31em;white-space:normal;text-wrap:balance}
}
@media(max-width:767px){
 /* Keep the mascot and the entire testimonial heading in separate columns. */
 [data-brand-preview] .joy__head{--joy-mascot-width:clamp(88px,28vw,110px)}
 [data-brand-preview] .joy__mascot{width:var(--joy-mascot-width);height:auto;aspect-ratio:120.785 / 152.93;left:-8px}
 [data-brand-preview] .joy__catch{width:calc(100% - var(--joy-mascot-width) - 4px)}
 /* Reserve the mascot width for both guarantee text and campaign labels. */
 [data-brand-preview] .promo__head{padding-left:68px}
 [data-brand-preview] .promo--campaign .promo__bubble{padding:0}
 [data-brand-preview] .whohelp__context{font-size:min(clamp(18px,5.8vw,24px),calc((100vw - 48px) / var(--context-chars) - 1px))}
 [data-brand-preview] .access__name{font-size:min(18px,calc(100cqw / max(var(--brand-chars),var(--clinic-chars)) - 1px))}
 [data-brand-preview] .common__clinic,
 [data-brand-preview] .common__suffix{display:block}
 [data-brand-preview] .common__clinic{white-space:nowrap;font-size:min(1em,calc((100vw - 48px) / var(--clinic-chars) - 1px))}
 [data-brand-preview] .sticky-bar__half{justify-content:center;gap:clamp(6px,1.8vw,10px);padding-inline:8px}
 [data-brand-preview] .sticky-bar__tel{padding-left:clamp(52px,13vw,64px)}
 [data-brand-preview] .sticky-bar__label{font-size:clamp(13px,3.8vw,20px);letter-spacing:0}
 [data-brand-preview] .sticky-bar__arrow{width:clamp(20px,5vw,28px);height:clamp(20px,5vw,28px);flex-basis:clamp(20px,5vw,28px);font-size:clamp(14px,3.4vw,20px)}
 /* Keep each mascot and its message together at wider mobile widths. */
 [data-brand-preview] .promo__head,
 [data-brand-preview] .joy__head{max-width:350px;margin-inline:auto}
 [data-brand-preview] .fv__sp-copy{width:79%;left:3.846%;right:auto}
 [data-brand-preview] .fv__sp-ttl{font-size:6.15cqw;white-space:normal;line-height:1.4;letter-spacing:0}
 [data-brand-preview] .fv__brand{display:block;white-space:nowrap}
 [data-long-brand="true"] .fv__brand{font-size:5.1cqw}
 [data-brand-preview] .fv__sp-ttl b{display:block;font-size:min(10.256cqw,calc(74cqw / var(--clinic-chars)));line-height:1.5;letter-spacing:0;white-space:nowrap}
 [data-brand-preview] .fv__sp-access{font-size:3.05cqw;white-space:normal;max-width:100%;line-height:1.5;letter-spacing:0;text-wrap:balance}
 [data-brand-preview] .local__title{font-size:clamp(21px,6.1vw,27px);text-wrap:balance}
 [data-brand-preview] .brand-local-excerpt{font-size:13px;letter-spacing:.03em}
 [data-brand-preview] .common__title{font-size:clamp(20px,5.8vw,26px);text-wrap:balance;line-height:1.5}
 [data-brand-preview] .hours__table th,[data-brand-preview] .hours__table td{padding-inline:2px}
 [data-brand-preview] .hours__note{overflow-wrap:anywhere}
}
.review-index{margin:0;background:#f5f4ea;color:#163c31;font-family:"Noto Sans JP",system-ui,sans-serif}
@media(max-width:375px){
 [data-brand-preview] .proof__title-sm{font-size:13px}
 [data-brand-preview] .proof__l1 em{font-size:16px}
 [data-brand-preview] .giftintro__title{font-size:clamp(15px,4.7vw,17px);letter-spacing:.02em}
}
.review-index *{box-sizing:border-box}
.review-index main{max-width:1160px;margin:auto;padding:64px 28px}
.review-label{font-size:12px;letter-spacing:.14em;font-weight:700;color:#827032}
.review-index h1{font-size:clamp(30px,4vw,52px);line-height:1.45;margin:18px 0 24px;letter-spacing:.04em}
.review-intro,.review-foot{font-size:14px;line-height:1.9;color:#52675d}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px}
.review-card{border:1px solid #d6dfd5;border-radius:18px;background:white;text-decoration:none;color:inherit;padding:25px;display:flex;flex-direction:column;align-items:flex-start;gap:22px;transition:transform .2s,box-shadow .2s}
.review-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #163c3112}
.review-card .brand{font-size:12px;font-weight:600;min-height:36px;line-height:1.6}
.review-card img{max-width:100%;height:auto}
.review-card h2{font-size:18px;margin:0;font-weight:700;line-height:1.6}
.review-card .open{display:block;margin-top:auto;padding:12px 0 0;border-top:1px solid #e5e9e1;width:100%;font-size:13px;font-weight:700;color:#036242}
.review-foot{margin-top:28px;font-size:12px}
@media(max-width:850px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.review-grid{grid-template-columns:1fr}.review-index main{padding:36px 20px}.review-card .brand{min-height:0}}

/* Live text has no baked-in cream rectangle over the white speech bubble. */
[data-brand-preview] .promo__campaign-label{display:inline-block;background:transparent;font-size:22px;font-weight:900;line-height:1.4;letter-spacing:.02em;white-space:nowrap}
@media(max-width:767px){
 [data-brand-preview] .promo__campaign-label{font-size:clamp(16px,4.9vw,20px)}
}
/* Measure long names against their actual column, including narrow scrollbar widths. */
[data-brand-preview] .whohelp__head{container-type:inline-size}
@media(max-width:767px){
 [data-brand-preview] .whohelp__context{font-size:min(clamp(17px,5.6vw,24px),calc(100cqw / var(--context-chars) - 1.6px));letter-spacing:.02em}
}
@media(max-width:375px){
 [data-brand-preview] .commit .sec-title{font-size:clamp(18px,5.65vw,21px);letter-spacing:.02em}
}
[data-brand-preview] .common__box{container-type:inline-size}
@media(max-width:767px){
 [data-brand-preview] .common__clinic{font-size:min(1em,calc(100cqw / var(--clinic-chars) - 1.4px));letter-spacing:.02em}
 [data-brand-preview] .figma-cta__content,
 [data-brand-preview] .hours__reservation-content{white-space:normal;text-wrap:balance}
 [data-brand-preview] .figma-cta__content>span>span,
 [data-brand-preview] .hours__reservation-content>span>span{max-width:100%;white-space:normal}
}
