:root{--bg:#f7f3ef;--paper:#fffdf9;--ink:#392f3d;--muted:#6b616c;--accent:#684d64;--line:#dfd6dc;--soft:#eee7ed;--gold:#b2936b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;padding-bottom:90px;background:var(--bg);color:var(--ink);font:17px/1.75 -apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans KR',sans-serif;word-break:keep-all;letter-spacing:-.15px}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;color:var(--ink)}button:disabled{cursor:default;opacity:.5}h1,h2,h3,p{margin:0}h1{font-size:34px;font-weight:650;line-height:1.4;letter-spacing:-1.2px}h2{font-size:24px;font-weight:650;line-height:1.5;letter-spacing:-.6px}h3{font-size:21px;line-height:1.5}p{overflow-wrap:anywhere}img{display:block;max-width:100%;object-fit:cover}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ad7640;outline-offset:4px}.wrap{width:min(1152px,100%);margin:auto;padding-inline:36px}.site-header{max-width:1152px;margin:auto;padding:20px 36px 17px;position:relative}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-weight:650;font-size:21px;letter-spacing:-.6px}.seal{display:grid;place-items:center;flex:0 0 34px;width:34px;height:38px;background:var(--accent);color:#fff6e9;border-radius:18px 18px 5px 5px;font:23px Georgia,serif;box-shadow:inset 0 -3px #d0b48b30}.site-header:after{content:'';position:absolute;right:38px;top:26px;width:70px;height:23px;background:radial-gradient(ellipse at 50% 100%,transparent 45%,#b2936b66 47%,#b2936b66 49%,transparent 51%) 0 0/24px 12px;opacity:.7}.site-nav{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding-inline:max(28px,calc((100% - 1080px)/2));background:#fffdf9f5;backdrop-filter:blur(12px);border-block:1px solid var(--line)}.site-nav a{display:grid;place-items:center;min-height:52px;text-align:center;text-decoration:none;font-weight:550;border-bottom:3px solid transparent;padding:10px 8px;font-size:16px;color:#756674}.site-nav a[aria-current=page]{background:#eee7ed99;border-bottom-color:var(--accent);color:var(--accent);font-weight:700}.nav-short{display:none}.page-heading{padding:31px 0 23px;position:relative}.page-heading:before{content:'';display:block;width:28px;height:2px;background:var(--gold);margin-bottom:13px}.page-heading p{font-size:17px;color:var(--muted);margin-top:9px}.skip-link{position:fixed;top:8px;left:12px;padding:12px 20px;background:var(--accent);color:white;z-index:100;transform:translateY(-160%)}.skip-link:focus{transform:none}main:focus{outline:none}section{margin:28px 0 37px}.section-lead{margin:9px 0 19px;color:var(--muted);font-size:16px}.paper{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:25px}.primary,.secondary{display:flex;justify-content:center;align-items:center;min-height:48px;padding:11px 18px;border-radius:9px;text-decoration:none;text-align:center;font-size:16px;font-weight:600;line-height:1.5;border:1px solid var(--accent);gap:10px}.primary{background:var(--accent);color:white;box-shadow:0 2px 4px #684d6410}.secondary{background:var(--paper);color:var(--accent);border-color:#cabac7}.primary:hover{background:#553c52}.secondary:hover{background:#eee7ed}.wide{width:100%}.button-stack{display:grid;gap:11px;margin:19px 0}.notice{padding:17px 21px;background:#eee7ed;border-left:3px solid #ac90a5;border-radius:0 9px 9px 0;margin:0 0 25px;font-size:16px}.small,.photo-credit{font-size:14px;color:var(--muted);line-height:1.8}.small{margin-top:12px}.text-link{display:inline-block;min-height:44px;padding:7px 0}.quick-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:31px}.quick-menu a{display:flex;gap:13px;align-items:center;position:relative;background:var(--paper);border:1px solid #dcd1d8;border-radius:13px;padding:19px 17px;text-decoration:none;min-height:93px;box-shadow:0 3px 10px #5b3c5710}.quick-menu a:hover{border-color:#ad90a7;background:#fbf7fa}.quick-menu strong{font-size:18px;font-weight:650;display:block;letter-spacing:-.5px}.quick-menu .quick-copy>span{display:block;font-size:14px;color:var(--muted);margin-top:4px}.quick-icon{display:grid;place-items:center;flex:0 0 31px;width:31px;color:#906e88}.quick-icon svg{width:28px;height:28px}.preparation-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:31px;align-items:start}.preparation-layout>section{margin:0}.preparation-layout+.faq-section{margin-top:34px}.checklist-box{margin-top:17px;padding:9px 23px 17px}.check{display:flex;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid #e9e1e5;font-size:17px;min-height:54px;cursor:pointer}.check input{width:21px;height:21px;accent-color:var(--accent);flex-shrink:0;margin:0}.check:has(input:checked) span{color:#877283;text-decoration:line-through}.check-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap;font-size:14px;color:var(--muted)}.text-button{border:0;background:none;text-decoration:underline;min-height:44px;padding:8px 0;font-size:14px;color:var(--accent)}.steps{list-style:none;counter-reset:steps;margin:17px 0 0;padding:0;display:grid;gap:13px}.steps li{counter-increment:steps;position:relative;padding:19px 20px 19px 61px;border:1px solid var(--line);border-radius:12px;background:#f0e9eea0}.steps li:before{content:counter(steps);position:absolute;left:19px;top:22px;width:26px;height:26px;border-radius:50%;border:1px solid #b69eb0;color:var(--accent);text-align:center;font-size:14px;font-weight:600;line-height:24px;background:#fffdf9}.steps strong,.steps span{display:block}.steps strong{font-size:18px;font-weight:600}.steps span{margin-top:5px;color:var(--muted);font-size:15px}.disclosure{border:1px solid var(--line);border-radius:10px;background:var(--paper);margin-top:13px;overflow:hidden}.disclosure>summary{min-height:53px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 18px;list-style:none;cursor:pointer;font-size:17px;font-weight:550}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:after{content:'+';font-size:23px;line-height:1;flex-shrink:0;color:#9d7e94;font-weight:400}.disclosure[open]>summary:after{content:'−'}.disclosure[open]>summary{border-bottom:1px solid var(--line);background:#f1eaef}.detail-content{padding:22px}.detail-content p+p{margin-top:14px}.detail-content iframe{width:100%;height:340px;border:1px solid var(--line);border-radius:9px;display:block}.source-links{display:grid;gap:8px}.source-links a{min-height:44px}.help-bar{position:fixed;bottom:17px;right:24px;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:7px;width:365px;background:#fffdf9f5;border:1px solid #d4c8d0;border-radius:13px;z-index:30;box-shadow:0 5px 24px #50324b1c}.help-bar a,.help-bar button{min-height:44px;border:1px solid #cdbdca;border-radius:8px;display:grid;place-items:center;font-size:15px;font-weight:600;text-decoration:none;padding:9px 13px;background:var(--paper);color:var(--accent)}.help-bar button{background:var(--accent);color:white;border-color:var(--accent)}footer{padding-top:24px;padding-bottom:25px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;margin-top:32px!important}footer>a{display:inline-block;min-height:44px;padding-top:10px}.hotel-overview{display:grid;grid-template-columns:.95fr 1.05fr;gap:29px;margin-top:0;align-items:center}.hotel-overview>div>p{margin-top:10px;font-size:16px}.facts{margin:17px 0;font-size:16px}.facts>div{display:flex;gap:18px;border-bottom:1px solid #e9e1e5;padding:9px 0}.facts dt{min-width:85px;font-weight:600}.facts dd{margin:0}.photo-button{position:relative;display:block;width:100%;padding:0;border:0;border-radius:10px;overflow:hidden;background:none;text-align:left}.photo-button img{width:100%;height:296px}.photo-button>span{position:absolute;right:10px;bottom:10px;background:#fffdf9ed;border-radius:6px;padding:5px 10px;font-size:13px;color:var(--ink);min-height:28px}.onsen-card{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:29px;margin-top:18px}.onsen-card .photo-button img{height:245px}.hours{font-size:25px;font-weight:600;line-height:1.8;margin-bottom:12px;font-variant-numeric:tabular-nums}.plain-list{margin:0;padding-left:23px}.plain-list li{padding:5px 0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.gallery .photo-button img{height:180px}.gallery>p{grid-column:1/-1}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.list-title{margin-top:27px;margin-bottom:19px}.place-card{background:var(--paper);border:1px solid #d9ced6;border-radius:14px;overflow:hidden;scroll-margin-top:80px;box-shadow:0 3px 12px #50324b09}.place-card:focus{outline:3px solid #ad7640;outline-offset:4px}.place-preview{display:flex;gap:17px;padding:22px 23px 0;align-items:center}.place-preview>img{width:108px;height:108px;object-fit:cover;border-radius:11px;flex-shrink:0}.place-preview h2{font-size:21px;display:flex;align-items:start;gap:9px;line-height:1.5}.place-number{display:grid;place-items:center;flex:0 0 26px;height:26px;margin-top:3px;background:#eee5ec;color:var(--accent);border:1px solid #c2a9bb;border-radius:50%;font-size:15px;font-weight:600}.menu-text{font-size:17px;color:var(--muted);margin:10px 0 19px}.place-preview .menu-text{margin:8px 0 0;font-size:16px}.place-content{padding:22px 23px}.place-preview+.place-content{padding-top:18px}.place-content h2{font-size:24px;line-height:1.5}.route-caption{font-size:14px;color:var(--muted);text-align:center;margin-top:8px}.compact>summary{font-size:16px;padding:12px 14px;min-height:49px}.compact .detail-content{padding:19px}.visit-facts{margin:17px 0}.visit-facts dt{font-size:15px;font-weight:650;color:var(--accent);margin-top:18px}.visit-facts dd{margin:6px 0;font-size:16px}.photo-credit{margin-top:11px;font-size:13px}.photo-credit a{min-height:40px;display:inline-block;padding:4px 0}.map-legend{font-size:15px;margin-top:13px}.map-legend strong{display:inline-block;border-radius:6px;padding:0 7px;background:var(--accent);color:white;margin-right:7px}#food-local-map{height:400px;background:var(--soft);border:1px solid var(--line);border-radius:9px;z-index:0;margin-top:15px}.food-marker{background:none;border:0}.food-pin{display:grid;place-items:center;width:40px;height:40px;background:#82617b;color:white;border:2px solid white;border-radius:50% 50% 9px 50%;box-shadow:0 2px 5px #4f304940;font:bold 17px Arial}.food-pin.is-hotel{background:var(--accent);border-color:#e8cda6;border-radius:10px}.leaflet-popup-content{font:16px/1.6 sans-serif}.leaflet-container .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}.leaflet-control-attribution{font-size:12px!important}.golf-list{display:grid;gap:24px}.golf-card{display:grid;grid-template-columns:.8fr 1.2fr;align-items:start}.golf-card>.photo-button{border-radius:0}.golf-card .photo-button img{height:285px}.golf-card .place-content>p:not(.menu-text):not(.route-caption){margin-bottom:18px;font-size:16px}.golf-card .place-content h2{font-size:25px}.phrase-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:19px 0;max-width:800px}.phrase-categories button{min-height:51px;border:1px solid #c9b5c2;border-radius:10px;background:var(--paper);color:var(--ink);font-size:18px;font-weight:550;padding:11px}.phrase-categories button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:white}.phrase-group{scroll-margin-top:80px;max-width:920px}.phrase-group[hidden]{display:none}.phrase-group-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:26px 0 14px}.phrase-group-head h2{font-size:21px;margin:0}.phrase-group-head button{font-size:14px;min-height:44px;padding:9px 13px}.phrase-choice{width:100%;display:flex;justify-content:space-between;gap:18px;align-items:center;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:15px 19px;font-size:18px;min-height:59px;margin:11px 0;color:var(--ink);word-break:keep-all}.phrase-choice>span:last-child{flex:0 0 auto;border-radius:6px;background:var(--soft);padding:3px 10px;font-size:14px;font-weight:600}.phrase-choice:hover{border-color:#ad90a7;background:#f7f0f5}dialog{width:690px;max-width:calc(100vw - 32px);max-height:88vh;overflow:auto;border:1px solid #d1c2cd;border-radius:17px;background:var(--paper);padding:29px;color:var(--ink);line-height:1.8;box-shadow:0 15px 50px #51364b20}dialog::backdrop{background:#362b39d9;backdrop-filter:blur(2px)}dialog h2{font-size:22px}dialog .dialog-label{font-size:16px;color:var(--muted);margin-bottom:15px}dialog .hotel-jp{font-size:33px;line-height:1.8;margin:20px 0;color:var(--accent)}dialog .address-jp{font-size:23px;line-height:1.8;margin-bottom:17px}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:23px}#viewer{width:auto;padding:16px}#viewer img{max-width:100%;max-height:65vh;object-fit:contain;margin:0 auto 16px}#viewer button{width:100%}#phrase-dialog-jp{font-size:37px;line-height:1.9;margin:23px 0;color:var(--accent);user-select:text}#phrase-dialog-reading{font-size:19px;color:var(--muted);margin-bottom:20px}#phrase-dialog-status{font-size:15px;margin-top:13px}.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;background:#684d64;color:white;padding:12px 21px;border-radius:10px;font-size:16px;z-index:100;display:none}
@media(max-width:900px){.wrap{padding-inline:27px}.site-header{padding-inline:27px}.quick-menu{gap:11px}.quick-menu a{padding:17px 14px;gap:10px}.quick-icon{flex-basis:25px;width:25px}.quick-icon svg{width:25px;height:25px}.quick-menu strong{font-size:17px}.preparation-layout{grid-template-columns:1fr;gap:30px}.hotel-overview{grid-template-columns:1fr 1fr;gap:23px}.place-preview{gap:13px;padding:20px 20px 0}.place-preview>img{width:89px;height:100px}.place-preview h2{font-size:20px}.place-content{padding:20px}.golf-card{grid-template-columns:.8fr 1.2fr}.golf-card .photo-button img{height:255px}.gallery .photo-button img{height:155px}}
@media(max-width:650px){body{font-size:16.5px;line-height:1.75;padding-bottom:83px}.wrap{padding-inline:20px}.site-header{padding:15px 20px 13px}.brand{font-size:19px;gap:9px}.seal{width:30px;height:34px;flex-basis:30px;font-size:21px}.site-header:after{width:48px;height:20px;right:21px;top:22px;opacity:.5}.site-nav{padding-inline:5px}.site-nav a{font-size:16px;min-height:49px;padding:9px 3px}.nav-long{display:none}.nav-short{display:inline}h1{font-size:29px}h2{font-size:22px}.page-heading{padding:24px 0 20px}.page-heading:before{width:23px;margin-bottom:10px}.page-heading p{font-size:16px;margin-top:7px}.quick-menu{grid-template-columns:1fr 1fr;gap:11px;margin-bottom:27px}.quick-menu a{padding:17px 13px;min-height:87px;gap:9px;border-radius:11px;box-shadow:0 3px 9px #51364b0c}.quick-menu strong{font-size:17px}.quick-menu .quick-copy>span{font-size:13px;line-height:1.65;margin-top:5px}.quick-icon{flex-basis:23px;width:23px}.quick-icon svg{width:23px;height:23px}.preparation-layout{gap:29px}.preparation-layout+.faq-section{margin-top:30px}.paper{padding:21px}.checklist-box{padding:5px 19px 15px}.check{font-size:16.5px;gap:12px;min-height:55px;padding:12px 0}.check input{width:21px;height:21px}.check-actions{font-size:14px;gap:10px}.text-button{font-size:14px}.primary,.secondary{font-size:16px;min-height:48px;padding:11px 14px}section{margin:22px 0 30px}.section-lead{font-size:15.5px;margin-bottom:16px}.notice{padding:17px 18px;font-size:16px}.disclosure>summary{font-size:16.5px;min-height:53px;padding:13px 16px}.detail-content{padding:18px}.detail-content iframe{height:285px}.help-bar{left:0;right:0;bottom:0;width:auto;gap:9px;padding:8px 15px max(8px,env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:0 -3px 13px #51364b09}.help-bar a,.help-bar button{min-height:44px;font-size:15.5px;padding:8px 10px;border-radius:8px}.place-grid{grid-template-columns:1fr;gap:20px}.place-preview{gap:14px;padding:20px 20px 0;align-items:center}.place-preview>img{width:91px;height:96px;border-radius:9px}.place-preview h2{font-size:20px;gap:9px}.place-preview .place-number{flex-basis:24px;height:24px;font-size:14px;margin-top:3px}.place-preview .menu-text{font-size:15.5px;margin-top:7px}.place-preview+.place-content{padding:17px 20px 19px}.menu-text{font-size:16px;margin-bottom:17px}.route-caption{font-size:13.5px}.compact>summary{font-size:16px;min-height:49px}.steps li{padding:17px 18px 17px 57px}.steps li:before{left:17px;top:19px;width:25px;height:25px;line-height:23px}.steps strong{font-size:17px}.steps span{font-size:15px}.facts{font-size:16px}.facts>div{gap:12px;padding:8px 0}.facts dt{min-width:85px}.hotel-overview,.onsen-card{grid-template-columns:1fr;gap:20px}.hotel-overview .photo-button img{height:235px}.hours{font-size:23px}.gallery{grid-template-columns:1fr}.gallery .photo-button img{height:205px}.onsen-card .photo-button img{height:225px}.list-title{margin-top:22px;margin-bottom:16px}.golf-card{grid-template-columns:1fr}.golf-card .photo-button img{height:225px}.golf-card .place-content h2{font-size:23px}.golf-card .place-content>p:not(.menu-text):not(.route-caption){font-size:16px}.phrase-categories{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.phrase-categories button{font-size:18px;min-height:51px;padding:11px}.phrase-group-head{display:flex;align-items:center;gap:14px;margin-top:23px}.phrase-group-head h2{font-size:20px}.phrase-group-head button{font-size:13px;min-height:44px;padding:8px 10px;max-width:110px}.phrase-choice{font-size:17px;min-height:60px;padding:15px;gap:13px}.phrase-choice>span:last-child{font-size:14px;padding:3px 9px}dialog{padding:24px 21px;max-width:calc(100vw - 28px);border-radius:14px}dialog .hotel-jp{font-size:29px}dialog .address-jp{font-size:21px}dialog .dialog-label{font-size:15px}#phrase-dialog-jp{font-size:31px;line-height:1.9}#phrase-dialog-reading{font-size:18px}.dialog-actions{gap:10px}.small,.photo-credit{font-size:13.5px}#food-local-map{height:325px}.map-legend{font-size:14px}footer{font-size:13.5px;padding-top:21px}.visit-facts dd{font-size:16px}.visit-facts dt{font-size:14px}}
@media(max-width:359px){.wrap{padding-inline:16px}.brand{font-size:18px}.site-header:after{display:none}.quick-menu a{padding:16px 12px;gap:7px}.quick-menu strong{font-size:16px}.quick-icon{display:none}.place-preview>img{width:80px;height:90px}.place-preview h2{font-size:19px}.place-content{padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.climate-section{padding-top:28px;border-top:1px solid var(--line);margin-top:34px}.climate-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.climate-heading p{font-size:15px;color:var(--muted);margin-top:6px}.climate-period{font-size:13px;color:var(--muted);white-space:nowrap}.monthly-values{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0 0 18px;background:var(--paper)}.monthly-values>div{padding:14px 18px;border-right:1px solid #e9e0e6;border-bottom:1px solid #e9e0e6}.monthly-values>div:nth-child(6n){border-right:0}.monthly-values>div:nth-last-child(-n+6){border-bottom:0}.monthly-values dt{font-size:14px;color:var(--muted);margin-bottom:3px}.monthly-values dd{margin:0;font:25px/1.5 Georgia,serif;color:var(--accent);font-variant-numeric:tabular-nums}.monthly-values dd>span{font:14px sans-serif;margin-left:3px}.climate-rows{padding:0 22px}.climate-row{display:grid;grid-template-columns:120px 1fr;gap:25px;padding:23px 0;border-bottom:1px solid var(--line)}.climate-row:last-child{border:0}.climate-month strong{display:block;font-size:18px;font-weight:600;margin-bottom:6px}.climate-month>span{display:block;font-size:15px;color:var(--muted)}.climate-row h3{font-size:17px;font-weight:650;margin-bottom:7px}.climate-row p{font-size:16px;color:var(--muted)}.climate-row .packing{font-size:15px;margin-top:10px}.packing>span{font-size:13px;color:var(--accent);margin-right:10px}.climate-source{font-size:14px;display:inline-block;min-height:44px;padding:8px 0;color:var(--accent)}
@media(max-width:650px){.climate-section{padding-top:24px;margin-top:28px}.climate-heading{display:block;margin-bottom:15px}.climate-heading p{font-size:14px}.climate-period{display:inline-block;margin-top:8px;font-size:12px}.monthly-values{grid-template-columns:repeat(3,1fr);border-radius:10px}.monthly-values>div{padding:10px 14px}.monthly-values>div:nth-child(3n){border-right:0}.monthly-values>div:nth-last-child(-n+6){border-bottom:1px solid #e9e0e6}.monthly-values>div:nth-last-child(-n+3){border-bottom:0}.monthly-values dt{font-size:13px}.monthly-values dd{font-size:24px}.monthly-values dd>span{font-size:13px}.climate-rows{padding:0 17px}.climate-row{grid-template-columns:1fr;gap:10px;padding:20px 0}.climate-month{display:flex;align-items:baseline;gap:13px}.climate-month strong{margin:0;font-size:17px}.climate-month>span{font-size:14px}.climate-row h3{font-size:16.5px}.climate-row p{font-size:15.5px}.climate-row .packing{font-size:14px}.climate-source{font-size:13.5px}}

/* Beppu palette: plum, misted mauve and warm ivory. */
h1{font-family:Georgia,'Noto Serif KR','Batang',serif;font-weight:600;color:#594057}.brand{color:#5e465b}.quick-menu a:nth-child(1){background:#fffaf3}.quick-menu a:nth-child(2){background:#fcf7f5}.quick-menu a:nth-child(3){background:#faf8f3}.quick-menu a:nth-child(4){background:#faf5fa}.quick-menu a{box-shadow:0 2px 8px #50324b09}.quick-icon{background:#f0e8ed;border-radius:9px;width:38px;height:38px;flex-basis:38px}.quick-icon svg{width:25px;height:25px}.climate-section{background:#f0eaee66;border:1px solid var(--line);border-radius:14px;padding:24px}.climate-heading h2{color:#594057}.monthly-values>div{background:linear-gradient(150deg,#fffdf9,#faf7f9)}.climate-period{border:1px solid #d9ccd5;border-radius:20px;padding:3px 11px;background:#fffdf9}.phrase-section{max-width:920px}.phrase-categories{max-width:none}.hotel-overview .photo-button{border-radius:9px 28px 9px 9px}.onsen-card .photo-button{border-radius:9px 9px 28px 9px}.golf-card{border-radius:12px}.source-links a:hover,.text-link:hover{color:#805375}.primary:focus-visible{outline-offset:4px}
@media(max-width:900px){.quick-icon{width:30px;height:34px;flex-basis:30px}.quick-icon svg{width:23px;height:23px}}
@media(max-width:650px){.quick-icon{width:28px;height:34px;flex-basis:28px}.quick-icon svg{width:22px;height:22px}.quick-menu a{gap:9px;padding-inline:12px}.climate-section{padding:20px 17px}.monthly-values>div{padding:10px 10px}.climate-heading{margin-bottom:16px}.climate-period{margin-top:10px}.hotel-overview .photo-button{border-top-right-radius:21px}.onsen-card .photo-button{border-bottom-right-radius:21px}}

/* Consistent return routes and unobstructed page endings. */
html{scroll-padding-bottom:105px}.return-route{margin:8px 0 16px}.priority-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.phrase-priority{margin-bottom:32px}footer{padding-bottom:110px}.phrase-priority h2{margin-bottom:15px}dialog .dialog-actions{grid-template-columns:minmax(0,1fr) auto}dialog .dialog-actions .primary{white-space:normal;text-align:center}@media(max-width:650px){body{padding-bottom:calc(83px + env(safe-area-inset-bottom))}footer{padding-bottom:30px}.priority-actions{grid-template-columns:1fr;gap:9px}.priority-actions .secondary{font-size:16px;min-height:48px}.phrase-priority{margin-bottom:25px}dialog .dialog-actions{grid-template-columns:1fr}html{scroll-padding-bottom:calc(95px + env(safe-area-inset-bottom))}}

.vj-section>h2{margin-bottom:18px}.vj-intro{margin-bottom:16px}.vj-intro p{margin:0 0 13px}.vj-intro .primary{margin-top:3px}.vj-fields{margin:20px 0 15px}.vj-copy-row{padding:15px 0;border-bottom:1px solid var(--line)}.vj-copy-row:first-child{padding-top:0}.vj-copy-row dt{font-size:14px;color:var(--muted);margin-bottom:7px}.vj-copy-row dd{margin:0;display:flex;align-items:center;justify-content:space-between;gap:16px}.vj-value{font-size:16px;overflow-wrap:anywhere;user-select:all}.vj-copy{flex:0 0 auto;min-height:44px;padding:8px 14px;font-size:14px}.vj-copy-status{color:var(--accent);font-size:15px;min-height:1.5em}.vj-source{margin-top:14px}.vj-steps{margin:0 0 20px}.vj-steps strong{display:block}.vj-steps span{display:block}@media(max-width:650px){.vj-section>h2{font-size:22px}.vj-intro{padding:20px}.vj-intro .primary{width:100%;font-size:16px}.vj-copy-row dd{gap:10px}.vj-copy{font-size:14px;min-height:44px;padding:8px 12px}.vj-value{font-size:15px}.vj-steps li{padding-right:15px}}

.help-bar{grid-template-columns:1fr;width:170px}@media(max-width:650px){.help-bar{width:auto}}

.hotel-stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}.hotel-stay-grid h3{font-size:19px;margin-bottom:13px}.hotel-stay-grid .facts div{align-items:start}.hotel-stay-grid .facts dt{min-width:100px}.hotel-network{font-family:inherit;user-select:all;overflow-wrap:anywhere;font-weight:600}.hotel-facility-list{margin:0}.hotel-facility-list>div{padding:13px 0;border-bottom:1px solid var(--line)}.hotel-facility-list>div:first-child{padding-top:0}.hotel-facility-list>div:last-child{border-bottom:0;padding-bottom:0}.hotel-facility-list dt{font-weight:600;margin-bottom:5px}.hotel-facility-list dd{margin:0;color:var(--muted)}#stay-guide .detail-content h3{font-size:18px;margin:12px 0}#stay-guide .detail-content h3:first-child{margin-top:0}@media(max-width:650px){.hotel-stay-grid{grid-template-columns:1fr;gap:12px}.hotel-stay-grid .paper{padding:20px}.hotel-stay-grid .facts{font-size:16px}.hotel-stay-grid .facts dt{min-width:95px}}

.shared-place-card h3{font-size:20px;line-height:1.55;margin-bottom:10px}.shared-place-card .place-number{display:inline-grid;place-items:center;min-width:28px;height:28px;font-size:15px;background:var(--soft);border-radius:50%;color:var(--accent)}.shared-place-card .place-content{padding:22px}.shared-place-card .menu-text{margin-bottom:8px}.shared-place-card .route-caption{margin-bottom:13px}@media(max-width:650px){.shared-place-card h3{font-size:19px}.shared-place-card .place-content{padding:20px}}

.map-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.map-filters button{min-height:44px;padding:9px 6px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--accent);font:inherit;font-size:15px;cursor:pointer}.map-filters button[aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}#map-count{margin-bottom:10px}#food-local-map{height:420px}.food-marker{display:grid;place-items:center}.food-pin{width:31px;height:31px;min-width:31px;font-size:14px;line-height:31px;border:2px solid #fff;box-shadow:0 1px 5px #0005;border-radius:50%;display:grid;place-items:center}.food-pin.pin-massage{background:#476b80}.food-pin.pin-shopping{background:#896236}.food-pin.is-hotel{width:48px;min-width:48px;border-radius:8px;background:#302b31;color:#fff;font-size:13px}.food-pin.is-selected{outline:3px solid #d5a953;outline-offset:2px}.map-place-preview{background:var(--soft);padding:16px;border-radius:10px;margin:14px 0;display:flex;align-items:center;flex-wrap:wrap;gap:14px}.map-place-preview>img{width:78px;height:70px;object-fit:cover;border-radius:8px}.map-preview-copy{flex:1;min-width:150px}.map-preview-copy strong{font-size:18px}.map-preview-actions{display:flex;gap:9px;width:100%}.map-preview-actions>*{flex:1;font-size:15px;min-height:44px}.shared-place-card .place-preview{padding:20px 20px 0}.shared-place-card .place-preview img{width:105px;height:100px;object-fit:cover;border-radius:9px}.shared-place-card .place-preview h3{font-size:19px}.shared-place-card .place-preview+.place-content{padding-top:14px}@media(max-width:650px){#food-local-map{height:365px}.map-filters button{font-size:14px}.map-preview-actions{flex-direction:column}.shared-place-card .place-preview img{width:90px;height:90px}.shared-place-card .place-preview h3{font-size:18px}}
