#include-header {
    position: sticky;
    top: 0;
    z-index: 3; /* 1: チームヘッダー / 2: チームヘッダーコンテンツ */
}
header {
    position: sticky;
    top: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .05);
    background: linear-gradient(135deg, #090d16 0%, #111a2e 100%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .4);
}
.header-container {
    display: grid;
    height: 100%;
    padding: 0 var(--fluid-pd1); --min-pd1: 12; --max-pd1: 24;
}
.header-logo {
    display: grid;
    place-items: center;
}
.header-logo a {
    transition: .2s;
}
.header-logo a:hover {
    transform: scale(1.03);
    opacity: 1;
}
.header-logo a img {
    width: 100%;
    vertical-align: middle;
}
.global-nav .nav-menu {
    height: 100%;
}
.global-nav .nav-link {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
    position: relative;
    --min-lf: 15; --max-lf: 15;
    font-weight: 600;
    color: rgba(255, 255, 255, .75);
    letter-spacing: .1em;
    opacity: 1;
    cursor: pointer;
}
.global-nav .nav-link:hover {
    color: var(--white);
}
.global-nav .nav-link::after {
    content: '';
    width: 0;
    height: 3px;
    position: absolute;
    left: var(--fluid-lf);
    bottom: 0;
    border-radius: 5px;
    background: var(--header-accent);
    transition: .3s ease;
}
.global-nav .nav-link:hover::after {
    width: calc(100% - var(--fluid-lf) * 2);
}
.megamenu-wrapper {
    width: 100%;
    height: 0;
    left: 0;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;   /* ヘッダーの境界線のホバーで最右のメニューが反応するのを防ぐ */
    transition: height .3s ease-out, visibility .3s, opacity .2s; 
    z-index: 1;
}
.megamenu-inner {
    display: grid;
}
.megamenu-inner.championship {
    grid-template-columns: 1fr 1fr;
}
.megamenu-column {
    display: grid;
    align-self: flex-start;     /* 高さを揃えない */
}
.megamenu-column ul {
    display: grid;
    grid-template-columns: 1fr;
}
.megamenu-column a {
    font-weight: 600;
    color: rgba(255, 255, 255, .6);
    opacity: 1;
    transition: .2s ease;
}
.megamenu-column a:hover {
    color: var(--white);
}
.megamenu-inner.team .megamenu-column div {
    display: grid;
}
.megamenu-inner.team .megamenu-column img {
    width: 100%;
}

.header-search {
    display: flex;
    place-items: center end;
}
.header-search form {
    position: relative;
}
.header-search input {
    vertical-align: middle;
    color: var(--white);
    border: solid 1.5px rgba(255, 255, 255, .12);
    border-radius: 25px;
    background: rgba(255, 255, 255, .03);
    transition: .3s ease;
}
.header-search input:focus {
    border-color: var(--header-accent);
    outline: none;
    background: rgba(255, 255, 255, .08);
}
.header-search button {
    position: absolute;
    color: rgba(255, 255, 255, .4);
    border: none;
    background: none;
    cursor: pointer;
}
.header-search input:focus + button {
    color: var(--header-accent);
}

.live-status-badge {
    font-size: 0.75rem;
    font-weight: 800;
    color: #ff0055;
    background: rgba(255, 0, 85, 0.1);
    border: 1px solid rgba(255, 0, 85, 0.3);
    padding: 6px 14px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    gap: 6px;
    letter-spacing: 0.05em;
}
.live-dot {
    width: 8px;
    height: 8px;
    background-color: #ff0055;
    border-radius: 50%;
    display: inline-block;
    animation: pulseDot 1.5s infinite ease-in-out;
    box-shadow: 0 0 8px #ff0055;
}

@keyframes pulseDot {
    0% { transform: scale(0.8); opacity: 0.5; }
    50% { transform: scale(1.2); opacity: 1; }
    100% { transform: scale(0.8); opacity: 0.5; }
}

.header-container {background: teal;}
.header-logo {background: salmon;}
.global-nav {background: moccasin;}
.global-nav li:nth-child(2n+1) {background: chocolate;}
.header-sns {background: skyblue;}
.header-search {background: beige;}
.header-container, .header-logo, .global-nav, .global-nav li:nth-child(2n+1), .header-sns, .header-search {
    background: none;
}

