/* Tekuteku Japan */
:root{--tt-ink:#2C2C2A;--tt-ink2:#4A4945;--tt-mute:#6B6963;--tt-line:#ECE7DF;--tt-line2:#DCD6CC;--tt-bg:#FFFFFF;--tt-sand:#FBF7F0;--tt-red:#C93A34;--tt-red-ink:#B3312C;--tt-red-dark:#8E2622;--tt-red-soft:#FBEAE8;--tt-ok:#1E6B34;--tt-ok-bg:#E3F2E6;--tt-cover:#7A4A00;--tt-cover-bg:#FFF1DC;--tt-priv:#0C447C;--tt-priv-bg:#E6F1FB;--tt-radius:20px;--tt-font:'Noto Sans JP',system-ui,-apple-system,'Segoe UI',sans-serif;--tt-font-head:'Zen Maru Gothic','Noto Sans JP',system-ui,sans-serif}
[hidden]{display:none!important}
html{font-size:16px}
body.tt,body.atp-standalone{margin:0;font-size:16px;background:var(--tt-bg);color:var(--tt-ink);font-family:var(--tt-font);line-height:1.7;-webkit-text-size-adjust:100%}
.tt *,.tt *::before,.tt *::after{box-sizing:border-box}
.tt a{color:var(--tt-red-ink);text-decoration:none}.tt a:hover{color:var(--tt-red-dark);text-decoration:underline}
.tt img{max-width:100%}
.tt :where(p,li,dd,dt,summary){font-size:inherit;letter-spacing:normal}
.tt :where(h1,h2,h3){letter-spacing:normal;line-height:1.4;color:var(--tt-ink)}
.tt-main{font-size:1rem}
.tt-skip{position:absolute;top:0;inset-inline-start:8px;z-index:999;background:#fff;padding:8px 12px;transform:translateY(-200%)}.tt-skip:focus{transform:none}
.tt :focus-visible{outline:3px solid #EF9F27;outline-offset:2px}
.tt-wrap{max-width:1200px;margin:0 auto;padding:0 20px}.tt-narrow{max-width:760px}
.tt-main{min-height:60vh}
.tt-ic{display:inline-block;vertical-align:-3px;flex:none}
.tt-muted{color:#B4AFA6}.tt-small{font-size:.84rem;color:var(--tt-mute)}

/* header */
.tt-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--tt-line)}
.tt-header-in{max-width:1200px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:16px}
.tt-logo{display:flex;align-items:center;gap:10px;color:var(--tt-ink)!important;text-decoration:none!important;flex:none}
.tt-logo span{font-family:var(--tt-font-head);font-weight:700;font-size:1.25rem;white-space:nowrap}
.tt-nav{display:flex;gap:2px;margin-left:auto;overflow-x:auto;scrollbar-width:none}.tt-nav::-webkit-scrollbar{display:none}
.tt-nav a{color:var(--tt-ink)!important;padding:8px 12px;border-radius:999px;font-weight:500;font-size:.95rem;white-space:nowrap;text-decoration:none!important}
.tt-nav a:hover{background:var(--tt-sand)}.tt-nav a.is-active{background:var(--tt-red-soft);color:var(--tt-red-ink)!important;font-weight:700}
.tt-lang{position:relative;flex:none}
.tt-lang summary{list-style:none;display:flex;align-items:center;gap:6px;height:42px;padding:0 14px;border:1px solid var(--tt-line2);border-radius:999px;cursor:pointer;font-size:.9rem;background:#fff}
.tt-lang summary::-webkit-details-marker{display:none}
.tt-lang ul{position:absolute;inset-inline-end:0;top:48px;margin:0;padding:8px;list-style:none;background:#fff;border:1px solid var(--tt-line);border-radius:16px;box-shadow:0 12px 32px rgba(0,0,0,.12);display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:2px;width:max-content;max-width:90vw}
.tt-lang ul a{display:block;padding:7px 12px;border-radius:10px;color:var(--tt-ink)!important;font-size:.92rem}
.tt-lang ul a:hover{background:var(--tt-sand);text-decoration:none}.tt-lang ul a[aria-current]{background:var(--tt-red-soft);font-weight:700}
@media (max-width:820px){.tt-header-in{flex-wrap:wrap;gap:8px 12px;padding:8px 14px}.tt-nav{order:3;flex-basis:100%;margin:0 -6px}.tt-lang{margin-inline-start:auto}.tt-logo span{font-size:1.1rem}}

/* footer */
.tt-footer{margin-top:72px;background:var(--tt-sand);border-top:1px solid var(--tt-line)}
.tt-footer-in{max-width:1200px;margin:0 auto;padding:36px 20px 28px;display:grid;gap:16px}
.tt-footer-brand p{margin:8px 0 0;color:var(--tt-ink2);font-size:.92rem;max-width:620px}
.tt-footer-links{display:flex;flex-wrap:wrap;gap:6px 20px}.tt-footer-links a{color:var(--tt-ink2)!important;font-size:.92rem}
.tt-footer-pr{font-size:.8rem;color:var(--tt-mute);margin:0}.tt-footer-copy{font-size:.8rem;color:var(--tt-mute);margin:0}

/* buttons, chips */
.tt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;border:0;background:var(--tt-red);color:#fff!important;font:inherit;font-weight:700;cursor:pointer;text-decoration:none!important}
.tt-btn:hover{background:var(--tt-red-dark)}
.tt-btn-ghost{background:#fff;color:var(--tt-ink)!important;border:1px solid var(--tt-line2);font-weight:500}.tt-btn-ghost:hover{background:var(--tt-sand);border-color:var(--tt-red)}
.tt-btn-glass{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.7);font-weight:500}.tt-btn-glass:hover{background:rgba(255,255,255,.2)}
.tt-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.tt-chips-scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-bottom:12px;scrollbar-width:thin}
.tt-chip{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border:1px solid var(--tt-line2);border-radius:999px;background:#fff;color:var(--tt-ink)!important;font-size:.92rem;white-space:nowrap;text-decoration:none!important}
.tt-chip span{color:var(--tt-mute);font-size:.8rem}.tt-chip:hover{border-color:var(--tt-red)}
.tt-chip.is-active{background:var(--tt-ink);color:#fff!important;border-color:var(--tt-ink)}.tt-chip.is-active span{color:#ddd}
.tt-chip-static{cursor:default}.tt-chip-static:hover{border-color:var(--tt-line2)}
.tt-dot{width:8px;height:8px;border-radius:50%;background:#2E8B4A;display:inline-block}

/* headings */
.tt-h1,.tt-pagehead h1,.tt-detail-head h1,.tt-hub-head h1{font-family:var(--tt-font-head);font-weight:700;font-size:clamp(1.6rem,3.2vw,2.3rem);line-height:1.35;margin:0 0 8px}
.tt-h2{font-family:var(--tt-font-head);font-size:clamp(1.35rem,2.4vw,1.75rem);margin:0 0 6px}
.tt-h3{font-family:var(--tt-font-head);font-size:1.2rem;margin:28px 0 10px}
.tt-lead{color:var(--tt-ink2);margin:0 0 20px;font-size:1.02rem}
.tt-sec{padding-top:44px}
.tt-sechead{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.tt-sechead h2{font-family:var(--tt-font-head);font-size:clamp(1.25rem,2.2vw,1.6rem);margin:0}
.tt-sechead a{margin-left:auto;font-weight:500;white-space:nowrap}
.tt-pagehead{margin:8px 0 18px}.tt-pagehead p{margin:0;color:var(--tt-ink2)}
.tt-pagehead-img{display:flex;gap:18px;align-items:center}.tt-pagehead-img .tt-animal-img{width:96px;flex:none}
.tt-band{background:var(--tt-sand)}.tt-band-top{padding:4px 0 32px}

/* breadcrumbs */
.tt-crumbs ol{list-style:none;margin:0;padding:16px 0 8px;display:flex;flex-wrap:wrap;gap:4px;font-size:.84rem;color:var(--tt-mute)}
.tt-crumbs li+li::before{content:"›";margin-right:4px;color:#B4AFA6}
[dir=rtl] .tt-crumbs li+li::before{content:"‹"}

/* search */
.tt-search{display:flex;align-items:center;gap:6px;max-width:760px;padding:5px;border:1px solid var(--tt-line2);border-radius:999px;background:#fff;color:var(--tt-mute)}
.tt-search>.tt-ic{margin-inline-start:12px}
.tt-search input{flex:1;min-width:0;height:46px;border:0;outline:0;background:transparent;font:inherit;font-size:1rem;color:var(--tt-ink);padding:0 6px}
.tt-quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}

/* hero (international home) */
.tt-hero{position:relative;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;background:#CFC8BC}
.tt-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 40%}
.tt-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,20,17,.72) 0%,rgba(24,20,17,.45) 42%,rgba(24,20,17,0) 72%)}
[dir=rtl] .tt-hero-shade{background:linear-gradient(270deg,rgba(24,20,17,.72) 0%,rgba(24,20,17,.45) 42%,rgba(24,20,17,0) 72%)}
.tt-hero-in{position:relative;width:100%;padding-bottom:56px;color:#fff}
.tt-hero h1{font-family:var(--tt-font-head);font-size:clamp(2rem,5vw,3.2rem);line-height:1.25;margin:0 0 14px;text-shadow:0 2px 16px rgba(0,0,0,.35);max-width:640px}
.tt-hero p{max-width:560px;color:#F3EEE7;font-size:1.08rem;margin:0 0 18px}
.tt-hero .tt-search{border:0;box-shadow:0 8px 28px rgba(0,0,0,.22);max-width:600px;margin-bottom:14px}
@media (max-width:720px){.tt-hero{min-height:520px}.tt-hero-shade{background:linear-gradient(0deg,rgba(24,20,17,.82) 0%,rgba(24,20,17,.5) 55%,rgba(24,20,17,.1) 100%)}}

/* category cards (international home) */
.tt-catgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.tt-cat{display:flex;flex-direction:column;border:1px solid var(--tt-line);border-radius:var(--tt-radius);overflow:hidden;color:var(--tt-ink)!important;text-decoration:none!important;background:#fff}
.tt-cat-img{height:220px;background:#E4DDD1}.tt-cat-img img{width:100%;height:100%;object-fit:cover;display:block}
.tt-cat-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:4px}.tt-cat-body strong{font-family:var(--tt-font-head);font-size:1.35rem}.tt-cat-body span{color:var(--tt-ink2);font-size:.95rem}
.tt-cat:hover strong{color:var(--tt-red-ink)}

/* hub (Japanese home) */
.tt-hub-head{padding-top:36px}.tt-hub-head p{color:var(--tt-ink2);margin:0}
.tt-hub{display:grid;gap:20px;padding-top:20px}
.tt-hub-card{display:flex;flex-wrap:wrap;border:1px solid var(--tt-line);border-radius:24px;overflow:hidden;background:#fff}
.tt-hub-media{flex:0 0 340px;max-width:100%;min-height:220px;background:#E4DDD1;display:block}.tt-hub-media img{width:100%;height:100%;object-fit:cover;display:block}
.tt-hub-body{flex:1 1 420px;min-width:0;padding:24px 26px;display:flex;flex-direction:column;gap:14px}
.tt-hub-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.tt-hub-title a{font-family:var(--tt-font-head);font-size:1.6rem;font-weight:700;color:var(--tt-ink)!important}.tt-hub-title span{color:var(--tt-mute);font-size:.9rem}
.tt-more{font-weight:700;align-self:flex-start}
@media (max-width:720px){.tt-hub-media{flex-basis:100%;min-height:170px;height:170px}.tt-hub-body{padding:18px}}

/* map */
.tt-map{display:flex;flex-wrap:wrap;gap:36px;align-items:flex-start}
.tt-map-svg{flex:1 1 440px;min-width:0}.tt-map-svg svg{width:100%;height:auto}
.tt-map-svg path{fill:#E6E0D6;stroke:var(--tt-sand);stroke-width:1.5;stroke-linejoin:round;cursor:pointer;transition:fill .15s}
.tt-map-svg path:hover,.tt-map-svg path:focus{fill:#D8CFC1;outline:none}.tt-map-svg path.is-on{fill:var(--tt-red)}
.tt-map-svg text{font-size:13px;font-weight:700;fill:#4A4945;text-anchor:middle;pointer-events:none;font-family:var(--tt-font)}.tt-map-svg text.is-on{fill:#fff}.tt-map-svg text[data-label=okinawa].is-on{fill:var(--tt-red)}
.tt-map-credit{font-size:.72rem;color:var(--tt-mute);margin:6px 0 0}
.tt-map-side{flex:1 1 360px;min-width:0}
.tt-region-btns{margin-bottom:16px}
.tt-region-btns button{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--tt-line2);background:#fff;font:inherit;font-size:.9rem;cursor:pointer;color:var(--tt-ink)}
.tt-region-btns button[aria-pressed=true]{background:var(--tt-red);border-color:var(--tt-red);color:#fff}
.tt-region-panel h3{font-family:var(--tt-font-head);font-size:1.5rem;margin:0 0 12px}
.tt-destgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tt-dest{display:flex;flex-direction:column;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--tt-line);color:var(--tt-ink)!important;text-decoration:none!important}
.tt-dest strong{font-size:1.05rem}.tt-dest span{font-size:.82rem;color:var(--tt-mute)}.tt-dest:hover{border-color:var(--tt-red)}
.tt-prefline{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.88rem;margin:14px 0 0}.tt-prefline span{font-weight:700;color:var(--tt-ink2);width:100%}

/* area grids */
.tt-tablist{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.tt-tablist button{min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--tt-line2);background:#fff;font:inherit;font-weight:700;cursor:pointer;color:var(--tt-ink)}
.tt-tablist button[aria-selected=true]{background:var(--tt-ink);border-color:var(--tt-ink);color:#fff}
.tt-areagrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.tt-areacell{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;padding:6px 16px;border:1px solid #E3DDD3;border-radius:12px;color:var(--tt-ink)!important;text-decoration:none!important;background:#fff}
.tt-areacell strong{font-size:.98rem}.tt-areacell span{font-size:.8rem;color:var(--tt-mute);white-space:nowrap}.tt-areacell:hover{border-color:var(--tt-red)}
.tt-areacell-all{background:var(--tt-sand)}
.tt-animalgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}
.tt-animal{display:grid;grid-template-columns:1fr;gap:2px 6px;color:var(--tt-ink)!important;text-decoration:none!important}
.tt-animal-img{grid-column:1/-1;display:block;aspect-ratio:1;border-radius:18px;overflow:hidden}.tt-animal-img img{width:100%;height:100%;object-fit:cover;display:block}
.tt-animal-name{font-weight:700;font-size:.92rem;line-height:1.4;margin-top:4px}.tt-animal-n{font-size:.8rem;color:var(--tt-mute)}.tt-animal:hover .tt-animal-name{color:var(--tt-red-ink)}
.tt-prefindex{display:grid;gap:10px}
.tt-prefrow{display:flex;gap:14px;font-size:.95rem;line-height:1.9}.tt-prefrow-name{flex:none;width:72px;font-weight:700;color:var(--tt-ink2)}.tt-prefrow-list{display:flex;flex-wrap:wrap;gap:0 14px}.tt-prefrow small{color:var(--tt-mute)}
.tt-faq details{border-bottom:1px solid var(--tt-line);padding:14px 4px}.tt-faq details:first-child{border-top:1px solid var(--tt-line)}
.tt-faq summary{cursor:pointer;font-weight:700}.tt-faq p{margin:10px 0 0;color:var(--tt-ink2)}

/* toolbar + list */
.tt-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 8px}
.tt-toggle{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--tt-line2);background:#fff;font:inherit;font-size:.9rem;cursor:pointer;color:var(--tt-ink)}
.tt-toggle[aria-pressed=true]{background:var(--tt-ink);border-color:var(--tt-ink);color:#fff}
.tt-toolbar-sep{width:1px;height:24px;background:var(--tt-line2);margin:0 4px}
.tt-sortnote{font-size:.86rem;color:var(--tt-mute);margin:0 0 14px;min-height:1.2em}
.tt-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}
.tt-empty{padding:24px;background:var(--tt-sand);border-radius:14px;text-align:center;color:var(--tt-ink2)}

/* card */
.tt-card{display:flex;flex-direction:column;border:1px solid var(--tt-line);border-radius:var(--tt-radius);overflow:hidden;background:#fff;transition:box-shadow .15s}
.tt-card:hover{box-shadow:0 8px 24px rgba(44,44,42,.08)}
.tt-card-media{display:block;text-decoration:none!important}
.tt-tiles{position:relative;display:grid;gap:2px;height:200px;background:#fff;grid-template-columns:1fr 1fr;grid-auto-rows:1fr}
.tt-tiles-1{grid-template-columns:1fr}.tt-tiles-3 .tt-tile:first-child{grid-row:span 2}
.tt-tile{display:block;overflow:hidden;background:#E9E3D9}.tt-tile img{width:100%;height:100%;object-fit:cover;display:block}
.tt-tiles-more{position:absolute;right:8px;bottom:8px;background:rgba(44,44,42,.78);color:#fff;font-size:.8rem;font-weight:700;padding:2px 9px;border-radius:999px}
.tt-img-note{position:absolute;left:8px;top:8px;background:rgba(255,255,255,.88);color:var(--tt-ink2);font-size:.7rem;padding:1px 7px;border-radius:999px}
.tt-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.tt-card-title{margin:0;font-size:1.06rem;line-height:1.45}.tt-card-title a{color:var(--tt-red-ink)}
.tt-card-sub{margin:0;font-size:.8rem;color:var(--tt-mute)}
.tt-card-animals{margin:2px 0 0;font-size:.86rem;color:var(--tt-ink2);display:flex;gap:6px;align-items:center}
.tt-card-meta{margin:4px 0 0;display:flex;flex-direction:column;gap:2px;font-size:.88rem;color:var(--tt-ink2)}
.tt-card-meta span{display:flex;gap:6px;align-items:flex-start}.tt-card-meta .tt-ic{color:var(--tt-mute);margin-top:4px}
.tt-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:auto 0 0;padding-top:8px}
.tt-badge{white-space:nowrap;font-size:.76rem;padding:2px 9px;border-radius:999px;background:var(--tt-sand);color:var(--tt-ink2);border:1px solid var(--tt-line)}
.tt-badge-warn{background:#FFF1DC;color:#7A4A00;border-color:#F3DDB6}
.tt-open.is-open{background:#E3F2E6;color:#1E6B34;border-color:#C8E6CF}.tt-open.is-closed{background:#F1EFEB;color:var(--tt-mute)}
.tt-badge-ig{margin-left:auto;color:#C13584;display:flex}[dir=rtl] .tt-badge-ig{margin-left:0;margin-right:auto}
.tt-dist{font-weight:700;color:var(--tt-red-ink)!important}
.tt-tattoo{margin:0;padding:6px 16px;font-size:.86rem;font-weight:700}
.tt-tattoo-ok{background:var(--tt-ok-bg);color:var(--tt-ok)}.tt-tattoo-cover_ok{background:var(--tt-cover-bg);color:var(--tt-cover)}.tt-tattoo-private_only{background:var(--tt-priv-bg);color:var(--tt-priv)}

/* detail */
.tt-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;align-items:start}
@media (max-width:960px){.tt-detail-grid{grid-template-columns:1fr}}
.tt-detail-head{margin:6px 0 14px}
.tt-detail-media .tt-tiles{height:340px;border-radius:var(--tt-radius);overflow:hidden}
@media (max-width:720px){.tt-detail-media .tt-tiles{height:240px}}
.tt-linkbtns{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.tt-detail-desc{font-size:1.04rem;margin:14px 0}
.tt-note{display:flex;gap:10px;align-items:flex-start;background:var(--tt-sand);border:1px solid var(--tt-line);border-radius:14px;padding:14px 16px;margin:16px 0}.tt-note p{margin:2px 0 0}.tt-note .tt-ic{margin-top:3px;color:var(--tt-red-ink)}
.tt-info{margin:20px 0;border-top:1px solid var(--tt-line)}
.tt-info>div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--tt-line)}
.tt-info dt{display:flex;gap:8px;align-items:center;color:var(--tt-ink2);font-weight:500;font-size:.92rem}.tt-info dd{margin:0}
@media (max-width:560px){.tt-info>div{grid-template-columns:1fr;gap:2px}}
.tt-detail-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:90px}
.tt-sidebox{border:1px solid var(--tt-line);border-radius:var(--tt-radius);padding:18px;background:#fff}.tt-sidebox h2{font-family:var(--tt-font-head);font-size:1.1rem;margin:0 0 10px}.tt-sidebox p{margin:0 0 10px}
.tt-showname{font-size:1.3rem;font-weight:700;background:var(--tt-sand);border-radius:12px;padding:10px 12px;margin:0!important}
.tt-checked{font-size:.84rem;color:var(--tt-mute);margin-top:28px}
.tt-tattoobox{border-radius:var(--tt-radius);padding:18px 20px;margin:0 0 18px}.tt-tattoobox p{margin:0 0 6px}
.tt-tattoobox-label{font-size:.82rem;font-weight:700;opacity:.85}.tt-tattoobox-value{font-family:var(--tt-font-head);font-size:1.5rem;font-weight:700}
.tt-tattoobox-ok{background:var(--tt-ok-bg);color:var(--tt-ok)}.tt-tattoobox-cover_ok{background:var(--tt-cover-bg);color:var(--tt-cover)}.tt-tattoobox-private_only{background:var(--tt-priv-bg);color:var(--tt-priv)}
.tt-tattoobox .tt-small{color:inherit;opacity:.8}
.tt-legend{display:grid;gap:10px}.tt-legend-row{display:grid;grid-template-columns:200px 1fr;gap:14px;align-items:center}.tt-legend-row .tt-tattoo{border-radius:999px;text-align:center}.tt-legend-row p{margin:0}
@media (max-width:560px){.tt-legend-row{grid-template-columns:1fr;gap:4px}}
.tt-steps{padding-inline-start:1.4em}.tt-steps li{margin:4px 0}
.tt-bullets{padding-inline-start:1.2em}
.tt-areahero{position:relative;min-height:280px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#8A8378}
.tt-areahero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tt-areahero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(24,20,17,.75),rgba(24,20,17,.15))}
.tt-areahero .tt-wrap{position:relative;padding-bottom:28px;width:100%}.tt-areahero h1{font-family:var(--tt-font-head);font-size:clamp(1.6rem,3.4vw,2.4rem);margin:0}.tt-areahero p{margin:4px 0 0}
.tt-areahero-kicker{font-size:.9rem;opacity:.9}.tt-areahero .tt-img-note{position:static;display:inline-block;margin-top:8px}

/* affiliate */
.tt-aff h2{font-family:var(--tt-font-head);font-size:1.15rem;margin:0 0 10px;display:flex;align-items:center;gap:8px}
.tt-pr{font-size:.7rem;font-weight:700;border:1px solid var(--tt-line2);border-radius:6px;padding:0 6px;color:var(--tt-mute);font-family:var(--tt-font)}
.tt-aff ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tt-aff a{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--tt-line);border-radius:14px;color:var(--tt-ink)!important;background:#fff;text-decoration:none!important}
.tt-aff a span{flex:1}.tt-aff a:hover{border-color:var(--tt-red)}
section.tt-aff.tt-sec ul{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}

/* forms */
.tt-form{display:grid;gap:14px}.tt-form label{display:grid;gap:4px;font-weight:500}
.tt-form input,.tt-form textarea{font:inherit;padding:10px 12px;border:1px solid var(--tt-line2);border-radius:12px;background:#fff}
.tt-form fieldset{border:0;padding:0;margin:0}.tt-form legend{font-weight:700;margin-bottom:6px}
.tt-radios{display:flex;flex-wrap:wrap;gap:8px 16px}.tt-radios label{display:flex;gap:6px;font-weight:400}
.tt-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.tt-error{color:var(--tt-red-dark);font-weight:700}
.tt-404{padding:60px 20px;text-align:center}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){.tt *{transition:none!important}}

html,body{overflow-x:clip}
[dir=rtl] .tt :where(p,li,dd,dt,h1,h2,h3,h4,figcaption,blockquote,.tt-card-title,.tt-card-sub,.tt-note){unicode-bidi:plaintext}

/* onsen town photo cards */
.tt-towngrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.tt-towngrid-side{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.tt-towncard{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--tt-line);color:var(--tt-ink)!important;text-decoration:none!important;transition:transform .15s,box-shadow .15s}
.tt-towncard:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.08);border-color:var(--tt-red)}
.tt-towncard-img{display:block;aspect-ratio:3/2;background:#E6E0D6;overflow:hidden}
.tt-towncard-img img{width:100%;height:100%;object-fit:cover;display:block}
.tt-towncard-body{display:flex;flex-direction:column;gap:2px;padding:10px 14px 12px}
.tt-towncard-body strong{font-size:1.02rem}.tt-towncard-body span{font-size:.8rem;color:var(--tt-mute)}
.tt-map-svg path.is-empty{fill:#EFEBE4;cursor:default}.tt-map-svg path.is-empty:hover{fill:#EFEBE4}
.tt-region-btns small{opacity:.65;margin-inline-start:2px}
.tt-map-onsen .tt-region-panel{max-height:560px;overflow:auto;padding-inline-end:4px}
.tt-photo-credit-link{margin-top:12px}.tt-photo-credit-link a{color:var(--tt-mute)}
.tt-areahero-credit{position:absolute;right:10px;bottom:8px;font-size:.68rem;color:rgba(255,255,255,.85)!important;text-decoration:none;max-width:60%;text-align:end;z-index:1}
.tt-credits{line-height:1.8;padding-inline-start:1.2em}.tt-credits li{margin:4px 0}
@media (max-width:600px){.tt-towngrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tt-towncard-body{padding:8px 10px 10px}}
.tt-areahero h1,.tt-areahero p,.tt-areahero-kicker{color:#fff!important;text-shadow:0 1px 8px rgba(0,0,0,.35)}

/* link icons on card photos */
.tt-media-links{position:absolute;right:8px;top:8px;display:flex;gap:4px;z-index:2}[dir=rtl] .tt-media-links{right:auto;left:8px}
.tt-ml{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.tt-ml-ig{background:linear-gradient(45deg,#F58529,#DD2A7B 55%,#8134AF)}.tt-ml-web{background:#2F6FB3}.tt-ml-x{background:#111}
.tt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* where you stay */
.tt-linkish{background:none;border:0;padding:0;font:inherit;color:var(--tt-red-ink);text-decoration:underline;cursor:pointer}
.tt-stay-dlg{position:fixed;inset:0;z-index:200;background:rgba(30,28,26,.45);display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px 16px;overflow:auto}
.tt-stay-box{position:relative;width:100%;max-width:520px;background:#fff;border-radius:20px;padding:22px 20px 16px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.tt-stay-box h2{font-family:var(--tt-font-head);font-size:1.25rem;margin:0 0 12px}
.tt-stay-box label{display:block;font-size:.9rem;color:var(--tt-ink2);margin-bottom:6px}
.tt-stay-row{display:flex;gap:8px}.tt-stay-row input{flex:1;min-width:0;min-height:46px;border:1px solid var(--tt-line2);border-radius:999px;padding:0 16px;font:inherit}
.tt-stay-x{position:absolute;inset-inline-end:10px;top:8px;width:40px;height:40px;border:0;background:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--tt-mute)}
.tt-stay-status{font-size:.88rem;color:var(--tt-mute);margin:10px 0 6px;min-height:1.2em}
.tt-stay-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.tt-stay-list button{width:100%;text-align:start;border:1px solid var(--tt-line);background:var(--tt-sand);border-radius:12px;padding:9px 12px;cursor:pointer;font:inherit;display:flex;flex-direction:column}
.tt-stay-list button:hover{border-color:var(--tt-red)}.tt-stay-list span{font-size:.8rem;color:var(--tt-mute)}
[data-stay-sort][aria-pressed=true]{background:var(--tt-red-soft);border-color:var(--tt-red)}

/* ♡ like / share / toast (all categories) */
.tt-like{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:999px;border:0;background:rgba(255,255,255,.94);color:#8E8A84;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.14);transition:transform .12s,color .12s;padding:0}
.tt-like:hover{color:var(--tt-red);transform:scale(1.08)}
.tt-like[aria-pressed=true]{color:var(--tt-red)}.tt-like[aria-pressed=true] path{fill:currentColor}
.tt-card{position:relative}
.tt-card>.tt-like{position:absolute;right:10px;top:160px;z-index:3}
.tt-like-big,.tt-share{display:inline-flex;align-items:center;gap:8px;width:auto;height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--tt-line2);background:#fff;box-shadow:none;font:inherit;font-weight:700;color:var(--tt-ink);cursor:pointer}
.tt-like-big[aria-pressed=true]{background:var(--tt-red-soft);border-color:var(--tt-red);color:var(--tt-red-ink)}
.tt-share:hover,.tt-like-big:hover{border-color:var(--tt-red);transform:none}
.tt-detail-actions{display:flex;gap:8px;margin:12px 0 0}
.tt-saved-link{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;border-radius:999px;border:1px solid var(--tt-line2);color:var(--tt-ink)!important;flex:none;margin-inline-start:4px}
.tt-saved-link:hover{border-color:var(--tt-red);color:var(--tt-red)!important}
.tt-saved-link b{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:999px;background:var(--tt-red);color:#fff;font-size:.68rem;display:grid;place-items:center;padding:0 4px}
.tt-saved-link b[hidden]{display:none}
.tt-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:300;background:#2C2C2A;color:#fff;padding:10px 18px;border-radius:999px;font-size:.92rem;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:.2s}
.tt-toast.is-on{opacity:1;transform:translate(-50%,0);pointer-events:auto}.tt-toast a{color:#FFD3CF!important;font-weight:700;margin-inline-start:6px}
.tt-sharebox{position:fixed;inset:0;z-index:250;background:rgba(30,28,26,.45);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px}
.tt-sharebox-in{position:relative;width:100%;max-width:460px;background:#fff;border-radius:20px;padding:22px 20px 18px}
.tt-sharebox h2{margin:0 0 12px;font-size:1.2rem;font-family:var(--tt-font-head)}
.tt-sharebox-row{display:flex;gap:8px}.tt-sharebox-row input{flex:1;min-width:0;border:1px solid var(--tt-line2);border-radius:999px;padding:0 14px;font:inherit;font-size:.86rem;height:44px}
.tt-sharebox-sns{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.tt-sharebox-sns a{padding:8px 16px;border-radius:999px;border:1px solid var(--tt-line2);font-weight:700;font-size:.9rem;color:var(--tt-ink)!important}
.tt-sharebox-sns a:hover{border-color:var(--tt-red)}
/* saved page */
.tt-saved-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;margin:4px 0 8px}
.tt-saved-actions{display:flex;flex-wrap:wrap;gap:8px}
.tt-saved-actions [aria-pressed=true]{background:var(--tt-red-soft);border-color:var(--tt-red)}
button.tt-chip{font:inherit;cursor:pointer}
.tt-saved-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:start}
.tt-saved-map{height:560px;border-radius:20px;overflow:hidden;border:1px solid var(--tt-line);position:sticky;top:84px;z-index:1}
.tt-saved-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tt-saved-item{position:relative;display:flex;gap:12px;align-items:center;padding:10px 40px 10px 10px;border:1px solid var(--tt-line);border-radius:16px;background:#fff}
.tt-saved-n{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:var(--tt-red);color:#fff;font-size:.8rem;font-weight:700}
.tt-saved-img{flex:none;width:76px;height:58px;border-radius:10px;overflow:hidden;background:var(--tt-sand)}.tt-saved-img img{width:100%;height:100%;object-fit:cover}
.tt-saved-body{display:flex;flex-direction:column;min-width:0;line-height:1.45}
.tt-saved-body small{color:var(--tt-mute);font-size:.78rem}.tt-saved-body strong{color:var(--tt-ink);font-size:.95rem}
.tt-saved-dir{font-size:.82rem;font-weight:700}
.tt-saved-x{position:absolute;right:8px;top:8px;width:30px;height:30px;border:0;border-radius:999px;background:none;color:var(--tt-mute);font-size:1.3rem;cursor:pointer}
.tt-saved-x:hover{background:var(--tt-sand);color:var(--tt-red)}
.tt-pin{background:none;border:0}.tt-pin span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;border:2px solid #fff;background:var(--tt-red);box-shadow:0 2px 6px rgba(0,0,0,.3)}
.tt-pin span{color:#fff;font:700 12px/1 sans-serif}.tt-pin span:after{content:none}
@media (max-width:900px){.tt-saved-grid{grid-template-columns:1fr}.tt-saved-map{position:static;height:340px}}

/* gachapon */
.tt-sizelabel{position:absolute;left:8px;top:8px;background:var(--tt-red);color:#fff;font-weight:700;font-size:.75rem;border-radius:999px;padding:3px 10px;z-index:2}
.tt-img-note-b{top:auto;bottom:8px}
.tt-card-machines{margin:2px 0 0;font-weight:700;font-size:.92rem;color:var(--tt-ink)}
.tt-steps{margin:0;padding-left:1.4em;display:grid;gap:8px}
.tt-areagrid-side{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));max-height:440px;overflow:auto}
.tt-card-machines{display:flex;align-items:center;gap:8px}
.tt-meter{display:inline-flex;gap:3px}.tt-meter i{width:12px;height:12px;border-radius:999px;background:#ECE7DF;box-shadow:inset 0 -3px 0 rgba(0,0,0,.06)}
.tt-meter i.on{background:linear-gradient(180deg,#F26A5E 50%,#fff 50%);border:1.5px solid #E2483D;width:13px;height:13px}
/* zoomable map of Japan */
.tt-jm-box{position:relative}
.tt-jm{display:block;width:100%;height:auto;aspect-ratio:1;background:#F4F8FA;border-radius:18px}
.tt-map-svg .tt-jm path{fill:#E3DDD2;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke;transition:fill .2s}
.tt-map-svg .tt-jm path.is-empty{fill:#EDEAE4;cursor:default}
.tt-map-svg .tt-jm path:hover{fill:#D6CCBC}
.tt-map-svg .tt-jm path.is-on{fill:#F6C9BE}
.tt-map-svg .tt-jm path.is-on:hover{fill:#F0AE9F}
.tt-map-svg .tt-jm path.is-sel,.tt-map-svg .tt-jm path.is-sel:hover{fill:var(--tt-red)}
.tt-jmap[data-level="0"] .tt-jm path.is-on{fill:var(--tt-red)}
.tt-jm-inset{fill:none;stroke:#B8B2A7;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.tt-map-svg .tt-jm text{font-family:var(--tt-font);font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-linejoin:round;fill:#3D3B37}
.tt-jm-rl text.is-empty{fill:#B9B3A8}
.tt-jmap[data-level="0"] .tt-jm-rl text.is-on{fill:#fff;stroke:var(--tt-red)}
.tt-jmap:not([data-level="0"]) .tt-jm-rl{display:none}
.tt-jm-pl text{display:none;fill:#5A5650}
.tt-jm-pl text.is-show{display:block}
.tt-jm-dots circle{fill:var(--tt-red);fill-opacity:.85;stroke:#fff;cursor:pointer;transition:fill-opacity .2s}
.tt-jm-dots a:hover circle,.tt-jm-dots a:focus circle{fill-opacity:1;fill:#B8322A}
.tt-jm-dots a.is-dim{opacity:.25}
.tt-map-svg .tt-jm .tt-jm-dl{display:none;text-anchor:start;font-weight:600;fill:#222}
.tt-jm-dots a.is-label .tt-jm-dl,.tt-jm-dots a:hover .tt-jm-dl,.tt-jm-dots a:focus .tt-jm-dl{display:block}
.tt-jm-back{position:absolute;top:10px;left:10px;z-index:2;display:inline-flex;align-items:center;gap:4px;padding:7px 12px 7px 8px;border:0;border-radius:999px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15);font:inherit;font-size:.85rem;font-weight:700;color:#333;cursor:pointer}
.tt-map-svg .tt-jm-back svg{width:16px;height:16px;transform:rotate(180deg)}
.tt-jm-back[hidden]{display:none}
.tt-jm-item{display:contents}.tt-jm-item[hidden]{display:none}
.tt-jm-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:8px 12px;background:#FFF1EE;border-radius:12px;font-weight:700;font-size:.9rem}
.tt-jm-filter[hidden]{display:none}
.tt-jm-filter button{border:0;background:#fff;border-radius:999px;padding:4px 12px;font:inherit;font-size:.8rem;cursor:pointer;color:var(--tt-red)}
.tt-jmap[data-level="2"] .tt-jm path.is-on{fill:#F1E6E0}
.tt-map-svg .tt-jm path.is-sel,.tt-map-svg .tt-jm path.is-sel:hover{fill:#F7C9BD}
.tt-jm-dots a.is-label.is-hide .tt-jm-dl{display:none}
.tt-jm-dots a.is-label.is-hide:hover .tt-jm-dl{display:block}
.tt-jmap .tt-map-svg .tt-jm path.is-sel,.tt-jmap .tt-map-svg .tt-jm path.is-sel:hover{fill:#FAD3C8;stroke:#E0897A}
/* "What is …?" intro */
.tt-intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0;margin:22px 0 26px;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 6px 24px rgba(60,40,20,.08)}
.tt-intro-img{position:relative;min-height:260px;background:#EEE6DA}
.tt-intro-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tt-intro-body{padding:26px 28px 24px}
.tt-intro h2{margin:0 0 8px;font-size:1.45rem;line-height:1.3}
.tt-intro-lead{margin:0 0 16px;color:#4A4945;line-height:1.7}
.tt-intro-pts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:ix}
.tt-intro-pts li{counter-increment:ix;background:#FAF6F0;border-radius:14px;padding:12px 13px 13px;font-size:.86rem;line-height:1.6;color:#55524C}
.tt-intro-pts li::before{content:counter(ix);display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--tt-red);color:#fff;font-size:.75rem;font-weight:800;margin-bottom:6px}
.tt-intro-pts strong{display:block;color:#222;font-size:.95rem;margin-bottom:2px}
.tt-intro-more{display:inline-block;margin-top:14px;font-weight:700;color:var(--tt-red)}
@media (max-width:860px){.tt-intro{grid-template-columns:1fr}.tt-intro-img{min-height:0;aspect-ratio:16/9}.tt-intro-body{padding:18px 18px 20px}.tt-intro-pts{grid-template-columns:1fr;gap:8px}.tt-intro-pts li{display:grid;grid-template-columns:22px 1fr;column-gap:10px}.tt-intro-pts li::before{grid-row:span 2;margin:0}.tt-intro h2{font-size:1.25rem}}
.ax-intro-wrap .tt-intro{margin-top:28px}
.tt-intro-hook{margin:0 0 6px;font-weight:700;color:var(--tt-red)}
/* guide pages */
.tt-guide-hero{position:relative;background:#2A2320 center/cover no-repeat;color:#fff;min-height:540px;display:flex;align-items:flex-end}
.tt-guide-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,16,12,.86) 0%,rgba(22,16,12,.62) 45%,rgba(22,16,12,.12) 85%)}
.tt-guide-hero-in{position:relative;padding-top:18px;padding-bottom:44px;width:100%}
.tt-guide-hero .tt-crumbs,.tt-guide-hero .tt-crumbs a{color:rgba(255,255,255,.75)}
.tt-guide-eyebrow{display:inline-block;margin:56px 0 14px;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);font-size:.85rem;font-weight:700;max-width:640px}
.tt-guide-hero h1{font-size:clamp(1.7rem,3.6vw,2.8rem);line-height:1.18;margin:0 0 14px;max-width:720px;letter-spacing:-.01em}
.tt-guide-lead{max-width:600px;line-height:1.75;color:rgba(255,255,255,.88);margin:0 0 26px}
.tt-guide-where>span{display:block;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:10px}
.tt-guide-where>div{display:flex;flex-wrap:wrap;gap:8px}
.tt-guide-where a{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:999px;background:#fff;color:#222;font-weight:700;font-size:.95rem;text-decoration:none!important;transition:transform .15s,background .15s}
.tt-guide-where a:hover{transform:translateY(-1px);background:#FFE9E3}
.tt-guide-where a.is-near{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.45)}
.tt-guide-why{padding:44px 0 36px}
.tt-guide-why ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.tt-guide-why li{padding:0 28px;border-left:1px solid #E7DDD2}
.tt-guide-why li:first-child{padding-left:0;border-left:0}
.tt-guide-why strong{display:block;font-size:1.15rem;margin-bottom:8px}
.tt-guide-why strong::before{content:"";display:block;width:28px;height:3px;border-radius:3px;background:var(--tt-red);margin-bottom:14px}
.tt-guide-why p{margin:0;line-height:1.75;color:#55524C}
.tt-guide-steps{background:#2A2320;color:#fff;padding:56px 0 60px}
.tt-guide-steps h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:0 0 30px}
.tt-gsteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 36px}
.tt-gsteps li{border-top:1px solid rgba(255,255,255,.18);padding-top:18px}
.tt-gsteps li.has-img{border-top:0;padding-top:0}
.tt-gstep-img{display:block;aspect-ratio:1;border-radius:16px;overflow:hidden;background:#3A322D;margin-bottom:16px}
.tt-gstep-img img{width:100%;height:100%;object-fit:cover;display:block}
.tt-gstep-n{display:block;font-size:2.4rem;font-weight:300;line-height:1;color:#FF8E78;margin-bottom:12px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.tt-gsteps strong{display:block;font-size:1.05rem;margin-bottom:6px}
.tt-gsteps p{margin:0;font-size:.92rem;line-height:1.7;color:rgba(255,255,255,.75)}
.tt-guide-find{padding-top:52px}
.tt-citytabs .tt-tablist{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px}
.tt-citytabs [data-tab]{border:1px solid #E2D8CC;background:#fff;border-radius:999px;padding:9px 16px;font:inherit;font-weight:700;cursor:pointer}
.tt-citytabs [data-tab] small{color:#9A928A;font-weight:600;margin-left:2px}
.tt-citytabs [data-tab][aria-selected=true]{background:#2A2320;border-color:#2A2320;color:#fff}
.tt-citytabs [data-tab][aria-selected=true] small{color:rgba(255,255,255,.7)}
.tt-citytabs-more{margin-left:auto;font-weight:700;color:var(--tt-red)}
.tt-afilter{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.tt-afilter button{border:0;background:#F1EAE1;border-radius:999px;padding:7px 13px;font:inherit;font-size:.88rem;cursor:pointer}
.tt-afilter button[aria-pressed=true]{background:var(--tt-red);color:#fff}
.tt-afilter small{opacity:.7}
.tt-citypanel [data-animals][hidden]{display:none}
.tt-guide-chips{margin-top:18px}
.tt-citypanel-all{margin-top:16px}
.tt-guide-end p{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
@media (max-width:860px){
 .tt-guide-hero{min-height:0;background-position:center top}
 .tt-guide-hero::before{background:linear-gradient(180deg,rgba(22,16,12,.25) 0%,rgba(22,16,12,.7) 38%,rgba(22,16,12,.92) 100%)}
 .tt-guide-eyebrow{margin-top:120px;font-size:.78rem}
 .tt-guide-lead{font-size:.95rem;margin-bottom:20px}
 .tt-guide-where a{padding:9px 14px;font-size:.9rem}
 .tt-guide-why{padding:28px 0 20px}
 .tt-guide-why ol{grid-template-columns:1fr;gap:22px}
 .tt-guide-why li{padding:0;border:0}
 .tt-guide-steps{padding:40px 0 44px}
 .tt-gsteps{grid-template-columns:1fr;gap:0}
 .tt-gsteps li{display:grid;grid-template-columns:52px 1fr;column-gap:12px;padding:16px 0}
 .tt-gsteps li.has-img{grid-template-columns:96px 1fr;padding:12px 0;border-top:1px solid rgba(255,255,255,.18)}
 .tt-gsteps li.has-img .tt-gstep-n{display:none}
 .tt-gstep-img{margin:0;grid-row:span 2}
 .tt-gstep-n{font-size:1.9rem}
 .tt-guide-find{padding-top:36px}
 .tt-citytabs .tt-tablist{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 16px;padding:0 16px 4px;scrollbar-width:none}
 .tt-citytabs [data-tab]{white-space:nowrap;flex:none}
 .tt-citytabs-more{white-space:nowrap;flex:none;margin-left:6px}
 .tt-hscroll{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:0 16px 8px;scrollbar-width:none}
 .tt-hscroll>*{flex:0 0 80%;scroll-snap-align:start}
 .tt-intro:not(.is-open) .tt-intro-pts{display:none}
 .tt-intro-toggle{display:inline-flex}
 .tt-intro .tt-intro-img{aspect-ratio:21/9}
}
.tt-intro-toggle{display:none;align-items:center;gap:4px;border:0;background:#F1EAE1;border-radius:999px;padding:7px 14px;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;margin:0 10px 12px 0}
.tt-intro.is-open .tt-intro-toggle span{display:inline-block;transform:rotate(180deg)}
.tt-guide .tt-guide-hero h1,.tt-guide .tt-guide-steps h2,.tt-guide .tt-gsteps strong{color:#fff}
.tt-guide .tt-guide-hero .tt-crumbs li,.tt-guide .tt-guide-hero .tt-crumbs span{color:rgba(255,255,255,.75)}
@media (max-width:860px){.tt-intro .tt-intro-toggle{display:inline-flex}}
/* hero destination picker: glass cards instead of white pills */
.tt-guide .tt-guide-where>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px;max-width:980px}
.tt-guide .tt-guide-where a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:64px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.26);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;transition:background .18s,border-color .18s,transform .18s}
.tt-guide .tt-guide-where a strong{font-size:1rem;line-height:1.2}
.tt-guide .tt-guide-where a small{font-size:.75rem;color:rgba(255,255,255,.7);font-weight:600}
.tt-guide .tt-guide-where a:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.6);transform:translateY(-2px)}
.tt-guide .tt-guide-where a.is-near{flex-direction:row;align-items:center;gap:8px;background:var(--tt-red);border-color:var(--tt-red)}
.tt-guide .tt-guide-where a.is-near:hover{background:#B8322A}
.tt-guide .tt-guide-towns{margin-top:18px}
.tt-guide .tt-guide-towns a{flex-direction:row;align-items:center;gap:10px;padding:8px 12px 8px 8px}
.tt-guide .tt-guide-towns img{width:44px;height:44px;border-radius:10px;object-fit:cover;flex:none}
.tt-guide .tt-guide-towns a.is-more{justify-content:center;padding:8px 14px;background:transparent}
.tt-citytabs [data-tab].is-towns{border-color:#E9B9AC;color:#B8322A}
.tt-citytabs [data-tab].is-towns[aria-selected=true]{background:#B8322A;border-color:#B8322A;color:#fff}
.tt-guide-subh{margin:26px 0 12px}
@media (max-width:860px){.tt-guide .tt-guide-where>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tt-guide .tt-guide-where a{min-height:56px;padding:10px 12px}.tt-guide .tt-guide-towns a{padding:6px 10px 6px 6px}.tt-guide .tt-guide-towns img{width:38px;height:38px}}
.tt-guide .tt-guide-where>div{max-width:1120px}
.tt-guide .tt-guide-where a strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media (max-width:860px){
 .tt-guide .tt-guide-where>div{display:flex;overflow-x:auto;gap:8px;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none;scroll-snap-type:x proximity}
 .tt-guide .tt-guide-where a{flex:0 0 auto;min-width:112px;scroll-snap-align:start}
 .tt-guide .tt-guide-towns a{min-width:0}
 .tt-guide-eyebrow{margin-top:90px}
}
@media (max-width:860px){.tt-guide .tt-guide-where>div{flex-wrap:nowrap}}
@media (max-width:860px){.tt-guide .tt-guide-where>div{margin:0 -20px 0 0;padding:0 20px 4px 0}}
.tt-guide-stat{display:flex;align-items:baseline;gap:10px;margin:44px 0 0;color:#fff}
.tt-guide-stat strong{font-size:clamp(2.4rem,5vw,3.4rem);font-weight:800;line-height:1;letter-spacing:-.02em;color:#FFB4A3}
.tt-guide-stat span{font-weight:700;font-size:1rem;color:rgba(255,255,255,.9)}
.tt-guide-stat+.tt-guide-eyebrow{margin-top:14px}
.tt-guide-where>span em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:600;color:rgba(255,255,255,.55)}
@media (max-width:860px){.tt-guide-stat{margin-top:84px}}
.tt-guide .tt-guide-towns .tt-gw-t{display:flex;flex-direction:column;min-width:0}
.tt-guide .tt-guide-towns .tt-gw-t small{font-size:.72rem;color:rgba(255,255,255,.7);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tt-guide .tt-guide-row2-gacha a{padding:10px 14px}
.tt-guide .tt-guide-row2-gacha strong{font-size:.88rem}
.tt-guide .tt-guide-row2-gacha>div{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.tt-guide .tt-guide-row2-cafe img{background:#fff}
.tt-guide .tt-guide-towns>div{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.tt-guide .tt-guide-row2-anime>div,.tt-guide .tt-guide-row2-gacha>div{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.tt-guide .tt-guide-where a.is-near{grid-column:span 2;justify-content:center}
.tt-guide .tt-guide-where a.is-near strong{overflow:visible;white-space:nowrap}
@media (max-width:860px){.tt-guide .tt-guide-towns a{max-width:220px}.tt-guide .tt-guide-where a.is-near{min-width:150px}}
.tt-guide .tt-guide-row2-anime>div,.tt-guide .tt-guide-row2-gacha>div{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.tt-guide .tt-guide-towns:not(.tt-guide-row2-anime):not(.tt-guide-row2-gacha)>div{grid-template-columns:repeat(6,minmax(0,1fr))}
.tt-guide .tt-guide-row2-anime>div,.tt-guide .tt-guide-row2-gacha>div{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1100px){.tt-guide .tt-guide-towns>div{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important}}
/* header tabs: icon + label, underline for the current section */
.tt-nav{gap:4px;align-self:stretch;align-items:stretch}
.tt-nav a{position:relative;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:12px;font-weight:600;font-size:.93rem;color:#4A4743!important;transition:background .15s,color .15s}
.tt-nav a .tt-ic{color:#A39A90;transition:color .15s}
.tt-nav a:hover{background:#F6F1EA}
.tt-nav a:hover .tt-ic{color:var(--tt-red)}
.tt-nav a.is-active{background:transparent;color:#1F1D1B!important;font-weight:800}
.tt-nav a.is-active .tt-ic{color:var(--tt-red)}
.tt-nav a.is-active::after{content:"";position:absolute;left:12px;right:12px;bottom:-11px;height:3px;border-radius:3px 3px 0 0;background:var(--tt-red)}
@media (max-width:820px){
 .tt-nav{gap:2px;padding-bottom:0}
 .tt-nav a{flex-direction:column;gap:3px;padding:6px 10px 9px;font-size:.74rem;border-radius:10px;min-width:72px}
 .tt-nav a .tt-ic{width:20px;height:20px}
 .tt-nav a.is-active::after{bottom:-8px;left:18px;right:18px}
}
/* city tabs in guides: underline style to match */
.tt-citytabs .tt-tablist{gap:4px;border-bottom:1px solid #E7DDD2;margin-bottom:22px}
.tt-citytabs [data-tab]{position:relative;border:0;background:transparent;border-radius:10px 10px 0 0;padding:10px 14px 12px;color:#6B655E}
.tt-citytabs [data-tab]:hover{background:#F6F1EA;color:#222}
.tt-citytabs [data-tab][aria-selected=true]{background:transparent;color:#1F1D1B}
.tt-citytabs [data-tab][aria-selected=true]::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--tt-red)}
.tt-citytabs [data-tab][aria-selected=true] small{color:var(--tt-red)}
.tt-citytabs [data-tab].is-towns{color:#B8322A;border:0}
.tt-citytabs [data-tab].is-towns[aria-selected=true]{background:transparent;color:#B8322A}
@media (max-width:860px){.tt-citytabs .tt-tablist{margin:0 -16px 18px;padding:0 16px}}
.tt-nav a.is-active::after{bottom:1px}
.tt-nav a{padding-bottom:10px}
@media (max-width:820px){
 .tt-nav a{flex-direction:row;gap:6px;padding:8px 11px 11px;font-size:.88rem;min-width:0}
 .tt-nav a .tt-ic{width:17px;height:17px}
 .tt-nav a.is-active::after{bottom:1px;left:11px;right:11px}
}
.tt-nav a{flex:none}
.tt-hero h1,.tt-hero .tt-hero-in h1{color:#fff}
.tt-home-hero .tt-guide-hero{min-height:620px}
.tt-home-hero .tt-search{max-width:620px;margin:0 0 26px}
.tt-home-hero .tt-guide-stat{margin-top:70px}
@media (max-width:860px){.tt-home-hero .tt-guide-hero{min-height:0}.tt-home-hero .tt-guide-stat{margin-top:150px}}
@media (min-width:1000px){.tt-catgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* anime pages reset link colours — keep the shared parts the same as elsewhere */
.tt-intro .tt-intro-more,.ax .tt-intro .tt-intro-more{color:var(--tt-red)!important;text-decoration:none}
.tt-intro .tt-intro-more:hover{text-decoration:underline}
.ax .tt-intro-hook{color:var(--tt-red)}
.ax .tt-card-title a,.tt-alsonear .tt-card-title a{color:var(--tt-red)!important}
.tt-near-a{position:relative}
.tt-near-a .tt-near-dist{position:absolute;z-index:3;left:10px;bottom:auto;top:44px;display:inline-flex;gap:4px;align-items:center;background:#fff;border-radius:999px;padding:3px 9px;font-size:.78rem;font-weight:700;box-shadow:0 1px 4px rgba(0,0,0,.15)}
.tt-near-mixed .ax-card,.tt-near-a .ax-card{height:100%}
.tt-card .tt-dist:not([hidden]){font-weight:700;color:var(--tt-red)}
/* one typeface everywhere: Noto Sans for headings and text (the logo keeps its rounded font) */
:root{--tt-font-head:'Noto Sans JP',system-ui,-apple-system,'Segoe UI',sans-serif}
html,html:lang(ja),html:lang(zh-cn),html:lang(zh-tw),html:lang(ko){--atp-ui-font:var(--tt-font)!important}
body,body.atp-standalone,.ax,.ax h1,.ax h2,.ax h3,.ax p,.ax dd,.ax dt,.atp-aff,.ax-faq-sec{font-family:var(--tt-font)}
h1,h2,h3,.tt-h1,.tt-h2,.ax h1,.ax h2,.ax h3{font-weight:700;letter-spacing:.01em}
.tt-logo span{font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif}
/* PR cards (hotel / tours / eSIM / transfer) */
.ttp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:14px}
.ttp-card{display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 10px rgba(60,40,20,.08);color:var(--tt-ink)!important;text-decoration:none!important;transition:transform .15s,box-shadow .15s;border:0!important;padding:0!important}
.ttp-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(60,40,20,.14)}
.ttp-img{position:relative;display:block;aspect-ratio:16/9;background:#EFE9E2;overflow:hidden}
.ttp-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.ttp-card:hover .ttp-img img{transform:scale(1.05)}
.ttp-img small{position:absolute;left:10px;top:10px;background:rgba(255,255,255,.92);color:#4a443e;font-size:.7rem;font-weight:700;padding:2px 9px;border-radius:999px}
.ttp-body{display:flex;flex-direction:column;gap:4px;padding:12px 14px 14px;flex:1}
.ttp-body strong{font-size:1rem;line-height:1.4;font-weight:700}
.ttp-body em{font-style:normal;font-size:.82rem;color:var(--tt-mute);line-height:1.5}
.ttp-cta{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:6px;color:var(--tt-red);font-weight:700;font-size:.88rem}
.ttp-cta b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--tt-red);color:#fff;font-size:.75rem;transition:transform .15s}
.ttp-card:hover .ttp-cta b{transform:translateX(3px)}
.ttp-note{margin:10px 0 0;font-size:.72rem;color:var(--tt-mute)}
.tt-sidebox .ttp-grid{grid-template-columns:1fr;gap:10px}
.tt-sidebox .ttp-card{flex-direction:row}
.tt-sidebox .ttp-img{width:104px;flex:none;aspect-ratio:auto;min-height:96px}
.tt-sidebox .ttp-img small{left:6px;top:6px;font-size:.62rem;padding:1px 6px}
.tt-sidebox .ttp-body{padding:10px 12px}.tt-sidebox .ttp-body strong{font-size:.92rem}.tt-sidebox .ttp-body em{font-size:.76rem}
.tt-sidebox .ttp-cta{padding-top:6px;font-size:.82rem}
@media (max-width:600px){.ttp-grid{grid-template-columns:1fr}.tt-sec .ttp-card,.atp-aff .ttp-card{flex-direction:row}.tt-sec .ttp-img,.atp-aff .ttp-img{width:118px;flex:none;aspect-ratio:auto;min-height:104px}}
/* contact: advertising details */
.tt-form [hidden]{display:none!important}
.tt-form .tt-adbox{border:1px solid var(--tt-line);border-radius:16px;padding:16px 18px 6px;margin:4px 0 6px;background:#FFFCF8}
.tt-form .tt-adbox legend{font-weight:700;padding:0 6px;font-family:var(--tt-font-head)}
.tt-adbox>.tt-small{margin:0 0 12px}
.tt-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:600px){.tt-form-row{grid-template-columns:1fr}}
.tt-adq{margin:0 0 14px}.tt-adq-l{display:block;font-weight:700;font-size:.92rem;margin-bottom:8px}
.tt-chips{display:flex;flex-wrap:wrap;gap:8px}
.tt-form .tt-chipopt{display:inline-flex!important;margin:0!important;cursor:pointer}
.tt-chipopt input{position:absolute;opacity:0;width:1px;height:1px}
.tt-chipopt span{display:inline-block;padding:7px 13px;border:1px solid var(--tt-line);border-radius:999px;background:#fff;font-size:.86rem;font-weight:500;transition:all .15s}
.tt-chipopt input:checked+span{background:var(--tt-red);border-color:var(--tt-red);color:#fff}
.tt-chipopt input:focus-visible+span{outline:2px solid var(--tt-red);outline-offset:2px}
.tt-form select{width:100%;padding:11px 12px;border:1px solid var(--tt-line);border-radius:12px;background:#fff;font:inherit;margin-top:6px}
.tt-aff a.ttp-card{align-items:stretch;gap:0}.tt-aff a.ttp-card:hover{border-color:transparent}
.tt-adq-l{font-weight:500}
/* header: stays below the WordPress admin bar; tabs in each category's colour */
.admin-bar .tt-header{top:32px}
@media (max-width:782px){.admin-bar .tt-header{top:46px}}
@media (max-width:600px){.admin-bar .tt-header{top:0}}
.tt-header{background:rgba(255,250,243,.97)}
.tt-nav-cafe{--nc:#D9772B;--nb:#FFF0E2}.tt-nav-onsen{--nc:#2B83B5;--nb:#E5F3FB}.tt-nav-anime{--nc:#C2457E;--nb:#FCE9F2}.tt-nav-gacha{--nc:#7C5BC7;--nb:#F0EBFB}.tt-nav-near{--nc:#2E9A6A;--nb:#E4F5EC}
.tt-nav{gap:6px}
.tt-nav a[class*="tt-nav-"]{background:var(--nb);color:#3d3934!important;border:1px solid transparent}
.tt-nav a[class*="tt-nav-"] .tt-ic{color:var(--nc)}
.tt-nav a[class*="tt-nav-"]:hover{background:var(--nb);border-color:var(--nc)}
.tt-nav a[class*="tt-nav-"].is-active{background:var(--nc);color:#fff!important;border-color:var(--nc);box-shadow:0 3px 10px color-mix(in srgb,var(--nc) 35%,transparent)}
.tt-nav a[class*="tt-nav-"].is-active .tt-ic{color:#fff}
.tt-nav a[class*="tt-nav-"].is-active::after{content:none}
.tt-nav a[class*="tt-nav-"]{padding-bottom:8px;align-self:center}
@media (max-width:820px){.tt-nav a[class*="tt-nav-"]{padding:7px 11px}.tt-nav{padding:2px 6px 4px}}
@media (min-width:821px){.tt-nav{gap:5px}.tt-nav a[class*="tt-nav-"]{padding:7px 10px;font-size:.88rem;gap:5px}.tt-header-in{gap:12px}}
/* prefecture list folded on foreign-language pages */
.tt-prefmore{border:1px solid var(--tt-line);border-radius:16px;background:#fff}
.tt-prefmore>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;font-weight:700;color:var(--tt-ink)}
.tt-prefmore>summary::-webkit-details-marker{display:none}
.tt-prefmore>summary span{flex:1}.tt-prefmore>summary .tt-ic:first-child{color:var(--tt-red)}
.tt-prefmore>summary .tt-ic:last-child{transform:rotate(90deg);transition:transform .2s;color:var(--tt-mute)}
.tt-prefmore[open]>summary .tt-ic:last-child{transform:rotate(-90deg)}
.tt-prefmore .tt-prefindex{padding:0 18px 16px}
/* menu: full names on wide screens, short names in 5 equal columns on phones (nothing cut off) */
.tt-nav-s{display:none}
@media (max-width:820px){
 .tt-nav{display:grid!important;grid-template-columns:repeat(5,1fr);gap:6px;overflow:visible;margin:0;padding:2px 0 6px}
 .tt-nav a[class*="tt-nav-"]{flex-direction:column;justify-content:center;gap:3px;padding:7px 2px 6px;min-width:0;font-size:.74rem;line-height:1.2;text-align:center;border-radius:12px}
 .tt-nav a[class*="tt-nav-"] .tt-ic{width:19px;height:19px}
 .tt-nav-l{display:none}.tt-nav-s{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
}
.tt-lang{z-index:70}.tt-lang ul{z-index:70}
