/* Shared naming and one primary navigation per screen size. */
.site-header,.public-ui .site-header{height:auto;min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 5%}
.brand,.public-ui .brand{min-width:0;flex:0 1 auto;gap:12px}
.brand .brand-name,.public-ui .brand .brand-name{display:flex;flex-direction:column;gap:7px;white-space:normal;font-family:'Noto Sans JP',sans-serif;letter-spacing:0;line-height:1.3}
.brand-name small{display:block;font-size:12px;font-weight:500;white-space:nowrap}
.brand-name strong{display:block;font-size:25px;font-weight:700;letter-spacing:.06em}
.brand svg,.public-ui .brand-mark{flex-shrink:0;width:45px;height:35px}
.site-header .main-nav,.public-ui .site-header .main-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 25px;margin:0;font-size:14px}
.main-nav a{white-space:nowrap;padding:10px 0}
.main-nav a.is-current{color:#c6f52d;border-bottom:2px solid #c6f52d}
.lang-flag-row{display:flex;align-items:center;gap:3px;flex:none;margin-left:auto}
.lang-flag-btn{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;cursor:pointer;line-height:1}
.lang-flag-btn .flag-icon{display:block;width:19px;line-height:14px;border-radius:2px;box-shadow:0 0 0 1px #0003;filter:saturate(.95)}
.lang-flag-btn:hover,.lang-flag-btn:focus-visible{border-color:#c6f52d;background:#ffffff18}
.lang-flag-btn.on{border-color:#c6f52d;background:#ffffff24;box-shadow:0 0 0 1px #071f3c22 inset}
.lang-flag-row .lang-more{margin-left:4px;max-width:118px;padding:4px 6px;border:1px solid #ffffff44;border-radius:6px;background:#ffffff14;color:inherit;font-size:11px;line-height:1.3;cursor:pointer}
.lang-flag-row .lang-more:hover,.lang-flag-row .lang-more:focus-visible{border-color:#c6f52d}
.lang-flag-row .lang-more option{color:#111}
/* いま見ている言語が「その他の言語」の中のとき、選択欄に言語名を出して分かるようにする */
.lang-flag-row .lang-more.is-current{border-color:#c6f52d;background:#ffffff24;font-weight:700}
.lang-flag-row{flex-wrap:nowrap;white-space:nowrap}
.bottom-nav,.public-ui .bottom-nav{display:none}
.footer-top .brand{max-width:380px}.footer-top nav{flex-wrap:wrap}.footer-brand strong{font-size:16px;line-height:1.8}
@media(max-width:1000px){
 .site-header,.public-ui .site-header{min-height:84px;padding:14px 20px}
 .site-header .main-nav,.public-ui .site-header .main-nav{display:none}
 .bottom-nav,.public-ui .bottom-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:30;padding:9px 6px calc(9px + env(safe-area-inset-bottom));background:#f5f9fcf5;border-top:1px solid #becddb;box-shadow:0 -3px 20px #041c3510;backdrop-filter:blur(14px)}
 .bottom-nav a,.public-ui .bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;min-height:54px;padding:3px 2px;color:#173650;font-size:11px;line-height:1.4;text-align:center}
 .bottom-nav .label{max-width:7em;white-space:normal;overflow-wrap:anywhere}
 .bottom-nav svg,.public-ui .bottom-nav svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
 .bottom-nav a.is-current{color:#1256a7;font-weight:700}
 body{padding-bottom:80px}.home-future .hero{padding-top:125px}
}
@media(max-width:380px){.brand-name small{font-size:11px}.brand-name strong{font-size:23px}.brand svg,.public-ui .brand-mark{width:34px}.brand,.public-ui .brand{gap:9px}}

.bottom-nav .nav-label-keep{white-space:nowrap}

/* 旅行先なび: compass + route. One SVG master for all public headers. */
.brand .brand-logo,.public-ui .brand .brand-logo{display:block;width:52px;height:52px;flex:0 0 52px;object-fit:contain}
.brand .brand-name strong{font-weight:800;letter-spacing:.045em}.brand .brand-accent{color:#c6f52d}
.footer-brand .brand{display:inline-flex;color:#fff}.footer-brand .brand-name strong{font-size:25px}.footer-brand .brand-name small{font-size:12px}
@media(max-width:720px){.brand .brand-logo,.public-ui .brand .brand-logo{width:42px;height:42px;flex-basis:42px}.brand .brand-name{gap:5px}.brand-name small{font-size:11px}}
@media(max-width:720px){.lang-flag-row{gap:1px}.lang-flag-btn{width:27px;height:30px}.lang-flag-btn .flag-icon{width:17px;line-height:13px}
/* 携帯では国旗は「日本語」と「English」の2つだけ。ほかは「その他の言語」から選べる */
.lang-flag-row .lang-flag-btn.is-pc-only{display:none}
.lang-flag-row .lang-more{max-width:92px;margin-left:2px;font-size:10px;padding:3px 4px}}
@media(max-width:400px){.lang-flag-row .lang-more{max-width:78px}}
@media(max-width:430px){.brand-name small{display:none}.site-header,.public-ui .site-header{gap:8px}}
@media(max-width:350px){.site-header,.public-ui .site-header{padding-left:10px;padding-right:10px}.brand .brand-logo,.public-ui .brand .brand-logo{width:34px;height:34px;flex-basis:34px}.brand-name small{font-size:10px}.lang-flag-btn{width:24px}.lang-flag-btn .flag-icon{width:15px;line-height:12px}}
/* ヘッダー：グルメ検索・値下がり通知をパステルカラーで目立たせる（選択中はこれまでどおりライム） 2026-10-03 */
.main-nav a[data-nav="gourmet"]:not(.is-current){color:#ffc48f}
.main-nav a[data-nav="my"]:not(.is-current){color:#ffb5c9}
.main-nav a[data-nav="gourmet"]:not(.is-current):hover{color:#ffd9b5}
.main-nav a[data-nav="my"]:not(.is-current):hover{color:#ffd3df}

/* 温泉地検索・観光スポット検索（2026-10-03） */
.main-nav a[data-nav="onsen"]:not(.is-current){color:#a8e6d8}
.main-nav a[data-nav="spots"]:not(.is-current){color:#bcd6ff}
.main-nav a[data-nav="onsen"]:not(.is-current):hover{color:#d0f3ea}
.main-nav a[data-nav="spots"]:not(.is-current):hover{color:#dbe8ff}
@media(min-width:861px){.site-header .main-nav,.public-ui .site-header .main-nav{flex-wrap:nowrap;gap:0 16px;font-size:13.5px}}
@media(min-width:861px) and (max-width:1180px){.site-header .main-nav,.public-ui .site-header .main-nav{gap:0 11px;font-size:12.5px}}
