/* ==================================================
   TOP Preview NEW HEADER
================================================== */

.stoga-new-header {
    width: 100%;
    background: #fff;
    position: relative;
    z-index: 100;
    overflow: hidden;
}


/* ==================================================
   3 RACE HERO
================================================== */

.stoga-race-hero {
    width: 100%;
    height: 510px;
    display: flex;
    overflow: hidden;
    background: #fff;
}


/* ==================================================
   PANEL COMMON
================================================== */

.stoga-race-hero__panel {
    position: relative;
    height: 100%;
    min-width: 0;
    overflow: hidden;

    background-repeat: no-repeat;
    background-size: cover;

    color: #fff;
}


/* ==================================================
   HORSE RACING
================================================== */

.stoga-race-hero__horse {
    flex: 0 0 36%;
    width: 36%;

    background-image:
        url('../images/header-horse.jpg');

    background-position: 63% center;

    clip-path: polygon(
        0 0,
        100% 0,
        92% 100%,
        0 100%
    );

    z-index: 3;
}


/* ==================================================
   KEIRIN
================================================== */

.stoga-race-hero__keirin {
    flex: 0 0 34%;
    width: 34%;

    background-image:
        url('../images/header-keirin.jpg');

    background-position: 52% center;

    clip-path: polygon(
        8% 0,
        100% 0,
        92% 100%,
        0 100%
    );

    margin-left: -3%;

    z-index: 2;
}


/* ==================================================
   AUTO RACE
================================================== */

.stoga-race-hero__autorace {
    flex: 1 1 auto;
    width: auto;

    background-image:
        url('../images/header-autorace.jpg');

    background-position: 52% center;

    clip-path: polygon(
        8% 0,
        100% 0,
        100% 100%,
        0 100%
    );

    margin-left: -3%;

    z-index: 1;
}


/* ==================================================
   COLOR OVERLAY COMMON
================================================== */

.stoga-race-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}


/* ==================================================
   HORSE OVERLAY
================================================== */

.stoga-race-hero__horse .stoga-race-hero__overlay {
    background:
        linear-gradient(
            90deg,
            rgba(0, 86, 47, .90) 0%,
            rgba(0, 86, 47, .72) 30%,
            rgba(0, 86, 47, .45) 55%,
            rgba(0, 86, 47, .10) 85%,
            rgba(0, 86, 47, 0) 100%
        );
}


/* ==================================================
   KEIRIN OVERLAY
================================================== */

.stoga-race-hero__keirin .stoga-race-hero__overlay {
    background:
        linear-gradient(
            180deg,
            rgba(0, 69, 151, .86) 0%,
            rgba(0, 69, 151, .58) 35%,
            rgba(0, 69, 151, .28) 65%,
            rgba(0, 69, 151, .08) 100%
        );
}


/* ==================================================
   AUTO RACE OVERLAY
================================================== */

.stoga-race-hero__autorace .stoga-race-hero__overlay {
    background:
        linear-gradient(
            180deg,
            rgba(195, 7, 27, .86) 0%,
            rgba(195, 7, 27, .58) 35%,
            rgba(195, 7, 27, .28) 65%,
            rgba(195, 7, 27, .08) 100%
        );
}


/* ==================================================
   CONTENT COMMON
================================================== */

.stoga-race-hero__content {
    position: relative;
    z-index: 2;

    height: 100%;
    box-sizing: border-box;

    padding: 42px 44px;

    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}


.stoga-race-hero__content--center {
    align-items: center;
    text-align: center;
}


/* ==================================================
   CATEGORY LABEL
================================================== */

.stoga-race-hero__category {
    display: flex;
    align-items: center;
    justify-content: flex-start;

    gap: 14px;

    margin-bottom: 28px;

    font-size: 18px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1;

    white-space: nowrap;

    color: #fff;
}

.stoga-race-hero__content--center
.stoga-race-hero__category {
    justify-content: center;
}

.stoga-race-hero__category span {
    display: block;

    width: 36px;
    height: 1px;

    background: rgba(255,255,255,.78);
}


/* ==================================================
   HORSE TEXT
================================================== */

.stoga-race-hero__horse-block {
    position: relative;
}

.stoga-race-hero__horse-block h2 {
    margin: 0;

    color: #fff;

    font-size: 44px;
    font-weight: 700;
    line-height: 1;

    letter-spacing: -.03em;

    text-shadow: 0 1px 3px rgba(0,0,0,.18);
}

.stoga-race-hero__horse-block h2 small {
    margin-left: 6px;

    font-size: 23px;
    font-weight: 700;
}

.stoga-race-hero__horse-block p {
    margin: 13px 0 0;

    color: #fff;

    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;

    text-shadow: 0 1px 3px rgba(0,0,0,.18);
}


/* ==================================================
   HORSE DIVIDER
================================================== */

.stoga-race-hero__divider {
    width: 92%;
    height: 1px;

    margin: 34px 0;

    background: rgba(255,255,255,.62);
}


/* ==================================================
   KEIRIN / AUTO TITLE
================================================== */

.stoga-race-hero__main-title {
    width: 100%;
    margin-top: 6px;
}

.stoga-race-hero__main-title h2 {
    margin: 0;

    color: #fff;

    font-size: 38px;
    font-weight: 700;
    line-height: 1.25;

    white-space: nowrap;

    text-shadow: 0 1px 3px rgba(0,0,0,.20);
}

.stoga-race-hero__main-title p {
    margin: 10px 0 0;

    color: #fff;

    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;

    text-shadow: 0 1px 3px rgba(0,0,0,.20);
}


/* ==================================================
   DIAGONAL WHITE BORDER
================================================== */

.stoga-race-hero__horse::after,
.stoga-race-hero__keirin::after {
    content: "";

    position: absolute;

    top: -7%;
    right: 18px;

    width: 4px;
    height: 114%;

    background: #fff;

    transform: rotate(6.5deg);
    transform-origin: center;

    z-index: 10;

    pointer-events: none;
}


/* ==================================================
   BRAND AREA
================================================== */

.stoga-new-header__brand {
    width: 100%;

    background: #fff;

    border-bottom: 1px solid #e5e5e5;
}

.stoga-new-header__brand-inner {
    width: 100%;
    max-width: 1440px;

    min-height: 92px;

    margin: 0 auto;

    padding: 12px 30px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    box-sizing: border-box;
}


/* ==================================================
   BRAND TITLE
================================================== */

.stoga-new-header__title {
    color: #102c4c;
}

.stoga-new-header__sub {
    display: block;

    margin-bottom: 2px;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
}

.stoga-new-header__title a {
    color: #102c4c;
    text-decoration: none;
}

.stoga-new-header__title strong {
    display: block;

    font-size: 34px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .02em;
}


/* ==================================================
   FACILITY NAMES
================================================== */

.stoga-new-header__facilities {
    display: flex;
    align-items: center;

    margin-top: 6px;

    font-size: 12px;
    font-weight: 500;
}

.stoga-new-header__facilities span {
    display: flex;
    align-items: center;
}

.stoga-new-header__facilities span:not(:last-child)::after {
    content: "";

    display: block;

    width: 1px;
    height: 12px;

    margin: 0 12px;

    background: #bbb;
}


/* ==================================================
   SNS
================================================== */

.stoga-new-header__sns {
    display: flex;
    align-items: center;

    gap: 18px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.stoga-new-header__sns li {
    margin: 0;
    padding: 0;
}

.stoga-new-header__sns a {
    display: flex;
    align-items: center;
    justify-content: center;
}

.stoga-new-header__sns img {
    width: 24px;
    height: 24px;

    object-fit: contain;
}


/* ==================================================
   NAVIGATION
================================================== */

.stoga-new-nav {
    width: 100%;
    max-width: 1440px;

    height: 92px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(7, 1fr);

    background: #fff;
}

.stoga-new-nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 7px;

    color: #07569b;

    font-size: 13px;
    font-weight: 700;

    text-decoration: none;

    border-right: 1px solid #e2e7ec;

    box-sizing: border-box;

    transition:
        background .2s ease,
        color .2s ease;
}

.stoga-new-nav a:first-child {
    border-left: 1px solid #e2e7ec;
}

.stoga-new-nav a:hover {
    background: #f3f7fb;
}

.stoga-new-nav img {
    width: 30px;
    height: 30px;

    object-fit: contain;
}


/* ==================================================
   THREE COLOR LINE
================================================== */

.stoga-new-header__colorline {
    width: 100%;
    height: 7px;

    display: grid;

    grid-template-columns:
        31% 38% 31%;
}

.stoga-new-header__colorline span {
    display: block;
    height: 100%;
}

.stoga-new-header__colorline .horse {
    background: #08713e;
}

.stoga-new-header__colorline .keirin {
    background: #07569b;
}

.stoga-new-header__colorline .autorace {
    background: #d71920;
}


/* ==================================================
   OLD MV HIDE
================================================== */

.toppage .mv {
    display: none;
}


/* ==================================================
   LARGE PC
================================================== */

@media screen and (min-width: 1600px) {

    .stoga-race-hero {
        height: 520px;
    }

    .stoga-race-hero__content {
        padding-left: 52px;
        padding-right: 52px;
    }

    .stoga-race-hero__horse-block h2 {
        font-size: 48px;
    }

    .stoga-race-hero__main-title h2 {
        font-size: 40px;
    }

}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 1024px) {

    .stoga-race-hero {
        height: 430px;
    }

    .stoga-race-hero__horse {
        flex-basis: 37%;
        width: 37%;
    }

    .stoga-race-hero__keirin {
        flex-basis: 35%;
        width: 35%;
    }

    .stoga-race-hero__content {
        padding: 38px 24px;
    }

    .stoga-race-hero__category {
        gap: 9px;
        font-size: 14px;
    }

    .stoga-race-hero__category span {
        width: 24px;
    }

    .stoga-race-hero__horse-block h2 {
        font-size: 33px;
    }

    .stoga-race-hero__horse-block h2 small {
        font-size: 18px;
    }

    .stoga-race-hero__horse-block p {
        font-size: 12px;
    }

    .stoga-race-hero__main-title h2 {
        font-size: 27px;
    }

    .stoga-race-hero__main-title p {
        font-size: 12px;
    }

    .stoga-new-header__brand-inner {
        padding-left: 24px;
        padding-right: 24px;
    }

    .stoga-new-header__title strong {
        font-size: 30px;
    }

}


/* ==================================================
   MOBILE — NEW HEADER / 3 RACE HERO
   ※ PC版・本文には影響させない
================================================== */

