/* Generated by build_amagasaki_slider_demo.py. Do not edit directly. */
/* Source: 尼崎限定。指定大見出し/口コミ/写真は原稿、料金/FLOW/8カードはHTML/CSS。 */
.slider-demo { --paper: #eaf1e8; --sage: #738b72; --ink: #4e454a; --accent: #ff914d; --space-1: 8px; --space-2: 12px; --space-3: 16px; --space-4: 24px; --space-5: 32px; color: var(--ink); }
.slider-demo .lp-main { max-width: 430px; container-type: inline-size; margin-inline: auto; padding-bottom: max(150px, var(--demo-sticky-space, 150px)); }
.native-carousel { background: var(--paper); padding-bottom: var(--space-4); margin: 0; overflow: clip; container-type: inline-size; }
.original-carousel-heading { overflow: hidden; }
.original-carousel-heading img { display: block; width: 100%; height: auto; }
.swipe-hint { display: flex; align-items: center; justify-content: center; gap: var(--space-1); margin: 0; padding: var(--space-2) var(--space-2) 0; color: #47614b; font: 500 12px/1.7 "Reset Slider Round", sans-serif; text-align: center; }
.swipe-hint::before, .swipe-hint::after { content: ""; flex: 1 1 16px; max-width: 28px; height: 1px; background: #a8bca3; }
.swipe-hint span { white-space: nowrap; }
.swipe-caption-hand { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.slider-track { --slide-gap: 14px; --track-inset: 0px; display: flex; position: relative; align-items: flex-start; gap: var(--slide-gap); width: 100%; height: var(--active-track-height, auto); padding: 16px 0 12px; margin: 0; list-style: none; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--track-inset); scrollbar-width: none; }
.slider-track::-webkit-scrollbar { display: none; }
.slider-track::-webkit-scrollbar-thumb { background: #9eb49d; border-radius: 5px; }
.native-slide, .voice-slide { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; scroll-snap-stop: always; container-type: inline-size; }
.native-slide { display: flex; flex-direction: column; }
.native-slide article { flex: 1; height: auto; display: flex; flex-direction: column; background: transparent; border: 0; border-radius: 0; padding-bottom: 0; overflow: visible; }
.native-carousel .slider-track { align-items: stretch; height: auto; padding-top: 0; }
.native-carousel .slider-window { padding-top: calc(var(--space-5) - 4.296875cqw); }
.reason-surface { flex: 1; display: flex; flex-direction: column; width: 90.5%; margin: 3.4cqw auto 0; border-radius: 4cqw; background: #fff; overflow: hidden; padding-bottom: 2.5cqw; }
.reason-surface .slide-photo { width: 100%; margin: 0; border-radius: 4cqw 4cqw 0 0; }
.reason-surface .slide-copy { width: 90.5%; }
.feature-surface { flex: 1; display: flex; flex-direction: column; padding-bottom: 2.5cqw; }
.reason-card-header { display: flex; align-items: center; min-height: 26cqw; background: linear-gradient(var(--sage),var(--sage)) right center / calc(100% - 13cqw) 24cqw no-repeat; margin-top: 0; }
.reason-number { position: relative; display: flex; flex: 0 0 26cqw; width: 26cqw; height: 26cqw; aspect-ratio: 1; flex-direction: column; align-items: center; justify-content: center; color: #385d49; background: var(--paper); padding: 0; border-radius: 50%; }
.reason-number span, .reason-number b { font-family: "Reset Slider ReasonSerif", serif; font-weight: 700; }
.reason-number span { font-size: 4.4cqw; line-height: 1.4; }
.reason-number b { font-size: 10cqw; line-height: 1.2; }
.reason-card-header h3 { flex: 1; align-self: center; min-width: 0; text-align: center; color: #fff; margin: 0; padding: 1.5cqw 2cqw; font: 700 5.05cqw/1.55 "Reset Slider ReasonSerif", serif; letter-spacing: .025em; overflow-wrap: anywhere; }
.slide-photo { display: block; width: 90.5%; height: auto; margin: 3.4cqw auto 0; object-fit: contain; }
.slide-copy { width: 90.5%; margin: 0 auto; padding: 3.2cqw 0 1.5cqw; background: transparent; font: 500 max(13px, 3.05cqw)/1.85 "Reset Slider Round", sans-serif; letter-spacing: .025em; text-align: left; overflow-wrap: anywhere; }
.slide-copy p { margin: 0; }
.slide-copy p + p { margin-top: .8em; }
.slide-copy .slide-note { margin-top: 1em; font-size: .9em; color: #52614c; }
.keep-together, .pair-phrase { white-space: nowrap; }
.slide-copy em { color: var(--accent); font-weight: inherit; font-style: normal; }
.feature-slide { padding-top: var(--space-2); }
.feature-slide article { margin: 0 3.5cqw; border: 0; border-radius: 4cqw; background: #fff; overflow: visible; }
.feature-card-header { display: flow-root; position: relative; text-align: center; padding: 0 2cqw; }
.feature-number { display: block; width: 58%; margin: calc(-1 * var(--space-2)) auto 3cqw; padding: .7cqw 1cqw; border-radius: 20cqw; background: var(--sage); color: #fff; font: 700 5.2cqw/1.5 "Reset Slider RoundBold", sans-serif; }
.feature-card-header h3 { margin: 0; color: #3b5e4b; font: 700 5.35cqw/1.6 "Reset Slider RoundBold", sans-serif; letter-spacing: .025em; }
.feature-slide .slide-photo { width: 89%; border-radius: 2.3cqw; margin-top: 3.5cqw; }
.feature-slide .slide-copy { width: 93%; padding: 3.2cqw 0 1.5cqw; font-size: max(13px, 3.05cqw); letter-spacing: .025em; }
.slider-track:focus-visible { outline: 3px solid #264c37; outline-offset: -3px; }
.voices-carousel { background: var(--paper); padding-bottom: 22px; }
.voice-slide article { margin: 0; }
.voice-slide img { display: block; width: 100%; height: auto; }
.native-offer { container-type: inline-size; background: var(--paper); padding: 4.3% 0 4%; color: #4e454a; }
.offer-heading { margin: 0 auto .2cqw; width: 72%; line-height: 0; }
.offer-heading img, .benefits-heading img { display: block; width: 100%; height: auto; }
.offer-paper { width: 90.7%; margin: 0 auto; border: max(1.5px,.38cqw) solid var(--sage); border-radius: 2.5cqw; background: #fff; padding: 3.6cqw 6.75cqw 1cqw; }
.offer-availability { margin: 0 0 .3cqw; font: 700 2.9cqw/1.7 "Reset Slider RoundBold", sans-serif; text-align: center; white-space: nowrap; }
.benefits-heading { margin: 0 -4.15cqw 1.8cqw; }
.benefit-list { display: grid; gap: 3.66cqw; }
.benefit-card { display: grid; grid-template-columns: 32% minmax(0,1fr); gap: 2cqw; min-height: 23.7cqw; padding: 1.5cqw 3cqw 2cqw 1.8cqw; background: var(--paper); border-radius: 2cqw; box-shadow: .4cqw .5cqw 0 #d6ddd4; }
.benefit-before h3 { margin: 0 0 .6cqw; border-radius: 1.4cqw; background: var(--sage); color: #fff; text-align: center; font: 700 4.1cqw/1.45 "Reset Slider RoundBold", sans-serif; }
.benefit-before p { margin: 0; font: 700 3.2cqw/1.35 "Reset Slider RoundBold", sans-serif; text-align: center; }
.benefit-before small { display: block; text-align: right; font-size: 1.9cqw; line-height: 1; }
.benefit-before del { position: relative; display: block; color: #303531; font: 500 5.5cqw/1.1 "Reset Slider Sans", sans-serif; text-decoration: none; white-space: nowrap; }
.benefit-before del::after { content: ""; position: absolute; top: 50%; left: -4%; width: 108%; height: .4cqw; background: var(--sage); transform: rotate(-13deg); }
.benefit-before del span { font-size: 3cqw; }
.benefit-before p.benefit-bill { font-size: 3.5cqw; padding-top: .9cqw; line-height: 1.5; }
.benefit-after { position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: .8cqw; color: var(--accent); min-width: 0; }
.benefit-after::before { content: ""; position: absolute; bottom: 1.3cqw; left: 0; right: 0; height: 2.5cqw; border-radius: 2cqw; background: #f6ec62; }
.benefit-after p { position: relative; margin: 0; text-align: center; }
.benefit-caption { font: 700 2.8cqw/1.5 "Reset Slider RoundBold", sans-serif; }
.benefit-price { display: flex; align-items: flex-end; justify-content: center; gap: .3cqw; font: 500 11.8cqw/1 "Reset Slider Sans", sans-serif; letter-spacing: -.04em; }
.benefit-price strong { font: inherit; }
.price-unit { font: 500 4.8cqw/1.05 "Reset Slider Sans", sans-serif; letter-spacing: 0; }
.price-unit small { display: block; font-size: 2.2cqw; white-space: nowrap; }
.benefit-free { margin: 0; line-height: 0; transform: translateY(1.2cqw); }
.offer-condition { margin: 1.5cqw 0 0; text-align: right; font: 500 max(9px,1.65cqw)/1.6 "Reset Slider Sans", sans-serif; }
.native-flow { --flow-number-top: .9cqw; --flow-number-size: 9cqw; --flow-title-size: 7.4cqw; container-type: inline-size; background: var(--paper); padding-bottom: 4cqw; }
.native-flow h2 { margin: 0; padding: 3.2cqw 2cqw; background: var(--sage); color: #fff; font: 700 5cqw/1.25 "Reset Slider SansBold", sans-serif; text-align: center; text-shadow: 0 .3cqw 1.3cqw #0005; font-synthesis: none; }
.native-flow h2 span { font-size: inherit; font-weight: 500; padding-inline: .8cqw; }
.native-flow ol { list-style: none; margin: 0; padding: 9cqw 4cqw 0; }
.flow-step { position: relative; min-height: 22.83cqw; padding: calc(var(--flow-number-top) + (var(--flow-number-size) - var(--flow-title-size)) / 2) 0 1.6cqw 14.7cqw; isolation: isolate; }
.flow-step:not(:last-child)::before { content: ""; position: absolute; z-index: -1; left: 6.7cqw; top: 8cqw; bottom: -4cqw; border-left: .45cqw dotted var(--sage); }
.flow-number { position: absolute; top: var(--flow-number-top); left: 2.3cqw; width: var(--flow-number-size); height: var(--flow-number-size); display: grid; place-items: center; background: var(--sage); color: #fff; border-radius: 50%; font: 900 5.8cqw/1 "Reset Slider SansBlack", sans-serif; font-synthesis: none; }
.flow-photo { position: absolute; z-index: -1; right: 0; top: .2cqw; width: 42%; height: auto; border-radius: 1.5cqw; -webkit-mask-image: linear-gradient(to right,transparent,#000 40%); mask-image: linear-gradient(to right,transparent,#000 40%); }
.flow-copy h3 { display: flex; align-items: center; width: max-content; max-width: calc(100% + 2.14cqw); min-height: var(--flow-title-size); margin: 0 0 2.6cqw -2.14cqw; padding: .6cqw 2.3cqw; border-radius: 10cqw; background: #fff; color: #385c48; font: 700 3.663cqw/1.5 "Reset Slider SansBold", sans-serif; font-synthesis: none; }
.flow-copy p { position: relative; width: 66%; margin: 0; font: 500 max(9px,2.714cqw)/1.42 "Reset Slider Sans", sans-serif; text-shadow: 0 0 .2cqw var(--paper),0 0 .3cqw var(--paper); overflow-wrap: anywhere; }
.flow-copy p span { display: block; }
.slider-demo .native-affiliates { padding: 28px clamp(16px,4vw,32px) 36px; background: #f7f9f5; }
.native-affiliates > h2 { display: block; margin: 0 0 26px; padding: 0; background: none; text-align: center; font-size: 22px; font-weight: 600; color: #3b604c; }
.affiliate-group + .affiliate-group { margin-top: 32px; }
.affiliate-group h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid #cbd8c6; font-size: 17px; color: #3b604c; }
.affiliate-group h3 small { border-radius: 12px; padding: 3px 9px; background: #e8efe4; font-size: 11px; font-weight: 500; }
.affiliate-grid { display: grid; gap: 10px; align-items: start; }
.affiliate-card { min-width: 0; border: 1px solid #dde5d8; border-radius: 12px; background: #fff; overflow: clip; }
.affiliate-card summary { position: relative; display: flex; align-items: center; gap: 13px; min-height: 100px; padding: 13px 40px 13px 13px; cursor: pointer; list-style: none; }
.affiliate-card summary::-webkit-details-marker { display: none; }
.affiliate-card summary img { width: 72px; height: 64px; object-fit: cover; border-radius: 6px; flex-shrink: 0; }
.affiliate-name { min-width: 0; font-size: 13px; line-height: 1.7; font-weight: 500; overflow-wrap: anywhere; }
.affiliate-name small { display: block; font-size: 10px; font-weight: 500; color: #647e62; margin-top: 3px; }
.affiliate-expand { position: absolute; right: 14px; top: calc(50% - 7px); width: 14px; height: 14px; }
.affiliate-expand::before, .affiliate-expand::after { content: ""; position: absolute; width: 12px; height: 1px; background: #657e63; top: 6px; }
.affiliate-expand::after { transform: rotate(90deg); transition: transform .15s; }
.affiliate-card[open] .affiliate-expand::after { transform: rotate(0); }
.affiliate-card[open] .affiliate-name small { display: none; }
.affiliate-address { border-top: 1px solid #edf0e8; padding: 0 16px; }
.affiliate-address p { font-size: 12px; line-height: 1.9; margin: 14px 0; overflow-wrap: anywhere; }
.affiliate-card summary:focus-visible { outline: 2px solid #385d49; outline-offset: -3px; }
@container(min-width: 590px) { .affiliate-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
.slider-demo .cta-wrap { background: var(--paper); padding: 12px 16px 24px; }
.cta-price { font: 500 13px/1.7 "Reset Slider Sans", sans-serif; color: #4e454a; margin: 0 0 8px; text-align: center; }
.slider-demo .slider-cta { display: grid; grid-template-columns: 28px minmax(0,1fr) 28px; align-items: center; justify-content: center; width: 100%; max-width: 398px; min-height: 88px; margin: 0 auto; padding: 14px 12px; border: 0; border-radius: 100px; background: #06c654; color: #fff; box-shadow: 0 4px 0 #049d43; font-family: "Reset Slider RoundBold", sans-serif; font-weight: 700; gap: 6px; text-align: center; }
.slider-cta .body-line-icon { width: 28px; height: 28px; }
.slider-cta .body-cta-copy { min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center; }
.slider-cta small { font-size: 14px; font-weight: 700; line-height: 1.3; }
.slider-cta strong { font-size: clamp(20px, 5.2cqw, 23px); font-weight: 700; line-height: 1.35; white-space: nowrap; }
.cta-chevron { font-size: 29px; font-weight: 500; }
.cta-next-step { max-width: 420px; margin: 11px auto 0; font: 500 11px/1.8 "Reset Slider Sans", sans-serif; text-align: center; color: #4e454a; }
/* 追従だけ原稿の外周/影/ロゴ/プレゼントへ戻し、文字をHTMLへ分離。 */
.slider-demo .fixed-cta { width: min(404px, 94%); bottom: calc(10px + env(safe-area-inset-bottom, 0px)); padding: 0; background: var(--paper); border: 0; border-radius: 0; }
.slider-demo .fixed-cta .original-sticky-button { position: relative; display: block; width: 100%; aspect-ratio: 2560 / 683; padding: 0; border: 0; background: none; box-shadow: none; container-type: inline-size; }
.original-sticky-button > img { display: block; width: 100%; height: auto; }
.original-sticky-button .body-cta-copy { position: absolute; left: 18.55%; right: 28.125%; top: 24%; height: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #fff; text-shadow: 0 .55cqw 1.1cqw #076b2c; font-family: "Reset Slider RoundBold",sans-serif; font-weight: 700; }
.original-sticky-button small { display: block; font-size: 4.6cqw; line-height: 1.2; white-space: nowrap; }
.original-sticky-button strong { display: block; font-size: 5.45cqw; line-height: 1.3; white-space: nowrap; }
.original-sticky-button:focus-visible { outline: 3px solid #264c37; outline-offset: 3px; }
.slider-demo .fixed-cta .cta-next-step { margin: 2px auto 0; padding: 3px 8px; background: var(--paper); font-size: 10px; line-height: 1.5; }
.slider-demo [hidden] { display: none !important; }
@media(max-height: 420px) { .slider-demo .fixed-cta { width: min(330px, 82%); bottom: calc(5px + env(safe-area-inset-bottom, 0px)); } }
@media(prefers-reduced-motion: reduce) { .slider-track { scroll-behavior: auto; } }
/* 比較用UI。LPの本文内へ開発用の説明を入れない。 */
.slider-review { color: #293c33; background: #f5f7f5; margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif; }
.slider-review * { box-sizing: border-box; }
.demo-review-header { max-width: 1500px; margin: auto; padding: 26px 24px; }
.demo-eyebrow { color: #647d66; font-size: 13px; }
.demo-review-header h1 { font-size: clamp(22px, 3vw, 34px); margin: 8px 0; }
.demo-review-header p, .implementation-note p { line-height: 1.9; font-size: 14px; }
.review-toolbar { display: flex; gap: 12px 22px; flex-wrap: wrap; align-items: center; font-size: 13px; }
.review-toolbar label { display: flex; align-items: center; gap: 10px; }
.review-toolbar select { font: inherit; padding: 9px; border: 1px solid #b5c3b6; background: #fff; border-radius: 6px; min-height: 42px; }
.slider-review a { color: #2b7053; text-underline-offset: .2em; }
.preview-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; max-width: 1500px; margin: 0 auto; padding: 0 24px; }
.preview-grid h2 { font-size: 16px; }
.preview-scroll { overflow: auto; padding: 12px; border: 1px solid #d2ddd2; border-radius: 10px; background: #e6ede7; }
.preview-scroll iframe { display: block; width: var(--preview-width,390px); height: min(900px,80dvh); min-height: 420px; margin: auto; border: 0; background: #fff; }
.preview-grid[data-mode="demo"] { grid-template-columns: minmax(0,1fr); }
.preview-grid[data-mode="demo"] .reference-preview { display: none; }
.implementation-note { max-width: 1100px; margin: 30px auto; padding: 26px 24px 50px; }
.implementation-note h2 { font-size: 21px; }
.note-table { overflow-x: auto; }
.note-table table { min-width: 600px; width: 100%; border-collapse: collapse; font-size: 13px; }
.note-table th, .note-table td { text-align: left; padding: 13px; border-bottom: 1px solid #d0dcd1; line-height: 1.8; }
@media(max-width: 760px) { .preview-grid { grid-template-columns: minmax(0,1fr); gap: 16px; padding-inline: 10px; } .demo-review-header { padding-inline: 16px; } .preview-scroll { padding: 8px; } }

/* 原稿へ寄せる今回の調整。カードは枠線を使わず、丸い角と白い面で区切る。 */
.reason-slide { padding-top: 0; }
.free-original { justify-content: center; padding-bottom: 0; }
.free-original::before { display: block; bottom: 1.45cqw; height: 2.686cqw; }
.benefit-free img { display: block; width: 60%; height: auto; margin-inline: auto; }
.flow-step:nth-child(2) { min-height: 23.2cqw; }
.flow-step:nth-child(3) { min-height: 24.05cqw; }
.slider-window { position: relative; margin-inline: 12px; overflow: hidden; }
.swipe-trigger { position: absolute; top: min(100px,20%); width: 1px; height: 1px; pointer-events: none; }
.swipe-cue { position: absolute; z-index: 2; top: min(160px,30%); left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; width: max-content; max-width: 85%; padding: 10px 17px; border: 1px solid #ffffffc9; border-radius: 50px; background: #385c48ed; color: #fff; box-shadow: 0 4px 18px #30482d26; pointer-events: none; font: 500 12px/1.4 "Reset Slider Round", sans-serif; }
.swipe-hand { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.swipe-cue[data-motion="move"] .swipe-hand { animation: swipe-once 1.5s ease-in-out 1; }
@keyframes swipe-once { 0%,100% { transform: translateX(7px); } 50% { transform: translateX(-10px); } }
.native-section-heading { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; margin: 0; padding: var(--space-4) var(--space-2); background: var(--sage); color: #fff; font: 700 clamp(23px,5cqw,34px)/1.55 "Reset Slider RoundBold", sans-serif; letter-spacing: .04em; text-align: center; }
.native-section-heading .section-eyebrow { font: 500 11px/1.3 "Reset Slider Round", sans-serif; letter-spacing: .16em; }
.slider-demo .refined-faq { padding: 0 0 var(--space-4); background: var(--paper); }
.refined-faq .faq-list { margin: 16px 12px 0; }
.refined-faq .faq-item { container-type: inline-size; margin-bottom: 8px; padding: 0; border: 1px solid #dbe4d7; border-radius: 12px; background: #fff; }
.refined-faq .faq-item summary { display: grid; grid-template-columns: 18px minmax(0,1fr) 12px; align-items: center; gap: 6px; min-height: 52px; padding: var(--space-2) var(--space-1); }
.refined-faq .faq-icon { width: 18px; height: 18px; background: #385c48; color: #fff; font: 700 12px/18px "Reset Slider RoundBold", sans-serif; }
.refined-faq .faq-question { min-width: 0; font-family: "Reset Slider RoundBold", sans-serif; font-weight: 700; font-size: 15px; line-height: 1.7; letter-spacing: 0; white-space: normal; overflow-wrap: anywhere; }
.faq-expand { position: relative; width: 12px; height: 12px; }
.faq-expand::before, .faq-expand::after { content: ""; position: absolute; top: 5px; left: 0; width: 10px; height: 1px; background: #667f64; }
.faq-expand::after { transform: rotate(90deg); }
.faq-item[open] .faq-expand::after { transform: rotate(0); }
.refined-faq .faq-answer { display: grid; grid-template-columns: 18px minmax(0,1fr); align-items: start; gap: 6px; padding: 0 var(--space-1) var(--space-3); font: 500 14px/1.9 "Reset Slider Round", sans-serif; }
.refined-faq .faq-answer .faq-icon { align-self: start; margin-top: 4.3px; background: #385c48; color: #fff; }
.slider-demo .native-affiliates { padding: 0 0 var(--space-4); background: #f7f9f5; font-family: "Reset Slider Round", sans-serif; }
.native-affiliates .affiliate-group { margin: var(--space-3) var(--space-3) 0; container-type: inline-size; }
.native-affiliates .affiliate-group + .affiliate-group { margin-top: var(--space-4); }
.affiliate-card { border-radius: 14px; }
/* 店舗紹介のデザイン比較だけに使う。各案の店名/住所は同じSource。 */
.store-design-page { margin: 0; background: #f3f6f1; color: #385343; font-family: "Reset Slider Round", sans-serif; }
.store-design-intro { max-width: 1240px; margin: auto; padding: 30px 20px 18px; }
.store-design-intro h1 { font: 700 28px/1.6 "Reset Slider RoundBold",sans-serif; margin: 0 0 10px; }
.store-design-intro p, .store-option p { font-size: 13px; line-height: 1.9; }
.store-design-page a { color: #3b6e50; text-underline-offset: .2em; }
.store-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; max-width: 1240px; margin: auto; padding: 8px 20px 40px; align-items: start; }
.store-option > h2 { font: 700 17px/1.6 "Reset Slider RoundBold",sans-serif; margin: 0 0 8px; }
.store-option .store-option-note { min-height: 75px; margin: 0 0 12px; }
.store-option-preview { border: 1px solid #d7e2d1; border-radius: 16px; overflow: hidden; background: #fff; }
.store-option-preview .native-section-heading { font-size: 23px; padding: 20px 10px; }
.store-option-preview .native-affiliates { padding: 0 0 18px; font-family: "Reset Slider Round",sans-serif; }
.store-option-preview .affiliate-group { margin: 16px 12px 0; container-type: inline-size; }
.store-option-preview .affiliate-group h3 { font-size: 14px; }
.store-option-preview .affiliate-name { font-size: 12px; }
.store-gallery .affiliate-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.store-gallery .affiliate-card summary { display: block; min-height: 0; padding: 0 0 14px; }
.store-gallery .affiliate-card summary img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; border-radius: 0; }
.store-gallery .affiliate-name { display: block; padding: 10px 11px 0; font-size: 10px; }
.store-gallery .affiliate-name small { font-size: 9px; }
.store-gallery .affiliate-expand { top: auto; bottom: 16px; right: 8px; width: 10px; }
.store-gallery .affiliate-address { padding-inline: 10px; }
.store-gallery .affiliate-address p { font-size: 10px; }
.store-compact .affiliate-card { border-width: 0 0 1px; border-radius: 0; }
.store-compact .affiliate-card summary { min-height: 70px; padding: 10px 32px 10px 8px; }
.store-compact .affiliate-card summary img { display: none; }
.store-compact .affiliate-name { font-size: 12px; }
@media(max-width: 980px) { .store-options { grid-template-columns: minmax(0,390px); justify-content: center; } .store-option .store-option-note { min-height: 0; } }
@media(prefers-reduced-motion: reduce) { .swipe-cue .swipe-hand { animation: none !important; } }

.refined-faq > .native-section-heading { padding: 26px 12px; font-size: clamp(23px,5cqw,34px); }

/* 内容の長さを揃えず、原稿の色と写真を軸に余分な枠を減らす。 */
.offer-heading .offer-open-code { display: block; width: 100%; height: auto; fill: var(--ink); }
.benefits-heading-live { position: relative; z-index: 0; padding: .4cqw 0 1cqw; color: #fff; text-align: center; font: 700 8.3cqw/1.3 "Reset Slider RoundBold",sans-serif; letter-spacing: -.025em; white-space: nowrap; -webkit-text-stroke: 1.5cqw var(--sage); paint-order: stroke fill; }
.benefits-heading-live::before { content: ""; position: absolute; z-index: -1; left: -1cqw; right: -1cqw; bottom: .25cqw; height: 3.7cqw; background: var(--sage); border-radius: 8cqw; }
.native-pair { container-type: inline-size; background: var(--paper); color: #385c48; padding: 6% 4% 8%; font-family: "Reset Slider Round",sans-serif; }
.native-pair h2 { display: flex; align-items: center; justify-content: center; gap: 1.4cqw; margin: 0; line-height: 1.3; font-family: "Reset Slider RoundBold",sans-serif; font-weight: 700; }
.pair-label { font-size: 7.5cqw; text-align: center; }
.pair-title-group { display: flex; align-items: baseline; gap: 1.4cqw; }
.pair-four { font-size: 16cqw; color: var(--accent); line-height: 1; }
.pair-title-text { font-size: 7.5cqw; letter-spacing: .03em; }
.pair-tagline { margin: 3.6cqw 0 8cqw; font: 700 max(12px,2.95cqw)/1.8 "Reset Slider RoundBold",sans-serif; text-align: center; }
.pair-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9cqw 6cqw; }
.pair-point { min-width: 0; }
.pair-photo { position: relative; aspect-ratio: 330 / 227; }
.pair-photo img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 2cqw; }
.pair-photo h3 { position: absolute; top: 3cqw; left: 0; right: 0; text-align: center; margin: 0; color: #738b72; font: 700 6.75cqw/1.4 "Reset Slider RoundBold",sans-serif; -webkit-text-stroke: .65cqw #fff; paint-order: stroke fill; }
.pair-number { position: absolute; top: -3cqw; left: -1.8cqw; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 10cqw; height: 10cqw; border-radius: 50%; background: #60896e; color: #fff; font: 500 4.6cqw/1 "Reset Slider Sans",sans-serif; }
.pair-number small { font: 500 1.65cqw/1.6 "Reset Slider Round",sans-serif; }
.pair-point-copy { padding-top: 1.8cqw; text-align: center; font: 700 max(11.5px,2.65cqw)/1.8 "Reset Slider RoundBold",sans-serif; }
.pair-point-copy p { margin: 0; text-wrap: balance; }
.pair-point-copy em { font-family: "Reset Slider RoundBold",sans-serif; font-style: normal; font-size: 1.35em; }
.slider-demo .native-store-info { padding: clamp(30px,6cqw,48px) clamp(20px,6vw,48px); background: #fff; font-family: "Reset Slider Round",sans-serif; color: #385c48; }
.native-store-info .store-info-heading { max-width: 680px; margin: 0 auto 22px; }
.native-store-info .store-eyebrow { margin: 0 0 10px; font-size: 13px; color: #6b8269; }
.native-store-info h2 { border: 0; padding: 0; margin: 0; font: 700 clamp(19px,4.5vw,27px)/1.7 "Reset Slider RoundBold",sans-serif; }
.native-store-info .store-station { margin: 12px 0 0; font-size: 17px; line-height: 1.7; }
.store-facts { max-width: 680px; margin: auto; border-top: 1px solid #b9c8b5; }
.store-fact { display: grid; grid-template-columns: 5em minmax(0,1fr); gap: 16px; padding: 18px 0; border-bottom: 1px solid #dfe7db; font-size: 13px; line-height: 1.9; }
.store-fact dt { color: #6b8269; }
.store-fact dd { margin: 0; overflow-wrap: anywhere; }
.slider-demo .affiliate-directory { max-width: 819px; background: #f7f9f5; }
.affiliate-directory .affiliate-group { margin: 24px 22px 0; }
.affiliate-directory .affiliate-grid { gap: 0 24px; }
.affiliate-directory .affiliate-entry { display: grid; grid-template-columns: minmax(0,1fr) clamp(80px,24cqw,96px); align-items: start; gap: 14px; padding: 22px 0; border: 0; border-bottom: 1px solid #d6e0d0; border-radius: 0; background: transparent; }
.affiliate-entry > img { grid-column: 2; grid-row: 1; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 3px; }
.affiliate-entry .affiliate-name { margin: 0 0 8px; font: 700 16px/1.7 "Reset Slider RoundBold",sans-serif; }
.affiliate-entry .affiliate-address { margin: 0; padding: 0; border: 0; font-size: 12px; line-height: 1.85; color: #53644e; overflow-wrap: anywhere; }
@media(max-width: 360px) { .affiliate-directory .affiliate-group { margin-inline: 18px; } .affiliate-directory .affiliate-entry { gap: 12px; } .store-fact { grid-template-columns: 4.5em minmax(0,1fr); gap: 10px; } }

.design-review .note-table table { min-width: 1100px; table-layout: fixed; }
.design-review li p { margin: 6px 0; }
.design-review li { margin-block: 22px; }

.address-line { display: block; }
@media(max-width: 430px) { .native-store-info .store-fact { grid-template-columns: minmax(0,1fr); gap: 5px; } }

/* 店舗案内は写真と住所を同じまとまりへ。スマホは上写真/下住所で読む幅を確保。 */
.code-recommendation { background: var(--paper); }
.recommendation-artwork { display: block; width: 100%; height: auto; }
.native-store-info { container-type: inline-size; }
.store-access-layout { display: grid; gap: 22px; max-width: 680px; margin: auto; align-items: start; }
.store-access-picture { margin: 0; }
.store-access-picture img { display: block; width: 100%; height: auto; border-radius: 10px; }
.store-access-layout .store-facts { width: 100%; }
.affiliate-details { min-width: 0; grid-column: 1; grid-row: 1; }
.affiliate-name > span { display: block; font: 500 14px/1.65 "Reset Slider Round",sans-serif; }
.affiliate-name > strong { display: block; font: 700 18px/1.65 "Reset Slider RoundBold",sans-serif; }
.affiliate-directory .affiliate-group > h3 { font: 700 clamp(21px,5.2cqw,27px)/1.5 "Reset Slider RoundBold",sans-serif; gap: 12px; }
@container(min-width: 550px) { .store-access-layout { grid-template-columns: minmax(0, .85fr) minmax(0,1.15fr); } .store-access-layout .store-fact { grid-template-columns: minmax(0,1fr); gap: 5px; } }
@container(min-width: 590px) { .affiliate-directory .affiliate-entry:last-child:nth-child(odd) { grid-column: 1 / -1; width: calc((100% - 24px) / 2); justify-self: center; } }

/* 本文の横幅は全端末で同じ上限。広い画面の空きを、本文内への案内に使う。 */
.slider-demo { background: #eaf1e8; }
.slider-demo .lp-main { background: var(--paper); box-shadow: 0 0 30px #385c4809; }
.desktop-rail { display: none; }
@container(max-width: 430px) { .native-store-info .store-fact { grid-template-columns: minmax(0,1fr); gap: 5px; } }
@media(min-width: 1100px) {
  .desktop-rail { display: block; position: fixed; top: clamp(32px,8vh,88px); max-height: calc(100dvh - 64px); overflow-y: auto; color: #385c48; font-family: "Reset Slider Round",sans-serif; }
  .desktop-campaign { right: calc(50% + 255px); width: 220px; text-align: center; }
  .desktop-toc { left: calc(50% + 255px); width: 200px; }
  .rail-store { margin: 0 0 22px; font: 700 17px/1.7 "Reset Slider RoundBold",sans-serif; }
  .rail-open { margin: 0 0 12px; font: 700 21px/1.7 "Reset Slider RoundBold",sans-serif; }
  .rail-trial { margin: 0; font-size: 13px; }
  .rail-price { margin: 4px 0 18px; color: #e38143; line-height: 1.3; }
  .rail-price strong { font: 700 47px/1.2 "Reset Slider RoundBold",sans-serif; }
  .rail-price span { font-size: 15px; }
  .rail-benefits { margin: 0; padding: 15px 0; border-top: 1px solid #bfcfba; border-bottom: 1px solid #bfcfba; list-style: none; font: 700 15px/2 "Reset Slider RoundBold",sans-serif; }
  .rail-condition { font-size: 11px; line-height: 1.8; text-align: left; }
  .desktop-campaign > a { display: inline-block; margin-top: 8px; padding: 9px 2px; color: #385c48; text-underline-offset: 5px; font-size: 13px; }
  .desktop-toc > p { font: 700 15px/1.7 "Reset Slider RoundBold",sans-serif; margin: 0 0 14px; }
  .desktop-toc ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid #bfcfba; }
  .desktop-toc a { display: block; padding: 11px 0; border-bottom: 1px solid #cbd8c6; color: inherit; font-size: 13px; text-decoration: none; line-height: 1.7; }
  .desktop-toc a:hover, .desktop-toc a:focus-visible { color: #ac5b2b; text-decoration: underline; text-underline-offset: 4px; }
}

/* 長押しメニューとドラッグだけを抑制。スクロールやCTA操作は妨げない。 */
.slider-demo img { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; -webkit-user-drag: none; }

/* 見出し画像内103pxの余白を、掲載2名の間隔にも使用。元画像は切らない。 */
.slider-demo [data-panel="wp-image-1830"] { margin-bottom: 0; }
.slider-demo .staff-original { margin-bottom: 10.05859375cqw; }

/* 03は写真選択の回答待ち。原稿の写真と文字を一体で保持。 */
.pair-photo--original img { position: absolute; width: 106.666667%; max-width: none; height: auto; left: -6.060606%; top: -14.537445%; border-radius: 0; }
