#trb5-header{--orange:#D96A31;--ink:#1E2528;font-family:Arial,'Helvetica Neue',sans-serif;position:relative;z-index:9999;background:#fff;border-bottom:1px solid #e8e7e2;color:var(--ink)}
#trb5-header *{box-sizing:border-box}#trb5-header a{text-decoration:none;color:inherit}#trb5-header .trb5-bar{width:100%;max-width:none;margin:0 auto;padding:0 30px;min-height:88px;display:flex;align-items:center;gap:24px}
#trb5-header .trb5-logo{display:block;flex:0 0 auto;width:225px}#trb5-header .trb5-logo img{display:block;width:100%;height:auto}
#trb5-header .trb5-nav{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2vw,35px);margin-left:auto}#trb5-header .trb5-nav a{font-size:12px;font-weight:600;letter-spacing:.08em;white-space:nowrap;transition:color .2s}#trb5-header .trb5-nav a:hover{color:var(--orange)}
#trb5-header .trb5-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;background:var(--ink);color:#fff;border-radius:100px;padding:14px 23px;font-size:12px;font-weight:700;letter-spacing:.045em;transition:background .2s}#trb5-header .trb5-cta:hover{background:var(--orange)}
#trb5-header .trb5-social{display:flex;align-items:center;gap:15px}#trb5-header .trb5-social a{width:22px;height:22px;display:grid;place-items:center}#trb5-header .trb5-social svg{width:19px;height:19px;fill:currentColor}#trb5-header .trb5-social a:hover{color:var(--orange)}
#trb5-header .trb5-toggle{width:46px;height:44px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;border:0;background:transparent;cursor:pointer;flex:0 0 auto;padding:0}#trb5-header .trb5-toggle span{width:34px;height:2px;background:var(--ink);display:block;transition:transform .2s,opacity .2s}#trb5-header .trb5-toggle[aria-expanded=true] span:first-child{transform:translateY(9px) rotate(45deg)}#trb5-header .trb5-toggle[aria-expanded=true] span:nth-child(2){opacity:0}#trb5-header .trb5-toggle[aria-expanded=true] span:last-child{transform:translateY(-9px) rotate(-45deg)}
#trb5-header .trb5-panel{position:absolute;right:0;top:100%;width:min(420px,100vw);background:#fff;box-shadow:0 18px 35px #0002;border:1px solid #e8e7e2;padding:32px;display:none}#trb5-header .trb5-panel.is-open{display:block}#trb5-header .trb5-panel nav{display:flex;flex-direction:column}#trb5-header .trb5-panel nav a{padding:15px 0;border-bottom:1px solid #e8e7e2;font-size:16px;font-weight:700;letter-spacing:.06em}#trb5-header .trb5-panel .trb5-panel-social{display:flex;gap:25px;margin-top:25px;font-size:13px}#trb5-header .trb5-panel .trb5-panel-social a:hover{color:var(--orange)}
@media(max-width:1250px){#trb5-header .trb5-bar{gap:16px;padding:0 20px}#trb5-header .trb5-logo{width:195px}#trb5-header .trb5-nav{gap:15px}}
@media(max-width:1050px){#trb5-header .trb5-nav,#trb5-header .trb5-social{display:none}#trb5-header .trb5-cta{margin-left:auto}}
@media(max-width:600px){#trb5-header .trb5-bar{min-height:72px;padding:0 12px;gap:8px}#trb5-header .trb5-logo{width:clamp(128px,38vw,190px)}#trb5-header .trb5-cta{font-size:10px;padding:11px 12px}#trb5-header .trb5-toggle{width:36px}#trb5-header .trb5-toggle span{width:27px}#trb5-header .trb5-panel{padding:22px}}

/* v1.3.2 header navigation refinement */
@media (min-width:1051px) {
  #trb5-header .trb5-nav { gap:clamp(22px,2.25vw,40px); }
  #trb5-header .trb5-nav a {
    position:relative;
    display:inline-block;
    padding:10px 0;
    font-size:14px;
    font-weight:600;
    letter-spacing:.055em;
    line-height:1.3;
  }
  #trb5-header .trb5-nav a::after {
    content:"";
    position:absolute;
    left:0;
    bottom:3px;
    width:100%;
    height:2px;
    background:var(--orange);
    transform:scaleX(0);
    transform-origin:left center;
    transition:transform .28s ease;
  }
  #trb5-header .trb5-nav a:hover::after,
  #trb5-header .trb5-nav a:focus-visible::after { transform:scaleX(1); }
}
@media (min-width:1051px) and (max-width:1250px) {
  #trb5-header .trb5-nav {gap:18px;}
  #trb5-header .trb5-nav a {font-size:13px;}
}
@media (prefers-reduced-motion:reduce) {
  #trb5-header .trb5-nav a::after {transition:none;}
}

/* ========================================
   TRB Kyoto - Sticky Global Header
======================================== */

/* Divi 5のグローバルヘッダーを固定 */
.et-l--header {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
}

/* ヘッダー内部 */
.et-l--header .et_pb_section {
    position: relative;
    z-index: 1;
}

/* 管理バー表示時の位置調整 */
body.admin-bar .et-l--header {
    top: 32px !important;
}

@media (max-width: 782px) {
    body.admin-bar .et-l--header {
        top: 46px !important;
    }
}

/* スマホでも固定 */
@media (max-width: 767px) {
    .et-l--header {
        position: sticky !important;
        top: 0 !important;
    }
}


/* ==========================================
   TRB KYOTO HEADER — CYAN & YELLOW
   ========================================== */

#trb5-header {
  --trb5-cyan: #29B1E1;
  --trb5-cyan-dark: #087FA8;
  --trb5-yellow: #FFD400;
  --trb5-ink: #17242C;
}

