/* 元のレイアウトを維持し、読みやすさと操作の区別を補強 */
:root{--text:#222b31;--text-muted:#52606a}
body{color:#222b31}input,button,select{font:inherit}img{max-width:100%}
.hero{background:#f0f5f3!important;color:#222b31!important;border-bottom:1px solid #d5dfdb}.hero h1,.hero-sub{color:#222b31!important}.hero h1{font-size:32px;line-height:1.6}.hero-sub{opacity:1!important}.hero:before,.hero:after{display:none!important}
.hero-search{max-width:660px;width:100%;display:flex;box-sizing:border-box;border:1px solid #8b9f97!important;overflow:hidden;background:#fff!important;box-shadow:none!important}.hero-search input{flex:1;width:0;min-width:0;color:#222b31!important;background:#fff!important;box-sizing:border-box}.hero-search input:focus{outline:2px solid #1c6a54!important;outline-offset:-3px!important}.hero-search button{flex:0 0 76px!important;width:76px!important;color:#fff!important;background:#24664f!important;border-radius:0!important;white-space:nowrap}.hero-search button:focus-visible{outline:2px solid #fff;outline-offset:-5px}.hero-go{color:#244d3d!important;background:#fff!important;border:1px solid #aebfb5!important}.hero-go i{display:none}
.reviews-grid{gap:24px!important}.review-card{border:1px solid #ccd6d0!important;background:#fff!important;box-shadow:0 2px 5px #172c2010!important;overflow:hidden!important;border-radius:12px!important;min-width:0}.review-card:hover{border-color:#386d55!important;transform:none!important;box-shadow:0 3px 12px #172c2020!important}.card-title{font-size:20px!important;line-height:1.65!important;color:#222b31!important;display:block!important;-webkit-line-clamp:unset!important;max-height:none!important;overflow:visible!important;margin:8px 0 12px;word-break:normal;overflow-wrap:anywhere;line-break:strict}.card-excerpt{color:#52606a!important;line-height:1.9!important}.card-read{display:block;margin-top:16px;padding-top:12px;border-top:1px solid #e0e6e2;color:#245c43;font-size:14px;font-weight:700}.card-body{min-width:0}.card-footer{gap:12px;flex-wrap:wrap}.featured-card{border:1px solid #c9d5ce!important;box-shadow:0 2px 5px #172c2010!important}.featured-title{color:#222b31!important;line-height:1.7!important;font-size:23px!important}.featured-desc{color:#46544c!important}.sec-title{color:#222b31!important}.sec-header{margin-top:36px!important}.cat-btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #24664f;outline-offset:3px}
.body-text,.body-text p{color:#222b31!important;line-height:1.95!important;line-break:strict;overflow-wrap:anywhere}.body-text strong,.body-text b,.hl{color:#222b31!important}.block{border:1px solid #d9e1dd!important;background:#fff!important;box-shadow:0 2px 8px #182b2010!important}.block-title{color:#222b31!important;background:#f1f5f3;padding:14px 16px!important;border-left:4px solid #37775c;line-height:1.65!important}.article-hero{background:#f0f5f3!important;color:#222b31!important}.article-hero h1{color:#222b31!important;line-height:1.65!important}.article-meta,.article-meta span{color:#52606a!important}.article-hero:before,.article-hero:after{display:none!important}.table-wrap{max-width:100%;overflow-x:auto}.content-wrap,.content-wrap article,.content-wrap aside{min-width:0}.to-top{width:auto!important;min-width:48px}.to-top:after{content:'先頭へ';font-size:11px}.to-top svg{width:16px}
@media(max-width:700px){.hero h1{font-size:26px}.hero-search input{font-size:16px!important;padding:14px 12px!important}.hero-search button{flex-basis:64px!important;width:64px!important}.reviews-grid{grid-template-columns:1fr!important}.card-title{font-size:20px!important}.card-body{padding:20px!important}.featured-title{font-size:21px!important}.article-hero h1{font-size:25px!important}.article-hero h1 br{display:none}.body-text,.body-text p{font-size:16px!important}.block-title{font-size:20px!important;padding:12px!important}.block{padding:22px 18px!important}.content-wrap{padding-left:16px!important;padding-right:16px!important}.hero-stats{flex-wrap:wrap}.hero-go{max-width:100%}.card-excerpt{display:block!important;-webkit-line-clamp:unset!important;max-height:none!important}.header-inner{gap:14px;flex-wrap:wrap}header nav{flex-wrap:wrap}}

/* Single focus and consistent accents */
.hero-search{border:2px solid #9baaa3!important;border-radius:10px!important;padding:0!important;background:#fff!important;box-shadow:none!important;align-items:stretch!important}
.hero-search:focus-within{border-color:#24664f!important}
.hero-search input,.hero-search input:focus,.hero-search input:focus-visible{border:0!important;border-radius:0!important;outline:none!important;box-shadow:none!important;padding:14px 16px!important;background:transparent!important}
.hero-search button{position:static!important;transform:none!important;align-self:stretch!important;height:auto!important;right:auto!important;top:auto!important;margin:0!important;border:0!important}
.block-title::before,.block-title::after{content:none!important;display:none!important}.block-title{border-left:4px solid #37775c!important;border-radius:0!important}
.hl,.verdict-title,.verdict-text,.verdict-body,.summary-box,.summary-box p,.summary-box strong,.body-text strong,.body-text b,.card-price,.featured-title,.recent-title,.cat-list a{color:#222b31!important}
.hl{background:none!important;background-image:none!important;box-shadow:none!important;text-decoration:none!important;font-weight:700}
.recent-rating,.tag-cat{color:#52606a!important}.recent-thumb{background:#f1f3f2!important;overflow:hidden;flex-shrink:0}.recent-thumb img{width:100%;height:100%;object-fit:cover;display:block}.recent-title{line-height:1.7!important}.recent-list a:hover .recent-title,.cat-list a:hover{text-decoration:underline}.cat-list a{min-height:42px}.sidebar-title{color:#222b31!important}

/* スマホ幅のはみ出し対策（2026-09-08 追記）。各ページの body{word-break:auto-phrase} は、狭い幅だと長い文節を1語として扱い横にはみ出す（宿・歯・ノイキャン・洗濯機で確認）。700px以下だけ通常の折り返しに戻す */
@media(max-width:700px){body,body *{word-break:normal!important}h1,h2,h3,.block-title,.info-item,.info-label,.info-value,.verdict-title,.summary-box,.hb,.hs,.card-title,.featured-title{overflow-wrap:anywhere;min-width:0}.product-info-grid>*{min-width:0}}
