:root{--blue:#1769aa;--blue-dark:#0d4678;--sky:#eaf6ff;--ink:#172b3a;--muted:#667987;--line:#dce7ef;--white:#fff;--bg:#f7fbfe;--green:#19856b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
a{color:inherit;text-decoration:none}.site-header{height:76px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.01em}.brand-mark{width:39px;height:39px;border-radius:13px;background:linear-gradient(145deg,#58b9ed,#1769aa);color:white;display:grid;place-items:center;font-weight:900;font-size:21px;font-style:italic}.brand-sub{display:block;font-size:12px;color:var(--blue);letter-spacing:.16em;line-height:1.2}.site-header nav{display:flex;gap:30px;font-size:14px;font-weight:650}.site-header nav a:hover{color:var(--blue)}
.hero{padding:54px max(7vw,24px) 48px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;min-height:410px;background:linear-gradient(90deg,rgba(238,249,255,.97) 0%,rgba(238,249,255,.86) 43%,rgba(238,249,255,.08) 75%),url("lake-water-glass.png") center/cover no-repeat;overflow:hidden}.hero-copy{max-width:650px;position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:800;color:var(--blue);margin:0 0 10px}.hero h1{font-size:clamp(36px,4.3vw,58px);line-height:1.2;letter-spacing:-.04em;margin:0 0 18px}.hero h1 span{color:var(--blue)}.hero-text{color:var(--muted);margin-bottom:25px}.searchbar{display:flex;align-items:center;background:#fff;border:1px solid #cbdce8;border-radius:13px;padding:6px;box-shadow:0 10px 28px #1a5a8110;max-width:570px}.searchbar>span{font-size:28px;color:#8aa2b3;padding:0 12px}.searchbar input{border:0;outline:0;min-width:0;flex:1;font:inherit;padding:10px 2px}.searchbar button{background:var(--blue);color:white;border:0;border-radius:9px;padding:12px 23px;font-weight:750;cursor:pointer}.quick-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.quick-tags button{border:1px solid #d6e5ef;background:white;color:#4e687a;border-radius:30px;padding:6px 12px;font-size:12px;cursor:pointer}.quick-tags button:hover{border-color:var(--blue);color:var(--blue)}
.hero-art{height:300px;position:relative;min-width:0}.water-orbit{position:absolute;border-radius:50%;border:1px solid #a6dcf6;transform:rotate(-24deg)}.orbit-one{width:330px;height:210px}.orbit-two{width:260px;height:310px;transform:rotate(38deg)}.bottle{position:absolute;bottom:28px;filter:drop-shadow(0 20px 14px #2479a51a)}.bottle-back{left:24%;transform:rotate(-10deg) scale(.82);opacity:.72}.bottle-front{right:22%;transform:rotate(8deg)}.cap{height:17px;width:38px;background:#2689c4;border-radius:5px 5px 2px 2px;margin:auto}.neck{width:30px;height:25px;background:#d9f4ff;border:1px solid #9bd4ee;margin:auto}.bottle-body{height:177px;width:92px;border:2px solid #9cd7f1;border-radius:25px 25px 19px 19px;background:linear-gradient(90deg,#d7f3ffbb,#fff9,#b7e7ff99);display:grid;place-items:center;text-align:center;color:#2672a0;font-size:11px;letter-spacing:.08em}.bottle-body span{background:#fffD;border-block:2px solid #9bcde5;padding:10px 4px;width:100%}.bottle-body b{font-size:13px}.water-drop{position:absolute;top:28px;right:20%;font-size:25px;color:#2b9ed8;background:#fff;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;box-shadow:0 8px 30px #278dc51a}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:22px max(7vw,24px);background:#fff;border-block:1px solid var(--line)}.stats>div{display:flex;align-items:center;justify-content:center;gap:12px}.stat-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--sky);color:var(--blue);font-weight:900;font-size:21px}.stats b,.stats small{display:block}.stats b{font-size:14px}.stats small{font-size:11px;color:var(--muted)}
.comparison{padding:65px max(5vw,24px) 58px;max-width:1450px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-heading h2,.about h2{margin:0;font-size:clamp(23px,2.6vw,32px);letter-spacing:-.03em}.muted{color:var(--muted);font-size:12px;margin:8px 0 0}.sample-badge{font-size:11px;background:#fff4d9;color:#8b6413;border:1px solid #f1dfae;border-radius:30px;padding:6px 11px;white-space:nowrap}
.filters{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr 1.7fr;gap:12px;background:#fff;padding:17px;border:1px solid var(--line);border-radius:15px}.filters label{font-size:11px;color:var(--muted);font-weight:700}.filters select{display:block;width:100%;margin-top:5px;padding:10px 9px;border:1px solid #d5e1e9;border-radius:8px;background:white;color:var(--ink);font:inherit;font-size:12px}.shipping-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 2px}.shipping-row b,.shipping-row small{display:block}.shipping-row b{font-size:14px}.shipping-row small{color:var(--muted);font-size:11px;margin-top:3px}.toggle-wrap{display:flex;background:#eaf1f6;padding:4px;border-radius:10px;flex-shrink:0}.shipping-toggle{border:0;border-radius:7px;padding:9px 14px;background:transparent;color:#617787;font-size:12px;font-weight:700;cursor:pointer}.shipping-toggle.active{background:white;color:var(--blue);box-shadow:0 1px 5px #24465b18}.result-summary{font-size:12px;color:var(--muted);margin:5px 0 13px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-card{background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden;transition:transform .15s,box-shadow .15s}.product-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #214b6510}.product-visual{height:142px;background:linear-gradient(135deg,#f1faff,#e4f4ff);display:grid;place-items:center;position:relative}.product-visual .mini-bottle{height:90px;width:38px;border:2px solid #8ccde9;border-radius:10px 10px 8px 8px;background:linear-gradient(90deg,#bdeaff,#ffffffcc,#bdeaff);position:relative;box-shadow:0 8px 10px #2d8bb51c}.mini-bottle:before{content:"";position:absolute;top:-12px;left:8px;width:18px;height:13px;background:#388fbe;border-radius:3px 3px 0 0}.mini-bottle:after{content:"WATER";position:absolute;top:31px;left:-2px;right:-2px;text-align:center;font-size:7px;font-weight:800;color:#27749a;background:#ffffffdf;padding:5px 0;border-block:1px solid #9acfe8}.product-visual.sparkling{background:linear-gradient(135deg,#f0fbf8,#ddf4ef)}.product-visual.sparkling .mini-bottle{border-color:#8ccabb}.product-visual.sparkling .mini-bottle:before{background:#279b83}.product-visual.sparkling .mini-bottle:after{color:#187864;border-color:#8ccabb}.product-label{position:absolute;left:12px;top:12px;background:#fff;border:1px solid #dcebf3;border-radius:20px;padding:4px 8px;font-size:10px;color:#4b7189}.product-body{padding:15px}.product-brand{font-size:11px;color:var(--blue);font-weight:800}.product-name{font-size:15px;line-height:1.45;font-weight:750;margin:4px 0 12px;min-height:43px}.chips{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:13px}.chip{font-size:10px;color:#647c8b;background:#f0f5f8;border-radius:5px;padding:3px 6px}.price-line{display:flex;align-items:end;justify-content:space-between;gap:8px;border-top:1px solid #edf2f5;padding-top:12px}.price{font-size:22px;font-weight:850;letter-spacing:-.03em;color:#173c56}.price small{font-size:11px;font-weight:500;color:var(--muted)}.unit-price{text-align:right;color:var(--blue);font-size:18px;font-weight:850;white-space:nowrap}.unit-price small{display:block;font-size:10px;color:var(--muted);font-weight:500}.shipping-detail{font-size:11px;color:var(--muted);margin-top:8px}.shop-button{display:block;text-align:center;border:1px solid #b9d8eb;color:var(--blue);border-radius:8px;padding:9px;margin-top:13px;font-size:12px;font-weight:800;background:#f8fcff}.shop-button.disabled{color:#8a989f;background:#f6f8f9;border-color:#e3e9ed;cursor:default}.data-note{font-size:11px;color:#7a8c98;margin-top:20px}.empty-state{text-align:center;padding:35px;color:var(--muted);background:white;border:1px dashed var(--line);border-radius:12px}.about{padding:42px max(7vw,24px);display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center;background:#eaf6ff}.about p:last-child{font-size:14px;color:#526c7d;margin:0}footer{padding:28px max(5vw,24px);display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#fff;border-top:1px solid var(--line)}footer p{font-size:12px;color:var(--muted);margin-right:auto}footer small{font-size:11px;color:#82929c}.footer-brand{font-size:13px}.footer-brand .brand-mark{width:32px;height:32px;border-radius:10px;font-size:17px}
@media(max-width:900px){.hero{grid-template-columns:1fr .7fr;padding-top:45px}.hero-art{transform:scale(.82);margin-inline:-35px}.filters{grid-template-columns:repeat(3,1fr)}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{padding-inline:20px}.stats small{max-width:170px}}
@media(max-width:620px){.site-header{height:65px;padding-inline:16px}.site-header nav{gap:12px;font-size:11px}.brand{font-size:12px;gap:7px}.brand-mark{width:32px;height:32px}.hero{display:block;padding:38px 20px 25px}.hero h1{font-size:39px}.hero-art{height:220px;transform:scale(.8);margin:-2px 0 -20px}.searchbar button{padding:10px 13px}.stats{grid-template-columns:1fr;gap:14px;align-items:start;padding:20px 25px}.stats>div{justify-content:flex-start}.comparison{padding:42px 15px}.section-heading{align-items:start;flex-direction:column;gap:10px}.filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:10px}.sort-label{grid-column:1/-1}.shipping-row{align-items:flex-start;flex-direction:column}.toggle-wrap{width:100%}.shipping-toggle{flex:1;padding:10px 5px}.product-grid{grid-template-columns:1fr 1fr;gap:9px}.product-visual{height:110px}.product-body{padding:10px}.product-name{font-size:12px;min-height:50px}.price{font-size:17px}.unit-price{font-size:15px}.shipping-detail{font-size:10px}.shop-button{font-size:11px;padding:8px 4px}.about{grid-template-columns:1fr;gap:15px;padding:35px 22px}footer{gap:12px}.footer-brand{width:100%}footer p{margin:0}}

.real-product-image{max-width:100%;max-height:120px;object-fit:contain;position:relative;z-index:1}.sample-badge.live-data-badge{background:#eaf6ff;color:#1769aa;border-color:#b8dff5}.product-visual{padding:8px}.product-visual .product-label{z-index:2}

.filters{grid-template-columns:repeat(5,minmax(0,1fr))}.filters input{display:block;width:100%;margin-top:5px;padding:10px 9px;border:1px solid #d5e1e9;border-radius:8px;background:white;color:var(--ink);font:inherit;font-size:12px;min-width:0}.hero h1,.hero-text,.hero .eyebrow{color:#103e67;text-shadow:0 1px 2px #ffffff75}.hero h1 span{color:#1769aa}
@media(max-width:900px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{background-position:center}.hero-art{height:180px}}
@media(max-width:620px){.hero{background:linear-gradient(90deg,rgba(238,249,255,.93),rgba(238,249,255,.72)),url("lake-water-glass.png") 62% center/cover no-repeat}.hero-art{display:none}.filters{grid-template-columns:1fr 1fr}.filters label{min-width:0}.filters input,.filters select{font-size:12px}.sort-label{grid-column:1/-1}}

/* Mobile fixes: keep product photos inside their own visual area and avoid overlap. */
.real-product-image{display:block;width:auto;height:auto;max-width:calc(100% - 24px);max-height:calc(100% - 12px);object-fit:contain;position:static;margin:auto;flex:none}
.product-visual{isolation:isolate;overflow:hidden}
.product-visual .product-label{z-index:2}
.product-body{min-width:0;overflow-wrap:anywhere}
.product-name,.product-brand,.shipping-detail{overflow-wrap:anywhere;word-break:normal}
.affiliate-disclosure{display:inline-block;margin:0 0 12px;padding:4px 9px;border-radius:5px;background:#fff;color:#174e78;font-size:12px;font-weight:700;border:1px solid #d3e8f6}
@media(max-width:620px){.product-visual{height:110px;padding:7px}.real-product-image{max-width:calc(100% - 16px);max-height:96px}.product-name{min-height:0;line-height:1.5;overflow-wrap:anywhere}.product-brand{line-height:1.45}.price-line{align-items:flex-start;flex-wrap:wrap}.price,.unit-price{max-width:100%;white-space:normal}.unit-price{text-align:left}.unit-price small{white-space:normal}.affiliate-disclosure{font-size:11px}}

/* Clickable product images */
.product-image-link{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0;text-decoration:none;color:inherit;}
.product-image-link .real-product-image{cursor:pointer;}
.product-image-link:focus-visible{outline:2px solid #247c78;outline-offset:2px;border-radius:8px;}
.quick-tags{display:flex;flex-wrap:wrap;gap:8px;}

.shipping-caveat{margin:8px 0 0;color:#7b8993;font-size:11px;line-height:1.6}

/* Search-friendly editorial guide, displayed below product comparison */
.seo-guide{max-width:1250px;margin:0 auto;padding:52px max(5vw,24px) 65px;color:var(--ink)}
.seo-guide h2{font-size:clamp(23px,2.5vw,32px);line-height:1.4;margin:8px 0 17px}.seo-guide h3{font-size:18px;margin:28px 0 12px}.seo-guide p{font-size:14px;line-height:1.9;color:#526c7d}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:25px 0 32px}.guide-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.guide-card h3{font-size:16px;margin:0 0 10px}.guide-card p{font-size:13px}.guide-card a{font-size:13px;font-weight:700;color:var(--blue)}.seo-guide .guide-formula{background:#eaf6ff;border-radius:10px;padding:14px 17px;font-weight:700;color:#194b71}.guide-faq{border-top:1px solid var(--line)}.guide-faq details{border-bottom:1px solid var(--line);padding:14px 2px}.guide-faq summary{font-weight:700;font-size:14px;cursor:pointer;line-height:1.6}.guide-faq details p{margin:10px 0 0}.seo-guide .guide-note{font-size:12px;color:#788b98;margin-top:25px}@media(max-width:700px){.guide-grid{grid-template-columns:1fr}.seo-guide{padding:38px 20px 45px}.guide-card{padding:17px}}

/* 1L単価と条件ラベルを横並びで表示 */
.unit-price{display:flex;align-items:baseline;justify-content:flex-end;gap:3px;flex-wrap:wrap;white-space:normal}
.unit-price small{display:inline;font-size:10px;white-space:normal}
@media(max-width:620px){.unit-price{justify-content:flex-start;text-align:left}}

/* Keep unit price and /1L condition on the same line, including on mobile. */
.unit-price{display:block;min-width:0;white-space:nowrap;overflow:visible;text-align:right}
.unit-price-inline{display:inline-block;white-space:nowrap;font-size:clamp(12px,1.25vw,18px);letter-spacing:-.035em}
.unit-price-inline small{display:inline;white-space:nowrap;font-size:clamp(8px,.8vw,10px);letter-spacing:-.04em}
@media(max-width:620px){.unit-price{white-space:nowrap;text-align:left;max-width:100%}.unit-price-inline{font-size:clamp(11px,3.4vw,15px)}.unit-price-inline small{font-size:clamp(8px,2.3vw,10px)}}




/* SEO navigation and informational pages: preserve existing colors and spacing */
.breadcrumbs{max-width:1200px;margin:0 auto;padding:13px 20px 0;font-size:12px;color:#667987;line-height:1.7}.breadcrumbs a{color:#1769aa;text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .crumb-sep{padding:0 8px;color:#9aabb7}.seo-summary{border-left:3px solid #8fc7e9;padding:9px 14px;margin:20px 0;color:#35556b;background:#f4faff;border-radius:0 8px 8px 0}.seo-extra{margin:22px 0 0;color:#526c7d;line-height:1.85}.seo-extra h2{font-size:19px;color:#234e69;margin-bottom:8px}.seo-extra p{margin:8px 0}.site-utility-links{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;margin-top:12px}.site-utility-links a{color:#1769aa}.simple-main{max-width:900px;margin:0 auto;padding:40px 20px 70px;line-height:1.9}.simple-main h1{font-size:clamp(24px,3vw,32px)}.simple-main h2{font-size:19px;margin-top:30px}.simple-main p,.simple-main li{color:#526c7d}.seo-date{font-size:12px;color:#667987;margin:10px 0}.seo-related{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.seo-related a{color:#1769aa;text-decoration:underline}@media(max-width:600px){.breadcrumbs{padding:10px 16px 0}.seo-summary{font-size:13px}.seo-extra h2{font-size:17px}}


/* 人気ランキングへの導線は比較ポイントと同じ外観で統一 */
@media(min-width:621px){.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-inline:max(3vw,18px)}}
.stats .stat-link{display:flex;align-items:center;justify-content:center;gap:12px;color:inherit;text-decoration:none;border-radius:9px;min-width:0;transition:background-color .18s}
.stats .stat-link:hover,.stats .stat-link:focus-visible{background:#edf7fd;outline-offset:3px}
.stats .stat-link b,.stats .stat-link small{display:block}
.stats .stat-link b{font-size:14px}.stats .stat-link small{font-size:11px;color:var(--muted)}
@media(max-width:900px) and (min-width:621px){.stats{gap:5px;padding-inline:12px}.stats>div,.stats .stat-link{gap:7px}.stats .stat-icon{width:34px;height:34px;flex:none}.stats b,.stats .stat-link b{font-size:12px}.stats small,.stats .stat-link small{font-size:10px}}
@media(max-width:620px){.stats .stat-link{justify-content:flex-start}}
#popular-ranking{scroll-margin-top:25px}

/* 4つの比較ポイントを等間隔に配置。人気ランキングのみクリック可能 */
.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-inline:max(3vw,20px)}
.stats>div,.stats>a.stat-link{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-width:0;width:100%;padding:4px 6px}
.stats .stat-icon{flex:0 0 42px}
.stats>div>span:last-child,.stats>a.stat-link>span:last-child{display:block;min-width:0}
.stats>a.stat-link{border-radius:9px;color:inherit;text-decoration:none;transition:background-color .18s}
.stats>a.stat-link:hover,.stats>a.stat-link:focus-visible{background:#edf7fd}
.stats>a.stat-link b,.stats>a.stat-link small{display:block}
@media(max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px 22px}.stats>div,.stats>a.stat-link{justify-content:flex-start;gap:12px}.stats .stat-icon{flex-basis:42px;width:42px;height:42px}.stats b,.stats>a.stat-link b{font-size:14px}.stats small,.stats>a.stat-link small{font-size:11px}}
@media(max-width:420px){.stats{gap:12px 4px;padding:16px 9px}.stats>div,.stats>a.stat-link{gap:7px;padding:5px 2px}.stats .stat-icon{flex-basis:35px;width:35px;height:35px;font-size:18px}.stats b,.stats>a.stat-link b{font-size:12px;white-space:nowrap}.stats small,.stats>a.stat-link small{font-size:9px;line-height:1.4}}

/* 2026-10-19: 比較ポイント4項目の構造を統一し、既存CSSの3列指定を上書き */
.stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:center;padding:20px max(2vw,16px);}
.stats > div, .stats > a.stat-link {box-sizing:border-box;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;min-width:0;width:100%;margin:0;padding:4px 0;align-self:stretch;text-align:left;}
.stats > div > .stat-icon, .stats > a.stat-link > .stat-icon {display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;}
.stats > div > span:last-child, .stats > a.stat-link > span:last-child {display:block;flex:0 1 auto;min-width:0;}
.stats > div b, .stats > a.stat-link b {display:block;font-size:14px;line-height:1.5;white-space:nowrap;}
.stats > div small, .stats > a.stat-link small {display:block;font-size:11px;line-height:1.5;white-space:normal;}
@media(max-width:900px) {.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 8px;padding:16px 12px;}.stats > div, .stats > a.stat-link{justify-content:flex-start;gap:9px;padding:6px 2px;}.stats > div > .stat-icon, .stats > a.stat-link > .stat-icon{flex-basis:38px;width:38px;height:38px;}.stats > div b,.stats > a.stat-link b{font-size:12px;}.stats > div small,.stats > a.stat-link small{font-size:10px;}}
@media(max-width:380px) {.stats{gap:12px 4px;padding:14px 8px;}.stats > div, .stats > a.stat-link{gap:6px;}.stats > div > .stat-icon,.stats > a.stat-link > .stat-icon{flex-basis:33px;width:33px;height:33px;}.stats > div b,.stats > a.stat-link b{font-size:11px;}.stats > div small,.stats > a.stat-link small{font-size:9px;}}
