/* TourJepang Unified Design 1.2.0 — scoped, no global theme reset. */
.tju{--tj-red:#E30613;--tj-red-dark:#C9000B;--tj-charcoal:#30343A;--tj-gray:#666666;--tj-line:#E8EAED;--tj-soft:#F7F8FA;--tj-red-soft:#FFF5F6;--red:#E30613;--ink:#30343A;--muted:#666666;--gray:#666666;--line:#E8EAED;--soft:#F7F8FA;--red-soft:#FFF5F6;--tj-ui-radius:12px;--tj-ui-gap:24px;color:#30343A;background:#fff;font-family:"Poppins",Arial,sans-serif;line-height:1.65;width:100%;min-width:0;text-align:left;}
.tju *,.tju *::before,.tju *::after{box-sizing:border-box;}
.tju [hidden],.tju .tj-hidden{display:none!important;}
.tju :is(h1,h2,h3,h4,p,blockquote,button,input,select,textarea){font-family:inherit;}
.tju :is(h1,h2,h3,h4){color:#30343A;line-height:1.25;}
.tju :is(a,button){text-decoration:none!important;}
.tju :is(button,a,input,select,textarea):focus-visible{outline:3px solid #E30613;outline-offset:4px;}
.tju :is(button,a){-webkit-tap-highlight-color:transparent;}
.tju input:not([type=range]):not([type=checkbox]):not([type=radio]),.tju select,.tju textarea{font-size:16px;min-width:0;max-width:100%;}
.tju img{max-width:100%;}
.tju :is(.tju-button,.tju-button-outline){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border:1px solid #E30613;border-radius:12px;color:#fff;background:#E30613;font-size:13px;font-weight:600;line-height:1.5;cursor:pointer;}
.tju .tju-button:hover{background:#C9000B;border-color:#C9000B;}
.tju .tju-button-outline{color:#E30613;background:#fff;}
.tju .tju-button-outline:hover{background:#FFF5F6;}
.tju .tju-container{width:min(1180px,calc(100% - 40px));margin-inline:auto;}
.tju .tju-sr{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
/* Unified hero: compact for forms, larger for service/catalog pages. */
.tju .tju-hero{position:relative;isolation:isolate;display:flex;flex-direction:column;width:var(--tju-viewport,100%);max-width:none;left:50%;transform:translateX(-50%);min-height:440px;margin:0 0 40px;padding:0;overflow:hidden;color:#fff;background:#30343A;border:0;border-radius:0;}
.tju .tju-hero--form{min-height:310px;margin-bottom:32px;}
.tju .tju-hero-media{position:absolute;inset:0;z-index:-3;pointer-events:none;background:#5d6970;}
.tju .tju-hero-media img{position:absolute;inset:0;width:100%;max-width:none;height:100%;object-fit:cover;object-position:var(--tju-photo-position,center 45%);filter:none!important;opacity:1!important;transform:none;}
.tju .tju-hero-shade{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,rgba(10,16,23,.20) 0%,rgba(10,16,23,.18) 30%,rgba(10,16,23,.55) 68%,rgba(10,16,23,.76) 100%);}
.tju .tju-hero-nav{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;flex:0 0 auto;width:min(1180px,calc(100% - 64px));margin:24px auto 0;padding:0;}
.tju .tju-hero-nav :is(a,button){display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid rgba(255,255,255,.70);border-radius:50%;background:rgba(28,34,39,.38);color:#fff!important;box-shadow:0 4px 16px rgba(0,0,0,.08);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);cursor:pointer;transition:background .2s ease;}
.tju .tju-hero-nav :is(a,button):hover{background:#E30613;border-color:#E30613;}
.tju .tju-hero-nav :is(a,button):focus-visible{outline:3px solid #fff;outline-offset:4px;}
.tju .tju-hero-nav svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.tju .tju-hero-copy{position:relative;width:min(1180px,calc(100% - 64px));margin:auto auto 0;padding:40px 0 44px;}
.tju .tju-hero-copy .tju-eyebrow{display:block;margin:0 0 12px;color:#fff!important;-webkit-text-fill-color:#fff;font-size:11px;font-weight:600;letter-spacing:1.3px;line-height:1.5;}
.tju .tju-hero h1,.tju .tju-hero h1 span{max-width:760px;margin:0;padding:0;color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;opacity:1;font-size:48px;font-weight:700;line-height:1.14;letter-spacing:-1.1px;text-shadow:0 1px 14px rgba(0,0,0,.20);overflow-wrap:break-word;}
.tju .tju-hero--form h1,.tju .tju-hero--form h1 span{font-size:36px;}
.tju .tju-hero-copy>p{max-width:660px;margin:14px 0 0;color:#fff!important;font-size:15px;line-height:1.7;}
.tju .tju-hero-benefits{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;color:#fff;font-size:12px;}
.tju .tju-hero-benefits span{display:inline-flex;gap:8px;align-items:center;}
.tju .tju-hero-benefits span::before{content:"";width:4px;height:4px;border-radius:50%;background:#fff;}
.tju .tju-intro-note{width:min(920px,100%);margin:0 auto 24px;padding:14px 18px;border:1px solid #E8EAED;border-radius:12px;color:#E30613;background:#F7F8FA;font-size:12px;font-weight:400;line-height:1.65;}
.tju .tju-intro-note span{display:block;color:#666666;margin-top:3px;}
.tju .tju-form-info{width:min(920px,100%);margin:0 auto 24px;padding:0;color:#666;font-size:14px;}
.tju .tju-form-info summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#30343A;font-size:13px;font-weight:600;}
.tju .tju-form-info summary::after{content:"+";margin-left:auto;padding:10px;font-size:20px;font-weight:400;}
.tju .tju-form-info[open] summary::after{content:"−";}
.tju .tju-form-info>div{padding:18px 0;}
/* Reliable errors: message + focus + subtle one-shot highlight, not color alone. */
.tju .tju-invalid-group{scroll-margin-top:32px;}
.tju .tju-invalid-control,.tju [aria-invalid="true"]:not(fieldset):not(div){border-color:#E30613!important;box-shadow:0 0 0 3px rgba(227,6,19,.09)!important;}
.tju .tju-field-error{margin:7px 0 0;color:#B00012;font-size:12px;line-height:1.6;}
.tju .tju-attention{animation:tjuAttention .6s ease 1;}
@keyframes tjuAttention{0%,100%{outline-color:transparent}35%{outline:3px solid rgba(227,6,19,.3);outline-offset:5px}}
/* One unmistakable WhatsApp control on home/services; never on forms. */
.tju-floating{position:fixed!important;z-index:9990;right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));display:inline-flex!important;align-items:center;justify-content:center;gap:8px;width:auto!important;min-width:132px;height:50px!important;padding:0 16px 0 13px!important;border:1px solid rgba(255,255,255,.8)!important;border-radius:999px!important;background:#168A45!important;color:#fff!important;box-shadow:0 7px 26px rgba(15,75,39,.23)!important;text-decoration:none!important;font-family:Poppins,Arial,sans-serif;line-height:1.2;transition:background .2s ease,box-shadow .2s ease;cursor:pointer;}
.tju-floating .tju-wa-icon{display:block!important;width:27px!important;height:27px!important;flex:none;fill:currentColor!important;stroke:none!important;color:#fff!important;max-width:none!important;}
.tju-floating .tju-wa-label{display:block!important;color:#fff!important;font-size:12px!important;font-weight:600!important;line-height:1.4!important;}
.tju-floating:hover{background:#117738!important;box-shadow:0 9px 28px rgba(15,75,39,.27)!important;}
.tju-floating:focus-visible{outline:3px solid #30343A;outline-offset:4px;}
.tju-floating[hidden],html.tju-form-page .tju-floating,html.tju-help-panel-open .tju-floating{display:none!important;}
html.tju-form-page #tj-wa-widget,html.tju-form-page .tj-float-wa,html.tju-form-page .tj-sj-floating-wa{display:none!important;}
html.tju-has-help #tj-wa-widget:not([open]) .tjwa-toggle,html.tju-has-help #tj-wa-widget:not([open]) .tjwa-fab{visibility:hidden!important;}
html.tju-has-help #tj-wa-widget[open] .tjwa-toggle{visibility:visible!important;}
@media(max-width:767px){.tju-floating{height:48px!important;min-width:128px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));}.tju-floating .tju-wa-icon{width:26px!important;height:26px!important;}}
/* Native and custom dialogs, focus ring retained. */
.tju dialog{max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);}
.tju .tju-demo-note{width:min(1180px,calc(100% - 40px));margin:16px auto 0;color:#666;font-size:12px;line-height:1.6;}
.tju .tju-journey-prefill{margin:0 auto 24px;max-width:920px;padding:18px;border:1px solid #E8EAED;border-radius:12px;background:#F7F8FA;}
.tju .tju-journey-prefill h2{font-size:16px;margin:0 0 8px;}
.tju .tju-journey-prefill p{font-size:13px;margin:0;}
.tju .tju-journey-prefill a{font-size:12px;color:#E30613;display:inline-flex;align-items:center;min-height:44px;}
@media(min-width:768px) and (max-width:1023px){.tju .tju-hero{min-height:400px}.tju .tju-hero--form{min-height:290px}.tju .tju-hero h1,.tju .tju-hero h1 span{font-size:40px}.tju .tju-hero--form h1,.tju .tju-hero--form h1 span{font-size:32px}}
@media(max-width:767px){.tju .tju-hero{min-height:350px;margin-bottom:32px}.tju .tju-hero--form{min-height:270px;margin-bottom:24px}.tju .tju-hero-nav{width:calc(100% - 32px);margin-top:16px}.tju .tju-hero-copy{width:calc(100% - 40px);padding:30px 0 30px}.tju .tju-hero h1,.tju .tju-hero h1 span{font-size:32px;letter-spacing:-.6px;line-height:1.2}.tju .tju-hero--form h1,.tju .tju-hero--form h1 span{font-size:28px}.tju .tju-hero-copy>p{font-size:14px}.tju .tju-hero-benefits{font-size:12px;gap:8px 14px}}
@media(prefers-reduced-motion:reduce){.tju *, .tju *::before,.tju *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Premium Route Line: single pass, no blocking arrival animation. */
#tj-route-transition-120,
#tj-route-transition-120 * {box-sizing:border-box;}
#tj-route-transition-120[hidden]{display:none!important;}
#tj-route-transition-120{
  position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;
  padding:24px;background:rgba(255,255,255,.97);
  color:#30343A;font-family:"Poppins",Arial,sans-serif;isolation:isolate;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
#tj-route-transition-120 .tj-route-panel{width:min(480px,100%);padding:26px 6px;text-align:center;}
#tj-route-transition-120 .tj-route-brand{display:block;color:#7A7A7A;font-size:11px;letter-spacing:1.4px;line-height:1.5;font-weight:600;}
#tj-route-transition-120 .tj-route-heading{display:block;margin:12px 0 0;color:#30343A;font-size:clamp(20px,4.8vw,25px);line-height:1.35;font-weight:600;letter-spacing:-.5px;}
#tj-route-transition-120 .tj-route-graphic{position:relative;height:22px;margin:33px 28px 12px;}
#tj-route-transition-120 .tj-route-rail{position:absolute;left:0;right:0;top:10px;height:2px;overflow:hidden;background:#E8EAED;}
#tj-route-transition-120 .tj-route-fill{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:#E30613;}
#tj-route-transition-120 .tj-route-stop{position:absolute;top:5px;width:12px;height:12px;margin-left:-6px;border-radius:50%;border:2px solid #D8DBDF;background:#FFF;}
#tj-route-transition-120 .tj-route-stop--first{left:0;border-color:#E30613;background:#E30613;}
#tj-route-transition-120 .tj-route-stop--middle{left:50%;}
#tj-route-transition-120 .tj-route-stop--last{left:100%;}
#tj-route-transition-120.is-running .tj-route-fill{animation:tjRouteFill120 .64s cubic-bezier(.22,.7,.3,1) .05s 1 both;}
#tj-route-transition-120.is-running .tj-route-stop--middle{animation:tjRouteStop120 .12s ease .35s 1 both;}
#tj-route-transition-120.is-running .tj-route-stop--last{animation:tjRouteStop120 .12s ease .65s 1 both;}
#tj-route-transition-120 .tj-route-stations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;color:#62676D;font-size:11px;line-height:1.45;}
#tj-route-transition-120 .tj-route-stations span:first-child{text-align:left;}
#tj-route-transition-120 .tj-route-stations span:last-child{text-align:right;}
#tj-route-transition-120 .tj-route-description{margin:22px 0 0;padding:0;color:#7A7A7A;font-size:12px;line-height:1.6;}
@keyframes tjRouteFill120{to{transform:scaleX(1);}}
@keyframes tjRouteStop120{to{border-color:#E30613;background:#E30613;}}
@media(prefers-reduced-motion:reduce){
  #tj-route-transition-120 *{animation:none!important;transition:none!important;}
  #tj-route-transition-120 .tj-route-fill{transform:scaleX(1);}
}

.tju .tju-dot{position:relative;width:32px!important;height:36px!important;min-width:32px;padding:0!important;border:0!important;background:transparent!important;cursor:pointer}.tju .tju-dot::after{content:"";display:block;width:7px;height:7px;margin:auto;border-radius:10px;background:#CCD0D6}.tju .tju-dot.active::after{width:22px;background:#E30613}





/* Header media options configured in TourJepang Premium. */
.tju-header-picture{display:contents}
.tju [data-tj-header] [data-tj-header-image]{object-position:var(--tju-photo-position,center 45%)}
@media(max-width:767px){.tju [data-tj-header] [data-tj-header-image]{object-position:var(--tju-photo-mobile-position,var(--tju-photo-position,center 45%))}}

/* Include the section itself, not only descendants, in the box model. */
.tju{box-sizing:border-box;}

/* On phones keep the clear large glyph, without a wide label covering card CTAs. */
@media(max-width:767px){.tju-floating{width:54px!important;min-width:54px!important;height:54px!important;padding:0!important;}.tju-floating .tju-wa-icon{width:30px!important;height:30px!important;}.tju-floating .tju-wa-label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;}}

html.tju-has-help #tj-wa-widget:not([open]){pointer-events:none!important;}
html.tju-has-help #tj-wa-widget[open]{pointer-events:auto;}

/* 1.5.1: only pending standalone header media is hidden; layout and text never jump. */
.tju [data-tj-media-pending] [data-tj-header-image]{visibility:hidden!important;}
.tju [data-tj-header-rendered] [data-tj-header-image]{visibility:visible;}

/* 1.6.0: mobile hero 5:4 (width:height); can grow for large text instead of clipping. */
@media(max-width:767px){
 .tju header.tju-hero[data-tj-header]{aspect-ratio:auto;height:auto;min-height:calc(var(--tju-viewport,100vw) * .8);}
 .tju header.tju-hero[data-tj-header] .tju-hero-nav{margin-top:16px;}
 .tju header.tju-hero[data-tj-header] .tju-hero-copy{flex-shrink:0;padding:18px 0 22px;}
 .tju header.tju-hero[data-tj-header] .tju-eyebrow{margin-bottom:8px;}
 .tju header.tju-hero[data-tj-header] .tju-hero-copy>p{margin-top:10px;}
 .tju header.tju-hero[data-tj-header] .tju-hero-benefits{margin-top:12px;gap:6px 14px;}
}

@media(max-width:767px){html.tju-menu-overlay .tju header.tju-hero[data-tj-header] .tju-hero-nav{margin-top:calc(var(--tjn-height,72px) + 12px);}}

/* 1.7.0: compact chat-first service information; all styles are scoped. */
.tju .tju-other-inquiry{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid #E8EAED;}
.tju .tju-other-inquiry h2{font-size:20px;line-height:1.35;margin:0 0 7px;font-weight:600;}
.tju .tju-other-inquiry p{font-size:13px;line-height:1.7;color:#666;margin:0;max-width:650px;}
.tju .tju-inquiry-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 14px;border:1px solid #E30613;border-radius:12px;color:#E30613;background:#fff;font-size:12px;font-weight:600;line-height:1.5;text-decoration:none;white-space:nowrap;flex:none;}
.tju .tju-inquiry-link:hover{background:#FFF5F6;}
.tju #tj1ModalConsult{margin:16px 0 0;}
.tju .tju-service-coverage{width:min(1180px,calc(100% - 40px));margin:16px auto 42px;padding:26px 0 0;border-top:1px solid #E8EAED;}
.tju .tju-service-coverage h2{font-size:22px;line-height:1.35;letter-spacing:-.3px;margin:0 0 18px;font-weight:600;}
.tju .tju-coverage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 36px;}
.tju .tju-coverage-group h3{font-size:14px;line-height:1.5;margin:0 0 10px;font-weight:600;color:#30343A;}
.tju .tju-coverage-group ul{margin:0;padding:0 0 0 18px;list-style:disc;}
.tju .tju-coverage-group li{margin:0 0 5px;font-size:12px;line-height:1.7;color:#666;overflow-wrap:anywhere;}
.tju .tju-coverage-note{margin:16px 0 0;color:#666;font-size:12px;line-height:1.7;}
#tj-airport-premium .tju-service-coverage,#tj-oneway .tju-service-coverage{width:100%;}
.tju[data-tj-page="oneday_service"],.tju[data-tj-page="airport_service"],.tju[data-tj-page="oneway_service"]{padding-bottom:calc(110px + env(safe-area-inset-bottom));}
.tju-orderbar,.tju-orderbar *{box-sizing:border-box;}
.tju-orderbar{position:fixed;z-index:9988;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;width:auto;max-width:890px;margin:0 auto;padding:11px 12px 11px 17px;border:0;border-radius:12px;background:rgba(38,42,48,.97);color:#fff;box-shadow:0 14px 34px rgba(22,25,30,.23);font-family:Poppins,Arial,sans-serif;line-height:1.5;}
.tju-orderbar .tju-orderbar-copy{min-width:0;}
.tju-orderbar .tju-orderbar-copy strong{display:block;color:#fff;font-size:13px;line-height:1.45;font-weight:600;overflow-wrap:anywhere;}
.tju-orderbar .tju-orderbar-copy span{display:block;margin-top:2px;color:#eee;font-size:11px;line-height:1.5;}
.tju-orderbar .tju-orderbar-button{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:48px;margin:0;padding:9px 17px;border:1px solid #E30613;border-radius:9px;color:#fff!important;background:#E30613;font:600 12.5px/1.5 Poppins,Arial,sans-serif;text-decoration:none!important;white-space:nowrap;}
.tju-orderbar .tju-orderbar-button:hover{background:#C9000B;border-color:#C9000B;}
.tju-orderbar .tju-orderbar-button:focus-visible{outline:3px solid #fff;outline-offset:3px;}
html.tju-has-orderbar .tju-floating{bottom:calc(var(--tju-orderbar-height,74px) + 30px + env(safe-area-inset-bottom))!important;}
html.tju-form-page .tju-orderbar{display:none!important;}
#tj-oneway .ow-tariff-head,#tj-oneway .ow-tariff-row{grid-template-columns:minmax(200px,1.5fr) repeat(var(--ow-fare-columns,2),minmax(105px,1fr)) minmax(150px,auto);}
@media(max-width:1023px){#tj-oneway .ow-tariff-row{grid-template-columns:1fr;}#tj-oneway .ow-tariff-head{display:none;}}
@media(max-width:767px){.tju .tju-other-inquiry{display:block;}.tju .tju-other-inquiry .tju-inquiry-link{margin-top:14px;}.tju .tju-service-coverage{width:calc(100% - 32px);margin-bottom:30px;padding-top:22px;}.tju .tju-coverage-grid{grid-template-columns:1fr;gap:22px;}.tju .tju-service-coverage h2{font-size:20px;}.tju-orderbar{left:9px;right:9px;bottom:calc(9px + env(safe-area-inset-bottom));padding:10px 10px 10px 13px;}.tju-orderbar .tju-orderbar-copy strong{font-size:12px;}.tju-orderbar .tju-orderbar-button{padding:9px 14px;font-size:12px;}}
@media(pointer:coarse){.tju .tju-inquiry-link{min-height:44px;}}
/* Preserve the compact section hierarchy against per-page heading selectors. */
:is(#tj-day-premium,#tj-airport-premium,#tj-oneway) .tju-service-coverage h2{font-size:22px;line-height:1.35;font-weight:600;margin:0 0 18px;}
:is(#tj-day-premium,#tj-airport-premium,#tj-oneway) .tju-service-coverage h3{font-size:14px;line-height:1.5;font-weight:600;margin:0 0 10px;}
:is(#tj-day-premium,#tj-airport-premium,#tj-oneway) .tju-service-coverage .tju-coverage-note{font-size:12px;line-height:1.7;color:#666;max-width:none;}
@media(max-width:767px){:is(#tj-day-premium,#tj-airport-premium,#tj-oneway) .tju-service-coverage h2{font-size:20px;}}

/* =========================================================
   TourJepang 1.8.0 — Header System
   Service/catalog/detail: Luxury Editorial.
   Forms: Cinematic Compact. Homepage hero is intentionally untouched.
========================================================= */
.tju .tju-hero--editorial{
  min-height:450px;
  margin-bottom:42px;
  background:#20262C;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.tju .tju-hero--editorial::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:0;right:0;bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  pointer-events:none;
}
.tju .tju-hero--editorial .tju-hero-shade{
  background:
    radial-gradient(circle at 78% 28%,rgba(7,12,18,0) 0 24%,rgba(7,12,18,.10) 56%,rgba(7,12,18,.30) 100%),
    linear-gradient(180deg,rgba(7,12,18,.18) 0%,rgba(7,12,18,.18) 32%,rgba(7,12,18,.54) 70%,rgba(7,12,18,.82) 100%);
}
.tju .tju-hero--editorial .tju-hero-nav,
.tju .tju-hero--compact .tju-hero-nav{margin-top:24px;}
.tju :is(.tju-hero--editorial,.tju-hero--compact) .tju-hero-nav :is(a,button){
  border-color:rgba(255,255,255,.50);
  background:rgba(17,23,29,.34);
  box-shadow:0 6px 22px rgba(0,0,0,.13);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.tju :is(.tju-hero--editorial,.tju-hero--compact) .tju-hero-copy .tju-eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  width:max-content;
  max-width:100%;
  margin-bottom:10px;
  letter-spacing:1.35px;
}
.tju :is(.tju-hero--editorial,.tju-hero--compact) .tju-hero-copy .tju-eyebrow::before{
  content:"";
  display:block;
  flex:0 0 28px;
  width:28px;
  height:2px;
  border-radius:999px;
  background:#E30613;
}
.tju .tju-hero--editorial .tju-hero-copy{
  padding-top:44px;
  padding-bottom:48px;
}
.tju .tju-hero--editorial .tju-hero-copy>p{max-width:620px;margin-top:12px;}
.tju .tju-hero--editorial .tju-hero-benefits{margin-top:18px;}

.tju .tju-hero--compact{
  min-height:320px;
  margin-bottom:26px;
  background:#20262C;
}
.tju .tju-hero--compact .tju-hero-shade{
  background:
    linear-gradient(90deg,rgba(7,12,18,.64) 0%,rgba(7,12,18,.38) 54%,rgba(7,12,18,.24) 100%),
    linear-gradient(180deg,rgba(7,12,18,.18) 0%,rgba(7,12,18,.30) 44%,rgba(7,12,18,.70) 100%);
}
.tju .tju-hero--compact .tju-hero-copy{
  padding-top:22px;
  padding-bottom:30px;
}
.tju .tju-hero--compact .tju-hero-copy>p{max-width:610px;margin-top:9px;}

@media(min-width:768px) and (max-width:1023px){
  .tju .tju-hero--editorial{min-height:400px;margin-bottom:36px;}
  .tju .tju-hero--editorial .tju-hero-copy{padding-top:36px;padding-bottom:40px;}
  .tju .tju-hero--compact{min-height:295px;margin-bottom:24px;}
  .tju .tju-hero--compact .tju-hero-copy{padding-top:20px;padding-bottom:27px;}
}
@media(max-width:767px){
  .tju header.tju-hero--editorial[data-tj-header]{
    aspect-ratio:auto;
    height:auto;
    min-height:calc(var(--tju-viewport,100vw) * .8);
    margin-bottom:30px;
  }
  .tju header.tju-hero--editorial[data-tj-header] .tju-hero-nav{margin-top:16px;}
  .tju header.tju-hero--editorial[data-tj-header] .tju-hero-copy{padding:24px 0 28px;}
  .tju .tju-hero--editorial .tju-hero-copy .tju-eyebrow::before{flex-basis:24px;width:24px;}
  .tju header.tju-hero--compact[data-tj-header]{
    aspect-ratio:auto;
    height:auto;
    min-height:clamp(260px,70vw,290px);
    margin-bottom:22px;
  }
  .tju header.tju-hero--compact[data-tj-header] .tju-hero-nav{margin-top:14px;}
  .tju header.tju-hero--compact[data-tj-header] .tju-hero-copy{padding:16px 0 23px;}
  .tju header.tju-hero--compact[data-tj-header] .tju-hero-copy>p{margin-top:8px;}
  .tju .tju-hero--compact .tju-hero-copy .tju-eyebrow::before{flex-basis:22px;width:22px;}
}

/* =========================================================
   TourJepang 1.8.0 — Include / Exclude presentation
========================================================= */
.tju .tju-service-coverage{
  width:min(1180px,calc(100% - 40px));
  margin:22px auto 44px;
  padding:28px 30px 30px;
  border:1px solid #E8EAED;
  border-radius:20px;
  background:#FFF;
  box-shadow:0 12px 34px rgba(20,30,45,.045);
}
#tj-airport-premium .tju-service-coverage,
#tj-oneway .tju-service-coverage{width:100%;}
.tju .tju-service-coverage h2{margin:0 0 20px;font-size:22px;line-height:1.35;font-weight:600;}
.tju .tju-coverage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.tju .tju-coverage-group{
  min-width:0;
  padding:18px 20px 16px;
  border:1px solid #ECEEF1;
  border-radius:14px;
  background:#FAFBFC;
}
.tju .tju-coverage-group h3{margin:0 0 12px;font-size:14px;line-height:1.5;font-weight:600;color:#30343A;}
.tju .tju-coverage-group ul{margin:0;padding:0;list-style:none;}
.tju .tju-coverage-group li{
  position:relative;
  min-height:22px;
  margin:0 0 9px;
  padding:1px 0 1px 31px;
  color:#5F646A;
  font-size:12px;
  line-height:1.65;
  overflow-wrap:anywhere;
}
.tju .tju-coverage-group li:last-child{margin-bottom:0;}
.tju .tju-coverage-group li::before{
  content:"";
  position:absolute;
  top:1px;
  left:0;
  width:20px;
  height:20px;
  background:currentColor;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}
.tju .tju-coverage-group--included li::before{
  color:#168A45;
  -webkit-mask-image:url("https://tourjepang.net/wp-content/uploads/2026/09/checked.svg");
  mask-image:url("https://tourjepang.net/wp-content/uploads/2026/09/checked.svg");
}
.tju .tju-coverage-group--excluded li::before{
  color:#E30613;
  -webkit-mask-image:url("https://tourjepang.net/wp-content/uploads/2026/09/delete.svg");
  mask-image:url("https://tourjepang.net/wp-content/uploads/2026/09/delete.svg");
}
.tju .tju-coverage-note{
  grid-column:1/-1;
  margin:0;
  padding:15px 2px 0;
  border-top:1px solid #E8EAED;
  color:#666;
  font-size:12px;
  line-height:1.7;
}
.tju .tju-coverage-group--compact{margin-top:16px;padding:15px 16px;}
.tju .tju-coverage-group--compact h3{margin-top:0!important;}
.tju .tju-coverage-group--compact ul{padding-left:0!important;}

@media(max-width:767px){
  .tju .tju-service-coverage{
    width:calc(100% - 22px);
    margin:18px auto 32px;
    padding:21px 18px 22px;
    border-radius:16px;
  }
  #tj-airport-premium .tju-service-coverage,
  #tj-oneway .tju-service-coverage{width:100%;}
  .tju .tju-service-coverage h2{margin-bottom:16px;font-size:20px;}
  .tju .tju-coverage-grid{grid-template-columns:1fr;gap:12px;}
  .tju .tju-coverage-group{padding:16px 16px 14px;}
  .tju .tju-coverage-group li{padding-left:30px;font-size:12px;}
}


/* =========================================================
   TourJepang 1.8.1 — Floating White Sheet + Journey Line
   Applied only to non-home headers rendered by Premium.
   Homepage hero is intentionally untouched.
========================================================= */
.tju .tju-hero--bridged{
  margin-bottom:0!important;
}
.tju .tju-hero-bridge{
  position:relative;
  z-index:4;
  display:flex;
  align-items:flex-start;
  width:min(1180px,calc(100% - 40px));
  min-height:48px;
  margin:-14px auto 0;
  padding:18px 24px 9px;
  border:1px solid rgba(232,234,237,.82);
  border-bottom:0;
  border-radius:20px 20px 0 0;
  background:#fff;
  box-shadow:0 -13px 34px rgba(20,30,45,.075);
  pointer-events:none;
  isolation:isolate;
}
.tju .tju-hero-bridge--form{
  width:min(920px,calc(100% - 40px));
  min-height:42px;
  margin-top:-10px;
  padding:15px 22px 8px;
  border-radius:18px 18px 0 0;
  box-shadow:0 -10px 26px rgba(20,30,45,.055);
}
.tju .tju-hero-bridge--detail{
  min-height:46px;
  margin-top:-12px;
  padding-top:17px;
  border-radius:20px 20px 0 0;
  box-shadow:0 -12px 30px rgba(20,30,45,.065);
}
.tju .tju-journey-divider{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:12px;
  line-height:0;
}
.tju .tju-journey-divider__dot{
  display:block;
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:#E30613;
  box-shadow:0 0 0 4px rgba(227,6,19,.085);
}
.tju .tju-journey-divider__line{
  display:block;
  width:36px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#E30613 0 56%,rgba(227,6,19,.22) 100%);
}
.tju .tju-hero-bridge--form .tju-journey-divider__dot{
  width:7px;
  height:7px;
  flex-basis:7px;
  box-shadow:0 0 0 3px rgba(227,6,19,.075);
}
.tju .tju-hero-bridge--form .tju-journey-divider__line{width:30px;}

@media(min-width:768px) and (max-width:1023px){
  .tju .tju-hero-bridge{margin-top:-16px;min-height:48px;}
  .tju .tju-hero-bridge--form{margin-top:-11px;min-height:42px;}
  .tju .tju-hero-bridge--detail{margin-top:-14px;}
}
@media(max-width:767px){
  .tju .tju-hero-bridge{
    width:calc(100% - 20px);
    min-height:52px;
    margin-top:-26px;
    padding:19px 20px 9px;
    border-radius:26px 26px 0 0;
    box-shadow:0 -15px 34px rgba(20,30,45,.082);
  }
  .tju .tju-hero-bridge--form{
    width:calc(100% - 20px);
    min-height:44px;
    margin-top:-18px;
    padding:16px 18px 8px;
    border-radius:22px 22px 0 0;
    box-shadow:0 -10px 25px rgba(20,30,45,.055);
  }
  .tju .tju-hero-bridge--detail{
    min-height:48px;
    margin-top:-22px;
    padding:17px 19px 8px;
    border-radius:24px 24px 0 0;
    box-shadow:0 -13px 30px rgba(20,30,45,.07);
  }
  .tju .tju-journey-divider__line{width:32px;}
}
@media(prefers-reduced-motion:reduce){
  .tju .tju-hero-bridge{scroll-behavior:auto;}
}


/* =========================================================
   TourJepang 1.9.0 — Header copy breathing room
   Raises non-home copy above the Floating White Sheet.
   Homepage hero is intentionally excluded.
========================================================= */
.tju .tju-hero--editorial .tju-hero-copy{padding-bottom:60px;}
.tju .tju-hero--compact .tju-hero-copy{padding-bottom:38px;}
@media(min-width:768px) and (max-width:1023px){
  .tju .tju-hero--editorial .tju-hero-copy{padding-bottom:58px;}
  .tju .tju-hero--compact .tju-hero-copy{padding-bottom:41px;}
}
@media(max-width:767px){
  .tju header.tju-hero--editorial[data-tj-header] .tju-hero-copy{padding-bottom:56px;}
  .tju header.tju-hero--compact[data-tj-header] .tju-hero-copy{padding-bottom:43px;}
}


/* =========================================================
   TourJepang 1.11.0 — Japanese Red Line page transition
   Visual feedback only; it never intentionally delays navigation.
========================================================= */
.tj-page-transition{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:24px;background:#FCFCFB;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility 0s linear .22s;}
.tj-page-transition.is-ready{}
.tj-page-transition.is-leaving,.tj-page-transition.is-entering{opacity:1;visibility:visible;transition:opacity .18s ease,visibility 0s;}
.tj-page-transition__inner{display:flex;flex-direction:column;align-items:center;text-align:center;transform:translateY(4px);}
.tj-page-transition__brand{margin-bottom:13px;color:#7A7A7A;font:500 10px/1.3 "Poppins",Arial,sans-serif;letter-spacing:.08em;}
.tj-page-transition__route{display:flex;align-items:center;width:188px;height:12px;margin-bottom:12px;}
.tj-page-transition__route i{display:block;width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#E30613;box-shadow:0 0 0 4px rgba(227,6,19,.08);}
.tj-page-transition__route b{display:block;width:0;height:2px;border-radius:999px;background:linear-gradient(90deg,#E30613 0 72%,rgba(227,6,19,.28) 100%);transition:width .42s cubic-bezier(.22,.7,.24,1);}
.tj-page-transition.is-leaving .tj-page-transition__route b,.tj-page-transition.is-entering .tj-page-transition__route b{width:179px;}
.tj-page-transition__label{color:#30343A;font:600 16px/1.35 "Poppins",Arial,sans-serif;letter-spacing:-.2px;}
.tj-page-transition.is-entering{animation:tjTransitionEnter .34s ease forwards;}
@keyframes tjTransitionEnter{0%{opacity:1}100%{opacity:0;visibility:hidden}}
@media(min-width:768px){.tj-page-transition__label{font-size:18px}.tj-page-transition__route{width:218px}.tj-page-transition.is-leaving .tj-page-transition__route b,.tj-page-transition.is-entering .tj-page-transition__route b{width:209px}}
@media(prefers-reduced-motion:reduce){.tj-page-transition,.tj-page-transition__route b{transition:none!important;animation:none!important}.tj-page-transition__route b{width:100%!important}.tj-page-transition.is-entering{opacity:0;visibility:hidden}}
