/* KOIREA R8.3.1: shared public navigation and authenticated Web page headers. */
:root{
  --koirea-font-ja:"Yu Gothic UI","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo","Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --koirea-r831-ink:#30272b;
  --koirea-r831-muted:#746a6f;
  --koirea-r831-line:#eee5e8;
  --koirea-r831-pink:#e73558;
  --koirea-r831-coral:#ff6f73;
}
body.v00100-ui:not(.is-admin-area):not(.is-staff-area){font-family:var(--koirea-font-ja)}

/* The current TOP navigation is the visual source of truth for every guest route. */
body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header{
  position:sticky!important;top:0!important;left:0!important;right:0!important;z-index:80!important;
  width:100%!important;max-width:none!important;height:78px!important;min-height:78px!important;max-height:78px!important;
  margin:0!important;padding:0 clamp(28px,3.4vw,56px)!important;transform:none!important;
  display:flex!important;align-items:center!important;gap:20px!important;overflow:visible!important;
  border:0!important;border-bottom:1px solid var(--koirea-r831-line)!important;border-radius:0!important;
  background:rgba(255,255,255,.97)!important;box-shadow:none!important;backdrop-filter:blur(12px) saturate(140%)!important;
}
body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v103-header-brand-area{
  display:flex!important;width:184px!important;min-width:184px!important;max-width:184px!important;height:48px!important;padding:0!important;margin:0!important;overflow:visible!important;
}
body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v920v-brand-link,
body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v920v-brand-icon{
  width:176px!important;min-width:176px!important;max-width:176px!important;height:48px!important;min-height:48px!important;flex:0 0 176px!important;overflow:visible!important;
}
body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v920v-brand-icon img{
  display:block!important;width:176px!important;min-width:176px!important;max-width:176px!important;height:48px!important;max-height:48px!important;object-fit:contain!important;object-position:left center!important;
}
body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v972-brand-tagline{display:none!important}
body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v972-guest-nav{
  min-width:0!important;flex:1 1 auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:18px!important;padding:0!important;border:0!important;background:transparent!important;
}
body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v972-guest-nav>a:not(.native-cta):not([data-button-role]){
  min-height:44px!important;padding:8px 3px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--koirea-r831-ink)!important;font-size:13px!important;font-weight:800!important;white-space:nowrap!important;transition:color .18s ease,transform .18s ease!important;
}
body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v972-guest-nav>a:not(.native-cta):not([data-button-role]):hover,
body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v972-guest-nav>a:not(.native-cta):not([data-button-role]):focus-visible{color:var(--koirea-r831-pink)!important;transform:translateY(-1px)}
body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v972-header-cta:not([data-button-role]){
  min-height:48px!important;padding:0 25px!important;border:0!important;border-radius:999px!important;background:linear-gradient(135deg,#ff5775,var(--koirea-r831-pink))!important;box-shadow:0 10px 24px rgba(226,49,83,.2)!important;color:#fff!important;font-size:14px!important;transition:transform .18s ease,box-shadow .18s ease!important;
}
body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v972-header-cta:not([data-button-role]):hover,
body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v972-header-cta:not([data-button-role]):focus-visible{transform:translateY(-1px);box-shadow:0 13px 28px rgba(226,49,83,.24)!important}

/* Authenticated Web hierarchy: quiet canvas, clear H1 and a small friendly motion cue. */
body.is-logged-in:not(.is-admin-area):not(.is-staff-area):not(.koirea-app-body):not(.koirea-member-web) .koirea-page-header{
  position:relative!important;isolation:isolate;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:22px!important;
  width:min(1180px,calc(100% - 32px))!important;min-height:0!important;margin:10px auto 12px!important;padding:10px 0!important;
  border:0!important;border-bottom:1px solid var(--koirea-r831-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  animation:koirea-r831-header-in .34s cubic-bezier(.2,.75,.25,1) both;
}
body.is-logged-in:not(.is-admin-area):not(.is-staff-area):not(.koirea-app-body):not(.koirea-member-web) .koirea-page-header::before{
  content:"";position:absolute;left:0;top:12px;width:4px;height:36px;border-radius:999px;background:linear-gradient(180deg,#ff8a82,var(--koirea-r831-pink));box-shadow:0 6px 16px rgba(231,53,88,.16);
}
body.is-logged-in:not(.is-admin-area):not(.is-staff-area):not(.koirea-app-body):not(.koirea-member-web) .koirea-page-header::after{
  content:"";position:absolute;left:0;bottom:-1px;width:56px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--koirea-r831-pink),#ff9a86);transform-origin:left center;animation:koirea-r831-line-in .46s .08s ease-out both;
}
body:not(.koirea-member-web) .koirea-page-header__main{min-width:0;display:grid;gap:4px}body:not(.koirea-member-web) .koirea-page-header__eyebrow{margin:0!important;padding:0!important;border:0!important;background:none!important;color:#ad4a5d!important;font-size:.72rem!important;font-weight:800!important;line-height:1.4!important;letter-spacing:.05em!important}
body:not(.koirea-member-web) .koirea-page-header__eyebrow::before,body:not(.koirea-member-web) .koirea-page-header__eyebrow::after{content:none!important;display:none!important}
body:not(.koirea-member-web) .koirea-page-header__title{margin:0!important;color:var(--koirea-r831-ink)!important;font-family:var(--koirea-font-ja)!important;font-size:clamp(1.72rem,2.5vw,2.24rem)!important;font-weight:800!important;line-height:1.22!important;letter-spacing:0!important;word-break:keep-all!important;overflow-wrap:normal!important}
body:not(.koirea-member-web) .koirea-page-header__description{max-width:720px;margin:2px 0 0!important;color:var(--koirea-r831-muted)!important;font-size:.9rem!important;font-weight:650!important;line-height:1.65!important;overflow-wrap:anywhere!important}
body:not(.koirea-member-web) .koirea-page-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}body:not(.koirea-member-web) .koirea-page-header__actions .button{min-height:40px;border-radius:12px;transition:transform .18s ease,box-shadow .18s ease}body:not(.koirea-member-web) .koirea-page-header__actions .button:hover,body:not(.koirea-member-web) .koirea-page-header__actions .button:focus-visible{transform:translateY(-1px)}
body.is-logged-in:not(.is-admin-area):not(.is-staff-area):not(.koirea-app-body):not(.koirea-member-web) .koirea-page-header.koirea-page-header--profile{align-items:center!important}
.v00125-section-title{color:#111827;letter-spacing:0}
.v00125-section-title.is-photo-title{margin:12px 0 8px;font-size:2.75rem;line-height:1.12}
.v00125-section-title.is-home-title{margin:0;font-size:1.62rem;line-height:1.08}

@keyframes koirea-r831-header-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes koirea-r831-line-in{from{opacity:0;transform:scaleX(.18)}to{opacity:1;transform:scaleX(1)}}
@media(max-width:900px){
  body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header{height:62px!important;min-height:62px!important;max-height:62px!important;padding:0 16px!important}
  body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v103-header-brand-area{width:160px!important;min-width:160px!important;max-width:160px!important;height:44px!important}
  body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v920v-brand-link,
  body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v920v-brand-icon,
  body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v920v-brand-icon img{width:154px!important;min-width:154px!important;max-width:154px!important;height:44px!important;flex-basis:154px!important}
  body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v972-guest-nav{display:none!important}
  body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v103-public-menu{display:block!important;margin-left:auto!important}
  body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .guest-mobile-actions{display:none!important}
}
@media(max-width:700px){
  body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v103-header-brand-area{width:137px!important;min-width:137px!important;max-width:137px!important;height:39px!important}
  body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v920v-brand-link,
  body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v920v-brand-icon,
  body.v00100-ui.is-guest:not(.is-admin-area):not(.is-staff-area) .native-topbar.v103-public-header .v920v-brand-icon img{width:132px!important;min-width:132px!important;max-width:132px!important;height:39px!important;flex-basis:132px!important}
}
@media(max-width:760px){
  body.is-logged-in:not(.is-admin-area):not(.is-staff-area):not(.koirea-app-body):not(.koirea-member-web) .koirea-page-header{width:calc(100% - 24px)!important;min-height:0!important;margin:6px auto 10px!important;padding:8px 0!important;align-items:flex-start!important;gap:10px!important;flex-direction:column!important}
  body.is-logged-in:not(.is-admin-area):not(.is-staff-area):not(.koirea-app-body):not(.koirea-member-web) .koirea-page-header::before{top:10px;width:4px;height:34px}
  body.is-logged-in:not(.is-admin-area):not(.is-staff-area):not(.koirea-app-body):not(.koirea-member-web) .koirea-page-header::after{left:0;width:48px}
  body:not(.koirea-member-web) .koirea-page-header__title{font-size:1.42rem!important}body:not(.koirea-member-web) .koirea-page-header__description{font-size:.82rem!important;line-height:1.55!important}body:not(.koirea-member-web) .koirea-page-header__actions{width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}body:not(.koirea-member-web) .koirea-page-header__actions .button{white-space:nowrap}
  .v00125-section-title.is-photo-title{font-size:1.875rem}
  .v00125-section-title.is-home-title{font-size:1.18rem}
}
@media(prefers-reduced-motion:reduce){
  .koirea-page-header,.koirea-page-header::after,.koirea-page-header__actions .button,.v103-public-header a{animation:none!important;transition:none!important;transform:none!important;scroll-behavior:auto!important}
}