@media screen and (max-width: 767px) {

    /* --------------------------------------------------
       基本
    -------------------------------------------------- */
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .stoga-new-header {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    /* WordPressログイン中だけ管理バーとの重なりを回避 */
    body.admin-bar .stoga-new-header {
        padding-top: 46px;
        box-sizing: border-box;
    }


    /* --------------------------------------------------
       3競技ビジュアル：縦積み
    -------------------------------------------------- */
    .stoga-race-hero {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: auto;
        margin: 0;
        padding: 0;
        overflow: hidden;
        background: #fff;
    }

    .stoga-race-hero__panel {
        position: relative;
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        margin: 0 !important;
        padding: 0 !important;
        clip-path: none !important;
        background-size: cover;
        background-repeat: no-repeat;
        overflow: hidden;
        box-sizing: border-box;
    }

    /* 競馬は2ブランド表示のため少し高め */
    .stoga-race-hero__horse {
        height: 230px;
        background-position: 62% 48%;
    }

    .stoga-race-hero__keirin,
    .stoga-race-hero__autorace {
        height: 200px;
    }

    .stoga-race-hero__keirin {
        background-position: 58% 50%;
    }

    .stoga-race-hero__autorace {
        background-position: 56% 52%;
    }


    /* --------------------------------------------------
       オーバーレイ
    -------------------------------------------------- */
    .stoga-race-hero__horse .stoga-race-hero__overlay {
        background: linear-gradient(
            90deg,
            rgba(0, 86, 47, .92) 0%,
            rgba(0, 86, 47, .76) 42%,
            rgba(0, 86, 47, .28) 100%
        );
    }

    .stoga-race-hero__keirin .stoga-race-hero__overlay {
        background: linear-gradient(
            90deg,
            rgba(0, 69, 151, .92) 0%,
            rgba(0, 69, 151, .68) 46%,
            rgba(0, 69, 151, .24) 100%
        );
    }

    .stoga-race-hero__autorace .stoga-race-hero__overlay {
        background: linear-gradient(
            90deg,
            rgba(195, 7, 27, .92) 0%,
            rgba(195, 7, 27, .68) 46%,
            rgba(195, 7, 27, .24) 100%
        );
    }


    /* PC用斜め境界はスマホでは解除 */
    .stoga-race-hero__horse::after,
    .stoga-race-hero__keirin::after {
        display: none;
    }


    /* --------------------------------------------------
       文字レイアウト
    -------------------------------------------------- */
    .stoga-race-hero__content,
    .stoga-race-hero__content--center {
        position: relative;
        z-index: 2;
        height: 100%;
        padding: 22px 24px 18px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        box-sizing: border-box;
        text-align: left;
    }

    .stoga-race-hero__category,
    .stoga-race-hero__content--center .stoga-race-hero__category {
        justify-content: flex-start;
        gap: 8px;
        margin: 0 0 12px;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .08em;
        line-height: 1;
        white-space: nowrap;
    }

    .stoga-race-hero__category span {
        width: 24px;
        height: 1px;
    }

    /* 競馬 */
    .stoga-race-hero__horse-block h2 {
        margin: 0;
        font-size: 28px;
        line-height: 1.05;
    }

    .stoga-race-hero__horse-block h2 small {
        margin-left: 4px;
        font-size: 15px;
    }

    .stoga-race-hero__horse-block p {
        margin: 7px 0 0;
        font-size: 10px;
        line-height: 1.4;
    }

    .stoga-race-hero__divider {
        width: 72%;
        margin: 13px 0;
    }

    /* 競輪・オート */
    .stoga-race-hero__main-title {
        width: 100%;
        margin: 0;
    }

    .stoga-race-hero__main-title h2 {
        margin: 0;
        font-size: 27px;
        line-height: 1.15;
        white-space: normal;
    }

    .stoga-race-hero__main-title p {
        margin: 7px 0 0;
        font-size: 10px;
        line-height: 1.4;
    }


    /* --------------------------------------------------
       ブランドヘッダー
    -------------------------------------------------- */
    .stoga-new-header__brand {
        width: 100%;
        background: #fff;
        border-bottom: 1px solid #e5e5e5;
    }

    .stoga-new-header__brand-inner {
        width: 100%;
        max-width: 100%;
        min-height: auto;
        margin: 0;
        padding: 14px 18px 13px;
        display: block;
        box-sizing: border-box;
    }

    .stoga-new-header__sub {
        margin: 0 0 2px;
        font-size: 9px;
        line-height: 1.4;
    }

    .stoga-new-header__title strong {
        font-size: 24px;
        line-height: 1.2;
    }

    .stoga-new-header__facilities {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        margin-top: 6px;
        font-size: 9px;
        line-height: 1.5;
    }

    .stoga-new-header__facilities span:not(:last-child)::after {
        height: 9px;
        margin: 0 6px;
    }

    /* SNSはスマホでは非表示 */
    .stoga-new-header__sns {
        display: none;
    }

    /* PCナビはスマホでは非表示 */
    .stoga-new-nav {
        display: none;
    }

    /* 3色ライン */
    .stoga-new-header__colorline {
        width: 100%;
        height: 5px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    /* 旧MVは非表示のまま */
    .toppage .mv {
        display: none;
    }
}

/* ==================================================
   TOP Preview
   NEW RACE INFORMATION
================================================== */

.pickup {
    margin-bottom: 50px;
}

/* ==================================================
   NEW RACE INFORMATION — CONSOLIDATED
================================================== */

.new-race-info {
    padding: 60px 20px 65px;
    background: #f4f7fa;
}

.new-race-info__inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
}

.new-race-info__head {
    margin-bottom: 35px;
    text-align: center;
}

.new-race-info__en {
    margin: 0 0 8px;
    color: #125796;
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .18em;
}

.new-race-info__title {
    margin: 0 0 12px;
    color: #17324d;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .02em;
}

.new-race-info__lead {
    margin: 0;
    color: #555;
    font-size: 16px;
    line-height: 1.8;
}

.new-race-info__cards {
    display: flex;
    gap: 24px;
}

.new-race-info__card {
    position: relative;
    flex: 1;
    min-height: 330px;
    padding: 36px 30px 32px;
    overflow: hidden;
    background: #fff;
    border-radius: 8px;
    box-sizing: border-box;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .08);
    text-align: center;
}

.new-race-info__card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
}

.new-race-info__card--local::before {
    background: #125796;
}

.new-race-info__card--jra::before {
    background: #16833d;
}

.new-race-info__card-label {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    margin-bottom: 14px;
    padding: 0 15px;
    border-radius: 999px;
    color: #222;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .04em;
}

.new-race-info__card--local .new-race-info__card-label {
    color: #08713e;
    background: #eef8f2;
}

.new-race-info__card--jra .new-race-info__card-label {
    color: #0b5d43;
    background: #eef7f3;
}

.new-race-info__date {
    display: flex;
    justify-content: center;
    align-items: baseline;
    margin-bottom: 0;
    color: #17324d;
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    line-height: 1;
}

.new-race-info__year {
    margin-right: 12px;
    font-size: 18px;
    font-weight: 700;
}

.new-race-info__month,
.new-race-info__day {
    font-size: 54px;
    font-weight: 700;
    letter-spacing: -.04em;
}

.new-race-info__dot {
    margin: 0 4px;
    font-size: 38px;
    font-weight: 700;
}

.new-race-info__start {
    margin: 10px 0 18px;
    color: #125796;
    font-family: "Open Sans", sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: .18em;
}

.new-race-info__card--jra .new-race-info__start {
    color: #16833d;
}

.new-race-info__text {
    margin: 0;
    color: #555;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
}

.new-race-info__card::after {
    content: "";
    position: absolute;
    right: -45px;
    bottom: -55px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    pointer-events: none;
}

.new-race-info__card--local::after {
    background: rgba(8, 113, 62, .045);
}

.new-race-info__card--jra::after {
    background: rgba(11, 93, 67, .045);
}

