/* City price catalogs: warm pink, readable comparisons and ordinary document flow. */
body.eac-price-catalog #content{background:#fffdfc}
.ecp-catalog{--ecp-ink:#443c42;--ecp-rose:#b93558;--ecp-pink:#fbecf0;--ecp-border:#eadde0;color:var(--ecp-ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:14px;line-height:1.9;letter-spacing:.025em;width:100%;padding:0 28px 60px;margin:0 auto;box-sizing:border-box}
.ecp-catalog *{box-sizing:border-box}
.ecp-catalog :is(h1,h2,h3,p,figure,dl,dd,ul,ol){margin:0}
.ecp-catalog :is(h1,h2,h3){background:none;border:0;padding:0;color:var(--ecp-ink);line-height:1.5}
.ecp-catalog :is(h1,h2){font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;letter-spacing:.06em}
.ecp-catalog h2{font-size:clamp(21px,2.1vw,28px)}
.ecp-catalog h3{font-size:17px;font-weight:600}
.ecp-catalog a{color:var(--ecp-rose);text-decoration:none}
.ecp-catalog a:hover{text-decoration:underline}
.ecp-catalog button{font:inherit;cursor:pointer;letter-spacing:inherit;-webkit-appearance:none;appearance:none}
.ecp-catalog :is(button,a,summary):focus-visible{outline:3px solid #7c4d70;outline-offset:4px}
.ecp-catalog .ecp-eyebrow{color:var(--ecp-rose);font-size:10px;letter-spacing:.18em;font-weight:600;margin-bottom:10px}
.ecp-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:center;padding:36px 0 38px}
.ecp-hero h1{font-size:clamp(30px,3.1vw,44px);line-height:1.55;margin-bottom:14px}
.ecp-hero h1 span{font-size:.62em;display:inline-block}
.ecp-hero>div>p:not(.ecp-eyebrow){font-size:14px;line-height:2}
.ecp-text-link{display:inline-block;font-size:12px;font-weight:600;padding:12px 0}
.ecp-hero figure{position:relative;padding:0 0 13px}
.ecp-hero figure::before{content:"";position:absolute;background:var(--ecp-pink);inset:17px -10px 19px 16px;border-radius:14px 55px 14px 14px}
.ecp-hero img{position:relative;display:block;width:100%;height:250px;object-fit:cover;border-radius:12px 48px 12px 12px}
.ecp-hero figcaption{position:relative;text-align:right;color:#817078;font-size:10px;line-height:1.6;margin-top:8px}
.ecp-catalog>section{padding:38px 0;border-top:1px solid var(--ecp-border);margin:0}
.ecp-section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px}
.ecp-section-head>a{font-size:12px;flex:none;padding:7px 0}
.ecp-picker-help{font-size:13px;margin-bottom:16px!important;color:#6d5b65}
.ecp-swipe{display:none}
.ecp-periods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ecp-period{display:flex;flex-direction:column;text-align:left;gap:4px;min-width:0;padding:14px 16px;border:1px solid #e7d6db;border-radius:10px;background:#fff;box-shadow:0 3px 0 #e9dce633;transition:background .15s,border-color .15s}
.ecp-period>span{font-size:14px;font-weight:600}
.ecp-period>strong{font:600 clamp(23px,2.1vw,30px)/1.5 Georgia,"Times New Roman",serif;color:var(--ecp-rose);white-space:nowrap;letter-spacing:-.02em}
.ecp-period strong small{font:500 11px/1.5 "Noto Sans JP",sans-serif;margin-left:3px;letter-spacing:0}
.ecp-period>strong.ecp-period-quote{font:600 17px/2.3 "Noto Sans JP",sans-serif;white-space:normal}
.ecp-period>small{display:flex;justify-content:space-between;font-size:10px;color:#79626c}
.ecp-period:hover{border-color:#c36e88;background:#fff8fa}
.ecp-period[aria-pressed=true]{border:2px solid var(--ecp-rose);padding:13px 15px;background:var(--ecp-pink)}
.ecp-picker-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}
.ecp-catalog .ecp-all{border:1px solid #c7b4bc;background:#fff;border-radius:30px;padding:9px 17px;min-height:44px;color:#67505b;font-size:12px;flex:none}
.ecp-all[aria-pressed=true]{background:#f3e4e9!important;border-color:#b77b91!important;color:#8d2949!important}
.ecp-picker-foot p{color:#7e6b75;font-size:11px;text-align:right}
.ecp-result-count{font-size:12px;color:#7b5c6c;flex:none}
.ecp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.ecp-card{min-width:0;display:flex;flex-direction:column;border:1px solid var(--ecp-border);border-radius:12px;background:#fff;padding:21px 18px;box-shadow:0 5px 18px #6e344607}
.ecp-card[hidden]{display:none!important}
.ecp-card-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:13px}
.ecp-duration{background:var(--ecp-pink);color:#9d3553;font-size:12px;font-weight:600;padding:3px 12px;border-radius:20px}
.ecp-check{font-size:10px;color:#836c57}
.ecp-card h3{font-size:16px;line-height:1.8;margin-bottom:18px}
.ecp-card-price{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;margin-bottom:17px!important;padding-bottom:17px;border-bottom:1px solid #f0e6e8}
.ecp-card-price>span{width:100%;font-size:10px;color:#826c78}
.ecp-card-price>strong{font:500 37px/1.45 Georgia,"Times New Roman",serif;color:var(--ecp-rose);letter-spacing:-.03em;white-space:nowrap}
.ecp-card-price>strong>small{font:500 16px/1.5 "Noto Sans JP",sans-serif;margin-left:4px}
.ecp-card-price>small{font-size:10px;color:#7d6570}
.ecp-card-price>strong.ecp-price-pending{font:600 20px/2 "Noto Sans JP",sans-serif;white-space:normal}
.ecp-specs{font-size:12px;margin-bottom:20px!important;line-height:1.8}
.ecp-specs>div{display:grid;grid-template-columns:68px 1fr;gap:8px;border-bottom:1px dotted #e7dde1;padding:8px 0}
.ecp-specs dt{color:#8a6e7d;font-size:11px}
.ecp-specs dd{overflow-wrap:anywhere}
.ecp-note{font-size:11px;color:#7b6859;line-height:1.9;margin-bottom:14px!important}
.ecp-conditions{font-size:11px;margin-bottom:15px;border:1px solid #e9e1d8;border-radius:6px;padding:8px 10px;background:#fffcf8}
.ecp-conditions summary{cursor:pointer;color:#795e53;min-height:28px;line-height:28px}
.ecp-conditions dl>div{margin-top:8px}
.ecp-conditions dt{color:#8b7265}
.ecp-card-actions{margin-top:auto;display:flex;flex-direction:column;gap:9px}
.ecp-catalog :is(.ecp-detail,.ecp-line){display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 8px;border-radius:7px;font-size:12px;font-weight:600;line-height:1.8;text-decoration:none;transition:background .15s}
.ecp-catalog .ecp-detail{border:1px solid #c66b86;background:#fff;color:var(--ecp-rose)}
.ecp-detail>span{margin-left:auto}
.ecp-catalog .ecp-detail:hover{background:#fff1f5}
.ecp-catalog .ecp-line{background:#06a447;color:#fff;border:1px solid #06a447}
.ecp-catalog .ecp-line:hover{background:#078b3f;border-color:#078b3f}
.ecp-line>span:last-child{margin-left:auto;flex:none}
.ecp-catalog .ecp-line-icon{display:flex;align-items:center;justify-content:center;border-radius:50%;height:25px;width:25px;background:#fff;color:#04933e;font:700 8px/1 sans-serif;letter-spacing:0;flex:none}
.ecp-results-note{color:#7d6975;font-size:11px;margin-top:18px!important}
.ecp-budget h2{margin-bottom:24px}
.ecp-budget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.ecp-budget-grid>div{border:1px solid var(--ecp-border);border-radius:10px;overflow:hidden;background:#fff}
.ecp-budget-grid h3{background:var(--ecp-pink);padding:15px 20px;font-family:"Yu Mincho","Noto Serif JP",serif;color:var(--ecp-rose)}
.ecp-budget-grid>div:nth-child(2) h3{background:#f2eeef;color:#685962}
.ecp-budget-grid ul{list-style:none;padding:20px 22px 8px}
.ecp-budget-grid li{position:relative;padding-left:20px;list-style:none;font-size:13px;margin-bottom:7px}
.ecp-budget-grid li::before{content:"✓";position:absolute;left:0;color:#c63f68}
.ecp-budget-grid p{font-size:11px;color:#826d77;padding:0 22px 20px}
.ecp-catalog .ecp-consult{background:linear-gradient(135deg,#fcf3f4,#fffafa);border:1px solid #f0dde2;border-radius:16px;padding:34px 28px;text-align:center;margin:12px 0 36px}
.ecp-consult>p:not(.ecp-eyebrow){font-size:13px;margin-top:12px}
.ecp-consult ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;text-align:left;margin:26px 0}
.ecp-consult li{display:flex;gap:12px;padding:0 18px;list-style:none;border-right:1px solid #e7ccd5}
.ecp-consult li:first-child{padding-left:0}
.ecp-consult li:last-child{border:0;padding-right:0}
.ecp-consult li>b{font:500 27px/1.5 Georgia,serif;color:#c95e7f}
.ecp-consult li>span{font-size:13px;font-weight:600;color:#a33959}
.ecp-consult li small{display:block;font-size:11px;font-weight:400;color:#795e6d;line-height:1.9;margin-top:5px}
.ecp-consult>.ecp-line{width:320px;max-width:100%;margin:0 auto;min-height:52px;font-size:14px;padding:12px 20px}
.ecp-catalog .ecp-consult-help{font-size:11px}
.ecp-other{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin-top:18px}
.ecp-other a{font-size:12px;padding:8px 3px;border-bottom:1px solid #dca7b9}
.ecp-faq h2{margin-bottom:20px}
.ecp-faq details{border:1px solid var(--ecp-border);border-radius:7px;background:#fff;margin:8px 0;overflow:hidden}
.ecp-faq summary{display:block;padding:15px 44px 15px 18px;position:relative;cursor:pointer;list-style:none;font-size:13px}
.ecp-faq summary::-webkit-details-marker{display:none}
.ecp-faq summary::after{content:"+";position:absolute;right:18px;font-size:20px;color:#9d5370;top:10px}
.ecp-faq details[open] summary{background:var(--ecp-pink);color:#9a3353}
.ecp-faq details[open] summary::after{content:"−"}
.ecp-faq p{padding:15px 18px;font-size:12px;color:#6f5e67}
.ecp-empty{text-align:center}
.ecp-empty>p:not(.ecp-eyebrow){max-width:590px;margin:16px auto;font-size:14px}
.ecp-empty-options{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:25px 0}
.ecp-empty-options span{padding:8px 16px;background:var(--ecp-pink);border-radius:30px;font-size:13px}
.ecp-empty>.ecp-line{width:360px;max-width:100%;margin:0 auto 12px}
@media(min-width:768px) and (max-width:1279px){
 .ecp-catalog{padding-right:20px;padding-left:20px}
 .ecp-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .ecp-periods{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ecp-hero{gap:20px}.ecp-hero img{height:210px}
 .ecp-section-head{display:block}.ecp-section-head>a,.ecp-result-count{display:block;margin-top:10px}
 .ecp-consult ol{grid-template-columns:1fr;gap:15px}.ecp-consult li{border:0;padding:0}
}
@media(min-width:768px) and (max-width:1000px){
 .ecp-hero{grid-template-columns:1fr}.ecp-hero figure{display:none}
 .ecp-card{padding:18px 13px}.ecp-card-price>strong{font-size:30px}
 .ecp-catalog .ecp-line{font-size:11px;gap:5px}
 .ecp-picker-foot{display:block}.ecp-picker-foot p{text-align:left;margin-top:12px}
 .ecp-budget-grid{grid-template-columns:1fr}
}
@media(max-width:767px){
 .ecp-catalog{padding:0 20px 36px;font-size:13px}
 .ecp-hero{padding:26px 0 24px;gap:20px;grid-template-columns:1fr}
 .ecp-hero h1{font-size:32px;line-height:1.4;margin-bottom:12px}
 .ecp-hero h1 span{font-size:22px}.ecp-hero>div>p:not(.ecp-eyebrow){font-size:12px}
 .ecp-hero figure{display:none}
 .ecp-catalog>section{padding:28px 0}
 .ecp-section-head{display:block;margin-bottom:16px}
 .ecp-section-head>a{display:inline-block;margin-top:8px;font-size:11px}
 .ecp-picker-help{font-size:11px}.ecp-swipe{display:block;color:#9b697f;margin-top:6px}
 .ecp-periods{display:flex;overflow-x:auto;gap:9px;margin:0 -20px;padding:2px 20px 12px;scroll-padding:20px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#d5a3b4 #fcf5f7;overscroll-behavior-x:contain}
 .ecp-period{flex:0 0 143px;scroll-snap-align:start;padding:12px 14px}
 .ecp-period>strong{font-size:27px}.ecp-period[aria-pressed=true]{padding:11px 13px}
 .ecp-picker-foot{display:block;margin-top:15px}
 .ecp-picker-foot p{text-align:left;margin-top:12px;font-size:10px}
 .ecp-result-count{margin-top:10px;font-size:11px}
 .ecp-cards{grid-template-columns:1fr;gap:16px}
 .ecp-card{padding:22px}.ecp-card h3{font-size:17px;margin-bottom:10px}
 .ecp-card-price>strong{font-size:40px}
 .ecp-specs{font-size:13px}.ecp-specs>div{grid-template-columns:80px 1fr}
 .ecp-catalog :is(.ecp-detail,.ecp-line){font-size:13px;padding:11px 14px}
 .ecp-budget-grid{grid-template-columns:1fr;gap:15px}
 .ecp-catalog .ecp-consult{padding:28px 20px;margin:8px 0 28px}
 .ecp-consult ol{grid-template-columns:1fr;gap:18px;margin:22px 0}
 .ecp-consult li{padding:0;border:0}.ecp-consult li>span{font-size:13px}
 .ecp-catalog .ecp-consult>.ecp-line{font-size:13px;padding:12px 9px}
 .ecp-other{gap:6px 14px}.ecp-other a{font-size:11px}
 .ecp-faq summary{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.ecp-catalog *{transition:none!important}}
@media print{.ecp-catalog{padding:0}.ecp-card[hidden]{display:flex!important}.ecp-periods,.ecp-card-actions{display:none}.ecp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ecp-card{break-inside:avoid}}

.ecp-related>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.ecp-related a{display:flex;gap:20px;justify-content:space-between;min-height:44px;align-items:center;border:1px solid #e6d3dc;border-radius:24px;padding:8px 20px;background:#fff;font-size:12px}

.ecp-results-help{font-size:12px;color:#765f6a;margin:-4px 0 20px!important}.ecp-rate-notes{padding:14px 18px;background:#faf6f3;border:1px solid #e9ded8;border-radius:8px;margin:0 0 28px;font-size:12px}.ecp-rate-notes summary{cursor:pointer;min-height:30px;line-height:30px}.ecp-rate-notes p{margin:12px 0;font-size:11px}

.ecp-hero.ecp-hero-text{grid-template-columns:1fr}
