/* Updated: 2026-10-20 JST. Data-specific adjustments only; base layout matches shop-sample. */
.curves-store .curves-application{position:relative;width:100%;min-width:0;animation:curves-poyopoyo 3s ease-out infinite;transition:opacity .18s;}
/* Existing brand speech bubble: white fill, brand outline, 12px tail. */
.curves-store .curves-cta-catch{display:block;position:relative;z-index:2;margin:0 0 -7px;text-align:center;text-decoration:none;line-height:21.6px;font-weight:700;}
.curves-store .curves-cta-catch>span{position:relative;display:inline-block;width:fit-content;padding:4px 8px;background:#fff;font-size:16px;line-height:21.6px;font-weight:700;border:2px solid #7e1285;color:#7e1285;border-radius:4px;z-index:1;}
.curves-store .curves-cta-catch>span::before{content:"";position:absolute;bottom:-3px;left:50%;width:12px;height:12px;box-sizing:border-box;background:#fff;rotate:135deg;translate:-50% 0;z-index:-1;}
.curves-store .curves-cta-catch>span::after{content:"";position:absolute;bottom:-6px;left:50%;width:12px;height:12px;box-sizing:border-box;border:2px solid;border-color:#7e1285 #7e1285 transparent transparent;rotate:135deg;translate:-50% 0;z-index:-2;}
.curves-store .hero-desktop-actions .curves-cta-catch>span{font-size:14px;}
.curves-store .sidebar-actions .curves-cta-catch>span{font-size:13px;padding-inline:2px;}
.curves-store .curves-application .floating-main{font-weight:700;text-align:center;white-space:normal;line-height:1.5;overflow-wrap:anywhere;}
.curves-store .sidebar-actions{padding:20px 14px;}
.curves-store .sidebar-actions .floating-actions{display:flex;flex-direction:column;gap:10px;}
.curves-store .curves-campaign-detail{width:100%;max-width:none;margin:0 0 32px;background:#f4f5f7;border-radius:0;}
.curves-store .curves-campaign-detail>a{display:block;}
.curves-store #about .curves-external-content.body-copy{width:100%;max-width:none;margin-inline:0;color:#333;font-size:16px;line-height:1.5;}
.curves-store .curves-campaign-detail img{display:block;width:100%;max-width:700px;height:auto;margin:auto;border-radius:0;}
.curves-store #about .curves-external-content img{max-width:100%;height:auto;margin:18px auto;}
.curves-store #about .curves-external-content .point,.curves-store #about .curves-external-content .sub_point{margin:0 0 32px;}
.curves-store #about .curves-external-content .point_title{font-weight:700;font-size:24px;color:#00a0e9;line-height:1.4;margin:0 0 20px;}
.curves-store #about .curves-external-content .point_catch{font-weight:700;font-size:18px;color:#7e1285;line-height:1.4;margin:20px 0 12px;}
.curves-store #about .curves-external-content p{font-size:inherit;line-height:inherit;}
.curves-store .curves-movie{width:100%;max-width:800px;margin:auto;}
.curves-store .curves-movie iframe{width:100%;height:auto;aspect-ratio:16/9;border:0;}
.curves-store .curves-attention{margin:24px 0;padding:18px;border:1px solid var(--red);}
.curves-store .curves-measurement-pixel{position:absolute;width:1px;height:1px;pointer-events:none;}
.curves-store .breadcrumbs{background:#3d3938;color:#fff;padding:8px 20px;font-size:14px;line-height:1.6;}
.curves-store .breadcrumbs .inner{max-width:1200px;margin:auto;}
.curves-store .breadcrumbs span{color:#ffe000;font-weight:700;}
.curves-store .breadcrumbs a{color:inherit;}
.curves-store .facility-pictogram svg{stroke-width:1;}
.curves-store .curves-fixed-inner{width:100%;max-width:1200px;margin:auto;}
.curves-store .fixed-cta .curves-cta-catch{position:absolute;bottom:100%;left:0;width:100%;margin:0 0 -7px;pointer-events:auto;}
.curves-store .fixed-cta .floating-actions{display:flex;gap:10px;}
.curves-store .fixed-cta .floating-main{flex:1;min-width:0;}
.curves-store .asreet-sp-header #asreet-search-panel #gnavi_box{display:block;}
@media(max-width:1099px){
 .curves-store .curves-cta-catch{line-height:25.2px;}
 .curves-store .curves-cta-catch>span{font-size:14px;line-height:25.2px;}
 .curves-store .sidebar-actions{display:none;}
 .curves-store .breadcrumbs{font-size:12px;padding:7px 16px;}
 .curves-store #about .curves-external-content.body-copy{font-size:14px;line-height:1.5;color:#3e3a39;}
 .curves-store #about .curves-external-content .point_title{font-size:18px;line-height:1.4;}
 .curves-store #about .curves-external-content .point_catch{font-size:16px;line-height:1.4;}
 .curves-store .fixed-cta{padding:10px 12px calc(10px + env(safe-area-inset-bottom));}
 .curves-store .fixed-cta .floating-main{min-height:48px;padding:10px 8px;font-size:16px;}
}

.curves-store .breadcrumbs .inner{text-align:left;}

.curves-store .portal-footer .adsense_sp{max-width:100%;overflow:hidden;text-align:center;}

/* The motion and bubble outline follow the existing Curves CTA. */
@keyframes curves-poyopoyo{0%,40%,60%,80%,100%{transform:scale(1)}50%,70%{transform:scale(.95)}}
@media(prefers-reduced-motion:reduce){.curves-store .curves-application{animation:none;}}
.curves-store .curves-recommended{margin:0 0 30px;padding:20px;background:#f6edf7;}
.curves-store .curves-recommended h3{margin:0 0 12px;color:#7e1285;font-size:20px;font-weight:700;}
.curves-store .curves-before-after{width:100%;text-align:center;background:#F8F4E8;margin:0 0 32px;border-radius:0;display:flow-root;}
.curves-store .curves-before-after>:last-child{margin-bottom:0;}
.curves-store .curves-before-after p{margin:0 0 20px;}
.curves-store .curves-before-after img{display:block;width:auto;max-width:100%;height:auto;margin-inline:auto;}

/* Match the store FV without equal rows stretching the image for a long CTA. */
@media(min-width:1100px){
 .curves-store #top.acf-store-top .hero{grid-template-rows:auto 1fr;min-height:480px;}
}
/* Keep the same clear photo area as the store reference; details overlay its bottom. */
@media(max-width:1099px){
 .curves-store #top.acf-store-top .hero{grid-template-rows:minmax(387px,auto) auto;}
 .curves-store #top.acf-store-top .hero:not(.hero-no-photo) .hero-copy{align-self:end;padding-top:16px;}
}
@media(max-width:767px){
 .curves-store #top.acf-store-top .hero{grid-template-rows:minmax(327px,auto) auto;}
}
@media(min-width:768px){
 .curves-store :is(.curves-campaign-detail,.curves-before-after){padding-block:20px;}
}
.curves-store .curves-application:focus-within{opacity:.82;}
@media(hover:hover){
 .curves-store .curves-application:hover{opacity:.82;}
 .curves-store .curves-application :is(.floating-main,.curves-cta-catch):hover{transform:none;box-shadow:none;filter:none;text-decoration:none;}
}
.curves-store .curves-cta-catch:focus-visible{outline:2px solid currentColor;outline-offset:2px;}
@media(max-width:1099px){
 .curves-store .asreet-page-top{bottom:calc(var(--curves-fixed-height,0px) + 22px);}
}

/* 2026-10-20: body CTA uses the same 7px bubble overlap as the hero. */
.curves-store .article-cta .curves-application .floating-actions{margin-top:0;}

/* 2026-10-21: 施設についての小見出しは店舗テーマの1.4へ。文字サイズは維持。 */
.curves-store #about .curves-recommended h3 { line-height:1.4; }

/* 2026-10-21: FV・施設写真・外観写真は上端を基準にトリミング。 */
body.curves-store img.asreet-photo-cover { object-position:center top; }