/* Header background */
#trb5-header,
#trb5-header .trb5-bar {
  background-color: #fff;
}

/* Navigation */
#trb5-header .trb5-nav a {
  color: var(--trb5-ink);
  transition: color .2s ease;
}

#trb5-header .trb5-nav a:hover,
#trb5-header .trb5-nav a:focus-visible {
  color: var(--trb5-cyan-dark);
}

/* Main CTA */
#trb5-header .trb5-cta {
  background: var(--trb5-yellow) !important;
  border-color: var(--trb5-yellow) !important;
  color: var(--trb5-ink) !important;
  transition:
    background-color .2s ease,
    border-color .2s ease,
    transform .2s ease;
}

#trb5-header .trb5-cta:hover {
  background: var(--trb5-cyan) !important;
  border-color: var(--trb5-cyan) !important;
  color: var(--trb5-ink) !important;
  transform: translateY(-2px);
}

/* Social icons */
#trb5-header .trb5-social a:hover,
#trb5-header .trb5-social a:focus-visible {
  color: var(--trb5-cyan-dark);
}

#trb5-header .trb5-social a:hover svg,
#trb5-header .trb5-social a:focus-visible svg {
  fill: var(--trb5-cyan-dark);
}

/* Mobile menu icon */
#trb5-header .trb5-toggle span {
  background-color: var(--trb5-ink);
}

#trb5-header .trb5-toggle:hover span,
#trb5-header .trb5-toggle:focus-visible span {
  background-color: var(--trb5-cyan-dark);
}

/* Mobile menu links */
#trb5-header .trb5-panel nav a:hover,
#trb5-header .trb5-panel nav a:focus-visible,
#trb5-header .trb5-panel-social a:hover {
  color: var(--trb5-cyan-dark);
}

/* Accessible keyboard focus */
#trb5-header a:focus-visible,
#trb5-header button:focus-visible {
  outline: 3px solid var(--trb5-cyan);
  outline-offset: 3px;
}


/* TOURS dropdown */
#trb5-header .trb5-nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}

#trb5-header .trb5-dropdown-arrow{
  font-size:15px;
  margin-left:5px;
}

#trb5-header .trb5-dropdown-menu{
  position:absolute;
  top:100%;
  left:0;
  min-width:235px;
  background:#17242c;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .2s,transform .2s,visibility .2s;
  z-index:9999;
}

#trb5-header .trb5-dropdown-menu a{
  display:block;
  padding:16px 20px;
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.5px;
  text-decoration:none;
  white-space:nowrap;
}

#trb5-header .trb5-dropdown-menu a:hover,
#trb5-header .trb5-dropdown-menu a:focus-visible{
  background:#29b1e1;
  color:#fff;
}

#trb5-header .trb5-nav-dropdown:hover .trb5-dropdown-menu,
#trb5-header .trb5-nav-dropdown:focus-within .trb5-dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}


/* =========================================
   TRB KYOTO - SLIDE MENU
   ========================================= */

#trb5-header .trb5-overlay{
  position:fixed;
  inset:0;
  background:rgba(8,20,28,.58);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  opacity:0;
  visibility:hidden;
  transition:opacity .35s,visibility .35s;
  z-index:9998;
}

