/* 店舗検索、更新、口コミの題材に合わせたMEO固有の画面。 */
.meo-prototype{--meo-dark:#1D6B7E;--meo-soft:#B5D5E1;--meo-pin-top:92px;--meo-pin-height:700px;background:#fff;color:var(--ink);overflow-x:clip}
.meo-main{overflow:visible;font-family:var(--font-site)}
.meo-main [id]{scroll-margin-top:110px}
.meo-wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.meo-main h1,.meo-main h2,.meo-main h3{letter-spacing:-.035em;line-height:1.4}
.meo-main h1{font-size:clamp(38px,5.6vw,72px);line-height:1.3;color:var(--brand-text);font-weight:900}
.meo-main h2{font-size:clamp(32px,4.4vw,56px)}
.meo-main h3{font-size:clamp(25px,3vw,38px)}
.meo-main p{font-size:16px;line-height:1.9;margin:20px 0 0}
.meo-main p:first-child{margin-top:0}
.meo-main .meo-label{font-size:13px;font-weight:800;letter-spacing:.045em;color:var(--brand-text);margin:0 0 16px}
.meo-phrase{display:inline-block;max-width:100%}
.meo-main h1 span{display:block}
.meo-main .meo-condition{font-size:14px;line-height:1.85}
.meo-section{padding-block:90px}
.meo-section-head{max-width:900px;margin-left:max(32px,calc((100% - 1180px)/2))}
.meo-section-head h2{margin-bottom:28px}
.meo-main a:not(.meo-action):not(.meo-chapter-nav a){text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.meo-action,.meo-dialog .meo-action{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;min-height:52px;padding:13px 24px;border:1px solid var(--brand-text);border-radius:999px;background:var(--brand-text);color:white;font-size:15px;line-height:1.6;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}
.meo-action:hover{background:#a93855}
.meo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;margin-top:26px}
.meo-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:700}
.meo-scene{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:55px;padding:70px 0;min-width:0}
.meo-scene-copy{min-width:0;position:relative;z-index:3;transform-origin:left center}
.meo-hero-heading{margin-bottom:24px}
.meo-hero-heading .meo-actions{margin-top:28px}
.meo-opening{padding-top:110px}
.meo-opening .meo-scenes{padding-block:0}
.meo-opening .meo-scene:first-child{min-height:calc(calc(var(--motion-vh,1svh) * 100) - 110px);padding-top:30px}
.meo-opening .meo-pin{background:#fff}
.meo-art{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;height:410px;isolation:isolate;perspective:1000px;transform-origin:50% 55%;font-size:16px}
.meo-art svg{display:block;width:100%;height:100%;overflow:visible}
.meo-art svg text{fill:var(--ink);stroke:none;font:700 20px var(--font-site)}
.meo-layer{transform-origin:center;will-change:transform}
.meo-map-art{padding-top:44px}
.meo-search-label{position:absolute;left:4%;top:0;display:flex;align-items:center;gap:14px;width:88%;padding:13px 18px;border:1px solid var(--meo-soft);background:white;border-radius:40px;font-weight:700;font-size:15px}
.meo-search-icon{width:15px;height:15px;border:2px solid var(--teal);border-radius:50%;position:relative}
.meo-search-icon:after{content:"";position:absolute;width:7px;border-top:2px solid var(--teal);transform:rotate(45deg);top:12px;left:10px}
.meo-info-window{width:87%;padding:24px;background:white;border:1.5px solid var(--meo-dark);border-radius:16px;box-shadow:16px 18px 0 var(--aqua);transform:rotate(-2deg)}
.meo-window-bar{font-weight:800;font-size:17px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--meo-soft);display:flex;justify-content:space-between}
.meo-window-bar i{display:block;background:var(--pink);width:7px;height:7px;border-radius:50%}
.meo-info-photo{display:flex;align-items:center;justify-content:center;gap:28px;padding:16px;background:var(--aqua);border-radius:6px}
.meo-info-photo img{width:115px}
.meo-info-row{display:flex;align-items:center;gap:14px;padding:23px 0}
.meo-clock{display:inline-block;width:22px;height:22px;border:1.5px solid var(--teal);border-radius:50%;position:relative}
.meo-clock:after{content:"";position:absolute;width:6px;height:7px;border-left:1px solid var(--teal);border-bottom:1px solid var(--teal);top:3px;left:9px}
.meo-rule{display:block;height:3px;background:#1f2c3a2a;min-width:20px;margin:12px 0;width:100%}
.meo-rule.short{width:68%}
.meo-info-row .meo-rule{flex:1}
.meo-info-review{padding:18px 20px;background:#FFF7E1;box-shadow:5px 5px 0 #F5CF6B50;border-radius:4px}
.meo-reply-label{display:inline-block;font-size:13px;border:1px solid var(--teal);color:var(--meo-dark);padding:4px 15px;border-radius:4px}
.meo-ranking{background:#fff}
.meo-ranking aside{padding:0}
.meo-ranking aside>p{max-width:900px}
.meo-ranking-list{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin:38px 0}
.meo-ranking-list>div{display:grid;grid-template-columns:72px 1fr;gap:0 16px;align-content:start}
.meo-ranking-list img{grid-row:1/3;width:72px;height:72px}
.meo-ranking-list dt{font-size:21px;font-weight:800}
.meo-ranking-list dd{font-size:15px;line-height:1.8;margin:8px 0 0}
.meo-prices .meo-pin{background:#EAF3FB}
.meo-chapter-nav{display:flex;align-items:center;justify-content:flex-start;gap:32px;padding-top:28px;position:relative;z-index:5}
.meo-chapter-nav a{display:flex;gap:14px;align-items:center;min-height:44px;font-size:13px;padding:8px 0;color:#475763;border-bottom:2px solid transparent}
.meo-chapter-nav a[aria-current="step"]{color:var(--ink);border-bottom-color:var(--brand-text)}
.meo-chapter-nav b{font-size:22px;color:var(--ink);white-space:nowrap}
.meo-chapter-nav b span{font-size:11px;margin:0 3px}
.meo-chapter-nav small{font-size:11px}
.meo-main .meo-amount{display:flex;align-items:baseline;flex-wrap:nowrap;gap:6px;margin:24px 0;line-height:1;color:var(--meo-dark);white-space:nowrap}
.meo-amount b{font-size:clamp(48px,6vw,82px);font-weight:800;letter-spacing:-.05em}
.meo-amount small{font-size:13px;font-weight:500}
.meo-amount>span{font-weight:700;font-size:21px}
.meo-amount>span small{display:block;margin-top:12px}
.meo-prices .meo-action{margin-top:24px}
.meo-fee-sheet{position:relative;width:86%;padding:38px 34px;background:white;border:1px solid var(--meo-soft);border-radius:5px;box-shadow:14px 15px 0 #fff8,28px 30px 0 #fff4;transform:rotate(3deg)}
.meo-fee-caption{font-size:24px;font-weight:800;margin-bottom:25px}
.meo-fee-row{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid var(--line)}
.meo-fee-row b{color:var(--meo-dark)}
.meo-fee-stamp{display:inline-block;padding:7px 13px;border:1px solid var(--brand-text);color:var(--brand-text);font-size:13px;border-radius:4px;margin-top:22px;transform:rotate(-5deg)}
.meo-price-after{padding-block:60px 90px}
.meo-price-notes{display:grid;grid-template-columns:1fr 1fr;gap:38px 60px;margin-bottom:38px}
.meo-price-notes h3{font-size:22px}
.meo-price-notes p{margin-top:14px}
.meo-work .meo-section-head{padding-top:30px}
.meo-operations .meo-pin{background:#F2F7FB}
.meo-operations .meo-scene{min-height:610px}
.meo-task-result{padding:18px 0 0;border-top:1px solid var(--meo-soft)}
.meo-task-result>span{display:block;font-size:12px;font-weight:800;color:var(--meo-dark);margin-bottom:6px}
.meo-comparison,.meo-editor{width:94%;background:white;border:1.5px solid var(--meo-dark);padding:28px;border-radius:10px;box-shadow:12px 14px 0 #DEEBF7}
.meo-comparison>div:not(.meo-window-bar){display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.meo-comparison>div:last-child{border-bottom:0}
.meo-comparison .meo-comparison-head{font-size:13px;color:var(--meo-dark)}
.meo-comparison i{height:7px;border-radius:3px;background:var(--aqua);width:80%}
.meo-comparison i:last-child{background:#F8E8EE;width:100%}
.meo-editor>div:not(.meo-window-bar){display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}
.meo-editor b{color:var(--teal);font-size:20px}
.meo-response,.meo-changes{position:absolute;top:35px;left:0;width:78%;padding:28px 24px;background:white;border:1.5px solid var(--meo-dark);border-radius:14px;box-shadow:9px 10px 0 #DEEBF7}
.meo-response span,.meo-changes span{display:block;color:var(--meo-dark);font-size:14px;font-weight:700;margin-bottom:22px}
.meo-response strong,.meo-changes b{display:block;font-size:22px;margin:22px 0}
.meo-response-front,.meo-changes-front{top:190px;left:auto;right:0;background:white;border-color:var(--brand-text);box-shadow:9px 10px 0 #F8E8EE}
.meo-changes-front .meo-update-check{color:var(--meo-dark);font-size:13px;margin:20px 0 0}
.meo-report-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px}
.meo-report-copy h3{font-size:clamp(28px,3.2vw,42px)}
.meo-report-copy .meo-action{margin-top:25px}
.meo-art.meo-report-art{height:auto;padding-bottom:14px}
.meo-ledger{width:100%;background:#fff;border:1.5px solid var(--meo-dark);border-radius:8px;padding:28px;box-shadow:15px 17px 0 var(--aqua)}
.meo-ledger>div:not(.meo-window-bar){display:grid;grid-template-columns:1fr 32px 32px;gap:22px;padding:23px 0;border-top:1px solid var(--line);font-size:15px}
.meo-ledger i{width:30px;height:20px;border:1px solid var(--meo-soft);background:var(--aqua);border-radius:3px}
.meo-reviews .meo-section-head{padding-top:45px}
.meo-revipo-logo{display:block;width:135px;height:auto;margin-bottom:30px}
.meo-revipo .meo-pin{background:#FBF0F4}
.meo-qr-card{position:absolute;left:0;top:45px;width:52%;padding:18px;background:white;border:1.5px solid var(--meo-dark);border-radius:8px;transform:rotate(-7deg);box-shadow:10px 12px 0 #DEEBF7}
.meo-qr-card img{display:block;width:100%;height:125px;object-fit:contain}
.meo-qr-card b{display:block;text-align:center;font-size:13px;margin-top:14px}
.meo-phone-art{position:absolute;right:10%;top:35px;width:49%;height:355px;padding:20px;border:2px solid var(--ink);border-radius:24px;background:white;box-shadow:12px 14px 0 #DE648421}
.meo-phone-speaker{width:45px;border-top:4px solid var(--ink);border-radius:4px;margin:0 auto 32px}
.meo-phone-art>span{font-weight:800;font-size:20px}
.meo-phone-art>div:not(.meo-phone-speaker){margin-top:23px;font-size:14px;display:flex;align-items:center;gap:10px}
.meo-phone-art i{display:block;width:13px;height:13px;border:1px solid var(--teal);border-radius:50%}
.meo-draft{position:absolute;top:20px;left:0;width:85%;padding:28px;border:1.5px solid var(--meo-dark);border-radius:10px;background:white;box-shadow:9px 10px 0 #DEEBF7}
.meo-draft>span{font-size:14px;font-weight:700;color:var(--meo-dark);display:block;margin-bottom:24px}
.meo-draft b{font-size:16px;display:block;margin-top:24px}
.meo-draft-front{top:205px;left:auto;right:0;width:76%;border-color:var(--brand-text);box-shadow:9px 10px 0 #DE648421}
.meo-review-policy-wrap{padding-block:48px 75px}
.meo-review-policy{max-width:930px}
.meo-review-policy p{font-size:15px}
.meo-faq{background:white;padding-top:55px}
.meo-faq-wrap{max-width:930px}
.meo-faq-list{margin-top:36px}
.meo-faq details{border-bottom:1px solid var(--line)}
.meo-faq details:first-child{border-top:1px solid var(--line)}
.meo-faq summary{position:relative;display:block;list-style:none;padding:24px 42px 24px 0;font-size:18px;font-weight:700;line-height:1.7}
.meo-faq summary::-webkit-details-marker{display:none}
.meo-faq summary>span{display:none}
.meo-faq summary:after{content:"＋";position:absolute;right:4px;top:24px;color:var(--brand-text)}
.meo-faq details[open] summary:after{content:"−"}
.meo-faq details>p{margin:0 35px 24px 0}
.meo-contact{background:var(--aqua);border-radius:0 64px 0 0}
.meo-contact-layout{max-width:850px}
.meo-contact header{position:relative;padding-right:120px}
.meo-contact-art{position:absolute;top:0;right:-5px;width:120px}
.meo-contact-art img{width:100%;height:auto}
.meo-form-jump{margin-top:18px}
.meo-phone{display:block;width:fit-content;font-size:26px;font-weight:700;margin:25px 0 12px}
.meo-phone small{display:block;font-size:13px;font-weight:500;line-height:2}
.meo-form{display:grid;gap:24px;margin:48px 0 0;padding:40px;background:white;border-radius:14px}
.meo-form label{display:block;font-size:16px;line-height:1.7;font-weight:700}
.meo-form small{font-size:11px;margin-left:8px;color:var(--meo-dark);font-weight:500}
.meo-form input:not([type=checkbox]),.meo-form select,.meo-form textarea{display:block;width:100%;border:1px solid #9AB9C4;border-radius:5px;background:white;padding:12px 14px;font-size:16px;line-height:1.6;color:var(--ink);margin-top:8px}
.meo-form textarea{resize:vertical;min-height:140px}
.meo-field-help{display:block;font-weight:400;font-size:13px;line-height:1.8;margin-top:8px}
.meo-form .meo-agree{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:14px}
.meo-agree input{width:20px;height:20px;margin:2px 0 0;flex-shrink:0;accent-color:var(--brand-text)}
.meo-main .meo-preview-note{font-size:12px;margin:0;line-height:1.7}
.meo-dialog{width:min(620px,calc(100% - 32px));max-height:85vh;overflow:auto;padding:30px;border:1px solid var(--meo-soft);border-radius:12px;color:var(--ink)}
.meo-dialog::backdrop{background:#1F2C3A70}
.meo-dialog h2{font-size:24px;margin-bottom:18px}
.meo-dialog p{font-size:14px;line-height:1.8}
.meo-dialog dt{font-size:13px;font-weight:700;margin:20px 0 6px}
.meo-dialog dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}
.meo-dialog button{margin-top:24px}
.meo-position{display:none}
.meo-prototype .brand{min-height:44px;align-items:center}
@media(max-width:1023px){
 .meo-wrap{width:calc(100% - 48px)}
 .meo-section-head{margin-inline:auto}
 .meo-scene{gap:30px}
 .meo-ranking-list{gap:24px}
 .meo-ranking-list>div{grid-template-columns:1fr}
 .meo-ranking-list img{grid-row:auto;margin-bottom:10px}
 .meo-art{height:340px;font-size:14px}
 .meo-main h1{font-size:clamp(38px,5.6vw,64px)}
 .meo-price-notes{gap:35px}
 .meo-report-grid{gap:35px}
}
@media(max-width:699px){
 .meo-wrap{width:calc(100% - 40px)}
 .meo-main h1{font-size:clamp(30px,8.8vw,46px);line-height:1.4;letter-spacing:-.055em}
 .meo-main h2{font-size:clamp(28px,7.7vw,38px);line-height:1.45}
 .meo-main h3{font-size:clamp(24px,6.7vw,30px)}
 .meo-main p{margin-top:17px;line-height:1.85}
 .meo-main .meo-label{font-size:12px;margin-bottom:12px}
 .meo-section{padding-block:60px}
 .meo-scene{grid-template-columns:1fr;gap:24px;padding:45px 0}
 .meo-opening{padding-top:102px}
 .meo-opening .meo-scene:first-child{min-height:0;padding-top:20px}
 .meo-hero-heading{margin-bottom:20px}
 .meo-hero-heading .meo-actions{margin-top:22px}
 .meo-actions{gap:10px 16px}
 .meo-action{font-size:14px;padding:12px 20px;min-height:48px}
 .meo-art{height:265px;width:min(100%,390px);margin-inline:auto;font-size:13px}
 .meo-map-art{padding-top:38px}
 .meo-search-label{font-size:11px;left:7%;width:86%;padding:9px 14px}
 .meo-info-window{width:85%;padding:17px;border-radius:10px;box-shadow:10px 11px 0 var(--aqua)}
 .meo-window-bar{font-size:14px;padding-bottom:12px;margin-bottom:12px}
 .meo-info-photo{padding:9px;gap:20px}
 .meo-info-photo img{width:70px}
 .meo-info-row{padding:14px 0}
 .meo-info-review{padding:12px 16px}
 .meo-rule{height:2px;margin:9px 0}
 .meo-ranking-list{grid-template-columns:1fr;gap:28px;margin:30px 0}
 .meo-ranking-list>div{grid-template-columns:65px 1fr;gap:0 20px}
 .meo-ranking-list img{grid-row:1/3;width:65px;height:65px;margin:0}
 .meo-ranking-list dt{font-size:20px}
 .meo-ranking-list dd{margin-top:5px}
 .meo-ranking h3{font-size:23px}
 .meo-chapter-nav{gap:14px;padding-top:20px;align-items:flex-start}
 .meo-chapter-nav a{display:block;font-size:11px;padding-top:0;line-height:1.8}
 .meo-chapter-nav b{display:block;font-size:19px;line-height:1.4}
 .meo-chapter-nav small{font-size:10px;padding-top:8px}
 .meo-chapter-nav b span{font-size:10px}
 .meo-main .meo-amount{margin:20px 0}
 .meo-amount b{font-size:56px}
 .meo-prices .meo-art{height:220px}
 .meo-fee-sheet{width:84%;padding:18px 22px;box-shadow:9px 10px 0 #fff8,18px 20px 0 #fff4}
 .meo-fee-caption{font-size:17px;margin-bottom:12px}
 .meo-fee-row{padding:11px 0}
 .meo-fee-stamp{font-size:10px;margin-top:12px;padding:4px 9px}
 .meo-price-after{padding-block:42px 60px}
 .meo-price-notes{grid-template-columns:1fr;gap:30px}
 .meo-price-notes h3{font-size:21px}
 .meo-operations .meo-scene{min-height:0}
 .meo-work .meo-section-head{padding-top:20px}
 .meo-comparison,.meo-editor{width:84%;padding:18px}
 .meo-comparison>div:not(.meo-window-bar){padding:11px 0;gap:12px}
 .meo-comparison .meo-comparison-head{font-size:11px}
 .meo-editor>div:not(.meo-window-bar){padding:10px 0}
 .meo-response,.meo-changes{width:77%;padding:17px;top:20px;left:4%}
 .meo-response span,.meo-changes span{font-size:12px;margin-bottom:16px}
 .meo-response strong,.meo-changes b{font-size:17px;margin:15px 0}
 .meo-response-front,.meo-changes-front{top:128px;left:auto;right:4%}
 .meo-report-grid{grid-template-columns:1fr;gap:30px}
 .meo-ledger{padding:22px;width:90%;box-shadow:10px 11px 0 var(--aqua)}
 .meo-ledger>div:not(.meo-window-bar){font-size:13px;gap:10px;grid-template-columns:minmax(0,1fr) 32px 32px;padding:18px 0}
 .meo-ledger i{width:22px;height:17px}
 .meo-qr-card{top:20px;left:4%;padding:14px;width:47%}
 .meo-qr-card img{height:96px}
 .meo-qr-card b{font-size:11px}
 .meo-phone-art{height:243px;top:10px;right:7%;padding:15px;width:45%;border-radius:20px}
 .meo-phone-speaker{margin-bottom:22px}
 .meo-phone-art>span{font-size:16px}
 .meo-phone-art>div:not(.meo-phone-speaker){font-size:11px;gap:8px;margin-top:20px}
 .meo-draft{padding:19px;top:8px;width:80%;left:4%}
 .meo-draft>span{font-size:12px;margin-bottom:15px}
 .meo-draft b{font-size:13px;margin-top:17px}
 .meo-draft-front{top:143px;left:auto;right:3%;width:74%}
 .meo-review-policy-wrap{padding-block:35px 55px}
 .meo-faq summary{font-size:16px;padding-block:20px}
 .meo-faq summary:after{top:20px}
 .meo-faq details>p{margin-right:0;font-size:15px}
 .meo-contact{border-radius:0 36px 0 0}
 .meo-contact header{padding:0}
 .meo-contact-art{position:relative;right:auto;top:auto;width:84px;margin:0 0 22px auto}
 .meo-form{padding:25px 20px;margin-top:30px}
 .meo-form select{padding-inline:8px;font-size:15px}
 .meo-form label{font-size:15px}
}

.meo-ledger>div.meo-ledger-head{border:0;padding:0 0 13px;font-size:11px;color:var(--meo-dark)}
.meo-ledger-head b{white-space:nowrap}

.meo-thanks{padding-block:160px 90px;min-height:calc(var(--motion-vh,1svh) * 75)}
.meo-thanks h1{font-size:clamp(32px,5vw,56px)}


/* PCで採用した店舗情報の罫線・ドットを、SPの前面にも継承する。 */
@media(max-width:699px){.meo-prices .lp-stack-panel{background-image:repeating-linear-gradient(0deg,transparent 0 47px,#2396ad0e 47px 48px)}.meo-operations .lp-stack-panel{background-image:radial-gradient(#2396ad20 .65px,transparent .95px);background-size:20px 20px}.meo-revipo .lp-stack-panel{background-image:repeating-radial-gradient(ellipse at 110% 105%,transparent 0 79px,#B2416312 80px 81px,transparent 82px 132px)}}

/* 料金補足の四項目を、小見出しごとのまとまりとして読む。 */
.meo-price-notes h3{padding-bottom:14px;border-bottom:1px solid #1D6B7E40}
@media(max-width:699px){.meo-price-notes h3{padding-bottom:12px}}

/* 横並びの項目は、同じ行の見出し・説明の高さを共有する。縦並びは自然な高さを保つ。 */
@media(min-width:700px){
.meo-price-notes>article{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
.meo-price-notes p{align-self:start}
}