@media screen and (max-width: 767px) {
    .new-race-info {
        padding: 38px 16px 44px;
    }

    .new-race-info__inner {
        max-width: 100%;
    }

    .new-race-info__head {
        margin-bottom: 24px;
        text-align: left;
    }

    .new-race-info__en {
        margin: 0 0 8px;
        font-size: 10px;
        line-height: 1.4;
    }

    .new-race-info__title {
        margin: 0;
        font-size: 22px;
        line-height: 1.5;
        letter-spacing: .01em;
    }

    .new-race-info__lead {
        margin: 10px 0 0;
        font-size: 13px;
        line-height: 1.8;
        text-align: left;
    }

    .new-race-info__cards {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .new-race-info__card {
        min-height: 0;
        padding: 24px 20px 22px;
        border-radius: 8px;
    }

    .new-race-info__card::before {
        height: 5px;
    }

    .new-race-info__card-label {
        min-height: 28px;
        margin-bottom: 18px;
        padding: 0 12px;
        font-size: 12px;
    }

    .new-race-info__date {
        margin-bottom: 8px;
    }

    .new-race-info__year {
        margin-right: 9px;
        font-size: 13px;
    }

    .new-race-info__month,
    .new-race-info__day {
        font-size: 48px;
        line-height: 1;
    }

    .new-race-info__dot {
        margin: 0 3px 5px;
        font-size: 20px;
    }

    .new-race-info__start {
        margin: 10px 0 16px;
        font-size: 15px;
        letter-spacing: .18em;
    }

    .new-race-info__text {
        font-size: 12px;
        line-height: 1.75;
    }

    .new-race-info__card::after {
        right: -40px;
        bottom: -45px;
        width: 130px;
        height: 130px;
    }
}


/* ==================================================
   TOP Preview
   開催日程 2カラム
================================================== */

.schedule .section_inner {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.schedule__monthly {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 24px;
}

.schedule__monthly__item {
    width: calc(50% - 12px);
    margin: 0;
}

.schedule__monthly__item a {
    display: block;
}

.schedule__monthly__item img {
    display: block;
    width: 100%;
    height: auto;
}

/* 注釈とダウンロードボタンは2列の下へ */
.schedule__monthly__annotation,
.schedule__monthly__schedule-dl {
    flex: 0 0 100%;
    width: 100%;
}

/* 注釈 */
.schedule__monthly__annotation {
    margin: 5px 0 10px;
    text-align: center;
}

/* ダウンロードボタン */
.schedule__monthly__schedule-dl {
    margin-top: 5px;
    text-align: center;
}

/* スマートフォン */
@media (max-width: 767px) {

    .schedule__monthly {
        display: block;
    }

    .schedule__monthly__item {
        width: 100%;
        margin-bottom: 18px;
    }

    .schedule__monthly__annotation {
        margin-top: 5px;
        text-align: left;
    }
}
/* 開催日程 拡大表示 */

.schedule__monthly__zoom {
    position: relative;
    display: block;
    cursor: zoom-in;
    transition: opacity 0.2s ease;
}

.schedule__monthly__zoom:hover {
    opacity: 0.88;
}

.schedule__monthly__zoom-label {
    position: absolute;
    right: 10px;
    bottom: 10px;
    padding: 6px 12px;
    background: rgba(0, 69, 132, 0.9);
    color: #fff;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
}

@media (max-width: 767px) {
    .schedule__monthly__zoom-label {
        right: 6px;
        bottom: 6px;
        padding: 5px 8px;
        font-size: 11px;
    }
}
.sns__flex-container {
                display: flex;
                justify-content: space-around; /* アイテムを均等に配置 */
                align-items: stretch; /* アイテムの高さをコンテナに合わせて伸ばす */
                flex-wrap: wrap;
            }

            .sns__update__content {
                flex: 1 1 45%; /* 可能ならばスペースの半分を取る */
                margin: 10px;
                display: flex;
                flex-direction: column;
                overflow: hidden; /* オーバーフローを隠す */
                max-height: 600px; /* 最大高さを600pxに設定 */
            }

            .sns__update__content__head {
                margin-bottom: 10px; /* ヘッダーの下に余白を追加 */
            }

            .instagram-media, .pc-cont {
                flex: 1;
                width: 100%; /* コンテナ全体の幅を使う */
                overflow-y: auto; /* 垂直スクロールを許可 */
            }

            .pc-cont, .sp-cont {
                height: auto; /* 自動的に内容に合わせて高さを調整 */
                min-height: 100%; /* 最小でもコンテナの高さに合わせる */
            }

            @media (max-width: 360px) {
                .sns__flex-container {
                    flex-direction: column; /* 小さい画面では要素を縦に並べる */
                }

                .sns__update__content {
                    flex: 1 1 90%; /* 小さい画面では全幅を使用 */
                    max-height: none; /* 最大高さの制限を解除 */
                }

                .sp-cont {
                    height: 300px; /* スマートフォンでのFacebookフィードの高さを300pxに設定 */
                }
            }


    .sns__icons__container {
        display: flex;
        justify-content: space-around;
        align-items: center;
    }
    .sns__icons__container img {
        width: 100%; /* Makes image width responsive */
        max-width: 90px; /* Limits the maximum width to 90px */
        height: auto; /* Maintains aspect ratio */
    }
    .sns__icons__container__lft img {
        max-width: 300px; /* Specific max width for the left button */
    }

    @media (max-width: 768px) {
        .sns__icons__container img {
            max-width: 60px; /* Smaller max-width on smaller screens */
        }
        .sns__icons__container__lft img {
            max-width: 200px; /* Adjusts left button size for smaller screens */
        }
    }


    .wifi_banner img {
        width: 100%;      /* 画像の幅を親要素の幅に合わせて自動調整 */
        max-width: 800px; /* 画像の最大幅を800pxに制限 */
        height: auto;     /* 高さを自動で調整してアスペクト比を保持 */
    }

    @media (max-width: 800px) {
        .wifi_banner img {
            max-width: 100%; /* 画面幅が800px以下の場合、画像の最大幅を100%に設定 */
        }
    }


/* ==================================================
   MOBILE NAVIGATION
   PC非表示 / SP専用
================================================== */
.stoga-mobile-nav {
    display: none !important;
}

@media screen and (max-width: 767px) {
    .stoga-mobile-nav {
        display: block !important;
        width: 100%;
        background: #fff;
        border-top: 1px solid #e7ebef;
        border-bottom: 1px solid #e7ebef;
    }

    .stoga-mobile-nav__details,
    .stoga-mobile-nav__summary,
    .stoga-mobile-nav__list,
    .stoga-mobile-nav__list li {
        margin: 0 !important;
        padding: 0;
    }

    .stoga-mobile-nav__summary {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        min-height: 52px;
        padding: 0 18px !important;
        box-sizing: border-box;
        list-style: none;
        cursor: pointer;
        color: #102c4c;
        background: #fff;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: .08em;
    }

    .stoga-mobile-nav__summary::-webkit-details-marker {
        display: none;
    }

    .stoga-mobile-nav__summary::marker {
        content: "";
    }

    .stoga-mobile-nav__summary-label {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .stoga-mobile-nav__menu-icon {
        position: relative;
        display: block;
        width: 20px;
        height: 14px;
        flex: 0 0 20px;
    }

    .stoga-mobile-nav__menu-icon span {
        position: absolute;
        left: 0;
        display: block;
        width: 20px;
        height: 2px;
        margin: 0 !important;
        background: #07569b;
        border-radius: 2px;
        transition: .2s ease;
    }

    .stoga-mobile-nav__menu-icon span:nth-child(1) { top: 0; }
    .stoga-mobile-nav__menu-icon span:nth-child(2) { top: 6px; }
    .stoga-mobile-nav__menu-icon span:nth-child(3) { top: 12px; }

    .stoga-mobile-nav__details[open] .stoga-mobile-nav__menu-icon span:nth-child(1) {
        top: 6px;
        transform: rotate(45deg);
    }
    .stoga-mobile-nav__details[open] .stoga-mobile-nav__menu-icon span:nth-child(2) {
        opacity: 0;
    }
    .stoga-mobile-nav__details[open] .stoga-mobile-nav__menu-icon span:nth-child(3) {
        top: 6px;
        transform: rotate(-45deg);
    }

    .stoga-mobile-nav__arrow {
        width: 8px;
        height: 8px;
        border-right: 2px solid #07569b;
        border-bottom: 2px solid #07569b;
        transform: rotate(45deg);
        transition: transform .2s ease;
    }

    .stoga-mobile-nav__details[open] .stoga-mobile-nav__arrow {
        transform: rotate(225deg);
    }

    .stoga-mobile-nav__list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        list-style: none !important;
        border-top: 1px solid #e7ebef;
        background: #fff;
    }

    .stoga-mobile-nav__list li {
        display: block !important;
        min-width: 0;
        list-style: none !important;
        border-bottom: 1px solid #e7ebef;
        box-sizing: border-box;
    }

    .stoga-mobile-nav__list li::before,
    .stoga-mobile-nav__list li::after {
        display: none !important;
        content: none !important;
    }

    .stoga-mobile-nav__list li:nth-child(odd) {
        border-right: 1px solid #e7ebef;
    }

    .stoga-mobile-nav__list li:last-child {
        grid-column: 1 / -1;
        border-right: 0;
    }

    .stoga-mobile-nav__list a {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px;
        min-height: 56px;
        padding: 9px 14px !important;
        box-sizing: border-box;
        color: #17324d !important;
        background: #fff;
        text-decoration: none !important;
        font-size: 12px !important;
        font-weight: 700;
        line-height: 1.35;
    }

    .stoga-mobile-nav__list a:hover,
    .stoga-mobile-nav__list a:active {
        background: #f5f8fb;
    }

    .stoga-mobile-nav__list img {
        display: block !important;
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        max-width: 22px !important;
        max-height: 22px !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain;
        flex: 0 0 22px;
    }

    .stoga-mobile-nav__list span {
        margin: 0 !important;
        padding: 0 !important;
    }
}
/* ==================================================
   PICK UP
   NEW DESIGN
================================================== */

.pickup {
    padding: 68px 20px 72px;
    margin: 0;
    background: #fff;
}

.pickup .section_inner {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    box-sizing: border-box;
}


/* ---------- HEADING ---------- */

.pickup__label {
    position: relative;
    margin: 0 0 34px;
    padding: 0;
    text-align: center;
    background: none;
}

.pickup__label span {
    display: inline-block;

    color: #07569b;

    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-weight: 700;

    line-height: 1.3;
    letter-spacing: .18em;

    text-transform: uppercase;

    background: transparent;
}


/* 上部アクセント */

.pickup__label::before {
    content: "";

    display: block;

    width: 42px;
    height: 3px;

    margin: 0 auto 12px;

    border-radius: 3px;

    background:
        linear-gradient(
            90deg,
            #08713e 0%,
            #08713e 33%,
            #07569b 33%,
            #07569b 66%,
            #d71920 66%,
            #d71920 100%
        );
}


/* ---------- LIST ---------- */

.pickup__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 24px;

    width: 100%;
}


/* ---------- CARD ---------- */

.pickup__img {
    position: relative;

    width: 100%;
    margin: 0;

    overflow: hidden;

    border-radius: 8px;

    background: #f4f7fa;

    box-shadow:
        0 8px 24px rgba(16, 44, 76, .08);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


/* 画像 */

.pickup__img img {
    display: block;

    width: 100%;
    height: auto;

    margin: 0;

    object-fit: contain;

    transition: transform .3s ease;
}


/* リンク */

.pickup__img a {
    display: block;

    width: 100%;
    height: 100%;

    text-decoration: none;
}


/* ---------- HOVER ---------- */

@media (hover: hover) {

    .pickup__img:hover {
        transform: translateY(-4px);

        box-shadow:
            0 14px 32px rgba(16, 44, 76, .13);
    }

    .pickup__img:hover img {
        transform: scale(1.015);
    }

}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 1024px) {

    .pickup {
        padding: 56px 24px 60px;
    }

    .pickup__list {
        gap: 18px;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 767px) {

    .pickup {
        padding: 42px 16px 48px;
    }

    .pickup .section_inner {
        width: 100%;
        max-width: 100%;
    }


    /* 見出し */

    .pickup__label {
        margin-bottom: 24px;

        text-align: left;
    }

    .pickup__label::before {
        width: 34px;
        height: 3px;

        margin: 0 0 9px;
    }

    .pickup__label span {
        font-size: 11px;
        letter-spacing: .16em;
    }


    /* 1カラム */

    .pickup__list {
        display: grid;

        grid-template-columns: 1fr;

        gap: 16px;
    }


    /* カード */

    .pickup__img {
        width: 100%;

        border-radius: 7px;

        box-shadow:
            0 6px 18px rgba(16, 44, 76, .08);
    }

}
/* ==================================================
   PICK UP
   FINAL OVERRIDE
================================================== */

.pickup {
    margin: 0 !important;
    padding: 56px 20px 64px !important;
    background: #ffffff !important;
}

.pickup .section_inner {
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}


/* ==================================================
   HEADING
================================================== */

.pickup__label {
    display: block !important;

    width: 100% !important;

    margin: 0 0 32px !important;
    padding: 0 !important;

    background: transparent !important;

    text-align: center !important;
}

.pickup__label::before {
    content: "" !important;

    display: block !important;

    width: 48px !important;
    height: 4px !important;

    margin: 0 auto 12px !important;

    background:
        linear-gradient(
            90deg,
            #08713e 0%,
            #08713e 33.333%,
            #07569b 33.333%,
            #07569b 66.666%,
            #d71920 66.666%,
            #d71920 100%
        ) !important;

    border-radius: 2px !important;
}


/* 旧テーマの赤いPICK UP背景を完全解除 */

.pickup__label span {
    display: inline-block !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    color: #102c4c !important;

    font-family: "Open Sans", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;

    line-height: 1.4 !important;
    letter-spacing: .18em !important;

    text-transform: uppercase !important;

    box-shadow: none !important;
}


/* ==================================================
   THREE COLUMN GRID
================================================== */

.pickup__list {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 24px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/* ==================================================
   CARD
================================================== */

.pickup__img {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: none !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff !important;

    border: 1px solid #e5eaf0 !important;
    border-radius: 10px !important;

    overflow: hidden !important;

    box-sizing: border-box !important;

    box-shadow:
        0 8px 24px rgba(16, 44, 76, .08) !important;
}


.pickup__img a {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    text-decoration: none !important;
}


/* ==================================================
   IMAGE
================================================== */

.pickup__img img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;

    border: 0 !important;
}


/* ==================================================
   HOVER
================================================== */

@media (hover: hover) {

    .pickup__img {
        transition:
            transform .25s ease,
            box-shadow .25s ease !important;
    }

    .pickup__img:hover {
        transform: translateY(-4px);

        box-shadow:
            0 14px 34px rgba(16, 44, 76, .14) !important;
    }

}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 1024px) {

    .pickup {
        padding: 48px 20px 54px !important;
    }

    .pickup__list {
        gap: 16px !important;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 767px) {

    .pickup {
        padding: 38px 16px 44px !important;
    }


    .pickup__label {
        margin-bottom: 22px !important;

        text-align: left !important;
    }


    .pickup__label::before {
        width: 38px !important;

        margin:
            0
            0
            9px
            0 !important;
    }


    .pickup__label span {
        font-size: 12px !important;

        letter-spacing: .16em !important;
    }


    .pickup__list {
        grid-template-columns: 1fr !important;

        gap: 16px !important;
    }


    .pickup__img {
        border-radius: 8px !important;
    }

}
/* ==================================================
   PICK UP
   MOBILE SIZE ADJUST
================================================== */

@media screen and (max-width: 767px) {

    /* セクション全体 */
    .pickup {
        padding: 36px 16px 42px !important;
    }

    /* 見出し */
    .pickup__label {
        margin-bottom: 24px !important;
        text-align: left !important;
    }

    .pickup__label::before {
        width: 46px !important;
        height: 4px !important;
        margin: 0 0 10px 0 !important;
    }

    .pickup__label span {
        font-size: 14px !important;
        font-weight: 700 !important;
        letter-spacing: .18em !important;
    }

    /* バナー一覧 */
    .pickup__list {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        width: 100% !important;
    }

    /* 各バナー */
    .pickup__img {
        width: 92% !important;
        max-width: 430px !important;
        margin: 0 auto !important;

        border-radius: 8px !important;

        box-shadow:
            0 5px 16px rgba(16, 44, 76, .08) !important;
    }

    .pickup__img a {
        width: 100% !important;
    }

    .pickup__img img {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;

        margin: 0 auto !important;

        object-fit: contain !important;
    }

}
/* ==================================================
   INFORMATION
   NEW DESIGN
================================================== */

.information {
    position: relative;
    margin: 0 !important;
    padding: 68px 20px 72px !important;
    background: #f4f7fa !important;
}

.information .section_inner {
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}


/* ==================================================
   HEADING
================================================== */

.information__label {
    position: relative;
    display: block !important;
    width: 100% !important;

    margin: 0 0 34px !important;
    padding: 0 !important;

    background: transparent !important;
    text-align: center !important;
}

.information__label::before {
    content: "";

    display: block;

    width: 48px;
    height: 4px;

    margin: 0 auto 12px;

    border-radius: 2px;

    background:
        linear-gradient(
            90deg,
            #08713e 0%,
            #08713e 33.333%,
            #07569b 33.333%,
            #07569b 66.666%,
            #d71920 66.666%,
            #d71920 100%
        );
}

.information__label span {
    display: inline-block !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    color: #102c4c !important;

    font-family: "Open Sans", sans-serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;

    line-height: 1.3 !important;
    letter-spacing: .05em !important;

    text-transform: lowercase;
}


/* ==================================================
   INFORMATION LIST
================================================== */

.information__list {
    display: grid !important;

    grid-template-columns:
        repeat(5, minmax(0, 1fr)) !important;

    gap: 18px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.information__list li {
    position: relative;

    display: block !important;

    min-width: 0;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;

    overflow: hidden;

    background: #fff;

    border: 1px solid #e5eaf0;
    border-radius: 8px;

    box-sizing: border-box;

    box-shadow:
        0 6px 20px rgba(16, 44, 76, .07);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


/* ブラウザ標準の黒丸対策 */

.information__list li::before,
.information__list li::after {
    display: none !important;
    content: none !important;
}


/* ==================================================
   LINK
================================================== */

.information__list li a {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    text-decoration: none !important;
}


/* ==================================================
   IMAGE
================================================== */

.information__list li img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;

    border: 0 !important;
}


/* ==================================================
   HOVER
================================================== */

@media (hover: hover) {

    .information__list li:hover {
        transform: translateY(-4px);

        box-shadow:
            0 12px 30px rgba(16, 44, 76, .12);
    }

}


/* ==================================================
   MORE BUTTON
================================================== */

.information__btn {
    margin: 34px auto 0 !important;

    text-align: center !important;
}

.information__btn a {
    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    min-width: 180px;
    min-height: 46px;

    padding: 0 28px !important;

    box-sizing: border-box;

    border-radius: 999px !important;

    background: #07569b !important;

    color: #fff !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    letter-spacing: .05em;

    text-decoration: none !important;

    transition:
        background .2s ease,
        transform .2s ease;
}

.information__btn a:hover {
    background: #06477f !important;
    transform: translateY(-2px);
}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 1024px) {

    .information {
        padding: 56px 20px 60px !important;
    }

    .information__list {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;

        gap: 16px !important;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 767px) {

    .information {
        padding: 42px 16px 48px !important;
    }

    .information .section_inner {
        max-width: 100% !important;
    }


    /* 見出し */

    .information__label {
        margin-bottom: 24px !important;

        text-align: left !important;
    }

    .information__label::before {
        width: 42px;
        height: 4px;

        margin: 0 0 9px;
    }

    .information__label span {
        font-size: 20px !important;
    }


    /* 2カラム */

    .information__list {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 12px !important;
    }


    /* 最後の1件だけの場合は中央寄せではなく自然に配置 */

    .information__list li {
        border-radius: 7px;
    }


    /* ボタン */

    .information__btn {
        margin-top: 26px !important;
    }

    .information__btn a {
        min-width: 160px;
        min-height: 44px;

        font-size: 13px !important;
    }

}
/* ==================================================
   INFORMATION
   SIZE FIX / PC
   前回CSSの一番下に追記
================================================== */

@media screen and (min-width: 768px) {

    /* セクション全体 */
    .information {
        padding: 68px 20px 72px !important;
    }

    .information .section_inner {
        width: 100% !important;
        max-width: 1320px !important;
        margin: 0 auto !important;
    }


    /* 見出し */
    .information__label {
        margin-bottom: 42px !important;
    }


    /* Slickを使っているためgridを解除 */
    .information__list {
        display: block !important;

        width: 100% !important;
        max-width: 1320px !important;

        margin: 0 auto !important;
        padding: 0 55px !important;

        box-sizing: border-box !important;
    }


    /* Slick本体 */
    .information__list .slick-list {
        width: 100% !important;
        overflow: hidden !important;
    }

    .information__list .slick-track {
        display: flex !important;
        align-items: stretch !important;
    }


    /* 各バナー */
    .information__list .slick-slide {
        height: auto !important;

        margin: 0 10px !important;

        box-sizing: border-box !important;
    }

    .information__list .slick-slide > div {
        width: 100% !important;
    }


    /* liカード */
    .information__list li {
        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;

        background: #fff !important;

        border: none !important;
        border-radius: 8px !important;

        box-shadow:
            0 6px 18px rgba(16, 44, 76, .10) !important;
    }


    /* リンク */
    .information__list li a {
        display: block !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* バナー画像 */
    .information__list li img {
        display: block !important;

        width: 100% !important;
        max-width: none !important;

        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        object-fit: contain !important;
    }


    /* 左右矢印 */
    .information__list .slick-prev,
    .information__list .slick-next {
        width: 44px !important;
        height: 44px !important;

        z-index: 10 !important;
    }

    .information__list .slick-prev {
        left: 0 !important;
    }

    .information__list .slick-next {
        right: 0 !important;
    }


    /* 詳しく見る */
    .information__btn {
        margin-top: 38px !important;
    }

}
/* ==================================================
   INFORMATION
   MOBILE SLIDER SIZE FIX
================================================== */

@media screen and (max-width: 767px) {

    .information {
        padding: 42px 16px 48px !important;
    }

    .information .section_inner {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 auto !important;
    }

    .information__label {
        margin-bottom: 26px !important;
    }

    /* スライダー全体 */
    .information__list {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 auto !important;
        padding: 0 34px !important;

        box-sizing: border-box !important;
    }

    .information__list .slick-list {
        width: 100% !important;
        overflow: hidden !important;
    }

    .information__list .slick-track {
        display: flex !important;
        align-items: center !important;
    }

    /* 各スライド */
    .information__list .slick-slide {
        height: auto !important;
        margin: 0 !important;
        padding: 0 5px !important;

        box-sizing: border-box !important;
    }

    .information__list .slick-slide > div {
        width: 100% !important;
    }

    .information__list li {
        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        border-radius: 8px !important;
        overflow: hidden !important;

        background: #fff !important;
    }

    .information__list li a {
        display: block !important;
        width: 100% !important;
    }

    .information__list li img {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;

        margin: 0 !important;
    }

    /* 左右矢印 */
    .information__list .slick-prev,
    .information__list .slick-next {
        width: 34px !important;
        height: 34px !important;

        z-index: 20 !important;
    }

    .information__list .slick-prev {
        left: 0 !important;
    }

    .information__list .slick-next {
        right: 0 !important;
    }

    /* 詳しく見る */
    .information__btn {
        margin-top: 28px !important;
    }
}
/* ==================================================
   HORSE RACING SCHEDULE
================================================== */

.stoga-horse-schedule {
    width: 100%;
    max-width: 1180px;

    margin: 0 auto 42px;
    padding: 30px;

    box-sizing: border-box;

    background: #f4f7fa;

    border-radius: 10px;
}


/* ---------- HEAD ---------- */

.stoga-horse-schedule__head {
    margin-bottom: 24px;

    text-align: center;
}

.stoga-horse-schedule__en {
    display: block;

    margin-bottom: 6px;

    color: #08713e;

    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    font-weight: 700;

    letter-spacing: .18em;
}

.stoga-horse-schedule__head h3 {
    margin: 0;

    color: #102c4c;

    font-size: 23px;
    font-weight: 700;
    line-height: 1.4;
}

.stoga-horse-schedule__head p {
    margin: 10px 0 0;

    color: #5b6874;

    font-size: 14px;
    line-height: 1.8;
}


/* ==================================================
   LINKS
================================================== */

.stoga-horse-schedule__links {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 18px;
}


/* ---------- CARD ---------- */

.stoga-horse-schedule__link {
    position: relative;

    display: flex;
    flex-direction: column;
    justify-content: center;

    min-height: 125px;

    padding: 22px 28px;

    box-sizing: border-box;

    overflow: hidden;

    background: #fff;

    border-radius: 8px;

    text-decoration: none !important;

    box-shadow:
        0 6px 20px rgba(16, 44, 76, .07);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


/* 上部カラー */

.stoga-horse-schedule__link::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 5px;
}


/* 地方競馬 */

.stoga-horse-schedule__link--local::before {
    background: #08713e;
}


/* JRA */

.stoga-horse-schedule__link--jra::before {
    background: #0b5d43;
}


/* ---------- TEXT ---------- */

.stoga-horse-schedule__type {
    margin-bottom: 5px;

    color: #08713e;

    font-size: 12px;
    font-weight: 700;
}

.stoga-horse-schedule__link strong {
    color: #102c4c;

    font-size: 20px;
    font-weight: 700;
}

.stoga-horse-schedule__external {
    margin-top: 8px;

    color: #75818c;

    font-size: 11px;
}


/* ---------- HOVER ---------- */

@media (hover: hover) {

    .stoga-horse-schedule__link:hover {
        transform: translateY(-3px);

        box-shadow:
            0 10px 28px rgba(16, 44, 76, .12);
    }

}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 767px) {

    .stoga-horse-schedule {
        margin-bottom: 30px;

        padding: 22px 16px;

        border-radius: 8px;
    }

    .stoga-horse-schedule__head {
        margin-bottom: 18px;

        text-align: left;
    }

    .stoga-horse-schedule__en {
        font-size: 9px;
    }

    .stoga-horse-schedule__head h3 {
        font-size: 19px;
    }

    .stoga-horse-schedule__head p {
        font-size: 12px;
    }

    .stoga-horse-schedule__links {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .stoga-horse-schedule__link {
        min-height: 100px;

        padding: 18px 20px;
    }

    .stoga-horse-schedule__link strong {
        font-size: 17px;
    }

}
/* ==================================================
   4 FACILITY BRANDS
================================================== */

.stoga-facility-preview {
    width: 100%;
    max-width: 1180px;

    margin: 55px auto 0;
}


/* ==================================================
   HEADING
================================================== */

.stoga-facility-heading {
    margin-bottom: 32px;

    text-align: center;
}

.stoga-facility-heading__en {
    display: block;

    margin-bottom: 8px;

    color: #07569b;

    font-family: "Open Sans", sans-serif;
    font-size: 12px;
    font-weight: 700;

    letter-spacing: .20em;
}

.stoga-facility-heading h3 {
    margin: 0;

    color: #102c4c;

    font-size: 27px;
    font-weight: 700;
    line-height: 1.45;
}

.stoga-facility-heading p {
    margin: 10px 0 0;

    color: #5b6874;

    font-size: 14px;
    line-height: 1.8;
}


/* ==================================================
   GRID
================================================== */

.stoga-facility-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 24px;
}


/* ==================================================
   CARD
================================================== */

.stoga-facility-card {
    display: flex;
    flex-direction: column;

    min-width: 0;

    overflow: hidden;

    background: #fff;

    border: 1px solid #e3e8ed;
    border-radius: 10px;

    box-shadow:
        0 8px 25px rgba(16, 44, 76, .08);
}


/* ==================================================
   CARD HEAD
================================================== */

.stoga-facility-card__head {
    position: relative;

    padding: 22px 26px 20px;

    color: #fff;
}

.stoga-facility-card__category {
    display: block;

    margin-bottom: 5px;

    color: rgba(255,255,255,.80);

    font-size: 10px;
    font-weight: 700;

    letter-spacing: .18em;
}

.stoga-facility-card__head h3 {
    margin: 0;

    color: #fff;

    font-size: 25px;
    font-weight: 700;
}

.stoga-facility-card__head p {
    margin: 5px 0 0;

    color: rgba(255,255,255,.88);

    font-size: 12px;
}


/* サテライト男鹿 */

.stoga-facility-card--keirin
.stoga-facility-card__head {
    background: #07569b;
}


/* BAOO */

.stoga-facility-card--baoo
.stoga-facility-card__head {
    background: #08713e;
}


/* J-PLACE */

.stoga-facility-card--jplace
.stoga-facility-card__head {
    background: #075b43;
}


/* オートレース */

.stoga-facility-card--autorace
.stoga-facility-card__head {
    background: #d71920;
}


/* ==================================================
   CARD BODY
================================================== */

.stoga-facility-card__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;

    min-height: 245px;

    padding: 25px;

    box-sizing: border-box;

    text-align: center;
}


/* ==================================================
   BANNER
================================================== */

.stoga-facility-card__banner {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;

    text-decoration: none;
}

.stoga-facility-card__banner img {
    display: block;

    width: auto;
    max-width: 100%;

    max-height: 250px;

    margin: 0 auto;

    object-fit: contain;
}


/* ==================================================
   START DATE
================================================== */

.stoga-facility-card__start {
    margin-bottom: 18px;
}

.stoga-facility-card__start span {
    display: block;

    margin-bottom: 5px;

    color: #08713e;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: .20em;
}

.stoga-facility-card__start strong {
    display: block;

    color: #102c4c;

    font-size: 39px;
    font-weight: 700;

    line-height: 1.2;
}


/* ==================================================
   TEXT
================================================== */

.stoga-facility-card__text {
    margin: 0;

    color: #465667;

    font-size: 14px;
    line-height: 1.8;
}


/* ==================================================
   LINK
================================================== */

.stoga-facility-card__link {
    display: inline-block;

    margin: 20px auto 0;

    color: #07569b;

    font-size: 12px;
    font-weight: 700;

    text-decoration: none;

    border-bottom: 1px solid #07569b;
}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 900px) {

    .stoga-facility-grid {
        gap: 18px;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 767px) {

    .stoga-facility-preview {
        margin-top: 40px;
    }

    .stoga-facility-heading {
        margin-bottom: 24px;

        text-align: left;
    }

    .stoga-facility-heading__en {
        font-size: 9px;
    }

    .stoga-facility-heading h3 {
        font-size: 21px;
    }

    .stoga-facility-heading p {
        font-size: 12px;
    }


    /* 1カラム */

    .stoga-facility-grid {
        grid-template-columns: 1fr;

        gap: 16px;
    }


    /* Head */

    .stoga-facility-card__head {
        padding: 18px 20px 17px;
    }

    .stoga-facility-card__head h3 {
        font-size: 21px;
    }


    /* Body */

    .stoga-facility-card__body {
        min-height: 0;

        padding: 20px;
    }

    .stoga-facility-card__banner img {
        max-height: none;
    }

    .stoga-facility-card__start strong {
        font-size: 32px;
    }

    .stoga-facility-card__text {
        font-size: 12px;
    }

}
/* ==================================================
   FACILITY INFORMATION
   4施設カード 最終レイアウト調整
================================================== */

/* ---------- GRID ---------- */

.stoga-facility-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}


/* ---------- CARD ---------- */

.stoga-facility-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;

    background: #fff;
    border: 1px solid #e1e7ed;
    border-radius: 12px;

    box-shadow: 0 8px 24px rgba(16, 44, 76, .06);
}