#trb5-header .trb5-overlay.is-open{
  opacity:1;
  visibility:visible;
}

#trb5-header .trb5-panel{
  display:block !important;
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  width:min(520px,100%);
  height:100dvh;
  overflow-y:auto;
  background:rgba(23,36,44,.96);
  color:#fff;
  border:0;
  box-shadow:-20px 0 60px rgba(0,0,0,.25);
  padding:35px 45px 45px;
  z-index:9999;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(100%);
  transition:
    transform .42s cubic-bezier(.22,1,.36,1),
    opacity .3s,
    visibility .42s;
}

#trb5-header .trb5-panel.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(0);
}

#trb5-header .trb5-panel-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:2px;
}

#trb5-header .trb5-panel-close{
  background:none;
  border:0;
  color:#fff;
  font-size:38px;
  line-height:1;
  cursor:pointer;
}

#trb5-header .trb5-panel-heading{
  padding:55px 0 35px;
}

#trb5-header .trb5-panel-heading>span{
  display:block;
  color:#ffd400;
  font-size:12px;
  font-weight:800;
  letter-spacing:3px;
  margin-bottom:15px;
}

#trb5-header .trb5-panel-heading strong{
  display:block;
  color:#fff;
  font-size:clamp(46px,6vw,70px);
  font-weight:900;
  line-height:.95;
  letter-spacing:-3px;
}

#trb5-header .trb5-panel nav{
  display:flex;
  flex-direction:column;
}

#trb5-header .trb5-panel nav>a{
  display:flex;
  align-items:center;
  gap:16px;
  padding:17px 0;
  border-bottom:1px solid rgba(255,255,255,.15);
  color:#fff;
  font-size:22px;
  font-weight:800;
  letter-spacing:.04em;
  transition:color .2s,padding-left .2s;
}

#trb5-header .trb5-panel nav>a:hover{
  color:#ffd400;
  padding-left:8px;
}

#trb5-header .trb5-panel nav>a small{
  color:#29b1e1;
  font-size:11px;
  font-weight:800;
}

#trb5-header .trb5-panel nav>a span{
  margin-left:auto;
  font-size:17px;
  color:#ffd400;
}

#trb5-header .trb5-panel-subnav{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:17px 0 20px 34px;
  border-bottom:1px solid rgba(255,255,255,.15);
}

#trb5-header .trb5-panel-subnav a{
  color:#b9dce9;
  font-size:13px;
  font-weight:700;
  letter-spacing:.05em;
  border:0;
  padding:6px 0;
}

#trb5-header .trb5-panel-subnav a:hover{
  color:#ffd400;
}

#trb5-header .trb5-panel-book{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:35px;
  padding:20px 24px;
  background:#ffd400;
  color:#17242c !important;
  font-size:14px;
  font-weight:900;
  letter-spacing:1px;
}

#trb5-header .trb5-panel-book:hover{
  background:#29b1e1;
}

#trb5-header .trb5-panel-social{
  display:flex;
  flex-wrap:wrap;
  gap:25px;
  margin-top:30px;
}

#trb5-header .trb5-panel-social a{
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:1px;
}

#trb5-header .trb5-panel-social a:hover{
  color:#ffd400;
}

@media(max-width:600px){
  #trb5-header .trb5-panel{
    padding:25px 25px 45px;
  }
  #trb5-header .trb5-panel-heading{
    padding:40px 0 25px;
  }
  #trb5-header .trb5-panel nav>a{
    font-size:19px;
    padding:14px 0;
  }
}

@media(prefers-reduced-motion:reduce){
  #trb5-header .trb5-panel,
  #trb5-header .trb5-overlay{
    transition:none;
  }
}


/* TOURS - Refined Chevron */

#trb5-header .trb5-nav-dropdown > a{
  display:inline-flex !important;
  align-items:center;
  gap:9px;
  white-space:nowrap;
}

#trb5-header .trb5-dropdown-arrow{
  display:inline-block;
  width:7px;
  height:7px;
  margin:0 2px 4px 0;
  padding:0;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  font-size:0;
  line-height:0;
  transition:transform .25s ease;
}

/* Hover時は上向きに回転 */
#trb5-header .trb5-nav-dropdown:hover
.trb5-dropdown-arrow,
#trb5-header .trb5-nav-dropdown:focus-within
.trb5-dropdown-arrow{
  transform:translateY(3px) rotate(225deg);
}
