/* 元のレイアウトを維持し、読みやすさと操作の区別を補強 */
: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}
@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}}

/* ===== 配色（2026-09-25）深い緑＋温かみのある白＋少量の黄土色 =====
   全体 #F7F5EF／上部 #E3EFE8／ボタン・見出しの飾り #176B58／小さな強調 #D59B32／カード #FFF／フッター #173E35
   背景の飾り（薄い円）は上部だけ。記事一覧とカードは落ち着いた無地のまま */
body{background:#F7F5EF!important}
header{background:#FFFDF9!important;border-bottom:1px solid #E3DED1!important}
.logo-text span{color:#176B58!important}
header nav a:hover{background:#E3EFE8!important;color:#176B58!important}
.breadcrumb{background:#F7F5EF!important;border-bottom:1px solid #E3DED1!important}
.category-wrap{background:#F7F5EF!important;border-bottom:1px solid #E3DED1!important}
.cat-btn{background:#fff!important;border-color:#D6D0C2!important;color:#2b3833!important}
.cat-btn:hover{border-color:#176B58!important;color:#176B58!important}
.cat-btn.active,.cat-btn.cat-axis.active{background:#176B58!important;border-color:#176B58!important;color:#fff!important}

/* 上部の見出しエリア（トップ・記事・固定ページ） */
.hero,.article-hero,.page-hero{background:#E3EFE8!important;border-bottom:1px solid #CADDD2!important;position:relative;overflow:hidden}
.article-hero>*,.page-hero>*{position:relative;z-index:1}
.article-hero::before,.page-hero::before{content:''!important;display:block!important;position:absolute;right:-90px;top:-120px;width:320px;height:320px;border-radius:50%;background:rgba(23,107,88,.05);z-index:0}
.article-hero::after,.page-hero::after{content:''!important;display:block!important;position:absolute;left:-60px;bottom:-150px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.55);z-index:0}
.page-hero h1,.page-hero-meta,.article-hero h1{color:#1f2a2e!important}
.page-hero-meta{opacity:1!important}

/* トップの見出し：左に文字と検索、右に写真（スマホは縦並び） */
.hero.kt-hero{padding:44px 24px 40px!important}
.kt-hero .hero-inner{max-width:1160px!important;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center;text-align:left!important}
.kt-hero .hero-search{margin:0 0 16px!important}
.kt-hero .hero-stats{justify-content:flex-start!important}
.kt-hero-photo{margin:0;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(23,62,53,.16);border:6px solid #fff}
.kt-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.kt-hero-photo figcaption{font-size:12.5px;color:#46544c;padding:8px 10px 6px;background:#fff;line-height:1.5}
@media(max-width:860px){.kt-hero .hero-inner{grid-template-columns:1fr;gap:22px}.kt-hero-photo{max-width:520px}}

/* ボタン：読む＝緑、宿＝落ち着いた茶色 */
.hero-search:focus-within{border-color:#176B58!important}
.hero-search button{background:#176B58!important}
.hero-search button:hover{background:#0F5343!important}
.hero-go.kt-read{background:#176B58!important;color:#fff!important;border:1px solid #176B58!important}
.hero-go.kt-read:hover{background:#0F5343!important}
.hero-go.kt-stay{background:#7A5230!important;color:#fff!important;border:1px solid #7A5230!important}
.hero-go.kt-stay:hover{background:#63411F!important}
.hero-go.kt-read b,.hero-go.kt-stay b{color:#fff!important}

/* 見出しの飾り・小さな強調 */
.sec-title::before{background:#176B58!important}
.block-title{border-left-color:#176B58!important;background:#EEF5F1!important}
.tag-new{background:#D59B32!important;color:#231800!important;font-weight:700}
.featured-cta{background:#176B58!important;color:#fff!important}
.card-read{color:#176B58!important;border-top-color:#E6E1D6!important}
.review-card,.featured-card{background:#fff!important;border-color:#DDD8CB!important}
.review-card:hover{border-color:#176B58!important}
.about-box{background:#fff!important;border:1px solid #DDD8CB}

/* フッター：濃い緑、文字は白系 */
footer{background:#173E35!important;color:rgba(255,255,255,.82)!important}
footer a{color:rgba(255,255,255,.86)!important}
footer a:hover{color:#fff!important}
footer h4,footer .logo-text{color:#fff!important}
.footer-tagline,.footer-disclaimer,.footer-bottom,.footer-bottom *{color:rgba(255,255,255,.74)!important}
.footer-bottom{border-top-color:rgba(255,255,255,.18)!important}

.verdict-card{background:#F1F7F3!important;border:2px solid #9CC3B2!important}
.verdict-label{color:#176B58!important}
a.featured-card[href="hotels.html"] .featured-cta{background:#7A5230!important}

/* ★2026-09-25 題名が「買っ／て」「7か／月半」のように言葉の途中で折り返していた（本人「改行悪くないかい？」）。
   題名・見出しは文節で折り返す（auto-phrase）。はみ出しそうな長い語だけは overflow-wrap で折る。
   スマホ幅の body * {word-break:normal} より強くするため body を付けて指定する */
body .card-title,body .featured-title,body .recent-title,body h1,body h2,body h3,body .block-title,body .sec-title,body .verdict-title,body .related-title,body .hero h1{word-break:auto-phrase!important;overflow-wrap:anywhere;text-wrap:pretty}
/* カードの題名の「｜」から後ろは、次の行に小さめで出す（2026-09-25） */
.card-title .ct-sub{display:block;font-size:.82em;font-weight:700;color:#46544c;margin-top:4px}
/* 上のメニュー（2026-09-25：記事一覧・泊まった宿・プロフィール・お問い合わせ） */
@media(max-width:700px){header nav a{background:#E3EFE8!important;color:#176B58!important}}
/* カード写真の上の札：数字のあるなしで高さが変わっていた（2026-09-25 本人「サイズ統一されてる？」）。高さと字の大きさをそろえる */
.thumb-stat{display:inline-flex!important;align-items:center;gap:1px;height:32px;box-sizing:border-box;padding:0 11px!important;font-size:12.5px!important;line-height:1!important;color:#176B58!important;border-color:rgba(23,107,88,.22)!important;white-space:nowrap}
.thumb-stat b{font-size:16px!important;line-height:1;margin-right:2px}
.thumb-stat,.thumb-stat b{font-size:13px!important}
/* トップ下の「記事いちらん」（2026-09-25 本人「ここのデザイン壊れてる」）：点と紫のリンクのままだった */
.kt-index{background:#fff!important;border:1px solid #DDD8CB!important;border-radius:14px;padding:22px 26px!important;box-shadow:0 2px 6px rgba(23,62,53,.06)!important}
.kt-index .block-title{background:none!important;border-left:0!important;border-bottom:1px solid #E6E1D6;padding:0 0 12px!important;margin:0 0 6px!important;font-size:18px!important;display:flex;align-items:center;gap:8px}
.kt-index .block-title::before{content:''!important;display:block!important;width:4px;height:20px;border-radius:2px;background:#176B58}
.kt-index ul{list-style:none;margin:0;padding:0;columns:2;column-gap:36px}
.kt-index li{break-inside:avoid;padding:9px 0;border-bottom:1px dashed #E3DED1;line-height:1.6;font-size:15px}
.kt-index a{color:#1f2a2e!important;text-decoration:none}
.kt-index a:hover{color:#176B58!important;text-decoration:underline}
@media(max-width:700px){.kt-index ul{columns:1}.kt-index{padding:18px 16px!important}}
.about-box a{color:#176B58!important}