/* ---------- HEAD ---------- */

.stoga-facility-card__head {
    box-sizing: border-box;
    min-height: 168px;
    padding: 30px 32px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.stoga-facility-card__category {
    display: block;
    margin-bottom: 14px;

    font-size: 12px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .16em;
}

.stoga-facility-card__head h3 {
    margin: 0 0 14px;

    font-size: 27px;
    line-height: 1.3;
    font-weight: 700;
}

.stoga-facility-card__head p {
    margin: 0;

    font-size: 14px;
    line-height: 1.6;
    font-weight: 500;
}


/* ---------- BODY ---------- */

.stoga-facility-card__body {
    flex: 1;

    min-height: 350px;
    padding: 30px 32px;

    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    background: #fff;
}


/* ---------- START DATE ---------- */

.stoga-facility-card__start {
    display: flex;
    flex-direction: column;
    align-items: center;

    margin-bottom: 24px;
}

.stoga-facility-card__start span {
    margin-bottom: 10px;

    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .18em;

    color: #08713e;
}

.stoga-facility-card__start strong {
    font-size: 42px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .02em;

    color: #102c4c;
}


/* ---------- DESCRIPTION ---------- */

.stoga-facility-card__text {
    margin: 0 0 24px;

    text-align: center;

    font-size: 15px;
    line-height: 1.8;

    color: #34495e;
}


/* ---------- OFFICIAL LINK ---------- */

.stoga-facility-card__link {
    display: inline-block;

    color: #07569b;

    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;

    text-decoration: none;

    border-bottom: 1px solid #07569b;
}

.stoga-facility-card__link:hover {
    opacity: .7;
}


/* ---------- BANNER ---------- */

.stoga-facility-card__banner {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    text-decoration: none;
}

.stoga-facility-card__banner img {
    display: block;

    width: auto;
    max-width: 78%;
    max-height: 300px;

    object-fit: contain;
}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 767px) {

    .stoga-facility-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }


    /* CARD */

    .stoga-facility-card {
        border-radius: 10px;
    }


    /* HEAD */

    .stoga-facility-card__head {
        min-height: auto;
        padding: 22px 22px 20px;
    }

    .stoga-facility-card__category {
        margin-bottom: 10px;

        font-size: 10px;
    }

    .stoga-facility-card__head h3 {
        margin-bottom: 8px;

        font-size: 23px;
    }

    .stoga-facility-card__head p {
        font-size: 12px;
    }


    /* BODY */

    .stoga-facility-card__body {
        min-height: 260px;
        padding: 26px 20px;
    }


    /* DATE */

    .stoga-facility-card__start {
        margin-bottom: 18px;
    }

    .stoga-facility-card__start span {
        margin-bottom: 8px;

        font-size: 11px;
    }

    .stoga-facility-card__start strong {
        font-size: 34px;
    }


    /* DESCRIPTION */

    .stoga-facility-card__text {
        margin-bottom: 18px;

        font-size: 13px;
        line-height: 1.7;
    }


    /* LINK */

    .stoga-facility-card__link {
        font-size: 13px;
    }


    /* BANNER */

    .stoga-facility-card__banner img {
        max-width: 82%;
        max-height: 230px;
    }

}
/* ==================================================
   FACILITY INFORMATION
   MOBILE COMPACT ADJUST
================================================== */