/* PC */ @media only screen and (min-width: 1021px) {
header {   
    height: var(--fluid-PC-hg); --min-hg: 60; --max-hg: 80;
}
.header-container {
    grid-template-columns: 1fr 5fr auto;
    gap: 0 var(--fluid-PC-gp1);   --min-gp1: 15; --max-gp1: 25;
}
.header-logo {
    grid-template-columns: 2fr 3fr;
}
.global-nav {
    padding-left: var(--fluid-PC-pd1); --min-pd1: 80; --max-pd1: 200;
}
.megamenu-wrapper {
    top: var(--fluid-PC-tp); --min-tp: 60; --max-tp: 80;
}
.megamenu-inner.team .megamenu-column a {
    grid-template-columns: 1fr 5fr;
}
}
/* PC・タブレット */ @media only screen and (min-width: 768px) {
.global-nav .nav-inner {
    height: 100%;
}
.global-nav .nav-menu {
    display: grid;
    grid-template-columns: repeat(7, auto);
}
.global-nav .nav-link {
    width: 100%;
    font-size: var(--fluid-fs);  --min-fs: 13; --max-fs: 16;
}
.global-nav .nav-list:hover .nav-link::after {
    width: calc(100% - var(--fluid-lf) * 2);    /* メガメニューホバー時も有効 */
}
.megamenu-wrapper {
    position: absolute;
}
.mainmenu.is-active .megamenu-wrapper {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}
.megamenu-inner {
    padding: var(--fluid-pd1) var(--fluid-pd2);
    --min-pd1: 12; --max-pd1: 25; --min-pd2: 15; --max-pd2: 25;
    gap: var(--fluid-gp1); --min-gp1: 10; --max-gp1: 20;
}
.megamenu-inner.team {
    grid-template-columns: 3fr 2fr;
}
.megamenu-column {
    gap: var(--fluid-gp1); --min-gp1: 10; --max-gp1: 20;
}
.megamenu-column h1 {
    padding-left: var(--fluid-pd1); --min-pd1: 5; --max-pd1: 10;
    font-size: var(--fluid-fs);  --min-fs: 13; --max-fs: 16;
    font-weight: 800;
    color: var(--header-accent);
    border-left: 3px solid var(--header-accent);
    letter-spacing: .05em;
}
.megamenu-column ul {
    gap: var(--fluid-gp1); --min-gp1: 10; --max-gp1: 12;
}
.megamenu-inner.team .megamenu-column div {
    gap: var(--fluid-gp1) var(--fluid-gp2);
    --min-gp1: 5; --max-gp1: 12; --min-gp2: 5; --max-gp2: 12;
}
.megamenu-inner.team .megamenu-column .B-1 {
    grid-template-columns: repeat(3, 1fr);
}
.megamenu-inner.team .megamenu-column .Ladies {
    grid-template-columns: 1fr 1fr;
}
.megamenu-column a {
    font-size: var(--fluid-fs);  --min-fs: 12; --max-fs: 15;
}
.megamenu-inner.team .megamenu-column a {
    display: grid;
    height: var(--fluid-hg); --min-hg: 25; --max-hg: 65;
    gap: var(--fluid-gp1); --min-gp1: 5; --max-gp1: 12;
    padding: 0 var(--fluid-pd1); --min-pd1: 5; --max-pd1: 10;
    place-items: center left;
    letter-spacing: .05em;
    border: 1px solid rgba(255, 255, 255, .05);
    background: rgba(255, 255, 255, .02);
    transition: .2s ease;
}
.megamenu-inner.team .megamenu-column a:hover {
    border-color: var(--header-accent);
    background: rgba(56, 189, 248, .05);
}
.megamenu-bg {
    width: 100%;
    height: 0;
    position: absolute;
    top: 100%;
    left: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .05);
    background: var(--header-megamenu);
    box-shadow: 0 20px 40px rgba(0, 0, 0, .5);
    transition: height .3s ease;
    pointer-events: none; 
}
.header-search input {
    width: var(--fluid-wd); --min-wd: 100; --max-wd: 120;
    height: 25px;
    padding-left: 15px;
    font-size: var(--fluid-fs); --min-fs: 11; --max-fs: 12;
}
.header-search input:focus {
    width: var(--fluid-wd); --min-wd: 100; --max-wd: 180;
}
.header-search button {
    top: var(--fluid-tp); --min-tp: 5; --max-tp: 8;
    right: var(--fluid-rg); --min-rg: 10; --max-rg: 12;
    font-size: var(--fluid-fs); --min-fs: 9; --max-fs: 11;
}
}
/* タブレット */ @media (max-width: 1020.9px) and (min-width: 768px) {
header {   
    height: var(--fluid-TB-hg); --min-hg: 80; --max-hg: 90;
}
.header-container {
    grid-template-columns: 1fr auto;
    grid-template-rows: 3fr 2fr;
    gap: 0 var(--fluid-TB-gp1);   --min-gp1: 400; --max-gp1: 600;
}
.header-logo {
    grid-template-columns: 3fr 13fr;
}
.global-nav {
    grid-column: span 2;
    grid-row: 2;
}
.megamenu-wrapper {
    top: var(--fluid-TB-tp); --min-tp: 80; --max-tp: 90;
}
.megamenu-inner.team .megamenu-column a {
    grid-template-columns: 1fr 3fr;
}
}
/* タブレット・スマホ */ @media only screen and (max-width: 1020.9px) {
}
/* スマホ */ @media only screen and (max-width: 767.9px) {
header {   
    height: var(--fluid-SP-hg); --min-hg: 55; --max-hg: 100;
}
.header-container {
    grid-template-columns: 1fr auto;
    gap: var(--fluid-SP-gp1);   --min-gp1: 30; --max-gp1: 230;
    place-items: center;
}
.hamburger-button {
    display: flex;
    width: var(--fluid-SP-wd); --min-wd: 24; --max-wd: 40;
    height: var(--fluid-SP-hg); --min-hg: 20; --max-hg: 35;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
}
.hamburger-button span {
    width: 100%;
    height: var(--fluid-SP-hg); --min-hg: 2; --max-hg: 3;
    border-radius: 5px;
    background: var(--white);
    transition: all .3s cubic-bezier(.16, 1, 0.3, 1);
    transform-origin: center;
}
.header-logo {
    grid-template-columns: 3fr 13fr;
}
.header-logo a img {
    width: 100%;
}

.global-nav {
    width: 100vw;
    height: 0;
    background: var(--header-megamenu);
    position: fixed;
    top: var(--fluid-SP-tp); --min-tp: 55; --max-tp: 100;
    left: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    overflow-y: auto;
    transition: height .4s cubic-bezier(.16, 1, .3, 1), opacity .25s ease;
}
.global-nav .nav-inner {
    padding: var(--fluid-SP-pd1) 0; --min-pd1: 10; --max-pd1: 20;
}
.global-nav .nav-menu {
    display: flex;
    flex-direction: column;
}
.global-nav .nav-list {
    text-align: center;
}
.global-nav .nav-link {
    height: var(--fluid-SP-hg); --min-hg: 50; --max-hg: 60;
    margin: 0 var(--fluid-SP-mg1); --min-mg1: 90; --max-mg1: 250;
    font-size: var(--fluid-SP-fs);  --min-fs: 15; --max-fs: 18;
}
.global-nav .mainmenu.is-open .megamenu-wrapper {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}
.megamenu-inner {
    padding: var(--fluid-SP-pd1) var(--fluid-SP-pd2);
    --min-pd1: 10; --max-pd1: 20; --min-pd2: 15; --max-pd2: 30;
    gap: var(--fluid-SP-gp1) 0; --min-gp1: 20; --max-gp1: 45;
}
.megamenu-column ul {
    gap: var(--fluid-SP-gp1); --min-gp1: 8; --max-gp1: 15;
}
.megamenu-inner.team .megamenu-column div {
    grid-template-columns: repeat(6, 1fr);
    gap: var(--fluid-SP-gp1) var(--fluid-SP-gp2);
    --min-gp1: 10; --max-gp1: 20; --min-gp2: 15; --max-gp2: 30;
}
.megamenu-column a {
    font-size: var(--fluid-SP-fs);  --min-fs: 13; --max-fs: 16;
}
.megamenu-inner.team .megamenu-column a {
    display: grid;
    place-items: center;
}
.megamenu-inner.team .megamenu-column img {
    transition: .2s ease;
}
.megamenu-inner.team .megamenu-column a:hover img {
    transform: scale(1.05);
}

.hamburger-box {
    display: none;
}
.hamburger-box:checked ~ .global-nav {
    height: calc(100vh - var(--fluid-SP-hg));
    --min-hg: 55; --max-hg: 100;
    opacity: 1;
    pointer-events: auto;
}
.hamburger-box:checked + .hamburger-button span:first-child {
    transform: translateY(var(--fluid-SP-tl1)) rotate(45deg);
    --min-tl1: 9; --max-tl1: 16;
}
.hamburger-box:checked + .hamburger-button span:nth-child(2) {
    opacity: 0;
    transform: scale(0);
}
.hamburger-box:checked + .hamburger-button span:last-child {
    transform: translateY(calc(var(--fluid-SP-tl1) * -1)) rotate(-45deg);
    --min-tl1: 9; --max-tl1: 16;
}
.header-search form {
    width: 100%;
    margin: var(--fluid-mg1) var(--fluid-mg2);
    --min-mg1: 15; --max-mg1: 40; --min-mg2: 50; --max-mg2: 300;
}
.header-search input {
    width: 100%;
    height: var(--fluid-SP-hg); --min-hg: 30; --max-hg: 50;
    padding-left: var(--fluid-pd1); --min-pd1: 20; --max-pd1: 50;
    font-size: var(--fluid-SP-fs); --min-fs: 12; --max-fs: 20;
}
.header-search button {
    top: var(--fluid-SP-tp); --min-tp: 9; --max-tp: 16;
    right: var(--fluid-SP-rg); --min-rg: 12; --max-rg: 25;
    font-size: var(--fluid-SP-fs); --min-fs: 10; --max-fs: 16;
}
}