@charset "UTF-8";
:root{--ink:#173541;--body:#304b56;--muted:#6b7f87;--line:#dce8e4;--green:#137a64;--green-dark:#086753;--orange:#ae432e;--red:#b8402a;--bg:#f8fbf9;--cream:#fff8ed}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:18px}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;font-size:16px;line-height:1.62;overflow-wrap:break-word;word-break:normal}
p,li,small,summary{line-break:strict;text-wrap:pretty}h1,h2,h3{margin:0;color:var(--ink);line-height:1.32;text-wrap:balance;overflow-wrap:break-word}p{margin:0 0 11px}a{color:#126678;text-underline-offset:3px}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #167a9a;outline-offset:3px}
button{cursor:pointer;font:inherit}.wrap{width:min(calc(100% - 40px),1120px);margin-inline:auto}.nw{white-space:nowrap}.note{font-size:12px!important;color:var(--muted)!important;line-height:1.5!important;font-weight:450!important}.note a{color:#527783;font-size:inherit}.pr-notice{background:#fff6e6;border-bottom:1px solid #e9d7ba;padding:8px;text-align:center;font-size:12px}.pr-notice[hidden]{display:none}
.header{background:#fff;border-bottom:1px solid var(--line)}.headbar{min-height:65px;display:flex;justify-content:space-between;gap:12px;align-items:center}.brand{font-size:20px;font-weight:900;color:var(--ink);text-decoration:none}.brand-mark{background:#f3c770;border-radius:7px;padding:3px 7px;margin-right:5px}.nav{display:flex;gap:18px;flex-wrap:wrap}.nav a{font-size:15px;font-weight:800;text-decoration:none}.nav a:hover,.subtle-link:hover{text-decoration:underline}
.hero{background:linear-gradient(125deg,#fffaf1,#eff8f3);padding:28px 0 20px;border-bottom:1px solid var(--line)}.hero-inner{position:relative}.hero-mascot{position:absolute;right:6px;top:22px;width:135px;height:140px;object-fit:contain;pointer-events:none}.hero h1{max-width:calc(100% - 140px)}.eyebrow{font-weight:900;color:var(--green);font-size:15px;margin-bottom:7px}.hero h1{font-size:clamp(35px,4.2vw,55px);max-width:850px;letter-spacing:-.045em}.hero h1 span{color:var(--orange)}.hero-intro{max-width:850px}.hero-number{font-size:clamp(43px,5.8vw,76px);font-weight:900;line-height:1.12;letter-spacing:-.055em;color:var(--orange);margin:9px 0 3px;font-variant-numeric:tabular-nums}.hero-number small{font-size:.52em;margin-left:4px}.hero-comp{font-size:20px;font-weight:850;margin:0 0 6px}.hero-pow{font-weight:900;color:var(--green)}.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:17px}.price-card{background:#fff;border:1px solid #d8e6e1;border-radius:15px;padding:14px;min-width:0}.price-card.primary{border:2px solid #78b59e;background:#f7fdf9}.price-card>span{display:block;font-size:15px;font-weight:750}.price-card strong{display:block;font-size:clamp(22px,2.7vw,34px);line-height:1.3;margin:4px 0;white-space:nowrap}.price-card small{display:block}.price-card .price-approx{display:block;font-weight:800;font-size:16px;color:#346357}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:11px 18px;border-radius:11px;text-decoration:none;font-weight:850;font-size:16px;line-height:1.4;background:#fff;border:1px solid #b9d4cc;color:#175a53}.btn.main{background:var(--green);color:white;border-color:var(--green)}.btn.main:hover{background:var(--green-dark)}.btn.alt{background:white;color:var(--green)}.btn.full{width:100%}
.section{padding:29px 0;border-bottom:1px solid var(--line)}.section h2{font-size:clamp(25px,3.2vw,32px);margin:0 0 6px}.section-desc{margin-bottom:14px;font-size:15px;color:var(--body)}.section.soft{background:#f1f8f5}.shopgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:14px}.shopbox{min-width:0;padding:18px;border-radius:15px;background:white;border:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.shopbox.junk{border-color:#edcbbd;background:#fffaf8}.shopbox h3{font-size:22px}.shopbox p{font-size:15px;margin:0}.shopbox .detailtext{min-height:40px}.shopbox .buttons{margin-top:auto;display:grid;gap:9px}.subtle-link{display:block;text-align:center;font-size:14px;font-weight:800}.shops-row{margin-top:16px;padding:15px;border:1px solid var(--line);background:#fff;border-radius:12px}.shops-row h3{font-size:19px;margin-bottom:9px}.merchants{display:flex;gap:9px;flex-wrap:wrap}.merchants a{display:inline-flex;border:1px solid #caddd4;border-radius:8px;text-decoration:none;font-size:15px;padding:8px 12px;font-weight:800}.merchants a:hover{background:#eaf5f0}.survey-note{margin:10px 0 0}
.chart-section{background:white}.chart-overview{background:#f5faf7;border:1px solid #d9e7e1;border-radius:15px;padding:18px;margin-top:16px}.bars{display:grid;gap:16px;margin:14px 0}.bar-row{display:grid;grid-template-columns:146px minmax(0,1fr) 140px;gap:12px;align-items:center}.bar-name{font-weight:850;font-size:15px}.bar-value{text-align:right;font-size:17px;font-weight:900;white-space:nowrap}.bar-track{height:49px;background:#e8eeee;border-radius:9px;overflow:hidden;display:flex;position:relative}.bar-track>*{height:100%}.seg-base{width:29.5887%;background:#69b5a2}.seg-repair{width:54.246%;background:#e5b264}.seg-ac{width:16.1653%;background:#b74b39}.normalbar{width:59.0788%;height:100%;background:#17836d}.junkbar:after{content:"";position:absolute;left:59.0788%;right:0;top:0;bottom:0;background:rgba(190,43,38,.40);box-shadow:inset 3px 0 #bd3f30;pointer-events:none}.bar-legend{display:flex;gap:13px;flex-wrap:wrap;margin-top:10px}.bar-legend>span{font-size:12px;color:#496474}.bar-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}.loss{font-size:clamp(26px,3.5vw,38px);font-weight:900;color:var(--red);margin:7px 0 0}.loss small{display:block;font-size:12px;font-weight:500;color:var(--muted)}
.costline{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:13px 0;font-size:16px}.costline strong{font-size:clamp(22px,3vw,30px);font-weight:900;white-space:nowrap}.costline .note{max-width:155px;text-align:right}.costline:last-child{border:0}.source-links{display:flex;gap:6px 20px;flex-wrap:wrap;margin-top:8px}.source-links a{font-weight:750}.limit-card{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:13px 0}.limit-card article{background:#f5faf7;border:1px solid var(--line);border-radius:13px;padding:16px;min-width:0}.limit-card article strong{display:block;font-size:clamp(27px,3vw,35px);line-height:1.34;margin:5px 0;color:var(--green)}.limit-card article>span{font-size:15px;font-weight:800}.limit-card article small{display:block}.mini-summary{font-size:15px;margin:10px 0 0;color:var(--body)}
.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:15px}.check-card{border:1px solid #d7e5df;border-radius:13px;background:#f7fbf9;padding:15px;min-width:0}.check-card h3{font-size:21px;margin-bottom:6px}.check-card p{font-size:15px;line-height:1.58}.check-card details{border-top:1px solid #cedcd6;padding-top:9px}.check-card summary{font-size:15px;font-weight:850;cursor:pointer;color:#177065}.check-card details p{font-size:15px;margin:8px 0}.question-box{background:white;border:1px solid var(--line);border-radius:9px;padding:12px}.question-box textarea{font:inherit;width:100%;resize:vertical;min-height:155px;border:1px solid #bcd5cc;border-radius:7px;padding:10px;line-height:1.4}.question-box button{border:1px solid #248875;border-radius:8px;background:#eaf6f0;color:#176654;padding:9px 12px;font-weight:800;margin-top:8px}
.faq-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px}.faq-list details{border:1px solid var(--line);padding:12px 13px;border-radius:11px;background:#fff}.faq-list summary{font-weight:800;font-size:15px;cursor:pointer}.faq-list p{font-size:15px;margin-top:8px}.mascot-box{display:flex;align-items:center;justify-content:center;gap:14px;margin:14px 0 3px}.mascot-box img{width:136px;height:140px;object-fit:contain;flex:0 0 136px}.mascot-box .bubble{position:relative;background:white;border:2px solid #68c7d4;border-radius:18px;padding:11px 18px;font-weight:850;font-size:16px;white-space:nowrap;line-height:1.35;max-width:none}.mascot-box .bubble:after{content:"";position:absolute;left:-8px;top:38%;width:13px;height:13px;background:white;border-left:2px solid #68c7d4;border-bottom:2px solid #68c7d4;transform:rotate(45deg)}
.footer{background:#143642;color:#eff7f8;padding:28px 0}.footer a{color:#d8f3ee}.footer .brand{color:white}.footer .footer-note,.footer .footer-intro{color:#c8d9dd}.footer-links{display:flex;flex-wrap:wrap;gap:15px;margin:12px 0}.footer-links a{font-size:14px}.footer details{border-top:1px solid #48616a;padding:9px 0}.footer summary{font-weight:800;cursor:pointer;font-size:15px}.footer details p,.footer details li{font-size:15px;max-width:80ch}.footer .note{color:#b0c5cb!important}.footer .note a{color:#dbedef}.footer .source-links{margin-top:10px}.footer p{line-height:1.7}
@media(max-width:770px){.nav a:first-child{display:none}.shopgrid{grid-template-columns:1fr}.shopbox .detailtext{min-height:0}.check-grid,.faq-list{grid-template-columns:1fr}.check-card{padding:13px}.bar-row{grid-template-columns:130px minmax(0,1fr) 94px;gap:7px}.bar-track{height:42px}.bar-value{font-size:15px}}
@media(max-width:520px){.wrap{width:min(calc(100% - 24px),1120px)}.headbar{min-height:57px}.brand{font-size:18px}.nav{gap:10px}.nav a{font-size:13px}.hero{padding:19px 0 18px}.hero h1{font-size:clamp(29px,8.5vw,33px);max-width:calc(100% - 95px)}.hero-mascot{position:absolute;top:53px;right:0;width:90px;height:100px;opacity:.95;pointer-events:none}.hero-number{font-size:clamp(42px,11vw,51px)}.hero-comp{font-size:16px}.price-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.price-card{padding:11px 9px}.price-card:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:2px 10px}.price-card:nth-child(3)>span{grid-column:1/-1}.price-card:nth-child(3) strong{grid-column:1}.price-card:nth-child(3) small{grid-column:2}.price-card strong{font-size:23px}.price-card:nth-child(3) strong{margin:0}.price-card>span{font-size:14px}.price-card .price-approx{font-size:14px}.price-card small{font-size:11px}.actions{display:grid;grid-template-columns:1fr}.btn{font-size:15px;min-height:46px}.section{padding:23px 0}.section h2{font-size:26px}.shopbox{padding:13px}.shopbox h3{font-size:19px}.shopbox p{font-size:15px}.merchants{gap:7px}.merchants a{font-size:13px;padding:8px 9px}.chart-overview{padding:12px}.bar-row{grid-template-columns:1fr auto;gap:4px}.bar-name{grid-column:1/-1}.bar-track{grid-column:1/2}.bar-value{grid-column:2/3}.bar-track{height:39px}.bar-legend{gap:4px 8px}.costline{grid-template-columns:minmax(0,1fr) auto}.costline .note{grid-column:1/-1;max-width:100%;text-align:left}.limit-card{grid-template-columns:1fr 1fr;gap:8px}.limit-card article{padding:10px}.limit-card article>span{font-size:13px}.limit-card article strong{font-size:24px}.limit-card article small{font-size:11px}.mascot-box{gap:10px}.mascot-box img{width:118px;height:122px;flex-basis:118px}.mascot-box .bubble{font-size:14px;padding:10px 14px}.check-card h3{font-size:20px}}
@media(max-width:380px){.hero-mascot{display:none}.hero h1{max-width:100%;font-size:clamp(29px,8.5vw,32px)}.brand{font-size:16px}.nav a{font-size:12px}.hero h1{font-size:30px}.hero-number{font-size:39px}.price-card strong{font-size:21px}.limit-card article strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v142: intentional coherent overrides, no previous version stylesheet imports. */
.guide-sentence,.faq-line,.lead-line{display:inline;white-space:normal}
p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3{text-wrap:balance;overflow-wrap:break-word}
.nw{display:inline-block;white-space:nowrap;max-width:100%;vertical-align:baseline}
.hero h1{max-width:100%;font-size:clamp(35px,4.2vw,55px)}
.hero h1 .nw{color:inherit}
.hero-statrow{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.hero-statcopy{min-width:0;flex:1 1 auto}
.hero-mascot{position:static;flex:0 0 120px;max-width:29%;width:120px;height:124px;object-fit:contain;pointer-events:none}
.hero-number{letter-spacing:-.012em}
.hero-number small{letter-spacing:0;font-variant-numeric:tabular-nums}
.hero-comp{font-size:18px}
.price-card small.note{font-size:12px!important}
.note{font-size:12px!important;line-height:1.5!important;color:#6b7f87!important}
.section h2 .nw{color:inherit}
.section-desc,.mini-summary,.shopbox p{font-size:16px;line-height:1.58}
.bar-row:first-child{padding-top:31px}
.bar-track.junkbar{overflow:visible}
.segment-stack{width:100%;height:100%;display:flex;overflow:hidden;border-radius:9px}
.junkbar::after{background:repeating-linear-gradient(-45deg,rgba(255,255,255,.70) 0 5px,rgba(53,77,78,.15) 5px 9px);box-shadow:inset 3px 0 #ad4839}
.bar-excess-bracket{position:absolute;left:59.0788%;right:0;top:-10px;height:9px;border-top:2px solid #ae432e;border-left:2px solid #ae432e;border-right:2px solid #ae432e;pointer-events:none}
.bar-excess-bracket span{position:absolute;bottom:100%;right:0;white-space:nowrap;font-size:14px;font-weight:900;color:#ae432e;line-height:1.3}
.cpu-worst-case{margin:8px 0 0;padding:0;max-width:90ch}
.limit-card article strong{white-space:normal}
/* Keep the title free of mascot-width restrictions at all breakpoints. */
@media(max-width:520px){
  .hero h1{max-width:100%;font-size:28px;line-height:1.33;letter-spacing:-.025em;margin:0 0 7px}
  .hero h1 .nw{display:block;width:max-content;max-width:100%}
  .hero-statrow{gap:4px;align-items:center}
  .hero-mascot{display:block;position:static;flex:0 0 97px;width:97px;height:101px;max-width:31%}
  .hero-number{font-size:clamp(39px,10.5vw,45px);letter-spacing:-.01em;margin-top:5px}
  .hero-number small{display:block;margin:1px 0 0;font-size:17px;letter-spacing:0}
  .hero-comp{font-size:15px}
  .price-card small.note{font-size:12px!important;line-height:1.45!important}
  .price-card>span{font-size:15px}
  .subtle-link,.merchants a{font-size:15px}
  .limit-card article>span{font-size:15px}
  .bar-row:first-child{padding-top:39px}
  .bar-excess-bracket span{font-size:12px}
  .bar-value{white-space:nowrap}
  .section h2{font-size:25px}
}
@media(max-width:380px){
  .hero h1{font-size:27px;line-height:1.35;max-width:100%}
  .hero-mascot{display:block;flex-basis:75px;width:75px;height:84px;max-width:25%}
  .hero-statrow{gap:3px}
  .hero-number{font-size:39px;letter-spacing:-.006em}
  .hero-number small{font-size:16px}
  .bar-excess-bracket span{font-size:11px}
  .limit-card{grid-template-columns:1fr}
}

/* v143: scope labels rather than restyling inline phrase wrappers. */
.price-card small.note{font-size:12px!important;font-weight:400!important;color:#6b7f87!important;line-height:1.5!important;letter-spacing:0}
.price-card .note .nw,.costline .nw,.limit-card .nw,.bar-legend .nw{display:inline;white-space:nowrap;font:inherit;color:inherit}
/* A two-line 320px heading remains possible while emphasizing whole words. */
.limit-card article strong .nw{display:inline;white-space:nowrap;font:inherit;color:inherit}
.cpu-worst-case.note{display:block;font-size:15px!important;font-weight:500!important;color:#873b31!important;line-height:1.55!important;background:#fff0eb;border-left:4px solid #b8402a;border-radius:9px;padding:12px 14px;margin-top:12px;max-width:none}
.bar-row:first-child{padding-top:6px}
.bar-excess-bracket{top:-7px;height:8px}
.bar-excess-bracket span{bottom:calc(100% + 5px);right:0;line-height:1.2}
@media(max-width:770px){.bar-row:first-child{padding-top:6px}}
@media(max-width:520px){.bar-row:first-child{padding-top:6px}}
@media(max-width:380px){.bar-row:first-child{padding-top:6px}}
/* v146: keep the mascot speech bubble within a 320px viewport. */
@media (max-width:380px){
  .mascot-box{gap:8px;max-width:100%}
  .mascot-box img{width:92px;height:100px;flex:0 0 92px}
  .mascot-box .bubble{font-size:13px;line-height:1.35;padding:9px 10px;max-width:none;white-space:nowrap}
}

/* API候補は別表示。比較本体は確認済みペアが揃った場合のみ変更。 */
.live-market{padding:16px 0 18px;border-bottom:1px solid var(--line);background:#f1f8f5}
.live-market h2{font-size:21px;line-height:1.35;margin:0 0 2px}
.live-market .live-status{font-size:12px;color:var(--muted);line-height:1.6;margin:4px 0}
.live-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:11px 0 7px}
.live-prices article{background:#fff;border:1px solid #c9ddd5;border-radius:12px;padding:11px;min-width:0}
.live-prices h3{font-size:15px;margin:0 0 3px}
.live-prices .live-amount{display:block;font-size:clamp(22px,3vw,29px);font-weight:900;letter-spacing:-.03em}
.live-prices .live-type{font-size:12px;color:var(--muted);margin:0 0 6px}
.live-prices a{display:inline-block;font-size:13px;font-weight:800;overflow-wrap:break-word}
.live-prices .live-title{font-size:12px;color:var(--muted);margin:5px 0 0;line-height:1.5}
@media(max-width:380px){.live-prices{gap:7px}.live-prices article{padding:9px}.live-prices .live-amount{font-size:21px}.live-market h2{font-size:19px}}
[hidden]{display:none!important}
/* v150: Dynamic comparison bars; no fixed overlay. */
#comparison-bars .bar-track.junkbar:after,#comparison-bars .junkbar:after,#comparison-bars .bar-excess-bracket{display:none!important}
#comparison-bars .bar-track{overflow:hidden!important}
#comparison-bars .segment-stack{overflow:hidden;width:100%;}
#comparison-bars .bar-row:first-child{padding-top:0}
.comparison-state{font-size:14px;font-weight:800;color:var(--green);margin:5px 0}
#hero-junk-detail{font-size:15px;display:block;font-weight:600;letter-spacing:0;margin-top:6px;color:var(--body)}
#limit-price{font-size:clamp(20px,2.5vw,27px)}

/* v150: 見出しと比較カードは文節ごとに改行する。価格は大きな概算＋小さな実額。 */
.hero-conclusion{font-size:clamp(23px,3.3vw,39px);font-weight:900;line-height:1.32;color:var(--red);margin:9px 0 12px;max-width:calc(100% - 145px)}
.hero-conclusion small,.amount-exact{font-size:.44em!important;font-weight:650!important;color:var(--muted)!important;letter-spacing:normal;white-space:nowrap;vertical-align:baseline}
.hero-number .amount-exact{display:inline-block;font-size:.30em!important;margin-left:8px}
.hero-pow .amount-exact{font-size:.66em!important;margin-left:5px}
.price-card strong .amount-exact{display:block;font-size:12px!important;margin-top:1px}
.costline strong .amount-exact{display:block;font-size:12px!important;text-align:right}
#limit-price .amount-exact{display:block;font-size:12px!important}
.survey-age{font-size:13px;line-height:1.6;color:var(--green);font-weight:750;margin:8px 0 3px}
.survey-age.stale{color:#8b9698;opacity:.68}
.survey-reference.stale .hero-conclusion,.survey-reference.stale #comparison-state{opacity:.72}
.api-credits{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:17px 0;padding:15px 0;border-top:1px solid #dce8e4}
/* 提供元指定HTMLの表示色・サイズは変更しない。一般リンク色の継承は解除。 */
.api-credits a{color:revert;text-decoration:revert;font-size:revert}
.bar-value{font-size:clamp(12px,1.3vw,16px);white-space:normal;text-align:right;line-height:1.35}
.price-card>span,.shopbox h3,.section h2,.section-desc,.comparison-state,.hero-comp,.chart-overview p,.costline>span{line-break:strict;overflow-wrap:normal;word-break:keep-all}
.nw{display:inline-block;white-space:nowrap;max-width:100%;vertical-align:baseline}
@media(max-width:760px){.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bar-row{grid-template-columns:110px minmax(0,1fr) 112px;gap:8px}}
@media(max-width:560px){.price-grid{grid-template-columns:1fr}.hero-conclusion{max-width:100%;font-size:clamp(22px,6vw,29px);padding-right:10px}.hero-statrow{align-items:center}.hero-number{font-size:clamp(33px,9vw,47px)}.price-card{padding:12px 14px}.price-card strong{font-size:28px}.bar-row{grid-template-columns:80px minmax(0,1fr) 106px;gap:5px}.bar-name{font-size:13px}.bar-value{font-size:12px}.costline{grid-template-columns:minmax(0,1fr) auto}.costline .note{grid-column:1/-1;text-align:left;max-width:none}.costline strong{font-size:24px}.costline strong .amount-exact{font-size:12px!important}}
@media(max-width:360px){.hero h1{font-size:26px}.hero-conclusion{font-size:22px}.bar-row{grid-template-columns:75px minmax(0,1fr) 96px}.shopgrid,.live-prices{grid-template-columns:1fr}.live-prices article{padding:12px}}

/* v150: H1→結論→注記だけのヒーローと、独立した金額カード。 */
.hero{padding:25px 0 18px}
.hero-inner{display:block}
.hero h1{max-width:100%;font-size:clamp(34px,4.2vw,54px);line-height:1.22;margin:0 0 7px}
.hero-conclusion{max-width:100%;margin:6px 0 5px;font-size:clamp(27px,3.6vw,43px)}
.hero-note{font-size:13px;line-height:1.6;color:var(--muted);margin:0}
.summary-strip{padding:12px 0 20px;background:#f7fbf9;border-bottom:1px solid var(--line)}
.summary-strip .price-grid{margin-top:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.summary-strip .price-card{padding:12px 11px}
.summary-strip .price-card strong{font-size:clamp(22px,2.15vw,30px)}
.summary-strip .price-card .amount-exact{font-size:12px!important}
.summary-strip .survey-note{margin:5px 0 0}
.summary-strip .actions{margin:12px 0 0}
.survey-expired .chart-overview .bar-track{opacity:.15}
.survey-expired .chart-overview .bar-legend{opacity:.4}
@media(max-width:760px){.summary-strip .price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.summary-strip .price-card:nth-child(3){grid-column:auto;display:block}.summary-strip .price-card:nth-child(3)>span,.summary-strip .price-card:nth-child(3) strong,.summary-strip .price-card:nth-child(3) small{grid-column:auto}.summary-strip .price-card:nth-child(3) strong{margin:4px 0}.hero{padding:18px 0 14px}.hero h1{font-size:clamp(27px,8.4vw,33px)}.hero-conclusion{font-size:clamp(23px,6.5vw,31px)}.summary-strip .price-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.summary-strip .price-card{padding:10px}.summary-strip .price-card strong{font-size:clamp(20px,6.1vw,25px)}.summary-strip .price-card>span{font-size:13px}}
@media(max-width:360px){.summary-strip .price-card strong{font-size:20px}.summary-strip .price-card .amount-exact{font-size:11px!important}}

/* v152: Hero mascot is the exact same original illustration used in the lower page. */
.hero .hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,205px);align-items:center;gap:13px}
.hero .hero-copy{min-width:0}
.hero .hero-mascot{display:block;position:static;justify-self:end;align-self:end;width:100%;max-width:205px;height:auto;max-height:223px;object-fit:contain;pointer-events:none}
.hero h1{max-width:100%;font-size:clamp(32px,3.45vw,44px);line-height:1.25}
.hero .hero-conclusion{font-size:clamp(26px,3vw,37px);max-width:100%;margin:8px 0 6px}
@media(max-width:800px){.hero .hero-inner{grid-template-columns:minmax(0,1fr) 140px}.hero h1{font-size:clamp(29px,4.7vw,37px)}.hero .hero-mascot{max-width:140px;max-height:155px}}
@media(max-width:560px){.hero .hero-inner{display:block;position:relative}.hero .hero-copy{padding-bottom:73px}.hero h1{font-size:clamp(27px,8.4vw,33px)}.hero .hero-conclusion{font-size:clamp(23px,6.5vw,31px)}.hero .hero-mascot{position:absolute;right:0;bottom:-8px;width:90px;max-width:90px;height:98px;max-height:98px;object-fit:contain}.hero .hero-note{max-width:calc(100% - 95px)}}
@media(max-width:360px){.hero .hero-mascot{display:block;width:75px;max-width:75px;height:82px;max-height:82px}.hero .hero-note{max-width:calc(100% - 80px)}.hero .hero-copy{padding-bottom:66px}}

/* v153: guide pose, large cropped upper-body artwork as in the supplied hero mockup. */
.hero{position:relative;overflow:hidden;min-height:248px;padding:31px 0 21px}
.hero .hero-inner{display:block;position:relative;min-height:190px}
.hero .hero-copy{position:relative;z-index:3;width:calc(100% - 350px);max-width:780px}
.hero .hero-mascot{display:block;position:absolute;z-index:2;right:-25px;top:-38px;width:475px;max-width:none;max-height:none;height:auto;object-fit:contain;pointer-events:none}
.hero h1{font-size:clamp(34px,3.55vw,45px);line-height:1.29}
.hero .hero-conclusion{font-size:clamp(27px,3vw,38px);line-height:1.31}
@media(max-width:900px){
 .hero{min-height:237px;padding:26px 0 17px}
 .hero .hero-inner{min-height:190px}
 .hero .hero-copy{width:calc(100% - 235px)}
 .hero .hero-mascot{width:290px;right:-22px;top:0}
 .hero h1{font-size:clamp(29px,4.1vw,37px)}
 .hero .hero-conclusion{font-size:clamp(25px,3.4vw,31px)}
}
@media(max-width:560px){
 .hero{min-height:0;padding:20px 0 0}
 .hero .hero-inner{min-height:0}
 .hero .hero-copy{width:100%;max-width:100%;padding:0 0 120px}
 .hero h1{font-size:clamp(27px,7.9vw,33px)}
 .hero .hero-conclusion{font-size:clamp(22px,6.6vw,28px);margin:8px 0 4px}
 .hero .hero-mascot{display:block;position:absolute;right:-14px;top:auto;bottom:-61px;width:184px;max-width:none;max-height:none;height:auto}
 .hero .hero-note{max-width:100%}
}
@media(max-width:360px){
 .hero .hero-copy{padding-bottom:112px}
 .hero .hero-mascot{right:-10px;width:157px;bottom:-49px}
 .hero h1{font-size:26px}
 .hero .hero-conclusion{font-size:22px}
}

/* v154: Newly drawn illustration, native high-resolution sprite; smaller responsive hero placement. */
.hero{min-height:242px;padding:30px 0 18px}
.hero .hero-inner{min-height:190px}
.hero .hero-copy{width:calc(100% - 310px);max-width:790px}
.hero .hero-mascot{width:384px;height:auto;right:-14px;top:1px;object-fit:contain}
@media(max-width:900px){
 .hero{min-height:220px;padding:25px 0 15px}
 .hero .hero-inner{min-height:180px}
 .hero .hero-copy{width:calc(100% - 225px)}
 .hero .hero-mascot{width:282px;right:-10px;top:27px}
}
@media(max-width:560px){
 .hero{min-height:0;padding:20px 0 6px}
 .hero .hero-inner{min-height:0}
 .hero .hero-copy{width:100%;max-width:100%;padding-bottom:83px}
 .hero .hero-mascot{display:block;position:absolute;top:auto;right:-8px;bottom:-9px;width:182px;height:auto}
 .hero .hero-note{max-width:calc(100% - 120px)}
}
@media(max-width:360px){
 .hero .hero-copy{padding-bottom:72px}
 .hero .hero-mascot{width:163px;right:-7px;bottom:-9px}
 .hero .hero-note{max-width:calc(100% - 110px)}
}

/* v155: generic inline SVG icons for four price cards; keep HTML prices live. */
.summary-strip .price-card.has-icon strong{display:flex;align-items:center;gap:10px;white-space:normal}
.summary-strip .price-card.has-icon .card-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;color:#54767f}
.summary-strip .price-card.has-icon .card-icon svg{display:block;width:30px;height:30px}
.summary-strip .price-card.has-icon .price-stack{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.summary-strip .price-card.has-icon .amount-exact{display:block;font-size:12px!important;margin-top:2px}
.summary-strip .price-card:nth-child(1) .card-icon{color:#2f6f67}
.summary-strip .price-card:nth-child(2) .card-icon{color:#5d7080}
.summary-strip .price-card:nth-child(3) .card-icon{color:#5d7080}
.summary-strip .price-card:nth-child(4) .card-icon{color:#6b62a5}
.hero .hero-mascot{width:410px;height:auto;right:-18px;top:-2px;object-fit:contain}
.hero h1{max-width:820px}
.hero .hero-conclusion{max-width:820px}
@media(max-width:1280px){.hero .hero-mascot{width:360px;right:-12px;top:8px}}
@media(max-width:900px){.hero .hero-mascot{width:272px;right:-8px;top:28px}.hero h1,.hero .hero-conclusion{max-width:calc(100% - 228px)}}
@media(max-width:560px){.summary-strip .price-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.summary-strip .price-card.has-icon{padding:10px}.summary-strip .price-card.has-icon strong{flex-direction:column;align-items:flex-start;gap:6px}.summary-strip .price-card.has-icon .card-icon{width:28px;height:28px;flex-basis:28px}.summary-strip .price-card.has-icon .card-icon svg{width:28px;height:28px}.summary-strip .price-card.has-icon .amount-exact{font-size:11px!important}.hero .hero-mascot{width:196px;right:-8px;bottom:-6px;top:auto}.hero h1,.hero .hero-conclusion{max-width:calc(100% - 114px)}.hero .hero-note{max-width:calc(100% - 104px)}}
@media(max-width:390px){.summary-strip .price-card.has-icon strong{gap:5px}.summary-strip .price-card.has-icon .card-icon{width:28px;height:28px}.summary-strip .price-card>span{font-size:13px}.summary-strip .price-card strong{font-size:clamp(19px,6vw,24px)}}
@media(max-width:320px){.summary-strip .price-card.has-icon .card-icon{width:26px;height:26px;flex-basis:26px}.summary-strip .price-card.has-icon .card-icon svg{width:26px;height:26px}.summary-strip .price-card{padding:9px}.summary-strip .price-card>span{font-size:12px}.summary-strip .price-card strong{font-size:18px}.hero .hero-mascot{width:174px;right:-8px;bottom:-2px}}


/* v157: reserve real space for the text block; mascot must not overlap readable copy. */
@media(min-width:901px){.hero h1,.hero .hero-conclusion{max-width:calc(100% - 370px)}}

/* v158: seller comparison cards: price > product > condition > provenance. */
.shopgrid{align-items:stretch;gap:15px}
.shopbox{padding:20px 21px;gap:7px;min-width:0}
.shopbox .offer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.shopbox .offer-head .eyebrow{margin:0;font-size:14px}
.shopbox .offer-date{color:var(--muted);font-size:12px;font-weight:600;line-height:1.4}
.shopbox .offer-price-row{display:flex;align-items:baseline;column-gap:11px;row-gap:2px;flex-wrap:wrap;margin:6px 0 0;min-width:0}
.shopbox .offer-price{font-size:clamp(29px,3vw,36px);font-weight:900;line-height:1.1;color:var(--ink);letter-spacing:-.025em;white-space:nowrap}
.shopbox .offer-exact{font-size:14px;color:var(--muted);font-weight:650;white-space:nowrap}
.shopbox p.offer-price-label{font-size:12px;color:var(--muted);line-height:1.4;margin:0}
.shopbox h3.offer-name{font-size:18px;line-height:1.45;letter-spacing:-.015em;font-weight:850;margin:10px 0 1px;color:var(--ink);overflow-wrap:anywhere}
.shopbox .offer-tags{display:flex;gap:6px;flex-wrap:wrap;margin:3px 0 0}
.shopbox .offer-tags span{font-size:12px;font-weight:750;line-height:1.4;color:#3c5d67;background:#eef4f3;border:1px solid #dce8e4;border-radius:5px;padding:3px 8px}
.shopbox.junk .offer-tags span{background:#f8f1ed;border-color:#efded6}
.shopbox p.offer-condition{font-size:14px;line-height:1.55;color:var(--body);margin:6px 0 0}
.shopbox p.offer-meta{font-size:12px;line-height:1.5;color:var(--muted);margin:2px 0 0;overflow-wrap:anywhere}
.shopbox p.offer-caution{font-size:13px;line-height:1.5;color:#617780;margin-top:4px}
.shopbox .buttons{margin-top:auto;display:flex;gap:8px;padding-top:12px}
.shopbox .buttons .btn{width:auto;min-width:245px;max-width:100%;font-size:14px;padding:10px 14px;min-height:44px}
@media(max-width:770px){.shopbox{padding:16px}.shopbox h3.offer-name{font-size:17px}}
@media(max-width:520px){.shopbox{padding:16px}.shopbox .offer-price{font-size:32px}.shopbox .offer-price-row{gap:7px}.shopbox .offer-exact{font-size:13px}.shopbox .buttons{display:block}.shopbox .buttons .btn{width:100%;min-width:0}}

/* v162: tighten mascot-to-summary gap a little more on mobile */
@media(max-width:560px){
  .hero{padding:20px 0 0}
  .hero .hero-copy{padding-bottom:52px}
  .hero .hero-mascot{bottom:-26px}
  .summary-strip{padding-top:6px}
}
@media(max-width:390px){
  .hero .hero-copy{padding-bottom:48px}
  .hero .hero-mascot{bottom:-28px}
  .summary-strip{padding-top:4px}
}
@media(max-width:320px){
  .hero .hero-copy{padding-bottom:45px}
  .hero .hero-mascot{bottom:-24px}
  .summary-strip{padding-top:4px}
}


/* v163: PC/tablet mascot sits closer to the top of price cards. */
@media(min-width:1281px){.hero .hero-mascot{top:18px}}
@media(min-width:901px) and (max-width:1280px){.hero .hero-mascot{top:24px}}
@media(min-width:561px) and (max-width:900px){.hero .hero-mascot{top:38px}}

/* v164: align the desktop mascot's visible base with the hero/price-strip color boundary. */
@media (min-width:901px){
  .hero .hero-mascot{top:auto;bottom:-18px}
}
@media (min-width:561px) and (max-width:900px){
  .hero .hero-mascot{top:auto;bottom:-15px}
}
/* --- 補助ページ(運営情報・プライバシー・免責)用 --- */
.page{padding:28px 0 40px}.page h1{font-size:1.6rem;margin:0 0 16px}.page ul{padding-left:1.2em}.page li{margin:0 0 8px}