@media screen and (max-width: 767px) {

    /* セクション */
    .stoga-facility-preview {
        margin-top: 34px !important;
    }

    /* 見出し */
    .stoga-facility-heading {
        margin-bottom: 20px !important;
    }

    .stoga-facility-heading h3 {
        font-size: 20px !important;
        line-height: 1.45 !important;
    }

    .stoga-facility-heading p {
        margin-top: 8px !important;
        font-size: 12px !important;
        line-height: 1.7 !important;
    }

    /* カード間隔 */
    .stoga-facility-grid {
        gap: 14px !important;
    }

    /* カード */
    .stoga-facility-card {
        border-radius: 9px !important;
    }

    /* ヘッダー */
    .stoga-facility-card__head {
        min-height: auto !important;
        padding: 18px 20px 16px !important;
    }

    .stoga-facility-card__category {
        margin-bottom: 8px !important;
        font-size: 9px !important;
    }

    .stoga-facility-card__head h3 {
        margin-bottom: 7px !important;
        font-size: 21px !important;
    }

    .stoga-facility-card__head p {
        font-size: 11px !important;
        line-height: 1.5 !important;
    }

    /* 本文 */
    .stoga-facility-card__body {
        min-height: 0 !important;
        padding: 22px 18px !important;
    }

    /* BAOO / J-PLACE 日付 */
    .stoga-facility-card__start {
        margin-bottom: 14px !important;
    }

    .stoga-facility-card__start span {
        margin-bottom: 7px !important;
        font-size: 10px !important;
    }

    .stoga-facility-card__start strong {
        font-size: 31px !important;
    }

    .stoga-facility-card__text {
        margin-bottom: 15px !important;
        font-size: 12px !important;
        line-height: 1.65 !important;
    }

    .stoga-facility-card__link {
        font-size: 12px !important;
    }

    /* 競輪・オートのポスターを縮小 */
    .stoga-facility-card__banner {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .stoga-facility-card__banner img {
        width: auto !important;
        max-width: 68% !important;
        max-height: 260px !important;
        margin: 0 auto !important;
        object-fit: contain !important;
    }

}
/* ==================================================
   SNS
   NEW DESIGN
================================================== */

.sns {
    margin: 0 !important;
    padding: 72px 20px 78px !important;

    background: #f4f7fa !important;
}

.sns .section_inner {
    width: 100% !important;
    max-width: 1180px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* ==================================================
   GRID
================================================== */

.sns__flex-container {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    gap: 28px !important;

    width: 100% !important;

    align-items: stretch !important;
}


/* ==================================================
   CARD
================================================== */

.sns__update__content {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 28px !important;

    max-height: none !important;

    box-sizing: border-box !important;

    overflow: hidden !important;

    background: #fff !important;

    border: 1px solid #e2e8ee !important;
    border-radius: 12px !important;

    box-shadow:
        0 8px 24px rgba(16, 44, 76, .07) !important;
}


/* ==================================================
   HEADING
================================================== */

.sns__update__content__head {
    position: relative;

    margin: 0 0 22px !important;
    padding: 0 0 15px !important;

    border-bottom: 1px solid #e5eaf0;
}

.sns__update__content__head span {
    display: block;

    margin: 0 !important;

    color: #102c4c !important;

    font-family: "Open Sans", sans-serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;

    line-height: 1.3 !important;
    letter-spacing: .02em !important;
}


/* 3色アクセント */

.sns__update__content__head::before {
    content: "";

    display: block;

    width: 42px;
    height: 3px;

    margin-bottom: 10px;

    border-radius: 2px;

    background:
        linear-gradient(
            90deg,
            #08713e 0%,
            #08713e 33.333%,
            #07569b 33.333%,
            #07569b 66.666%,
            #d71920 66.666%,
            #d71920 100%
        );
}


/* ==================================================
   INSTAGRAM
================================================== */

.sns__update__content.instagram {
    min-height: 520px !important;
}

.sns__update__content.instagram
#sb_instagram {
    width: 100% !important;

    margin: 0 auto !important;
}


/* ==================================================
   FACEBOOK
================================================== */

.sns__update__content.facebook {
    min-height: 520px !important;
}

.sns__update__content.facebook .pc-cont {
    display: block !important;

    width: 100% !important;
    min-height: 420px !important;
    height: 420px !important;

    margin: 0 !important;

    border: 0 !important;
}

.sns__update__content.facebook .sp-cont {
    display: none !important;
}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 900px) {

    .sns {
        padding: 58px 20px 64px !important;
    }

    .sns__flex-container {
        gap: 18px !important;
    }

    .sns__update__content {
        padding: 22px !important;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 767px) {

    .sns {
        padding: 44px 16px 50px !important;
    }

    .sns .section_inner {
        max-width: 100% !important;
    }


    /* 1カラム */

    .sns__flex-container {
        grid-template-columns: 1fr !important;

        gap: 18px !important;
    }


    /* CARD */

    .sns__update__content {
        padding: 20px !important;

        border-radius: 9px !important;
    }


    /* HEADING */

    .sns__update__content__head {
        margin-bottom: 18px !important;
        padding-bottom: 12px !important;
    }

    .sns__update__content__head span {
        font-size: 18px !important;
    }

    .sns__update__content__head::before {
        width: 36px;
    }


    /* INSTAGRAM */

    .sns__update__content.instagram {
        min-height: 0 !important;
    }


    /* FACEBOOK */

    .sns__update__content.facebook {
        min-height: 0 !important;
    }

    .sns__update__content.facebook .pc-cont {
        display: none !important;
    }

    .sns__update__content.facebook .sp-cont {
        display: block !important;

        width: 100% !important;
        height: 360px !important;
        min-height: 360px !important;

        margin: 0 !important;

        border: 0 !important;
    }

}
/* ==================================================
   SNS CARD HEIGHT FIX
   PC
================================================== */

@media screen and (min-width: 768px) {

    .sns__flex-container {
        align-items: start !important;
    }

    .sns__update__content {
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
    }

    .sns__update__content.instagram,
    .sns__update__content.facebook {
        min-height: 0 !important;
        height: auto !important;
    }

    .sns__update__content.instagram {
        padding-bottom: 30px !important;
    }

    .sns__update__content.facebook {
        padding-bottom: 30px !important;
    }

    .sns__update__content.facebook .pc-cont {
        height: 440px !important;
        min-height: 440px !important;
    }

}
/* ==================================================
   SNS
   PC BALANCE FIX
================================================== */

@media screen and (min-width: 768px) {

    /* 2枚のカードを同じ高さに */
    .sns__flex-container {
        align-items: stretch !important;
    }

    .sns__update__content {
        height: 560px !important;
        min-height: 560px !important;
        max-height: 560px !important;

        box-sizing: border-box !important;
    }


    /* 見出しの高さも統一 */
    .sns__update__content__head {
        flex: 0 0 auto !important;

        min-height: 74px !important;

        box-sizing: border-box !important;
    }


    /* ==================================================
       Instagram
    ================================================== */

    .sns__update__content.instagram {
        height: 560px !important;
    }

    .sns__update__content.instagram #sb_instagram {
        flex: 1 1 auto !important;

        width: 100% !important;
        height: 420px !important;
        max-height: 420px !important;

        overflow-y: auto !important;
        overflow-x: hidden !important;

        box-sizing: border-box !important;
    }


    /* ==================================================
       Facebook
    ================================================== */

    .sns__update__content.facebook {
        height: 560px !important;
    }

    .sns__update__content.facebook .pc-cont {
        display: block !important;

        flex: 1 1 auto !important;

        width: 100% !important;

        height: 420px !important;
        min-height: 420px !important;
        max-height: 420px !important;

        margin: 0 !important;

        border: 0 !important;
    }

}
/* ==================================================
   GUIDE & SUPPORT V2
   MOBILE FINAL ADJUST
================================================== */

@media screen and (max-width: 767px) {

    .stoga-gs2 {
        margin: 42px 0 !important;
        padding: 0 14px !important;
    }

    .stoga-gs2__inner {
        max-width: 100% !important;
    }


    /* ---------- HEAD ---------- */

    .stoga-gs2__head {
        margin-bottom: 22px !important;
        text-align: left !important;
    }

    .stoga-gs2__en {
        margin-bottom: 7px !important;

        font-size: 9px !important;
        letter-spacing: .16em !important;
    }

    .stoga-gs2__head h2 {
        font-size: 22px !important;
        line-height: 1.4 !important;
    }

    .stoga-gs2__head p {
        margin-top: 8px !important;

        font-size: 12px !important;
        line-height: 1.7 !important;
    }


    /* ---------- GRID ---------- */

    .stoga-gs2__grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }


    /* ---------- CARD ---------- */

    .stoga-gs2__card {
        min-height: 0 !important;

        padding: 20px 18px 18px !important;

        border-radius: 8px !important;
    }


    /* ---------- CATEGORY ---------- */

    .stoga-gs2__category {
        margin-bottom: 12px !important;

        font-size: 9px !important;
        letter-spacing: .14em !important;
    }


    /* ---------- CHARILOTO ---------- */

    .stoga-gs2__visual {
        width: 100% !important;
        max-width: 320px !important;

        height: 135px !important;

        margin: 0 auto 10px !important;

        border-radius: 6px !important;
    }

    .stoga-gs2__visual img {
        width: 100% !important;
        height: 135px !important;

        object-fit: cover !important;
    }

    .stoga-gs2__chariloto-logo {
        height: 30px !important;

        margin-bottom: 10px !important;
    }

    .stoga-gs2__chariloto-logo img {
        max-width: 110px !important;

        height: 30px !important;
        max-height: 30px !important;
    }


    /* ---------- ICON ---------- */

    .stoga-gs2__icon,
    .stoga-gs2__simple-icon {
        width: 56px !important;
        height: 56px !important;

        margin: 6px auto 13px !important;
    }

    .stoga-gs2__icon img {
        width: 56px !important;
        max-width: 56px !important;

        height: 56px !important;
        max-height: 56px !important;
    }

    .stoga-gs2__simple-icon {
        font-size: 12px !important;
    }


    /* ---------- TITLE ---------- */

    .stoga-gs2__card h3 {
        margin-bottom: 9px !important;

        font-size: 18px !important;
        line-height: 1.45 !important;
    }


    /* ---------- TEXT ---------- */

    .stoga-gs2__card p {
        font-size: 12px !important;
        line-height: 1.65 !important;
    }

    .stoga-gs2__card p br {
        display: none !important;
    }


    /* ---------- LINK ---------- */

    .stoga-gs2__link {
        margin-top: 14px !important;
        padding-top: 0 !important;

        font-size: 11px !important;
    }

}
/* ==================================================
   FLOORMAP
   NEW DESIGN OVERRIDE
================================================== */

.floormap {
    width: 100%;
    margin: 0 !important;
    padding: 70px 20px 80px !important;

    background: #ffffff !important;

    box-sizing: border-box;
}

.floormap .section_inner {
    width: 100% !important;
    max-width: 1480px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* ==================================================
   MAIN HEADING
================================================== */

.floormap__label {
    position: relative;

    display: block !important;

    width: 100% !important;

    margin: 0 0 42px !important;
    padding: 0 !important;

    background: transparent !important;

    text-align: center !important;
}

.floormap__label::before {
    content: "";

    display: block;

    width: 48px;
    height: 4px;

    margin: 0 auto 12px;

    border-radius: 2px;

    background:
        linear-gradient(
            90deg,
            #08713e 0%,
            #08713e 33.333%,
            #07569b 33.333%,
            #07569b 66.666%,
            #d71920 66.666%,
            #d71920 100%
        );
}

.floormap__label span {
    display: inline-block !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    color: #102c4c !important;

    font-size: 30px !important;
    font-weight: 700 !important;

    line-height: 1.4 !important;

    box-shadow: none !important;
}


/* ==================================================
   FLOOR CONTENT
================================================== */

.floormap__container {
    width: 100% !important;
}

.floormap__container__content {
    width: 100% !important;

    margin: 0 0 50px !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* ==================================================
   FLOOR CATCH COPY
================================================== */

.floormap__container__content__head {
    position: relative;

    margin: 0 0 28px !important;
    padding: 18px 24px 18px 88px !important;

    box-sizing: border-box;

    background: #f4f7fa !important;

    border: none !important;
    border-radius: 8px !important;

    color: #102c4c !important;

    font-size: 18px !important;
    font-weight: 700 !important;

    line-height: 1.6 !important;
}


/* 1F */

.content-1f .floormap__container__content__head::before {
    content: "1F";

    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 68px;

    background: #07569b;

    color: #fff;

    font-size: 22px;
    font-weight: 700;

    border-radius: 8px 0 0 8px;
}


/* 2F */

.content-2f .floormap__container__content__head::before {
    content: "2F";

    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 68px;

    background: #08713e;

    color: #fff;

    font-size: 22px;
    font-weight: 700;

    border-radius: 8px 0 0 8px;
}


/* ==================================================
   MAP + GALLERY WRAPPER
================================================== */

.floormap__container__content__tabwrap {
    width: 100% !important;

    padding: 28px !important;

    box-sizing: border-box !important;

    background: #f7f9fb !important;

    border: 1px solid #e2e8ee !important;
    border-radius: 12px !important;

    box-shadow:
        0 8px 24px rgba(16, 44, 76, .05) !important;
}


/* ==================================================
   GALLERY
================================================== */

.floormap__container__content__tabwrap__gallery {
    background: #fff !important;

    border-radius: 10px !important;

    overflow: hidden !important;
}

.floormap__container__content__tabwrap__gallery__tabbox {
    box-sizing: border-box !important;
}


/* ==================================================
   PHOTO
================================================== */

.floormap__container__content__tabwrap__gallery img {
    display: block;

    max-width: 100%;
    height: auto;
}


/* ==================================================
   TEXT AREA
================================================== */

.floormap__container__content__tabwrap__gallery__tabbox__textarea {
    padding: 22px 24px !important;

    box-sizing: border-box !important;

    background: #fff !important;
}

.floormap__container__content__tabwrap__gallery__tabbox__textarea__head {
    margin: 0 0 10px !important;

    color: #102c4c !important;

    font-size: 19px !important;
    font-weight: 700 !important;

    line-height: 1.5 !important;
}

.floormap__container__content__tabwrap__gallery__tabbox__textarea__lead {
    margin: 0 !important;

    color: #566575 !important;

    font-size: 13px !important;
    line-height: 1.8 !important;
}


/* ==================================================
   ANNOTATION
================================================== */

.floormap__container__content__tabwrap__map__point__annotation {
    margin-top: 14px !important;

    color: #6a7784 !important;

    font-size: 12px !important;
    line-height: 1.6 !important;
}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 767px) {

    .floormap {
        padding: 48px 16px 54px !important;
    }


    /* MAIN HEADING */

    .floormap__label {
        margin-bottom: 28px !important;

        text-align: left !important;
    }

    .floormap__label::before {
        width: 42px;

        margin: 0 0 10px;
    }

    .floormap__label span {
        font-size: 23px !important;
    }


    /* FLOOR */

    .floormap__container__content {
        margin-bottom: 34px !important;
    }


    /* CATCH COPY */

    .floormap__container__content__head {
        padding: 16px 16px 16px 64px !important;

        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    .content-1f .floormap__container__content__head::before,
    .content-2f .floormap__container__content__head::before {
        width: 52px;

        font-size: 17px;
    }


    /* WRAPPER */

    .floormap__container__content__tabwrap {
        padding: 14px !important;

        border-radius: 9px !important;
    }


    /* TEXT */

    .floormap__container__content__tabwrap__gallery__tabbox__textarea {
        padding: 18px 16px !important;
    }

    .floormap__container__content__tabwrap__gallery__tabbox__textarea__head {
        font-size: 17px !important;
    }

    .floormap__container__content__tabwrap__gallery__tabbox__textarea__lead {
        font-size: 12px !important;
        line-height: 1.7 !important;
    }

}
/* ==================================================
   FLOORMAP
   MOBILE FINAL FIX
================================================== */

@media screen and (max-width: 767px) {

    /* ==================================================
       FLOOR HEAD
    ================================================== */

    .floormap__container__content__head {
        position: relative !important;

        display: flex !important;
        align-items: center !important;

        min-height: 72px !important;

        margin: 0 0 22px !important;
        padding: 14px 16px 14px 78px !important;

        box-sizing: border-box !important;

        overflow: hidden !important;

        background: #f4f7fa !important;

        border-radius: 8px !important;

        color: #102c4c !important;

        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.55 !important;

        text-align: left !important;
    }


    /* ==================================================
       既存の階数表示を上書き
    ================================================== */

    .floormap__container__content__head::before {
        position: absolute !important;

        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 64px !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;

        color: #fff !important;

        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1 !important;

        border-radius: 8px 0 0 8px !important;
    }


    /* 1F */
    .content-1f
    .floormap__container__content__head::before {
        content: "1F" !important;

        background: #07569b !important;
    }


    /* 2F */
    .content-2f
    .floormap__container__content__head::before {
        content: "2F" !important;

        background: #08713e !important;
    }


    /* ==================================================
       1F・2F レストラン等
       既存クラスで1F/2F判定できない場合の補正
    ================================================== */

    .floormap__container__content__head {
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }


    /* ==================================================
       TAB WRAP
    ================================================== */

    .floormap__container__content__tabwrap {
        width: 100% !important;

        padding: 12px !important;

        box-sizing: border-box !important;

        overflow: hidden !important;

        border-radius: 9px !important;
    }


    /* ==================================================
       MAP IMAGE
    ================================================== */

    .floormap__container__content__tabwrap__map {
        width: 100% !important;
        max-width: 100% !important;

        overflow: hidden !important;
    }

    .floormap__container__content__tabwrap__map img {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;

        margin: 0 auto !important;
    }


    /* ==================================================
       GALLERY
    ================================================== */

    .floormap__container__content__tabwrap__gallery {
        width: 100% !important;
        max-width: 100% !important;
    }


    /* メイン写真 */
    .floormap__container__content__tabwrap__gallery
    .slider_thumb img {
        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;

        object-fit: cover !important;
    }


    /* サムネイル */
    .floormap__container__content__tabwrap__gallery
    .thumb img {
        width: 100% !important;
        height: auto !important;

        object-fit: cover !important;
    }


    /* ==================================================
       TEXT AREA
    ================================================== */

    .floormap__container__content__tabwrap__gallery__tabbox__textarea {
        padding: 16px !important;
    }

    .floormap__container__content__tabwrap__gallery__tabbox__textarea__head {
        margin: 0 0 10px !important;

        padding: 0 0 8px !important;

        color: #102c4c !important;

        font-size: 17px !important;
        line-height: 1.45 !important;

        border-bottom: 2px solid #07569b !important;
    }

    .floormap__container__content__tabwrap__gallery__tabbox__textarea__lead {
        font-size: 12px !important;
        line-height: 1.75 !important;
    }

}
/* ==================================================
   FLOORMAP
   MOBILE CAMERA + RESTAURANT FIX
================================================== */

@media screen and (max-width: 767px) {

    /* ==================================================
       CAMERA POINT BUTTON
    ================================================== */

    .floormap__container__content__tabwrap__map__point {
        position: relative !important;
    }

    .floormap__container__content__tabwrap__map__point__btn {
        width: 28px !important;
        height: 28px !important;

        min-width: 28px !important;
        min-height: 28px !important;

        max-width: 28px !important;
        max-height: 28px !important;

        margin: 0 !important;
        padding: 0 !important;

        box-sizing: border-box !important;

        background-size: contain !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
    }


    /* activeでも巨大化させない */
    .floormap__container__content__tabwrap__map__point__btn.active {
        width: 28px !important;
        height: 28px !important;

        transform: none !important;
    }


    /* ==================================================
       RESTAURANT HEAD
       content-last
    ================================================== */

    .content-last
    .floormap__container__content__head {
        position: relative !important;

        display: flex !important;
        align-items: center !important;

        min-height: 72px !important;

        margin: 0 0 22px !important;
        padding: 14px 16px 14px 88px !important;

        box-sizing: border-box !important;

        background: #f4f7fa !important;

        border-radius: 8px !important;

        color: #102c4c !important;

        font-size: 14px !important;
        font-weight: 700 !important;

        line-height: 1.55 !important;

        text-align: left !important;
    }


    .content-last
    .floormap__container__content__head::before {
        content: "1F・2F" !important;

        position: absolute !important;

        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 74px !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        background: #07569b !important;

        color: #fff !important;

        font-size: 16px !important;
        font-weight: 700 !important;

        line-height: 1 !important;

        border-radius: 8px 0 0 8px !important;
    }


    /* ==================================================
       RESTAURANT IMAGES
    ================================================== */

    .floormap__container__content__wrap {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .floormap__container__content__wrap__lft,
    .floormap__container__content__wrap__rgt {
        width: 100% !important;
        max-width: 100% !important;
    }

    .floormap__container__content__wrap__lft img,
    .floormap__container__content__wrap__rgt img {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;

        margin: 0 0 12px !important;

        object-fit: contain !important;
    }

}
/* ==================================================
   FLOORMAP
   MOBILE INTERACTION RESTORE
================================================== */

@media screen and (max-width: 767px) {

    /* ==================================================
       MAP WRAPPER
       元のクリック座標系を復元
    ================================================== */

    .toppage
    .floormap__container__content__tabwrap__map {
        position: relative !important;

        width: 460px !important;
        max-width: 100% !important;

        height: 530px !important;

        margin-left: auto !important;
        margin-right: auto !important;

        overflow: visible !important;

        background-repeat: no-repeat !important;
        background-size: contain !important;
        background-position: center top !important;
    }


    /* ==================================================
       CAMERA BUTTON
    ================================================== */

    .toppage
    .floormap__container__content__tabwrap__map__point__btn {
        position: absolute !important;

        width: 34px !important;
        height: 32px !important;

        min-width: 34px !important;
        min-height: 32px !important;

        max-width: 34px !important;
        max-height: 32px !important;

        margin: 0 !important;
        padding: 0 !important;

        background-image:
            url('../images/btn-floormap-point.png') !important;

        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: contain !important;

        cursor: pointer !important;

        pointer-events: auto !important;

        z-index: 20 !important;
    }


    /* active時もサイズ変更しない */

    .toppage
    .floormap__container__content__tabwrap__map__point__btn.active {
        width: 34px !important;
        height: 32px !important;

        transform: none !important;

        pointer-events: auto !important;
    }


    /* ==================================================
       ANNOTATION
       説明文がクリックを邪魔しないようにする
    ================================================== */

    .toppage
    .floormap__container__content__tabwrap__map__point__annotation {
        pointer-events: none !important;

        z-index: 5 !important;
    }

}


/* ==================================================
   SMALL MOBILE
   元テーマの300 × 350設計を復元
================================================== */

@media screen and (max-width: 480px) {

    .toppage
    .floormap__container__content__tabwrap__map {
        width: 300px !important;
        max-width: 100% !important;

        height: 350px !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }


    .toppage
    .floormap__container__content__tabwrap__map__point__btn {
        width: 25px !important;
        height: 20px !important;

        min-width: 25px !important;
        min-height: 20px !important;

        max-width: 25px !important;
        max-height: 20px !important;
    }


    .toppage
    .floormap__container__content__tabwrap__map__point__btn.active {
        width: 25px !important;
        height: 20px !important;
    }


    /* 2Fだけ元仕様の高さ */

    .toppage
    .floormap__container
    .content-2f
    .floormap__container__content__tabwrap__map {
        height: 400px !important;
    }

}
/* ==================================================
   FLOORMAP
   MOBILE CAMERA POSITION FINAL FIX
================================================== */

@media screen and (max-width: 820px) {

    /* ==================================================
       1F CAMERA POSITION
    ================================================== */

    .toppage .floormap__container .content-1f .point01 {
        top: 45% !important;
        left: 39% !important;
        right: auto !important;
        bottom: auto !important;
    }

    .toppage .floormap__container .content-1f .point02 {
        top: 30% !important;
        left: 28% !important;
        right: auto !important;
        bottom: auto !important;
    }

    .toppage .floormap__container .content-1f .point03 {
        top: 9% !important;
        left: 38% !important;
        right: auto !important;
        bottom: auto !important;
    }

    .toppage .floormap__container .content-1f .point04 {
        top: 17% !important;
        left: 18% !important;
        right: auto !important;
        bottom: auto !important;
    }

    .toppage .floormap__container .content-1f .point05 {
        top: 15% !important;
        right: 17% !important;
        left: auto !important;
        bottom: auto !important;
    }

    .toppage .floormap__container .content-1f .point06 {
        top: 28% !important;
        right: 22% !important;
        left: auto !important;
        bottom: auto !important;
    }

    .toppage .floormap__container .content-1f .point07 {
        top: 63% !important;
        right: 19% !important;
        left: auto !important;
        bottom: auto !important;
    }

    .toppage .floormap__container .content-1f .point08 {
        top: 78% !important;
        right: 16% !important;
        left: auto !important;
        bottom: auto !important;
    }

    .toppage .floormap__container .content-1f .point10 {
        top: 27% !important;
        right: 38% !important;
        left: auto !important;
        bottom: auto !important;
    }


    /* ==================================================
       2F CAMERA POSITION
    ================================================== */

    .toppage .floormap__container .content-2f .point01 {
        top: 25% !important;
        right: 13% !important;
        left: auto !important;
        bottom: auto !important;
    }

    .toppage .floormap__container .content-2f .point02 {
        top: 34% !important;
        left: 41% !important;
        right: auto !important;
        bottom: auto !important;
    }

    .toppage .floormap__container .content-2f .point03 {
        top: 23% !important;
        left: 53% !important;
        right: auto !important;
        bottom: auto !important;
    }

    .toppage .floormap__container .content-2f .point04 {
        bottom: 5% !important;
        right: 13% !important;
        top: auto !important;
        left: auto !important;
    }

    .toppage .floormap__container .content-2f .point05 {
        top: 45% !important;
        right: 23% !important;
        left: auto !important;
        bottom: auto !important;
    }


    /* ==================================================
       CAMERA COMMON
    ================================================== */

    .toppage
    .floormap__container__content__tabwrap__map__point__btn {
        position: absolute !important;

        z-index: 30 !important;

        cursor: pointer !important;
        pointer-events: auto !important;
    }

}


/* ==================================================
   SMALL MOBILE
================================================== */

@media screen and (max-width: 480px) {

    .toppage .floormap__container .content-1f .point08 {
        top: 78% !important;
    }

}
/* ==================================================
   FLOORMAP
   CAMERA POSITION BASE FIX
================================================== */

/*
 * 重要：
 * カメラアイコンのabsolute配置基準を
 * ulではなく館内マップ本体へ戻す
 */

.toppage
.floormap__container__content__tabwrap__map {
    position: relative !important;
}


/* ulを配置基準にしない */
.toppage
.floormap__container__content__tabwrap__map__point {
    position: static !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/* カメラアイコン */
.toppage
.floormap__container__content__tabwrap__map__point__btn {
    position: absolute !important;

    cursor: pointer !important;
    pointer-events: auto !important;

    z-index: 20 !important;
}
/* ==================================================
   FLOORMAP
   WORDPRESS EMOJI SIZE FIX
================================================== */

.toppage
.floormap__container__content__tabwrap__map__point__annotation
img.emoji {
    display: inline-block !important;

    width: 1em !important;
    height: 1em !important;

    min-width: 0 !important;
    min-height: 0 !important;

    max-width: 1em !important;
    max-height: 1em !important;

    margin: 0 0.2em 0 0 !important;
    padding: 0 !important;

    vertical-align: -0.1em !important;

    object-fit: contain !important;
}


/* スマホ */
@media screen and (max-width: 767px) {

    .toppage
    .floormap__container__content__tabwrap__map__point__annotation
    img.emoji {
        width: 14px !important;
        height: 14px !important;

        max-width: 14px !important;
        max-height: 14px !important;
    }

}
/* ==================================================
   FLOORMAP
   FACILITY TITLE OVERLAP FIX
================================================== */

@media screen and (max-width: 767px) {

    .toppage
    .floormap__container__content__tabwrap__gallery__tabbox__textarea__head {
        position: relative !important;

        padding-left: 38px !important;
        padding-right: 6px !important;
        padding-bottom: 8px !important;

        margin-top: 16px !important;

        box-sizing: border-box !important;

        font-size: 17px !important;
        line-height: 1.45 !important;
    }

    .toppage
    .floormap__container__content__tabwrap__gallery__tabbox__textarea__head::after {
        content: "" !important;

        position: absolute !important;

        top: 1px !important;
        left: 0 !important;

        width: 26px !important;
        height: 26px !important;

        background-color: #ff8800 !important;
    }

}

/* ==================================================
   CONSOLIDATED FROM ORIGINAL STYLE BLOCK 3 (around line 7569)
================================================== */
.sns__flex-container {
                display: flex;
                justify-content: space-around; /* アイテムを均等に配置 */
                align-items: stretch; /* アイテムの高さをコンテナに合わせて伸ばす */
                flex-wrap: wrap;
            }

            .sns__update__content {
                flex: 1 1 45%; /* 可能ならばスペースの半分を取る */
                margin: 10px;
                display: flex;
                flex-direction: column;
                overflow: hidden; /* オーバーフローを隠す */
                max-height: 600px; /* 最大高さを600pxに設定 */
            }

            .sns__update__content__head {
                margin-bottom: 10px; /* ヘッダーの下に余白を追加 */
            }

            .instagram-media, .pc-cont {
                flex: 1;
                width: 100%; /* コンテナ全体の幅を使う */
                overflow-y: auto; /* 垂直スクロールを許可 */
            }

            .pc-cont, .sp-cont {
                height: auto; /* 自動的に内容に合わせて高さを調整 */
                min-height: 100%; /* 最小でもコンテナの高さに合わせる */
            }

            @media (max-width: 360px) {
                .sns__flex-container {
                    flex-direction: column; /* 小さい画面では要素を縦に並べる */
                }

                .sns__update__content {
                    flex: 1 1 90%; /* 小さい画面では全幅を使用 */
                    max-height: none; /* 最大高さの制限を解除 */
                }

                .sp-cont {
                    height: 300px; /* スマートフォンでのFacebookフィードの高さを300pxに設定 */
                }
            }


/* ==================================================
   CONSOLIDATED FROM ORIGINAL STYLE BLOCK 4 (around line 7663)
================================================== */
.sns__icons__container {
        display: flex;
        justify-content: space-around;
        align-items: center;
    }
    .sns__icons__container img {
        width: 100%; /* Makes image width responsive */
        max-width: 90px; /* Limits the maximum width to 90px */
        height: auto; /* Maintains aspect ratio */
    }
    .sns__icons__container__lft img {
        max-width: 300px; /* Specific max width for the left button */
    }

    @media (max-width: 768px) {
        .sns__icons__container img {
            max-width: 60px; /* Smaller max-width on smaller screens */
        }
        .sns__icons__container__lft img {
            max-width: 200px; /* Adjusts left button size for smaller screens */
        }
    }


/* ==================================================
   CONSOLIDATED FROM ORIGINAL STYLE BLOCK 5 (around line 7708)
================================================== */
.wifi_banner img {
        width: 100%;      /* 画像の幅を親要素の幅に合わせて自動調整 */
        max-width: 800px; /* 画像の最大幅を800pxに制限 */
        height: auto;     /* 高さを自動で調整してアスペクト比を保持 */
    }

    @media (max-width: 800px) {
        .wifi_banner img {
            max-width: 100%; /* 画面幅が800px以下の場合、画像の最大幅を100%に設定 */
        }
    }


/* ==================================================
   CONSOLIDATED FROM ORIGINAL STYLE BLOCK 6 (around line 7745)
================================================== */
/* ==================================================
   GUIDE & SUPPORT V2
================================================== */

.stoga-gs2 {
    width: 100%;
    margin: 70px 0;
    padding: 0 20px;
    box-sizing: border-box;
}

.stoga-gs2__inner {
    width: 100%;
    max-width: 1480px;
    margin: 0 auto;
    box-sizing: border-box;
}


/* ==================================================
   HEADING
================================================== */

.stoga-gs2__head {
    margin: 0 0 36px;
    text-align: center;
}

.stoga-gs2__en {
    display: block;

    margin: 0 0 8px;

    color: #07569b;

    font-family: "Open Sans", sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .20em;
}

.stoga-gs2__head h2 {
    margin: 0;

    color: #102c4c;

    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
}

.stoga-gs2__head p {
    margin: 12px 0 0;

    color: #5b6874;

    font-size: 14px;
    line-height: 1.8;
}


/* ==================================================
   GRID
================================================== */

.stoga-gs2__grid {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 20px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ==================================================
   CARD
================================================== */

.stoga-gs2__card {
    position: relative;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    min-width: 0 !important;
    min-height: 390px;

    margin: 0 !important;
    padding: 28px 22px !important;

    box-sizing: border-box !important;

    overflow: hidden;

    background: #fff !important;

    border: 1px solid #e1e7ed !important;
    border-radius: 10px !important;

    color: #102c4c !important;

    text-align: center !important;
    text-decoration: none !important;

    box-shadow:
        0 8px 24px rgba(16, 44, 76, .07) !important;
}


/* 上部アクセント */

.stoga-gs2__card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 5px;
}

.stoga-gs2__card--chariloto::before {
    background: #e60012;
}

.stoga-gs2__card--keirin::before {
    background: #07569b;
}

.stoga-gs2__card--jra::before {
    background: #075b43;
}

.stoga-gs2__card--local::before {
    background: #08713e;
}


/* ==================================================
   CATEGORY
================================================== */

.stoga-gs2__category {
    display: block !important;

    margin: 0 0 18px !important;
    padding: 0 !important;

    color: #6c7987 !important;

    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    letter-spacing: .16em !important;
}


/* ==================================================
   CHARILOTO VISUAL
================================================== */

.stoga-gs2__visual {
    width: 100% !important;
    height: 125px !important;

    margin: 0 0 12px !important;

    overflow: hidden;

    border-radius: 6px;
}

.stoga-gs2__visual img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    height: 125px !important;
    max-height: 125px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
}


/* ==================================================
   CHARILOTO LOGO
================================================== */

.stoga-gs2__chariloto-logo {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 36px;

    margin: 0 0 14px;
}

.stoga-gs2__chariloto-logo img {
    display: block !important;

    width: auto !important;
    max-width: 130px !important;

    height: 36px !important;
    max-height: 36px !important;

    margin: 0 auto !important;

    object-fit: contain !important;
}


/* ==================================================
   BEGINNER ICON
================================================== */

.stoga-gs2__icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 72px !important;
    height: 72px !important;

    margin: 18px auto 24px !important;
}

.stoga-gs2__icon img {
    display: block !important;

    width: 72px !important;
    max-width: 72px !important;

    height: 72px !important;
    max-height: 72px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
}


/* ==================================================
   SIMPLE ICON
================================================== */

.stoga-gs2__simple-icon {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 72px !important;
    height: 72px !important;

    margin: 18px auto 24px !important;

    border-radius: 50%;

    background: #f1f5f8;

    color: #102c4c !important;

    font-size: 14px !important;
    font-weight: 700 !important;
}


/* ==================================================
   TITLE
================================================== */

.stoga-gs2__card h3 {
    margin: 0 0 13px !important;
    padding: 0 !important;

    color: #102c4c !important;

    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}


/* ==================================================
   TEXT
================================================== */

.stoga-gs2__card p {
    margin: 0 !important;
    padding: 0 !important;

    color: #5b6874 !important;

    font-size: 12px !important;
    line-height: 1.75 !important;
}


/* ==================================================
   LINK
================================================== */

.stoga-gs2__link {
    display: block !important;

    margin: auto 0 0 !important;
    padding: 20px 0 0 !important;

    color: #07569b !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}


/* ==================================================
   HOVER
================================================== */

@media (hover: hover) {

    a.stoga-gs2__card {
        transition:
            transform .2s ease,
            box-shadow .2s ease;
    }

    a.stoga-gs2__card:hover {
        transform: translateY(-4px);

        box-shadow:
            0 14px 30px rgba(16, 44, 76, .12) !important;
    }

}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 1100px) {

    .stoga-gs2__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 767px) {

    .stoga-gs2 {
        margin: 48px 0;
        padding: 0 16px;
    }

    .stoga-gs2__head {
        margin-bottom: 24px;

        text-align: left;
    }

    .stoga-gs2__en {
        font-size: 9px;
    }

    .stoga-gs2__head h2 {
        font-size: 22px;
    }

    .stoga-gs2__head p {
        font-size: 12px;
        line-height: 1.7;
    }

    .stoga-gs2__head p br {
        display: none;
    }


    /* 1列 */

    .stoga-gs2__grid {
        grid-template-columns: 1fr !important;

        gap: 14px !important;
    }


    /* CARD */

    .stoga-gs2__card {
        min-height: 0 !important;

        padding: 22px 20px !important;

        border-radius: 8px !important;
    }


    /* CHARILOTO */

    .stoga-gs2__visual {
        width: 100% !important;
        max-width: 340px !important;

        height: 150px !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

    .stoga-gs2__visual img {
        height: 150px !important;
        max-height: 150px !important;
    }


    /* ICON */

    .stoga-gs2__icon,
    .stoga-gs2__simple-icon {
        width: 60px !important;
        height: 60px !important;

        margin: 10px auto 15px !important;
    }

    .stoga-gs2__icon img {
        width: 60px !important;
        max-width: 60px !important;

        height: 60px !important;
        max-height: 60px !important;
    }


    /* TEXT */

    .stoga-gs2__card h3 {
        font-size: 18px !important;
    }

    .stoga-gs2__card p {
        font-size: 12px !important;
    }

    .stoga-gs2__card p br {
        display: none;
    }

    .stoga-gs2__link {
        padding-top: 16px !important;
    }

}


/* ==================================================
   CONSOLIDATED FROM ORIGINAL STYLE BLOCK 7 (around line 8421)
================================================== */
/* ==================================================
   IMPORTANT INFORMATION BANNERS
================================================== */

.stoga-important-banners {
    width: 100%;
    margin: 0;
    padding: 60px 20px 68px;
    box-sizing: border-box;

    background: #f4f7fa;
}

.stoga-important-banners__inner {
    width: 100%;
    max-width: 1480px;

    margin: 0 auto;
    box-sizing: border-box;
}


/* ==================================================
   HEADING
================================================== */

.stoga-important-banners__head {
    margin: 0 0 30px;
    text-align: center;
}

.stoga-important-banners__en {
    display: block;

    margin: 0 0 7px;

    color: #07569b;

    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;

    letter-spacing: .18em;
}

.stoga-important-banners__head h2 {
    margin: 0;

    color: #102c4c;

    font-size: 25px;
    font-weight: 700;
    line-height: 1.45;
}


/* ==================================================
   GRID
================================================== */

.stoga-important-banners__grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 24px;

    width: 100%;

    margin: 0;
    padding: 0;
}


/* ==================================================
   ITEM
================================================== */

.stoga-important-banners__item {
    min-width: 0;
}

.stoga-important-banners__item a {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    overflow: hidden;

    background: #fff;

    border: 1px solid #e1e7ed;
    border-radius: 9px;

    box-sizing: border-box;

    text-decoration: none;

    box-shadow:
        0 6px 18px rgba(16, 44, 76, .06);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


/* ==================================================
   IMAGE
================================================== */

.stoga-important-banners__item img {
    display: block;

    width: 100%;
    max-width: 100%;

    height: auto;

    margin: 0;
    padding: 0;

    object-fit: contain;
}


/* ==================================================
   HOVER
================================================== */

@media (hover: hover) {

    .stoga-important-banners__item a:hover {
        transform: translateY(-3px);

        box-shadow:
            0 12px 28px rgba(16, 44, 76, .12);
    }

}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 1024px) {

    .stoga-important-banners {
        padding: 50px 20px 56px;
    }

    .stoga-important-banners__grid {
        gap: 16px;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 767px) {

    .stoga-important-banners {
        padding: 40px 16px 46px;
    }


    /* HEAD */

    .stoga-important-banners__head {
        margin-bottom: 22px;

        text-align: left;
    }

    .stoga-important-banners__en {
        font-size: 9px;
        letter-spacing: .16em;
    }

    .stoga-important-banners__head h2 {
        font-size: 20px;
    }


    /* 1 COLUMN */

    .stoga-important-banners__grid {
        grid-template-columns: 1fr;

        gap: 13px;
    }


    /* ITEM */

    .stoga-important-banners__item {
        width: 100%;
    }

    .stoga-important-banners__item a {
        width: 100%;

        border-radius: 7px;
    }

    .stoga-important-banners__item img {
        width: 100%;
        height: auto;
    }

}


/* ==================================================
   CONSOLIDATED FROM ORIGINAL STYLE BLOCK 8 (around line 9346)
================================================== */
/* ==================================================
   IMPORTANT NOTICE BANNER
================================================== */

.stoga-notice-banner {
    width: 100%;

    margin: 0;
    padding: 54px 20px;

    box-sizing: border-box;

    background: #fff;
}

.stoga-notice-banner__inner {
    width: 100%;
    max-width: 1180px;

    margin: 0 auto;

    box-sizing: border-box;
}


/* ---------- ITEM ---------- */

.stoga-notice-banner__item {
    width: 100%;
    max-width: 900px;

    margin: 0 auto;
}


/* ---------- LINK ---------- */

.stoga-notice-banner__item a {
    display: block;

    width: 100%;

    text-decoration: none;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


/* ---------- IMAGE ---------- */

.stoga-notice-banner__item img {
    display: block;

    width: 100%;
    max-width: 100%;

    height: auto;

    margin: 0 auto;

    border-radius: 8px;

    box-shadow:
        0 8px 24px rgba(16, 44, 76, .08);
}


/* ---------- HOVER ---------- */

@media (hover: hover) {

    .stoga-notice-banner__item a:hover {
        transform: translateY(-3px);
    }

    .stoga-notice-banner__item a:hover img {
        box-shadow:
            0 14px 30px rgba(16, 44, 76, .13);
    }

}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 767px) {

    .stoga-notice-banner {
        padding: 36px 16px;
    }

    .stoga-notice-banner__item {
        max-width: 100%;
    }

    .stoga-notice-banner__item img {
        width: 100%;

        border-radius: 6px;
    }

}


/* ==================================================
   CONSOLIDATED FROM ORIGINAL STYLE BLOCK 9 (around line 9527)
================================================== */
/* ==================================================
   RELATED LINKS
================================================== */

.stoga-related-links {
    width: 100%;
    margin: 0;
    padding: 58px 20px 72px;

    box-sizing: border-box;

    background: #f4f7fa;
}

.stoga-related-links__inner {
    width: 100%;
    max-width: 1280px;

    margin: 0 auto;

    box-sizing: border-box;
}


/* ==================================================
   HEADING
================================================== */

.stoga-related-links__head {
    margin: 0 0 30px;

    text-align: center;
}

.stoga-related-links__en {
    display: block;

    margin-bottom: 7px;

    color: #07569b;

    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
}

.stoga-related-links__head h2 {
    margin: 0;

    color: #102c4c;

    font-size: 25px;
    font-weight: 700;
    line-height: 1.45;
}


/* ==================================================
   GRID
================================================== */

.stoga-related-links__list {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 16px;

    width: 100%;

    margin: 0;
    padding: 0;

    list-style: none;
}


/* ==================================================
   ITEM
================================================== */

.stoga-related-links__item {
    min-width: 0;

    margin: 0;
    padding: 0;
}

.stoga-related-links__item a {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    padding: 14px;

    box-sizing: border-box;

    background: #fff;

    border: 1px solid #e1e7ed;
    border-radius: 8px;

    text-decoration: none;

    box-shadow:
        0 5px 16px rgba(16, 44, 76, .05);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.stoga-related-links__item img {
    display: block;

    width: 100%;
    max-width: 100%;

    height: 72px;

    object-fit: contain;
}


/* ==================================================
   HOVER
================================================== */

@media (hover: hover) {

    .stoga-related-links__item a:hover {
        transform: translateY(-3px);

        box-shadow:
            0 10px 24px rgba(16, 44, 76, .11);
    }

}


/* ==================================================
   TABLET
================================================== */

@media screen and (max-width: 1024px) {

    .stoga-related-links__list {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


/* ==================================================
   MOBILE
================================================== */

@media screen and (max-width: 767px) {

    .stoga-related-links {
        padding: 42px 16px 50px;
    }

    .stoga-related-links__head {
        margin-bottom: 22px;

        text-align: left;
    }

    .stoga-related-links__en {
        font-size: 9px;
    }

    .stoga-related-links__head h2 {
        font-size: 20px;
    }

    .stoga-related-links__list {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 10px;
    }

    .stoga-related-links__item a {
        min-height: 82px;

        padding: 10px;

        border-radius: 6px;
    }

    .stoga-related-links__item img {
        height: 54px;
    }

}


/* ==================================================
   VERY SMALL
================================================== */

@media screen and (max-width: 380px) {

    .stoga-related-links__list {
        grid-template-columns: 1fr;
    }

    .stoga-related-links__item img {
        height: 60px;
    }

}

/* =========================================================
   Footer Brand Logos
========================================================= */

.info__banners--brands {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    gap: 32px;
    width: 100%;
    margin-top: 28px;
}

.info__banners--brands .info__banners__img {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.info__banners--brands .info__banners__img img {
    display: block;
    width: 100%;
    max-width: 300px;
    height: 90px;
    object-fit: contain;
}

/* Tablet */
@media screen and (max-width: 1024px) {
    .info__banners--brands {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 32px;
    }

    .info__banners--brands .info__banners__img img {
        max-width: 260px;
        height: 80px;
    }
}

/* Mobile */
@media screen and (max-width: 767px) {
    .info__banners--brands {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px 16px;
        margin-top: 22px;
    }

    .info__banners--brands .info__banners__img img {
        max-width: 170px;
        height: 64px;
    }
}

/* =========================================================
   Footer Brand Logos - 4列横並び固定
========================================================= */

.info__banners.info__banners--brands {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    width: 100%;
    max-width: 1400px;
    margin: 30px auto 0;
}

.info__banners.info__banners--brands .info__banners__img {
    flex: 1 1 0;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.info__banners.info__banners--brands .info__banners__img img {
    display: block;
    width: 100% !important;
    max-width: 280px;
    height: 90px;
    object-fit: contain;
    margin: 0 auto;
}

/* Tablet */
@media screen and (max-width: 1024px) {
    .info__banners.info__banners--brands {
        flex-wrap: wrap !important;
    }

    .info__banners.info__banners--brands .info__banners__img {
        flex: 0 0 calc(50% - 15px);
    }
}

/* Mobile */
@media screen and (max-width: 767px) {
    .info__banners.info__banners--brands {
        flex-wrap: wrap !important;
        gap: 20px 12px;
    }

    .info__banners.info__banners--brands .info__banners__img {
        flex: 0 0 calc(50% - 6px);
    }

    .info__banners.info__banners--brands .info__banners__img img {
        max-width: 160px;
        height: 65px;
    }
}