@charset "utf-8";
/* =========================================================================================================================================== */
/* Googleフォント */
/* =========================================================================================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Squada+One&display=swap');


/* =========================================================================================================================================== */
/* CSS変数 */
/* =========================================================================================================================================== */
:root {
    --webfont-meiryo :  'メイリオ', 'Meiryo', sans-serif;
    --webfont-squada :  'Squada One', cursive;

    --font-size-normal    : 16px;

    --font-weight-regular : 400;
    --font-weight-bold    : 700;
    --font-weight-black   : 900;

    --width-100           : calc(100% - 50px);
    --width-90            : calc(100% - 90px);
    --content-width-1     : 1400px;
    --content-width-2     : 900px;
    --content-width-3     : 930px;
    --content-width-4     : 980px;
    --content-width-5     : 800px;
    --content-width-6     : 1280px;
    --content-width-7     : 780px;
    --content-width-8     : 1105px;

    --color-black1        : #000000;
    --color-black2        : #1A1A1A;
    --color-black3        : #1d1d1d;
    --color-gray1         : #222222;
    --color-gray2         : #272727;
    --color-gray3         : #323232;
    --color-gray4         : #333333;
    --color-gray5         : #3F3F3F;
    --color-gray6         : #2d2d2d;
    --color-gray7         : #242424;
    --color-gray8         : #3D3D3D;
    --color-gray9         : #4B4B4B;
    --color-lightgray1    : #565656;
    --color-lightgray2    : #616161;
    --color-lightgray3    : #8C8C8C;
    --color-lightgray4    : #A3A3A3;
    --color-lightgray5    : #D5D5D5;
    --color-lightgray6    : #DEDEDE;
    --color-lightgray7    : #EFEFEF;
    --color-lightgray8    : #6F6F6F;
    --color-lightgray9    : #959595;
    --color-blue          : #06225D;
    --color-blue2         : #00225D;
    --color-blue3         : #435467;
    --color-blue4         : #001944;
    --color-blue5         : #2f4157;
    --color-blue6         : #6a7887;
    --color-blue7         : #00255b;
    --color-red           : #7C1807;
    --color-red2          : #7C0000;
    --color-red3          : #900000;
    --color-red4          : #794040;
    --color-red5          : #906060;
    --color-red6          : #c22525;
    --color-red7          : #f26262;
    --color-yellow        : #DABE00;
    --color-yellow2       : #eec237;
    --color-yellow3       : #C3AA00;
    --color-purple        : #764f99;
    --color-white         : #ffffff;

    --zindex-header       : 100;
    --zindex-gnavi        : 200;

    --header-height       : 108px;
}
@media (max-width: 1300px){
    :root {
        --header-height       : 73px;
    }    
}


/* =========================================================================================================================================== */
/* サイト共通デザイン */
/* =========================================================================================================================================== */
* {
    box-sizing: border-box;
}


/* ------------------------------------------------------------- */
/* 切り替え */
/* ------------------------------------------------------------- */
.pc_only   { display: block;  }
.pc_none   { display: none;   }
.pc_inline { display: inline; }
.sp_only   { display: none;   }
.sp_none   { display: block; }
@media (max-width: 1023px) {
    .pc_only   { display: none;  }
    .pc_none   { display: block; }
    .pc_inline { display: none;  }
    .sp_only   { display: none;  }
    .sp_none   { display: block; }
}
@media (max-width: 767px) {
    .pc_only   { display: none;  }
    .pc_none   { display: block; }
    .pc_inline { display: none;  }
    .sp_only   { display: block; }
    .sp_none   { display: none;  }
}


/* ------------------------------------------------------------- */
/* 全体 */
/* ------------------------------------------------------------- */
html {
    font-size: 62.5%;
    overflow-y:scroll;
}
body{
    position: relative;
    margin: 0;
    font-family: var(--webfont-meiryo);
    font-size: var(--font-size-normal);
    font-size: 1.6rem; 
    font-weight: var(--font-weight-regular);
    line-height: 1.75;
    background-color: var(--color-black1);
    color: var(--color-lightgray6);
    overflow-x: hidden;
}


/* ------------------------------------------------------------- */
/* 装飾 */
/* ------------------------------------------------------------- */
@media all {
    .mb-10 {
        margin-bottom: 10px !important;
    }
    .mb-20 {
        margin-bottom: 20px !important;
    }
    .mb-30 {
        margin-bottom: 30px !important;
    }
    .mb-50 {
        margin-bottom: 50px !important;
    }
    .mb-80 {
        margin-bottom: 80px !important;
    }

    /* text-align */
    .ta-left {
        text-align: left !important;
    }
    .ta-center {
        text-align: center !important;
    }
    .ta-right {
        text-align: right !important;
    }
}
@media (max-width: 767px) {
    .mb-10 {
        margin-bottom: 10px !important;
    }
    .mb-20 {
        margin-bottom: 15px !important;
    }
    .mb-30 {
        margin-bottom: 20px !important;
    }
    .mb-50 {
        margin-bottom: 34px !important;
    }
    .mb-80 {
        margin-bottom: 60px !important;
    }
   
}

/* ------------------------------------------------------------- */
/* 画像 */
/* ------------------------------------------------------------- */
img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}


/* TYPE1 */
@media all {
    .img_type1 {
        width: auto;
        max-width: var(--width-100);
        text-align: center;
        margin: 0 auto;
    }
    .img_type1 img {
        width: auto;
        max-width: 100%;
    }
}


/* TYPE2 */
@media all {
    .img_type2 {
        width: 100%;
    }
    .img_type2 figure {
        width: 100%;
        position: relative;
    }
    .img_type2 figure::before {
        content: "";
        background-color: rgba(0,0,0,0.4);
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        z-index: 1;
    }
    .img_type2 figure img {
        width: 100%;
    }
}


/* ------------------------------------------------------------- */
/* リンク */
/* ------------------------------------------------------------- */
a {
    text-decoration: none;
    color: var(--color-lightgray6);
}
a:hover,
a:hover img {
    opacity: 0.7;
}


/* ------------------------------------------------------------- */
/* ボタン */
/* ------------------------------------------------------------- */
button {
    cursor: pointer;
    background: none;
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}


/* TYPE1 */
@media all {
    .button_type1 a {
        display: flex;
        width: 190px;
        height: 40px;
        justify-content: center;
        align-items: center;
        border: solid 1px var(--color-lightgray9);
        font-family: var(--webfont-squada);
        font-size: 18px;
        margin: 0 auto;
    }
    .button_type1 a::after {
        content: ">";
        font-size: 18px;
        padding-left: 8px;
        font-family: var(--webfont-squada);
    }
    .button_type1.fs-14 a {
        font-size: 14px;
    }
    .button_type1.fs-14 a::after {
        font-size: 18px;
    }
    .button_type1.meiryo a {
        font-family: var(--webfont-meiryo);
    }
}
@media (max-width: 767px){
    .button_type1 a {
        width: 161px;
        height: 36px;
        font-size: 16px;
    }
    .button_type1 a::after {
        padding-left: 6px;
    }


    .button_type1.fs-14 a {
        font-size: 12px;
    }
    .button_type1.fs-14 a::after {
        font-size: 14px;
    }
}


/* TYPE2 */
@media all {
    .button_type2 a {
        width: 97px;
        height: 28px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 12px;
        color: var(--color-white);
        font-weight: var(--font-weight-bold);
        margin: 0 auto;
    }
    .button_type2 a::after {
        content: ">";
        font-family: var(--webfont-squada);
        padding-left: 6px;
        font-size: 14px;
        font-weight: var(--font-weight-regular);
    }
    .button_type2.red a {
        background-color: var(--color-red3);
    }
    .button_type2.black a {
        background-color: var(--color-black1);
    }
}
@media (max-width: 1399px) {
    .button_type2 a {
        height: 21px;
    }    
}


/* TYPE3 */
@media all {
    .button_type3 a {
        width: 344px;
        height: 66px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 20px;
        line-height: 20px;
        margin: 0 auto;
        margin-top: 40px;
    }
    .button_type3 a::after {
        content: ">";
        font-family: var(--webfont-squada);
        padding-left: 15px;
        font-size: 16px;
        line-height: 20px;
    }
    .button_type3.blue a {
        background-color: var(--color-blue2);
    }
    .button_type3.red a {
        background-color: var(--color-red2);
    }
    .button_type3.purple a {
        background-color: var(--color-purple);
    }
    .button_type3.w418 a {
        width: 418px;
    }
}
@media (max-width: 767px) {
    .button_type3 a {
        width: 295px;
        height: 51px;
        font-size: 18px;
    }
    .button_type3 a::after {
        padding-left: 12px;
    }    
    .button_type3.w418 a {
        width: 358px;
        max-width: var(--width-100);
    }
}


/* TYPE4 */
@media all {
    .button_type4 a {
        display: flex;
        width: 160px;
        height: 37px;
        justify-content: center;
        align-items: center;
        border: solid 1px var(--color-lightgray3);
        font-size: 14px;
        margin: 0 auto;
    }    
}


/* TYPE5 */
@media all {
    .button_type5 span {
        width: 228px;
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 20px;
        font-size: 16px;
        margin: 0 auto;
        background-color: var(--color-red6);
        font-weight: var(--font-weight-bold);
        color: var(--color-white);
    }
}
@media (max-width: 767px) {
    .button_type5 span {
        height: 33px;
        border-radius: 16.5px;
    }
}


/* TYPE6 */
/*
@media all {
    .button_type6 a {
        width: 100%;
        max-width: 418px;
        height: 66px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 20px;
        color: var(--color-white);
        margin: 0 auto;
        position: relative;
    }
    .button_type6 a::after {
        content: ">";
        font-family: var(--webfont-squada);
        position: absolute;
        right: 42px;
        font-size: 16px;
        font-weight: var(--font-weight-regular);
    }
    .button_type6.red a {
        background-color: var(--color-red3);
    }
    .button_type6.blue a {
        background-color: var(--color-blue7);
    }
    .button_type6.purple a {
        background-color: var(--color-purple);
    }
    .button_type6.black a {
        background-color: var(--color-black1);
    }
}
*/


/* ------------------------------------------------------------- */
/* H1 */
/* ------------------------------------------------------------- */
/* TYPE1 */
@media all {
    .h1_type1 {
        background-image: url('../img/sub_title_back.png');
        background-size: auto;
        height: 200px;
        background-repeat: no-repeat;
        background-position: center;
        text-align: center;
        color: var(--color-white);
        min-width: 167px;
    }
    .h1_type1 h1 {
        font-family: var(--webfont-squada);
        font-size: 52px;
        padding-top: 69px;
        line-height: 52px;
    }
    .h1_type1 .sub {
        font-size: 14px;
        line-height: 18px;
    }
}
@media (max-width: 767px) {
    .h1_type1 {
        height: 79px;
        background-size: contain;
    }
    .h1_type1 h1 {
        font-size: 32px;
        line-height: 32px;
        padding-top: 18px;
    }
    .h1_type1 .sub {
        font-size: 12px;
        line-height: 15px;
    }
    
}


/* ------------------------------------------------------------- */
/* H2 */
/* ------------------------------------------------------------- */
/* TYPE1 */
@media all {
    .h2_type1 h2 {
        font-family: var(--webfont-squada);
        font-size: 55px;
        line-height: 58px;
        text-align: center;
    }    
    .h2_type1 .sub {
        font-size: 14px;
        text-align: center;
        line-height: 14px;
    }

    .h2_type1.white h2 {
        color: var(--color-white);
    }
}
@media (max-width: 767px) {
    .h2_type1 h2 {
        font-size: 28px;
        line-height: 30px;
    }
    .h2_type1 .sub {
        font-size: 12px;
        line-height: 18px;
    }    
}


/* TYPE2 */
@media all {
    .h2_type2 {
        height: 257px;
        background-image: url('../img/top/title_gest_back.png');
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }
    .h2_type2 h2 {
        text-align: center;
        font-family: var(--webfont-squada);
        font-size: 55px;
        line-height: 58px;
        color: var(--color-white);
        padding-top: 91px;
    }
    .h2_type2 .sub {
        text-align: center;
        font-size: 14px;
        line-height: 21px;
        color: var(--color-white);
    }
}
@media (max-width: 767px) {
    .h2_type2 {
        height: 110px;
    }
    .h2_type2 h2 {
        font-size: 24px;
        line-height: 26px;
        padding-top: 28px;
    }
    .h2_type2 .sub {
        font-size: 12px;
        line-height: 18px;
    }
}


/* TYPE3 */
@media all {
    .h2_type3 h2 {
        font-size: 50px;
        font-family: var(--webfont-squada);
        text-align: center;
        line-height: 53px;
    }
    .h2_type3 h2 .jp {
        font-family: var(--webfont-meiryo);
        font-size: 34px;
        font-weight: var(--font-weight-bold);
    }
}
@media (max-width: 767px) {
    .h2_type3 h2 {
        font-size: 24px;
        line-height: 26px;
    }
    .h2_type3 h2 .jp {
        font-size: 19px;
    }
}


/* TYPE4 */
@media all {
    .h2_type4 {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .h2_type4 h2 {
        font-size: 38px;
        font-weight: var(--font-weight-bold);
        padding-left: 10px;
    }
    .h2_type4.fs-26 h2 {
        font-size: 26px;
    }
    .h2_type4 .icon.w62 {
        width: 62px;
    }
    .h2_type4 .icon.w52 {
        width: 52px;
    }
}
@media (max-width: 767px) {
    .h2_type4 h2 {
        font-size: 24px;
        padding-left: 3px;
    }
    .h2_type4 .icon {
        width: 50px;
    }
    .h2_type4.fs-26 h2 {
        font-size: 16px;
    }
}


/* TYPE5 */
@media all {
    .h2_type5 {
        width: var(--width-100);
        max-width: var(--content-width-6);
        position: absolute;
        height: 65px;
        left: 0;
        right: 0;
        bottom: -32.5px;
        margin: auto;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .h2_type5::before {
        transform: skewX(-26.5deg);
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 19px;
        right: 19px;
    }
    .h2_type5.blue::before {
        background-color: var(--color-blue2);
    }
    .h2_type5.red::before {
        background-color: var(--color-red2);
    }
    .h2_type5 h2 {
        position: relative;
        font-size: 30px;
        font-weight: var(--font-weight-bold);
        color: var(--color-white);
        text-align: center;
    }
}
@media (max-width:767px) {
    .h2_type5 {
        height: 69px;
        bottom: -34.5px;
    }
    .h2_type5::before {
        transform: skewX(-28.5deg);
    }
    .h2_type5 h2 {
        font-size: 20px;
        line-height: 28px;
    }
}


/* TYPE6 */
@media all {
    .h2_type6 h2 {
        text-align: center;
        font-size: 24px;
        line-height: 30px;
        font-weight: var(--font-weight-bold);
    }    
}
@media (max-width: 767px) {
    .h2_type6 h2 {
        font-size: 22px;
    }    
}


/* TYPE8 */
@media all {
    .h2_type8 {
        background-image: url('../img/sub_title_back.png');
        background-size: auto;
        height: 200px;
        background-repeat: no-repeat;
        background-position: center;
        text-align: center;
        color: var(--color-white);
        min-width: 167px;
    }
    .h2_type8 h2 {
        font-size: 40px;
        padding-top: 82px;
        line-height: 48px;
        font-weight: var(--font-weight-bold);
    }
}
@media (max-width: 767px) {
    .h2_type8 {
        height: 95px;
        background-size: contain;
    }
    .h2_type8 h2 {
        font-size: 22px;
        line-height: 22px;
        padding-top: 40px;
    }
    
}


/* ------------------------------------------------------------- */
/* H3 */
/* ------------------------------------------------------------- */
/* TYPE1 */
@media all {
    .h3_type1 {
        width: var(--width-100);
        height: 50px;
        max-width: var(--content-width-1);
        margin: 0 auto;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 20px;
        font-weight: var(--font-weight-bold);
        text-align: center;
    }
    .h3_type1::before {
        transform: skewX(-26deg);
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 12px;
        right: 12px;
    }
    .h3_type1.blue::before {
        background-color: var(--color-blue2);
    }
    .h3_type1.red::before {
        background-color: var(--color-red2);
    }
    .h3_type1 h3 {
        position: relative;
    }
}
@media (max-width: 767px) {
    .h3_type1 {
        height: 67px;
        font-size: 16px;
        line-height: 24px;
    }
    .h3_type1::before {
        transform: skewX(-21deg);
        left: 13px;
        right: 13px;
    }
}


/* TYPE2 */
@media all {
    .h3_type2 {
        padding-top: 16px;
        padding-bottom: 20px;
        font-size: 24px;
        line-height: 30px;
        font-weight: var(--font-weight-bold);
        border-bottom: solid 1px var(--color-lightgray9);
    }
}
@media (max-width: 767px) {
    .h3_type2 {
        font-size: 20px;
        line-height: 28px;
        padding-bottom: 3px;
        padding-top: 5px;
    }    
}


/* ------------------------------------------------------------- */
/* H4 */
/* ------------------------------------------------------------- */
/* TYPE1 */
@media all {
    .h4_type1 {
        margin-bottom: 20px;
        font-size: 22px;
        font-weight: var(--font-weight-bold);
        color: var(--color-yellow);
        line-height: 30px;
    }    
}
@media (max-width:767px) {
    .h4_type1 {
        font-size: 18px;
        line-height: 24px;
        margin-bottom: 14px;
    }    
}


/* ------------------------------------------------------------- */
/* ページトップへ                                                  */
/* ------------------------------------------------------------- */
@media all {
    #pagetop {
        position: fixed;
        width: var(--width-100);
        max-width: var(--content-width-1);
        bottom: 60px;
        pointer-events: none;
    }    
    #pagetop a {
        background-image: url('../img/pagetop.png');
        width: 45px;
        height: 45px;
        display: flex;
        justify-content: center;
        align-items: center;
        color: var(--color-white);
        font-size: 18px;
        position: absolute;
        bottom: 0;
        right: 0;
        pointer-events: auto;
    }
}


/* ------------------------------------------------------------- */
/* ブロック                                                       */
/* ------------------------------------------------------------- */
/* TYPE1 */
@media all {
    .p_type1 {
        font-size: 18px;
        line-height: 28px;
        margin-bottom: 28px;
    }    
}
@media (max-width:767px) {
    .p_type1 {
        font-size: 14px;
        line-height: 22px;
        margin-bottom: 22px;
    }    
}


/* TYPE2 */
@media all {
    .p_type2 {
        font-size: 18px;
        line-height: 28px;
        margin-bottom: 28px;
        text-align: center;
    }
    .p_type2 p {
        display: inline-block;
        text-align: left;
    }
}
@media (max-width:767px) {
    .p_type2 {
        font-size: 14px;
        line-height: 22px;
        margin-bottom: 22px;
    }    
}


/* TYPE3 */
@media all {
    .p_type3 {
        font-size: 16px;
        line-height: 26px;
        margin-bottom: 26px;
    }    
}
@media (max-width:767px) {
    .p_type3 {
        font-size: 14px;
        line-height: 22px;
        margin-bottom: 22px;
    }    
}


/* 注意書き */
@media all {
    .p_note {
        font-size: 14px;
        line-height: 18px;
        position: relative;
        padding-left: 19px;
    }
    .p_note::before {
        content: "※";
        position: absolute;
        left: 0;
    }
}
@media (max-width:767px) {
    .p_note {
        font-size: 12px;
        padding-left: 17px;
    }
}


/* 注意書き TYPE2 */
@media all {
    .p_note_type2 {
        font-size: 14px;
        line-height: 18px;
        color: var(--color-red7);
    }
    .p_note_type2::before {
        content: "※";
        padding-right: 0.5em;
    }
}
@media (max-width:767px) {
    .p_note_type2 {
        font-size: 14px;
        padding-left: 17px;
        max-width: var(--width-90);
        margin: 0 auto;
        text-align: left !important;
        position: relative;
    }
    .p_note_type2::before {
        position: absolute;
        left: 0;
    }
}


/* ------------------------------------------------------------- */
/* リスト                                                         */
/* ------------------------------------------------------------- */
/* 車両リスト */
@media all {
    .list_car {
        width: var(--width-100);
        max-width: var(--content-width-1);
        margin: 0 auto;
    }
    .list_car ul {
        display: flex;
        justify-content: center;
        margin: 0 -20px;
        flex-wrap: wrap;
    }
    .list_car ul li {
        width: calc((100% - 120px) / 3);
        margin: 0 20px;
        padding-bottom: 38px;
    }
    .list_car ul li figcaption {
        font-size: 14px;
        font-weight: var(--font-weight-bold);
        text-align: center;
        line-height: 26px;
        padding-top: 16px;
    }
}
@media (max-width: 767px) {
    .list_car ul {
        display: block;
        padding-bottom: 8px;
    }
    .list_car ul li {
        width: 100%;
        max-width: 280px;
        margin: 0 auto;
        padding-bottom: 28px;
    }
    .list_car ul li figcaption {
        padding-top: 11px;
    }
}


/* FAQ */
@media all {
    .list_faq {
        width: var(--width-100);
        max-width: var(--content-width-4);
        margin: 0 auto;
    }
    

    /* Question */
    .list_faq dt {
        width: 100%;
        height: 44px;
        background-color: var(--color-black3);
        display: flex;
        justify-content: flex-start;
        align-items: center;
        font-weight: var(--font-weight-bold);
        padding-left: 60px;
        position: relative;
    }
    .list_faq dt::before {
        content: "Q";
        width: 44px;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        line-height: 16px;
        position: absolute;
        left: 0;
        background-color: var(--color-lightgray1);
    }
    

    /* Answer */
    .list_faq dd {
        padding-left: 92px;
        padding-top: 24px;
        line-height: 26px;
        padding-right: 60px;
        margin-bottom: 60px;
        position: relative;
    }
    .list_faq dd::before {
        content: "A.";
        font-weight: var(--font-weight-bold);
        position: absolute;
        left: 60px;
    }


    /* リンク */
    .list_faq dd a {
        color: var(--color-yellow2);
        text-decoration: underline;
    }    


    /* リスト */
    .list_faq dd ul {
        padding-top: 20px;
        padding-bottom: 20px;
    }    
    .list_faq dd ul li {
        padding-left: 1em;
        position: relative;
        line-height: 28px;
    }
    .list_faq dd ul li::before {
        content: "●";
        position: absolute;
        left: 0;
    }


    /* 注意書き */
    .list_faq dd .note {
        font-size: 14px;
        line-height: 18px;
        padding-left: 1em;
        position: relative;
    }
    
    .list_faq dd .note::before {
        content: "※";
        position: absolute;
        left: 0;
    }
    

}
@media (max-width: 767px) {
    /* Question */
    .list_faq dt {
        height: 47px;
        padding-left: 49px;
        font-size: 14px;
        line-height: 18px;
        padding-right: 17px;
    }
    .list_faq dt::before {
        width: 38px;
    }


    /* Answer */
    .list_faq dd {
        padding-left: 76px;
        padding-top: 18px;
        font-size: 14px;
        line-height: 22px;
        margin-bottom: 30px;
        padding-right: 49px;
    }
    .list_faq dd::before {
        left: 49px;
    }    


    /* リスト */
    .list_faq dd ul {
        padding-top: 10px;
        padding-bottom: 10px;
    }    
    .list_faq dd ul li {
        line-height: 22px;
    }
}


/* TYPE2 */
@media all {
    .list_type2 article {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-bottom: 60px;
    }
    .list_type2 article:last-child {
        margin-bottom: 40px;
    }


    /* 画像 */
    .list_type2 article figure {
        width: calc(100% - 491px);
    }
    

    /* 情報 */
    .list_type2 article .info {
        width: 455px;
    }
    .list_type2 article .info .title {
        width: 100%;
        font-size: 18px;
        padding: 13px 19px;
        line-height: 23px;
        font-weight: var(--font-weight-bold);
        margin-bottom: 21px;
    }
    .list_type2 article.blue .info .title {
        background-color: var(--color-blue3);
    }
    .list_type2 article.red .info .title {
        background-color: var(--color-red4);
    }
    .list_type2 article .info .text {
        font-size: 18px;
        line-height: 26px;
        margin-bottom: 20px;
    }
    .list_type2 article .info ul li {
        font-size: 18px;
        padding-left: 22px;
        position: relative;
        line-height: 32px;
    }
    .list_type2 article .info ul li::before {
        content: "●";
        position: absolute;
        left: 0;
    }
}
@media (max-width: 767px) {
    .list_type2 article {
        margin-bottom: 30px;
    }
    .list_type2 article:last-child {
        margin-bottom: 30px;
    }


    /* 画像 */
    .list_type2 article figure {
        width: 100%;
        margin-bottom: 24px;
    }
    

    /* 情報 */
    .list_type2 article .info {
        width: 100%;
    }
    .list_type2 article .info .title {
        font-size: 16px;
        line-height: 20px;
        padding: 11px 19px;
    }
    .list_type2 article .info .text {
        font-size: 14px;
        line-height: 24px;
        margin-bottom: 15px;
    }
    .list_type2 article .info ul li {
        font-size: 14px;
        line-height: 26px;
    }
}


/* TYPE3 */
@media all {
    .list_type3-inner {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .list_type3 article {
        width: calc((100% - 30px) / 2);
        margin-bottom: 40px;
        text-align: center;
    }
    .list_type3 article figure {
        margin-bottom: 20px;
    }
    .list_type3 article .title {
        line-height: 26px;
    }
    .list_type3 article .name {
        line-height: 26px;
        font-size: 18px;
        font-weight: var(--font-weight-bold);
    }
}
@media (max-width: 767px) {
    .list_type3 article {
        width: 100%;
    }
    .list_type3 article figure {
        margin-bottom: 14px;
    }
    .list_type3 article .title {
        font-size: 14px;
        line-height: 24px;
    }
    .list_type3 article .name {
        font-size: 18px;
        line-height: 24px;
    }    
}


/* TYPE4 */
@media all {
    .list_type4-inner {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: var(--width-100);
        max-width: var(--content-width-1);
        margin: 0 auto;
    }
    .list_type4 article {
        width: calc((100% - 94px) / 3);
        margin-bottom: 40px;
    }
    

    /* タイトル */
    .list_type4 article .title {
        text-align: center;
        font-size: 20px;
        font-weight: var(--font-weight-bold);
        line-height: 26px;
        padding-top: 10px;
        padding-bottom: 6px;
        margin-bottom: 17px;
    }
    .list_type4 article .title span {
        font-size: 14px;
        font-weight: var(--font-weight-regular);
    }    
    .list_type4 article.blue .title {
        background-color: var(--color-blue2);
    }
    .list_type4 article.red .title {
        background-color: var(--color-red2);
    }
    

    /* テキスト */
    .list_type4 article .text {
        font-size: 14px;
        line-height: 24px;
        margin-bottom: 25px;
    }
    

    /* ボタン */
    .list_type4 article .button a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 113px;
        height: 33px;
        border: solid 1px var(--color-lightgray9);
        font-family: var(--webfont-squada);
        margin: 0 auto;
    }
    .list_type4 article .button a::after {
        content: ">";
        font-size: 14px;
        padding-left: 7px;
        font-family: var(--webfont-squada);
    }
}
@media (max-width: 1200px) {
    .list_type4-inner {
        max-width: 917px;
    }
    
    .list_type4 article {
        width: calc((100% - 47px) / 2);
    }
    
}
@media (max-width: 767px) {
    .list_type4 article {
        width: 100%;
    }
    

    /* タイトル */
    .list_type4 article .title {
        font-size: 18px;
        line-height: 22px;
        padding-top: 9px;
        padding-bottom: 14px;
    }
    .list_type4 article .title span {
        font-size: 12px;
    }


    /* テキスト */
    .list_type4 article .text {
        font-size: 14px;
        line-height: 22px;
    }
    

    /* ボタン */
    .list_type4 article .button a {
        width: 127px;
        height: 32px;
        font-size: 14px;
    }
}


/* TYPE5 */
@media all {
    .list_type5-inner {
        width: var(--width-100);
        max-width: var(--content-width-7);
        margin: 0 auto;
    }
    .list_type5 a {
        display: flex;
        width: 100%;
        height: 55px;
        justify-content: center;
        align-items: center;
        border-bottom: solid 1px var(--color-gray5);
        background-color: var(--color-gray6);
        font-size: 18px;
        color: var(--color-lightgray6);
    }
    .list_type5 article:nth-child(even) a {
        background-color: var(--color-gray7);
    }
    .list_type5 a::before {
        content: ">";
        font-size: 12px;
        padding-right: 8px;
    }
}
@media (max-width: 767px) {
    .list_type5 a {
        font-size: 16px;
    }
}


/* TYPE6 */
@media all {
    .list_type6_inner {
        max-width: var(--content-width-8);
        width: var(--width-90);
        margin: 0 auto;
    }
    
    .list_type6 ul li {
        width: calc((100% - 110px) / 3);
        padding-bottom: 40px;
    }
    
    .list_type6 ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    
    .list_type6 ul li:nth-child(3n+1) { padding-top: 50px; }
    .list_type6 ul li:nth-child(3n)   { padding-top: 50px; }
    
    .list_type6 ul li .position {
        font-size: 14px;
        font-weight: var(--font-weight-bold);
        padding-bottom: 3px;
        line-height: 1;
    }
    
    .list_type6 ul li .name {
        font-size: 20px;
        font-weight: var(--font-weight-bold);
    }
    
    .list_type6 ul li .text {
        font-size: 14px;
        line-height: 22px;
    }
    
    .list_type6 ul li figure {
        padding-bottom: 27px;
    }
}
@media (max-width: 767px) {
    .list_type6 ul {
        display: block;
    }
    .list_type6 ul li {
        width: 100%;
        padding-bottom: 50px;
    }
    .list_type6 ul li:nth-child(3n+1) { padding-top: 0; }
    .list_type6 ul li:nth-child(3n)   { padding-top: 0; }

    .list_type6 ul li figure {
        max-width: 261px;
        margin: 0 auto;
        padding-bottom: 20px;
    }
    .list_type6 ul li .position {
        text-align: center;
        padding-bottom: 8px;
    }
    .list_type6 ul li .name {
        font-size: 18px;
        line-height: 1;
        text-align: center;
        padding-bottom: 12px;
    }
}

/* TYPE7 */
@media all {
    .list_type7 {
        width: var(--width-100);
        margin: 0 auto;
        max-width: 465px;
    }
    
    .list_type7 ul li {
        display: flex;
        padding-bottom: 10px;
        align-items: center;
        justify-content: flex-start;
    }
    
    .list_type7 ul li .tag {
        width: 85px;
        height: 28px;
        font-size: 16px;
        font-weight: var(--font-weight-bold);
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .list_type7 ul li.blue .tag {
        background-color: var(--color-blue7);
    }
    
    .list_type7 ul li.purple .tag {
        background-color: var(--color-purple);
    }
    
    .list_type7 ul li .text {
        font-size: 18px;
        padding-left: 14px;
    }
    
}
@media (max-width: 767px) {
    .list_type7 {
        max-width: var(--width-90);
    }
    .list_type7 ul li {
        align-items: flex-start;
    }
    .list_type7 ul li .tag {
        font-size: 14px;
        width: 66px;
    }
   .list_type7 ul li .text {
        font-size: 16px;
        line-height: 20px;
        padding: 4px 0;
        padding-left: 12px;
        width: calc(100% - 66px);
    }
}


/* ------------------------------------------------------------- */
/* 投稿一覧                                                       */
/* ------------------------------------------------------------- */
/* NEWS */
@media all {
    .posts_news {
        width: var(--width-100);
        max-width: var(--content-width-1);
        margin: 0 auto;
    }
    .posts_news .posts-inner {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .posts_news article {
        width: calc((100% - 60px) / 3);
        padding-top: 5px;
        padding-bottom: 50px;
    }
    .posts_news article a {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }


    /* サムネ */
    .posts_news article .thumbnail {
        width: 100%;
        /* 24.08.13 ここから */
        aspect-ratio: 16 / 9;
        /* 24.08.13 ここまで */
    }
    /* 24.08.13 ここから */
    .posts_news article .thumbnail iframe {
        display: block;
        width: 100%;
        height: 100%;
    }
    /* 24.08.13 ここまで */


    /* カテゴリ */
    .posts_news article .category {
        width: 99px;
        height: 22px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 12px;
        font-weight: var(--font-weight-bold);
        margin-top: 13px;
    }
    .posts_news article .category.blue {
        background-color: var(--color-blue);
    }
    .posts_news article .category.red {
        background-color: var(--color-red);
    }


    /* 掲載日 */
    .posts_news article .date {
        margin-top: 15px;
        font-size: 12px;
        line-height: 18px;
    }


    /* タイトル */
    .posts_news article .title {
        width: 100%;
        padding-top: 8px;
        font-size: 14px;
        line-height: 20px;
    }
}
@media (max-width: 767px) {
    .posts_news article {
        width: 100%;
        padding-bottom: 32px;
    }
    .posts_news article .category {
        margin-top: 23px;
    }
    .posts_news article .date {
        margin-top: 26px;
    }
}


/* スペシャルゲスト */
@media all {
    .posts_guest {
        width: var(--width-100);
        max-width: var(--content-width-1);
        margin: 0 auto;
    }
    .posts_guest article {
        width: 100%;
        max-width: 1085px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-end;
        padding-bottom: 80px;
    }
    .posts_guest article:nth-child(even) {
        margin-left: auto;
    }
    .posts_guest article .thumbnail {
        width: 100%;
        max-width: 550px;
    }
    .posts_guest article .infomation {
        width: 100%;
        max-width: 455px;
        color: var(--color-lightgray5);
    }
    .posts_guest article .infomation .position {
        font-size: 18px;
        font-weight: var(--font-weight-bold);
        line-height: 25px;
    }
    .posts_guest article .infomation .name {
        font-size: 26px;
        font-weight: var(--font-weight-bold);
        line-height: 39px;
    }
    .posts_guest article .infomation .text {
        padding-top: 11px;
        line-height: 24px;
    }
}
@media (max-width: 1084px) {

    .posts_guest article .thumbnail {
        width: calc(100% - 485px);
    }
    .posts_guest article .infomation {
        width: 455px;
    }
}
@media (max-width: 899px) {
    .posts_guest article .thumbnail {
        width: calc((100% - 30px) / 2);
    }
    .posts_guest article .infomation {
        width: calc((100% - 30px) / 2);
    }
}
@media (max-width: 767px) {
    .posts_guest article {
        padding-bottom: 50px;
    }
    .posts_guest article .thumbnail {
        width: 100%;
        padding-bottom: 20px;
    }
    .posts_guest article .infomation {
        width: 100%;
    }
    .posts_guest article .infomation .position {
        font-size: 14px;
        line-height: 21px;
        padding-bottom: 1px;
    }
    .posts_guest article .infomation .name {
        font-size: 18px;
        line-height: 27px;
    }
    .posts_guest article .infomation .text {
        padding-top: 5px;
        font-size: 14px;
        line-height: 22px;
    }
}


/* ラウンドムービー */
@media all {
    .posts_movie .posts-inner {
        width: var(--width-100);
        max-width: var(--content-width-1);
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding-bottom: 20px;
    }
    .posts_movie article {
        width: calc((100% - 50px) / 2);
        padding-bottom: 70px;
    }
    .posts_movie article .title {
        text-align: center;
        line-height: 24px;
        color: var(--color-yellow3);
        padding-bottom: 10px;
    }
    .posts_movie article figure {
        position: relative;
        padding-top: calc((315 / 560) * 100%);
    }
    .posts_movie article figure iframe {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
    }
}
@media (max-width: 767px) {
    .posts_movie article {
        width: 100%;
        padding-bottom: 37px;
    }
    .posts_movie article .title {
        font-size: 14px;
        line-height: 20px;
    }    
}

/* ------------------------------------------------------------- */
/* テーブル                                                       */
/* ------------------------------------------------------------- */
/* レーススケジュール */
@media all {
    .table_schedule {
        width: 100%;
        max-width: var(--content-width-4);
        margin: 0 auto;
        margin-bottom: 25px;
    }
    .table_schedule_sp {
        display: none;
    }
    

    /* ヘッダー部 */
    .table_schedule .head {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        align-items: center;
        height: 61px;
        padding-left: 21px;
        padding-right: 17px;
    }
    .table_schedule.blue .head {
        background-color: var(--color-blue2);
    }
    .table_schedule.red .head {
        background-color: var(--color-red2);
    }
    .table_schedule .head h3 {
        font-size: 22px;
        font-weight: var(--font-weight-bold);
        line-height: 28px;
        color: var(--color-white);
    }
    .table_schedule .head h3 span {
        font-size: 16px;
        font-weight: var(--font-weight-regular);
    }
    .table_schedule .head .link a {
        font-size: 12px;
        border-bottom: solid 1px var(--color-white);
        line-height: 13px;
        display: inline-block;
        color: var(--color-white);
        margin-right: 12px;
        position: relative;
    }
    .table_schedule .head .link a::after {
        content: ">";
        display: block;
        position: absolute;
        top: 0;
        right: -12px;
    }



    /* テーブルヘッダー部 */
    .table_schedule th {
        height: 50px;
        vertical-align: middle;
        text-align: center;
        font-size: 12px;
        font-weight: var(--font-weight-bold);
        border-right: solid 1px var(--color-lightgray2);
    }
    .table_schedule.blue th {
        background-color: var(--color-blue3);
    }
    .table_schedule.red th {
        background-color: var(--color-red4);
    }
    .table_schedule.red2 th {
        background-color: var(--color-red3);
    }
    .table_schedule th:last-child {
        border-right: none;
    }
    .table_schedule th.no     { width:  48px; }
    .table_schedule th.date   { width: 208px; }
    .table_schedule th.course { width: 271px; }
    .table_schedule th.entry  { width: 113px; }
    .table_schedule th.live   { width: 113px; }
    .table_schedule th.report { width: 114px; }
    .table_schedule th.rank   { width: 113px; }
    /* .table_schedule th.subject{ width:  83px; } */
    .table_schedule th.no2    { width:  43px; }
    .table_schedule th.date2  { width: 300px; }
    .table_schedule th.course2{ width: 410px; }
    .table_schedule th.rank2  { width: 114px; }
    
    
    /* テーブルボディ部 */
    .table_schedule tbody tr {
        background-color: var(--color-lightgray7);
    }
    .table_schedule tbody tr:nth-child(even) {
        background-color: var(--color-lightgray5);
    }
    .table_schedule td {
        height: 68px;
        vertical-align: middle;
        text-align: left;
        color: var(--color-gray1);
        font-size: 14px;
        line-height: 20px;
        border-right: solid 1px var(--color-lightgray2);
        border-bottom: solid 1px var(--color-lightgray2);
        padding: 0;
    }
    .table_schedule td:last-child {
        border-right: none;
    }
        
    .table_schedule td.red:not(.title) {
        color: var(--color-red3);
    }
    
    .table_schedule td .tag {
        width: 68px;
        height: 28px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        margin: 0 auto;
        font-size: 12px;
        font-weight: var(--font-weight-bold);
        color: var(--color-white);
    }
    .table_schedule td .tag.blue {
        background-color: var(--color-blue7);
    }
    .table_schedule td .tag.purple {
        background-color: var(--color-purple);
    }

    .table_schedule td.no {
        font-size: 16px;
        font-weight: var(--font-weight-bold);
        text-align: center;
    }
    
    
    .table_schedule td.date {
        padding: 0 12px;
    }
    
    
    .table_schedule td.course {
        padding: 0 12px;
    }
    
    
    .table_schedule td.entry {
        text-align: center;
    }
    
    
    .table_schedule td.live {
        text-align: center;
    }
    
    
    .table_schedule td.report {
        text-align: center;
    }
    
    
    .table_schedule td.rank {
        text-align: center;
    }    
}
@media (max-width: 979px){
    .table_schedule {
        display: none;
    }
    .table_schedule_sp {
        width: var(--width-100);
        margin: 0 auto;
        display: block;
        margin-bottom: 25px;
    }

    .table_schedule_sp .title {
        padding-top: 8px;
        padding-bottom: 4px;
        text-align: center;
    }
    .table_schedule_sp.blue .title {
        background-color: var(--color-blue2);
    }
    .table_schedule_sp.red .title {
        background-color: var(--color-red2);
    }
    .table_schedule_sp .title .name {
        line-height: 24px;
        font-weight: var(--font-weight-bold);
        line-height: 24px;
    }
    .table_schedule_sp .title .class {
        font-size: 12px;
        line-height: 24px;
    }
    .table_schedule_sp .title .link {
        font-size: 12px;
        border-bottom: solid 1px var(--color-white);
        line-height: 13px;
        display: inline-block;
        color: var(--color-white);
        margin-right: 12px;
        position: relative;
    }
    .table_schedule_sp .title .link::after {
        content: ">";
        display: block;
        position: absolute;
        top: 0;
        right: -12px;
    }

    .table_schedule_sp dl {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .table_schedule_sp dt {
        width: 95px;
        font-size: 12px;
        font-weight: var(--font-weight-bold);
        line-height: 18px;
        padding-left: 11px;
        padding-top: 7px;
        padding-bottom: 8px;
        border-bottom: solid 1px var(--color-gray5);
        border-right: solid 1px var(--color-gray5);
    }
    .table_schedule_sp.blue dt {
        background-color: var(--color-blue3);
    }
    .table_schedule_sp.blue dl:nth-of-type(even) dt {
        background-color: var(--color-blue6);
    }
    .table_schedule_sp.red dt {
        background-color: var(--color-red4);
    }
    .table_schedule_sp.red dl:nth-of-type(even) dt {
        background-color: var(--color-red5);
    }
    .table_schedule_sp.red2 dt {
        background-color: var(--color-red6);
    }
    .table_schedule_sp.red2 dl:nth-of-type(even) dt {
        background-color: var(--color-red4);
    }

    .table_schedule_sp dd {
        width: calc(100% - 95px);
        border-bottom: solid 1px var(--color-gray5);
        background-color: var(--color-lightgray7);
        font-size: 14px;
        line-height: 18px;
        color: var(--color-gray1);
        padding: 8px 10px;
    }
    .table_schedule_sp dd:nth-of-type(1) {
        font-size: 16px;
        font-weight: var(--font-weight-bold);
    }
    .table_schedule_sp dl:nth-of-type(even) dd {
        background-color: var(--color-lightgray5);
    }
    .table_schedule_sp dd.red {
        color: var(--color-red3);
    }
    .table_schedule_sp dd.has_button {
        padding-top: 7px;
        padding-bottom: 6px;
    }
    .table_schedule_sp dd .button_type2 a {
        margin-left: 0;
    }
    .table_schedule_sp dd  .tag {
        width: 68px;
        height: 21px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        font-size: 12px;
        font-weight: var(--font-weight-bold);
        color: var(--color-white);
    }
    .table_schedule_sp dd .tag.blue {
        background-color: var(--color-blue7);
    }
    .table_schedule_sp dd .tag.purple {
        background-color: var(--color-purple);
    }
}


/* 大会概要 */
@media all {
    .table_taikai table {
        width: 100%;
    }
    .table_taikai tr {
        border-top: solid 1px var(--color-gray5);
    }
    .table_taikai th {
        padding: 22px 0;
        text-align: left;
        padding-left: 30px;
        width: 210px;
        font-size: 14px;
        line-height: 20px;
        font-weight: var(--font-weight-bold);
    }
    .table_taikai th.p_note {
        font-size: 12px;
        font-weight: var(--font-weight-regular);
        padding-left: 1em;
        padding-top: 14px;
    }
    .table_taikai td {
        padding: 20px 0;
        font-size: 14px;
        line-height: 20px;
    }
    .table_taikai td a {
        color: var(--color-yellow);
        text-decoration: underline;
    }


    /* 使用機器セル */
    .table_taikai .td-inner {
        display: grid;
        grid-template-columns: auto 262px;
        grid-template-rows: auto auto auto;
    }
    .table_taikai td ul {
        padding-bottom: 20px;
    }
    .table_taikai td ul li {
        position: relative;
        padding-left: 20px;
        line-height: 20px;
    }
    .table_taikai td .normal {
        grid-column: 1/2;
    }
    .table_taikai td .normal li::before {
        content: "●";
        position: absolute;
        left: 0;
    }
    .table_taikai td .note {
        grid-column: 1/2;
    }
    .table_taikai td .note li::before {
        content: "※";
        position: absolute;
        left: 0;
    }
    .table_taikai td figure {
        grid-row: 1/4;
        grid-column: 2/3;
    }
}
@media (max-width: 767px) {
    .table_taikai th {
        width: 100%;
        display: block;
        padding-top: 12px;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 10px;
        line-height: 18px;
    }
    .table_taikai tr {
        display: block;
    }
    .table_taikai td {
        width: 100%;
        display: block;
        padding-top: 0;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 12px;
    }
    .table_taikai .td-inner {
        display: block;
    }
    .table_taikai td figure {
        max-width: 262px;
        margin: 0 auto;
    }
}


/* セッティング */
@media all {
    .table_setting {
        width: 100%;
    }    
    .table_setting .title {
        width: 100%;
        height: 50px;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        padding-left: 42px;
        position: relative;
        font-weight: var(--font-weight-bold);
    }    
    .table_setting .title::before {
        content: "";
        display: block;
        width: 5px;
        height: 15px;
        background-color: var(--color-lightgray5);
        position: absolute;
        left: 25px;
        top: 16px;
    }    
    .table_setting.blue .title {
        background-color: var(--color-blue2);
    }    
    .table_setting.red .title {
        background-color: var(--color-red2);
    }
    .table_setting .sub-title {
        width: 100%;
        height: 50px;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        padding-left: 25px;
        position: relative;
        font-size: 14px;
        font-weight: var(--font-weight-bold);
    }
    .table_setting.blue .sub-title {
        background-color: var(--color-blue3);
    }
    .table_setting.red .sub-title {
        background-color: var(--color-red3);
    }
    .table_setting table {
        width: 100%;
    }    
    .table_setting table tr {
        border-top: solid 1px var(--color-gray5);
        background-color: var(--color-black3);
    }    
    .table_setting table th {
        padding: 18px 0;
        padding-left: 38px;
        text-align: left;
        width: 310px;
        font-size: 14px;
        line-height: 18px;
        font-weight: var(--font-weight-bold);
    }
    .table_setting table td {
        width: calc(100% - 310px);
        padding: 18px 0;
        font-size: 14px;
        padding-right: 38px;
        line-height: 18px;
    }    
    .table_setting table tr:nth-child(even) {
        background-color: var(--color-gray2);
    }
    
}
@media (max-width: 767px) {
    .table_setting table tr {
        display: block;
    }
    .table_setting table th {
        display: block;
        width: 100%;
        padding-top: 15px;
        padding-left: 24px;
        line-height: 21px;
        padding-bottom: 0;
    }
    .table_setting table td {
        display: block;
        width: 100%;
        padding-top: 0;
        padding-left: 24px;
        line-height: 21px;
        padding-bottom: 15px;
    }    
}


/* ランキング */
@media all {
    .table_ranking .text {
        text-align: center;
        font-weight: var(--font-weight-bold);
        line-height: 16px;
        padding-bottom: 16px;
    }
    .table_ranking table {
        width: 100%;
        max-width: 1000px;
        margin: 0 auto;
    }
    .table_ranking table .rank {
        width: 117px;
    }
    .table_ranking table .driver {
        width: 776px;
    }
    .table_ranking table .point {
        width: 127px;
    }
    /* 20220517廣川追加 */
    .table_ranking table .time {
        width: 127px;
    }
    /* //20220517廣川追加 */

    .table_ranking table th,
    .table_ranking table td {
        height: 53px;
        vertical-align: middle;
    }
    
    
    /* ヘッダー */
    .table_ranking table th {
        font-family: var(--webfont-squada);
        border-top: solid 1px var(--color-gray5);
        border-bottom: solid 1px var(--color-gray5);
        border-right: solid 1px var(--color-gray5);
    }
    .table_ranking table th:last-child {
        border-right: none;
    }
    .table_ranking table thead tr {
        background-color: var(--color-black3);
    }
    

    /* ボディ */
    .table_ranking table tbody tr {
        background-color: var(--color-gray7);
    }
    .table_ranking table td {
        border-top: solid 1px var(--color-gray5);
        border-bottom: solid 1px var(--color-gray5);
        border-right: solid 1px var(--color-gray5);
    }
    .table_ranking table td:last-child {
        border-right: none;
    }
    .table_ranking table td.rank img {
        width: auto;
    }
    .table_ranking table td.rank {
        text-align: center;
    }
    .table_ranking table td.driver {
        padding: 0 25px;
    }
    .table_ranking table td.point {
        text-align: right;
        padding-right: 41px;
    }

    /* 20220517廣川追加 */
    .table_ranking table td.time {
        text-align: right;
        padding-right: 20px;
    }
    /* //20220517廣川追加 */

    .table_ranking.blue table tbody tr:first-child {
        background-color: var(--color-blue5);
    }
    .table_ranking.red table tbody tr:first-child {
        background-color: var(--color-red4);
    }
    .table_ranking table tbody tr:nth-child(even) {
        background-color: var(--color-gray6);
    }
    

    /* 注意書き */
    .table_ranking .note {
        width: var(--width-100);
        max-width: 1000px;
        margin: 0 auto;
        color: var(--color-yellow2);
        font-size: 14px;
        line-height: 22px;
        padding-top: 18px;
        padding-left: 18px;
        position: relative;
    }
    .table_ranking .note::before {
        content: "※";
        position: absolute;
        left: 0;
    }    
}
@media (max-width: 767px) {
    .table_ranking .text {
        font-size: 12px;
        padding-bottom: 13px;
    }
    .table_ranking table .rank {
        width: 74px;
    }
    .table_ranking table .driver {
        width: auto;
    }
    .table_ranking table .point {
        width: 90px;
    }
    /* 20220517廣川追加 */
    .table_ranking table .time {
        width: 90px;
    }
    /* //20220517廣川追加 */

    /* ヘッダー */
    .table_ranking table th {
        font-size: 14px;
    }
    
    
    /* ボディ */
    .table_ranking table td.point {
        padding-right: 25px;
    }

    /* 20220517廣川追加 */
    .table_ranking table td.time {
        padding-right: 8px;
    }
    /* //20220517廣川追加 */

    .table_ranking table td {
        font-size: 14px;
    }


    /* 注意書き */
    .table_ranking .note {
        padding-top: 27px;
    }
    
}


/* ニュース */
@media all {
    .table_news {
        width: var(--width-100);
        max-width: var(--content-width-5);
        margin: 0 auto;
    }
    .table_news article {
        border-top: solid 1px var(--color-gray5);
    }
    .table_news article a {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        border-bottom: solid 1px var(--color-gray5);
    }
    .table_news .date {
        font-size: 14px;
        width: 115px;
        font-weight: var(--font-weight-bold);
        padding: 15px 0;
    }
    .table_news .category {
        width: 122px;
        padding: 15px 0;
    }
    .table_news .category span {
        display: block;
        text-align: center;
        width: 99px;
        height: 22px;
        padding-top: 2px;
        margin: 0 auto;
        font-size: 12px;
        font-weight: var(--font-weight-bold);
    }
    .table_news .title {
        flex: 1 0 0;
        font-size: 16px;
        line-height: 22px;
        padding: 15px 0;
    }
    

    .table_news .category span.blue {
        background-color: var(--color-blue2);
    }
    .table_news .category span.red {
        background-color: var(--color-red2);
    }    
}
@media (max-width: 767px) {
    .table_news .date {
        padding: 12px 0 5px;
        width: 100%;
        font-size: 12px;
    }
    .table_news .category span {
        margin-left: 0;
    }
    .table_news .category {
        width: 100%;
        padding-top: 0;
        padding-bottom: 10px;
    }
    .table_news .title {
        width: 100%;
        padding: 0;
        padding-bottom: 12px;
        font-size: 14px;
    }
}


/* レポート一覧 */
@media all {
    .table_report-inner {
        width: var(--width-100);
        max-width: var(--content-width-4);
        margin: 0 auto;
        padding-bottom: 102px;
    }
    .table_report article a {
        border-bottom: solid 1px var(--color-gray5);
        display: grid;
        grid-template-columns: 163px auto;
        grid-template-rows: auto auto;
    }
    .table_report article:first-child a {
        border-top: solid 1px var(--color-gray5);
    }


    /* フラグ */
    .table_report article .flag {
        grid-row: 1/3;
        padding-top: 18px;
    }
    .table_report article .flag span {
        display: flex;
        width: 137px;
        height: 27px;
        justify-content: center;
        align-items: center;
        font-size: 14px;
    }
    .table_report.blue article.after .flag span {
        background-color: var(--color-blue3);
    }
    .table_report.blue article.before .flag span {
        background-color: var(--color-blue2);
    }
    .table_report.red article.after .flag span {
        background-color: var(--color-red4);
    }
    .table_report.red article.before .flag span {
        background-color: var(--color-red2);
    }


    /* ラウンド */
    .table_report article .round {
        padding-top: 17px;
        font-weight: var(--font-weight-bold);
        line-height: 22px;
        padding-bottom: 2px;
    }


    /* タイトル */
    .table_report article .title {
        line-height: 20px;
        padding-right: 8px;
        padding-bottom: 16px;
    }
}
@media (max-width: 767px) {
    .table_report-inner {
        padding-bottom: 61px;
    }    
    .table_report article a {
        display: block;
    }


    /* フラグ */
    .table_report article .flag {
        padding-top: 14px;
    }
    .table_report article .flag span {
        width: 115px;
        height: 27px;
        font-size: 12px;
    }


    /* ラウンド */
    .table_report article .round {
        padding-top: 11px;
        font-size: 14px;
    }


    /* タイトル */
    .table_report article .title {
        font-size: 14px;
        padding-bottom: 11px;
        padding-right: 0;
    }

}


/* U18大会スケジュール */
@media all {
    .table_u18schedule {
        width: var(--width-100);
        max-width: var(--content-width-4);
        margin: 0 auto;
    }
    .table_u18schedule .title {
        width: 100%;
        background-color: var(--color-red6);
        text-align: center;
        font-size: 22px;
        line-height: 1;
        padding: 17px 0;
        font-weight: var(--font-weight-bold);
    }
    .table_u18schedule .body {
        background-color: var(--color-gray5);
        padding: 45px 10px;
    }
    .table_u18schedule .body .info {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        padding-bottom: 20px;
    }
    .table_u18schedule .body .info .tag {
        width: 85px;
        text-align: center;
        font-size: 18px;
        line-height: 1;
        font-weight: var(--font-weight-bold);
        padding: 6px 0 4px;
    }
    .table_u18schedule .body .info.blue .tag {
        background-color: var(--color-blue7);
    }
    .table_u18schedule .body .info.purple .tag {
        background-color: var(--color-purple);
    }
    .table_u18schedule .body .info .date {
        font-size: 24px;
        font-weight: var(--font-weight-bold);
        line-height: 28px;
        padding-left: 14px;
    }
    .table_u18schedule .body .place {
        text-align: center;
        font-size: 18px;
        line-height: 28px;
        padding-top: 2px;
    }
    /* 231208_ここから */
    .table_u18schedule .body .banner {
        width: 100%;
        max-width: 890px;
        margin: 0 auto;
        padding: 20px;
    }
    /* 231208_ここまで */
}
@media (max-width: 767px) {
    .table_u18schedule {
        max-width: 430px;
    }
    .table_u18schedule .title {
        font-size: 16px;
        padding: 11px 0;
    }
    .table_u18schedule .body {
        padding: 0;
    }
    
    .table_u18schedule .body .info {
        padding: 0 10px;
    }
    .table_u18schedule .body .info:nth-child(1) {
        padding-bottom: 13px;
        padding-top: 20px;
    }
    
    .table_u18schedule .body .info:nth-child(2) {
        padding-bottom: 26px;
    }
    .table_u18schedule .body .info .tag {
        width: 65px;
        height: 28px;
        font-size: 14px;
        padding: 7px 0;
    }
    .table_u18schedule .body .info .date {
        width: 100%;
        padding: 0;
        font-size: 16px;
        text-align: center;
    }
    /* 231208_ここから */
    .table_u18schedule .body .place {
        /* background-color: var(--color-black1); */
        font-size: 14px;
        line-height: 20px;
        padding: 0 20px;
        padding-bottom: 16px;
    }
    .table_u18schedule .body .banner {
        padding-top: 0;
    }
    /* 231208_ここまで */
}


/* 学校リスト */
@media all {
    .table_schools table {
        margin: 0 auto;
    }
    .table_schools table tr td {
        padding: 0 30px;
        padding-top: 5px;
        padding-bottom: 15px;
        letter-spacing: 0.1em;
        line-height: 1;
    }
    .table_schools table tr td a {
        display: inline-block;
        border-bottom: solid 1px;
        line-height: 1;
    }
    .table_schools table tr td.small {
        text-align: center;
        letter-spacing: 00;
        padding-top: 8px;
    }
}
@media (max-width: 767px) {
    .table_schools table tr td {
        display: block;
        text-align: center;
        font-size: 14px;
        padding: 0;
        padding-bottom: 5px;
    }
}


/* ------------------------------------------------------------- */
/* ページヘッダー                                                   */
/* ------------------------------------------------------------- */
/* TYPE1 */
@media all {
    #page-header.type1 {
        width: 100%;
        height: 330px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        background-size: cover;
    }
    #page-header.type1 .background {
        position: absolute;
        z-index: -1;
        width: 100%;
        height: 100%;
        top: 0;
    }
    #page-header.type1 .background img {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }
}
@media (max-width: 767px) {
    #page-header.type1 {
        height: 113px;
        align-items: flex-start;
        padding-top: 9px;
    }


    /* ページナビ */
    #navi-page {
        font-size: 12px;
        height: 33px;
        bottom: -16.5px;
    }
    #navi-page ul li a {
        margin: 0 10px;
        padding-left: 13px;
    }
    #navi-page ul li a::before {
        top: 1px;
    }    
    #navi-page::before {
        transform: skewx(-48deg);
    }
    
}


/* TYPE2 */
@media all {
    #page-header.type2 {
        height: 234px;
        padding-top: 14px;
    }    
}
@media (max-width: 767px) {
    #page-header.type2 {
        height: 113px;
        padding-top: 9px;
    }
}


/* TYPE3 */
@media all {
    #page-header.type3 {
        width: 100%;
        display: flex;
        justify-content: center;
        position: relative;
        background-size: cover;
        height: 261.5px;
        align-items: flex-start;
        padding-top: 16px;
    }
    #page-header.type3.h238 {
        height: 238px;
    }
    #page-header.type3 .background {
        position: absolute;
        z-index: -1;
        width: 100%;
        height: 100%;
        top: 0;
    }
    #page-header.type3 .background img {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }
}
@media (max-width: 767px) {
    #page-header.type3 {
        height: 129.5px;
        padding-top: 9px;
    }
    #page-header.type3.h238 {
        height: 100px;
    }
}


/* ------------------------------------------------------------- */
/* ページナビ                                                     */
/* ------------------------------------------------------------- */
/* TYPE1 */
@media all{
    #navi-page {
        position: absolute;
        width: 100%;
        bottom: -23.5px;
        max-width: 840px;
        height: 47px;
        font-size: 14px;
    }
    #navi-page::before {
        transform: skewX(-39deg);
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 19px;
        right: 19px;
    }
    #navi-page.gray::before {
        background: var(--color-gray3);
    }
    #navi-page.blue::before {
        background: var(--color-blue2);
    }
    #navi-page.red::before {
        background: var(--color-red2);
    }
    #navi-page.red2::before {
        background: var(--color-red6);
    }
    #navi-page ul {
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 2;
        position: relative;
        width: 100%;
        height: 100%;
    }
    .navi-page-inner {
        height: 100%;
        width: 100%;
    }
    #navi-page ul li a {
        margin: 0 19px;
        position: relative;
        padding-left: 15px;
    }
    #navi-page ul li a::before {
        content: ">";
        font-size: 10px;
        position: absolute;
        left: 0;
        transform: rotate(90deg);
        top: 2px;
    }
}
@media (max-width: 767px) {
    #navi-page {
        font-size: 12px;
        height: 33px;
        bottom: -16.5px;
    }
    #navi-page ul li a {
        margin: 0 10px;
        padding-left: 13px;
    }
    #navi-page ul li a::before {
        top: 1px;
    }    
    #navi-page::before {
        transform: skewx(-48deg);
    }
    
}


/* TYPE2 */
@media all {
    #navi-page-2 ul {
        display: flex;
        justify-content: center;
    }
    #navi-page-2 ul li {
        padding: 0 10px;
        border-right: solid 1px var(--color-yellow2);
        line-height: 17px;
        padding-top: 1px;
    }
    #navi-page-2 ul li a {
        color: var(--color-yellow2);
        font-size: 16px;
        line-height: 17px;
    }
    #navi-page-2 ul li:first-child {
        border-left: solid 1px var(--color-yellow2);
    }
}
@media (max-width: 767px) {
    #navi-page-2 ul {
        width: var(--width-100);
        margin: 0 auto;
    }
    #navi-page-2 ul li {
        max-width: 50%;
    }
    #navi-page-2 ul li a {
        font-size: 14px;
        line-height: 15px;
    }
    #navi-page-2 ul li {
        line-height: 15px;
    }    
}


/* =========================================================================================================================================== */
/* プラグイン系                                                                                                                                  */
/* =========================================================================================================================================== */
/* ------------------------------------------------------------- */
/* Inview                                                        */
/* ------------------------------------------------------------- */
@media all {
    .fade {
        opacity: 0;
        transition: .8s;
        transform: translate(0, 100px);
      }


      /* 方向＆距離系：重複不可 */
      .fade.fade-up-50 {
        transform: translate(0, 50px);
      }
      .fade.fade-right-50 {
        transform: translate(-50px, 0);
      }
      .fade.fade-left-50 {
        transform: translate(50px, 0);
      }
      .fade.fade-down-50 {
        transform: translate(0, -50px);
      }


      /* 遅れ系 */
      .fade.fade-delay {
        transition-delay: .1s;
      }
      .fade.fade-delay-500 {
        transition-delay: .5s;
      }
      .fade.fade-delay-800 {
        transition-delay: .8s;
      }
      .fade.fade-delay-1000 {
        transition-delay: 1s;
      }
      
      
      /* 表示用*/
      .fade.fade-in {
        opacity: 1;
        transform: translate(0, 0);
      }
}


/* =========================================================================================================================================== */
/* ヘッダー                                                                                                                                     */
/* =========================================================================================================================================== */
@media all {
    /* 全体 */ 
    #header {
        width: 100%;
        height: var(--header-height);
        padding: 0 70px;
        background-color: var(--color-black1);
        position: fixed;
        border-bottom: solid 1px var(--color-gray5);
        z-index: var(--zindex-header);
    }
    .header-inner {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        padding-top: 38px;
    }


    /* サイトロゴ */
    #header .logo {
        position: relative;
        left: 0;
        top: -12px;
    }
    #header .logo img {
        max-width: 250px;
    }
    #header .logo figcaption {
        line-height: 24px;
        padding-top: 3px;
        color: var(--color-lightgray5);
    }


    /* メニュー群 */
    #header .menus {
        display: flex;
    }


    /* 協賛アイコン */
    #header .icon {
        position: relative;
        right: -5px;
        top: -8px;
    }
    #header .icon img {
        max-width: 120px;
    }


    /* グローバルナビ開閉ボタン */
    #header .btn-gnavi {
        display: none;
    }


    /* ダミー */
    #dummy-header {
        height: var(--header-height);
    }
}
@media (max-width: 1300px){   
    /* 全体 */
    #header {
        padding: 0;
        padding-left: 25px;
    }
    .header-inner {
        padding-top: 0;
        justify-content: flex-start;
    }
    

    /* サイトロゴ */
    #header .logo {
        top: 0;
        padding-top: 15px;
        padding-right: 22px;
    }
    #header .logo img {
        max-width: 187px;
    }
    #header .logo figcaption {
        font-size: 12px;
        padding-top: 1px;
        line-height: 18px;
    }
    

    /* メニュー群 */
    #header .menus {
        position: fixed;
        top: 73px;
        width: 100%;
        height: 0;
        left: 0;
        background-color: rgba(26,26,26,0.95);
        display: flex;
        justify-content: center;
        overflow-y: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
        transition: height 0.5s ease;
    }
    #header .menus::-webkit-scrollbar {
        display:none;
    }
    

    /* 協賛アイコン */
    #header .icon {
        position: relative;
        right: auto;
        top: auto;
        padding-top: 25px;
    }
    #header .icon img {
        max-width: 89px;
    }
    

    /* グローバルナビ開閉ボタン */
    #header .btn-gnavi {
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        width: 75px;
        height: 72px;
    }
    #header .btn-gnavi span {
        display: block;
        width: 23px;
        height: 2px;
        background-color: var(--color-white);
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        transition: all 0.5s ease;
    }
    #header .btn-gnavi span::before,
    #header .btn-gnavi span::after{
        content: "";
        display: block;
        width: 100%;
        height: 2px;
        background-color: var(--color-white);
        position: absolute;
        transition: all 0.5s ease;
    }
    #header .btn-gnavi span::before{
        top: -8px;    
    }
    #header .btn-gnavi span::after{
        top: 8px;
    }


    /* 【メニューオープン中】グローバルナビ開閉ボタン */
    .gnavi_open #header .btn-gnavi span {
        height: 0;
    }
    .gnavi_open #header .btn-gnavi span::before {
        top: 0;
        transform: rotate(45deg);
    }
    .gnavi_open #header .btn-gnavi span::after {
        top: 0;
        transform: rotate(-45deg);
    }
} 


/* ------------------------------------------------------------- */
/* グローバルナビ                                                   */
/* ------------------------------------------------------------- */
@media all {
    #gnavi {
        font-size: 20px;
        font-family: var(--webfont-squada);
        z-index: var(--zindex-gnavi);
    }
    #gnavi .mainmenu {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #gnavi .mainmenu > li {
        padding: 0 14px;
        position: relative;
    }
    #gnavi .mainmenu > li > a {
        display: block;
        margin-bottom: 35px;
    }
    #gnavi .mainmenu > li.current > a {
        opacity: 0.7;
    }


    /* サブメニュー */
    #gnavi .submenu {
        height: 0;
        left: -96px;
        overflow: hidden;
        position: absolute;
        width: 277px;
    }
    #gnavi .submenu_open .submenu {
        transition: height 0.5s ease;
    }
    #gnavi .submenu li {
        width: 100%;
        height: 74px;
        background-color: var(--color-gray4);
        display: flex;
        justify-content: center;
        align-items: center;
        border-bottom: solid 1px var(--color-lightgray2);
        font-family: var(--webfont-meiryo);
        font-size: 14px;
        font-weight: var(--font-weight-bold);
    }
}
@media (max-width: 1300px){
    #gnavi {
        position: static;
    }
    .gnavi-inner {
        padding-top: 31px;
        padding-bottom: 7px;
    }
    #gnavi .mainmenu {
        display: block;
    }
    #gnavi .mainmenu > li > a {
        line-height: 21px;
        display: inline;
        padding-bottom: 0;
    }
    #gnavi .mainmenu > li {
        padding: 0;
        padding-left: 19px;
        position: relative;
        height: auto;
        line-height: 21px;
        padding-bottom: 21px;
    }
    #gnavi .mainmenu > li::before {
        content: ">";
        position: absolute;
        left: 0;
        line-height: 21px;
        font-size: 14px;
    }
    #gnavi .mainmenu > li.has_submenu::before {
        content: none;
    }
    #gnavi .mainmenu > li.has_submenu {
        padding-bottom: 24px;
    }
    
    
    /* サブメニュー */
    #gnavi .submenu {
        position: static;
        height: auto;
        width: auto;
        padding-top: 6px;
        padding-left: 14px;
    }
    #gnavi .submenu li {
        width: auto;
        height: auto;
        background: none;
        border: none;
        display: block;
        border-left: solid 2px var(--color-lightgray8);
        padding-left: 29px;
        position: relative;
        font-size: 14px;
        line-height: 19px;
        padding-bottom: 7px;
    }
    #gnavi .submenu li:last-child {
        padding-bottom: 3px;
    }
    #gnavi .submenu li::before {
        content: ">";
        font-family: var(--webfont-squada);
        font-size: 14px;
        font-weight: var(--font-weight-regular);
        position: absolute;
        left: 14px;
        line-height: 19px;
    }
} 


/* ------------------------------------------------------------- */
/* SNSナビ                                                       */
/* ------------------------------------------------------------- */
@media all {
    #navi-sns ul {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #navi-sns ul li {
        padding: 0 13px;
    }
}
@media (max-width: 1300px){
    #navi-sns {
        position: absolute;
        top: 37px;
        right: 29px;
    }
    #navi-sns ul {
        display: block;
    }
    #navi-sns ul li {
        padding: 0;
        padding-bottom: 26px;
    }
} 


/* =========================================================================================================================================== */
/* フッター
/* =========================================================================================================================================== */
@media all {
    #footer {
        background-color: var(--color-gray2);
        padding-top: 56px;
        padding-bottom: 52px;
        color: var(--color-white);
    }
    .footer-inner {
        width: var(--width-100);
        max-width: var(--content-width-1);
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1fr 325px 429px;
    }
    

    /* 会社ロゴ */
    #footer .logo {
        grid-column: 1/3;
        display: flex;
        padding-bottom: 17px;
        align-items: flex-end;
    }    
    #footer .logo img {
        width: auto;
    }
    #footer .logo figcaption {
        font-size: 14px;
        padding-left: 23px;
        padding-bottom: 4px;
    }


    /* ダイワグループ説明 */
    #footer .about_daiwa {
        grid-column: 1/2;
        max-width: 932px;
        font-size: 12px;
        line-height: 20px;
        margin-bottom: 18px;
        margin-right: 29px;
    }


    /* ダイワグループ画像 */
    #footer .daiwa_img {
        grid-column: 2/3;
        grid-row: 2/4;
    }
    #footer .daiwa_img img {
        width: auto;
    }

    /* ダイワグループリンク */
    #footer .diawa_group {
        grid-column: 1/2;
    }
    #footer .diawa_group .title {
        width: 106px;
        height: 21px;
        background-color: var(--color-lightgray1);
        font-size: 12px;
        display: flex;
        justify-content: center;
        align-items: center;
        line-height: 12px;
        color: var(--color-lightgray6);
        margin-bottom: 10px;
    }
    #footer .diawa_group .list {
        margin-right: 29px;
    }
    #footer .diawa_group .list ul {
        display: grid;
        grid-template-columns: auto auto auto;
        font-size: 12px;
        line-height: 22px;
        margin-bottom: 27px;
    }
    #footer .diawa_group .list ul li a {
        display: block;
    }
    #footer .diawa_group .list ul li a::before {
        content: "> ";
    }
    

    /* バナー */
    #footer .banners {
        grid-column: 1/3;
        display: flex;
        justify-content: space-between;
        padding-bottom: 42px;
    }
    #footer .banners a {
        display: block;
        width: calc((100% - 28px) / 3);
    }


    /* Twitter */
    #footer .twitter {
        grid-row: 1/7;
        grid-column: 3/4;
        margin-left: 75px;
    }

    /* 注意書き */
    #footer .note {
        grid-column: 1/3;
        border-top: solid 1px var(--color-lightgray1);
        border-bottom: solid 1px var(--color-lightgray1);
        padding-top: 15px;
        padding-bottom: 15px;
        font-size: 12px;
        line-height: 20px;
        width: 100%;
        margin-right: 0;
        color: var(--color-lightgray9);
    }
    

    /* コピーライト */
    #footer .copyright {
        grid-column: 1/2;
        font-size: 12px;
        line-height: 20px;
        padding-top: 18px;
    }

    /* バナー２ */
    #footer-banners {
        background-color: var(--color-gray8);
        padding: 37px 0 35px 0;
    }
    .footer-banners-inner {
        width: var(--width-100);
        max-width: var(--content-width-1);
        margin: 0 auto;
    }
    #footer-banners figure {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    #footer-banners figure a {
        width: calc((100% - 60px) / 5);
    }
    #footer-banners figure a img {
        padding-bottom: 15px;
    }

    /* コピーライト */
    #footer-copyright {
        text-align: center;
        font-size: 12px;
        line-height: 1;
        padding: 15px 0;
        background-color: var(--color-gray9);
    }
}
@media (max-width: 1365px) {
    /* ダイワグループ説明 */
    #footer .about_daiwa {
        grid-column: 1/3;
    }
    

    /* ダイワグループ画像 */
    #footer .daiwa_img {
        grid-column: 1/3;
        grid-row: auto;
        margin-bottom: 23px;
    }
    #footer .daiwa_img img {
        width: auto;
    }


    /* ダイワグループリンク */
    #footer .diawa_group {
        grid-column: 1/3;
    }
}
@media (max-width: 1023px) {
    .footer-inner {
        display: block;
    }


    /* 会社ロゴ */
    #footer .logo {
        display: block;
    }
    #footer .logo figcaption {
        padding-left: 0;
        padding-bottom: 0;
    }

    
    /* Twitter */
    #footer .twitter {
        margin-left: 0;
        margin-bottom: 35px;
    }
    
}
@media (max-width: 767px){
    #footer {
        padding-top: 23px;
        padding-bottom: 32px;
    }


    /* 会社ロゴ */
    #footer .logo img {
        width: 132px;
        padding-bottom: 9px;
    }
    #footer .logo figcaption {
        font-size: 12px;
    }


    /* ダイワグループ説明 */
    #footer .about_daiwa {
        margin-right: 0;
        margin-bottom: 18px;
        line-height: 16px;
    }


    /* ダイワグループリンク */
    #footer .diawa_group .list ul {
        grid-template-columns: auto auto;
        margin-bottom: 40px;
    }
    #footer .diawa_group .list {
        margin-right: 0;
    }


    /* バナー */
    #footer .banners {
        display: block;
    }
    #footer .banners a {
        width: 100%;
    }
    #footer .banners img {
        width: 100%;
        padding-bottom: 14px;
    }


    /* バナー２ */
    #footer-banners figure a {
        width: 100%;
    }
    #footer-banners figure a img {
        padding-bottom: 14px;
    }
}


/* =========================================================================================================================================== */
/* トップページ
/* =========================================================================================================================================== */
/* ------------------------------------------------------------- */
/* キービジュアル
/* ------------------------------------------------------------- */
/*
@media all {
    #page-top #keyvisual {
        width: 100%;
        position: relative;
        padding-top: calc((315 / 560) * 100%);
    }
    #page-top #keyvisual iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}
*/


/* ------------------------------------------------------------- */
/* ブランドリスト
/* ------------------------------------------------------------- */
@media all {
    #page-top #brands {
        background-color: var(--color-gray2);
        padding-top: 25px;
        padding-bottom: 30px;
    }
    #page-top #brands .group {
        display: flex;
        justify-content: center;
        padding-bottom: 25px;
    }
    #page-top #brands .group img {
        width: auto;
    }
    #page-top #brands .brand {
        display: grid;
        grid-template-columns: repeat(6, auto);
        justify-content: center;
        align-items: center;
    }
    #page-top #brands .brand li {
        padding: 0 20px;
    }
    #page-top #brands .brand li img {
        width: auto;
        vertical-align: middle;
    }
}
@media (max-width: 1280px){
    #page-top #brands {
        padding-bottom: 10px;
    }
    #page-top #brands .brand {
        grid-template-columns: repeat(3, auto);
        grid-template-rows: repeat(2, auto);
    }
    #page-top #brands .brand li {
        padding-bottom: 20px;
    }
}
@media (max-width: 767px){
    #page-top #brands {
        padding-top: 23px;
        padding-bottom: 12px;
    }
    #page-top #brands .group img {
        width: 110px;
    }
    #page-top #brands .brand {
        grid-template-columns: repeat(2, auto);
        grid-template-rows: repeat(3, auto);
    }
    #page-top #brands .brand li.honda img { width: 136px; }
    #page-top #brands .brand li.mtt img   { width: 91px; }
    #page-top #brands .brand li.fst img   { width: 134px; }
    #page-top #brands .brand li.tt img    { width: 101px; }
    #page-top #brands .brand li.mts img   { width: 105px; }
    #page-top #brands .brand li.da img    { width: 133px; }

}


/* ------------------------------------------------------------- */
/* アバウト */
/* ------------------------------------------------------------- */
@media all {
    #page-top #about {
        padding-top: 86.5px;
        padding-bottom: 78px;
        width: var(--width-100);
        max-width: 912px;
        margin: 0 auto;
    }
    #page-top #about .text {
        line-height: 26px;
        padding-top: 13.5px;
    }
}
@media (max-width: 767px) {
    #page-top #about {
        padding-top: 35.5px;
        padding-bottom: 21px;
    }
    #page-top #about .text {
        font-size: 14px;
        line-height: 22px;
    }
}


/* ------------------------------------------------------------- */
/* バナー */
/* ------------------------------------------------------------- */
@media all {
    #page-top #banner {
        width: var(--width-100);
        max-width: var(--content-width-1);
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding-bottom: 92px;
    }
    #page-top #banner .main {
        width: calc((1025 / 1400) * 100% );
    }
    #page-top #banner .sub {
        width: calc((354 / 1400) * 100% );
    }
    #page-top #banner .sub a {
        display: block;
        margin-bottom: 5.6%;
    }
    #page-top #banner .sub a:last-child {
        margin-bottom: 0;
    }
}
@media (max-width: 767px) {
    #page-top #banner {
        padding-bottom: 43px;
    }
    #page-top #banner .main {
        width: 100%;
        padding-bottom: 13px;
    }
    #page-top #banner .sub {
        width: 100%;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    #page-top #banner .sub a {
        width: calc((100% - 15px) / 2);
        margin-bottom: 13px;
    }
}


/* ------------------------------------------------------------- */
/* NEWS */
/* ------------------------------------------------------------- */
@media all {
    #page-top #news .h2_type1 {
        padding-bottom: 22px;
    }
    #page-top #news {
        padding-bottom: 94px;
    }
}
@media (max-width: 767px) {
    #page-top #news .h2_type1 {
        padding-bottom: 16px;
    }
}


/* ------------------------------------------------------------- */
/* レーススケジュール */
/* ------------------------------------------------------------- */
@media all {
    #page-top #schedule {
        background-image: url('../img/top/schedule_back.png');
        background-repeat: no-repeat;
        background-size: contain;
        background-position: top;
        padding-top: 91px;
        padding-bottom: 94px;
    }
    #page-top #schedule .h2_type1 {
        padding-bottom: 41px;
    }
}
@media (max-width: 767px) {
    #page-top #schedule {
        padding-top: 39px;
        padding-bottom: 48px;
    }
    #page-top #schedule .h2_type1 {
        padding-bottom: 21px;
    }
}


/* ------------------------------------------------------------- */
/* スペシャルゲスト */
/* ------------------------------------------------------------- */
@media all {
    #page-top #guest {
        padding-top: 56px;
        padding-bottom: 14px;
        background-color: var(--color-black2);
    }
}
@media (max-width: 767px) {
    #page-top #guest {
        padding-top: 19px;
    }
    #page-top #guest .posts_guest {
        padding-top: 11px;
    }
}


/* =========================================================================================================================================== */
/* ページテンプレート：レースページ */
/* =========================================================================================================================================== */
/* ------------------------------------------------------------- */
/* 大会概要 */
/* ------------------------------------------------------------- */
@media all {
    .page-races #overview {
        padding-top: 75px;
        padding-bottom: 80px;
    }
    .page-races #overview .head .description {
        font-size: 18px;
        line-height: 28px;
        text-align: center;
        padding-bottom: 47px;
    }
    .page-races #overview .head figure {
        width: var(--width-100);
        margin: 0 auto;
        max-width: 1025px;
        padding-bottom: 64px;
    }


    .page-races #overview .body {
        width: var(--width-100);
        max-width: var(--content-width-1);
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .page-races #overview .body .table_taikai {
        width: calc(100% - 435px);
    }


    /* サイドバー */
    .page-races #overview .body .sidebar {
        width: 100%;
        max-width: 375px;
    }


    /* NOTICE */
    .page-races #overview .body .sidebar .notice .head {
        background-color: var(--color-gray1);
        width: 100%;
        height: 49px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: var(--webfont-squada);
        font-size: 20px;
        color: var(--color-white);
    }
    .page-races #overview .body .sidebar .notice .body {
        background-color: var(--color-gray3);
        width: 100%;
        height: 451px;
        overflow-y: scroll;
    }
    .page-races #overview .body .sidebar .notice .body::-webkit-scrollbar {
        -webkit-appearance: none;
        width: 16px;
        background-color: var(--color-lightgray1);
    }
    .page-races #overview .body .sidebar .notice .body::-webkit-scrollbar-thumb {
        background-color: var(--color-black2);
    }
    .page-races #overview .body .sidebar .notice .body ul {
        padding: 8px 23px 25px 25px;
        width: 100%;
    }
    .page-races #overview .body .sidebar .notice .body ul li {
        padding-top: 14px;
        padding-bottom: 15px;
        border-bottom: solid 1px var(--color-lightgray1);
    }
    .page-races #overview .body .sidebar .notice .body ul li .date {
        font-size: 12px;
        line-height: 22px;
        font-weight: var(--font-weight-bold);
    }
    .page-races #overview .body .sidebar .notice .body ul li .title {
        position: relative;
        padding-left: 1em;
        font-size: 14px;
        line-height: 22px;
    }
    .page-races #overview .body .sidebar .notice .body ul li .title a::before {
        content: ">";
        font-size: 12px;
        position: absolute;
        left: 0;
        font-family: Impact,Charcoal;
    }
    .page-races #overview .body .sidebar .notice .body ul li .title b {
        font-weight: var(--font-weight-bold);
        color: var(--color-yellow);
    }
    

    /* バナー */
    .page-races #overview .body .sidebar .banners {
        padding-top: 40px;
    }
    .page-races #overview .body .sidebar .banners figure {
        max-width: 320px;
        margin: 0 auto;
    }
    .page-races #overview .body .sidebar .banners figure img {
        padding-bottom: 10px;
    }
    
}
@media (max-width: 1099px) {
    .page-races #overview .body .table_taikai {
        width: 100%;
        order: 2;
    }


    /* サイドバー */
    .page-races #overview .body .sidebar {
        max-width: unset;
    }


    /* バナー */
    .page-races #overview .body .sidebar .banners {
        padding-top: 23px;
        padding-bottom: 56px;
    }
}
@media (max-width: 767px) {
    .page-races #overview {
        padding-top: 30px;
        padding-bottom: 40px;
    }
    
    .page-races #overview .head .description {
        font-size: 16px;
        line-height: 24px;
        padding-bottom: 18px;
    }
    .page-races #overview .head figure {
        padding-bottom: 30px;
    }
    

    /* NOTICE */
    .page-races #overview .body .sidebar .notice .head {
        font-size: 18px;
    }
    

}

/* ------------------------------------------------------------- */
/* 指定車両 */
/* ------------------------------------------------------------- */
@media all {
    .page-races #car {
        background-color: var(--color-black2);
        padding-top: 84px;
        padding-bottom: 94px;
    }
    .page-races #car .text {
        text-align: center;
        font-size: 16px;
        line-height: 26px;
        padding-top: 24px;
        padding-bottom: 38px;
        margin: 0 auto;
    }


    /* セッティング */
    .page-races #car .flex {
        width: var(--width-100);
        margin: 0 auto;
        max-width: var(--content-width-1);
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .page-races #car .flex .col {
        width: calc((100% - 22px) / 2);
    }
    
}
@media (max-width: 1250px) {
    .page-races #car .flex .col {
        width: 100%;
    }    
}
@media (max-width: 767px) {
    .page-races #car {
        padding-top: 29px;
        padding-bottom: 62px;
    }
    .page-races #car .text {
        padding-top: 14px;
        font-size: 14px;
        line-height: 22px;
        padding-bottom: 22px;
    }
}

/* ------------------------------------------------------------- */
/* レギュレーション */
/* ------------------------------------------------------------- */
@media all {
    .page-races #regulation {
        padding-top: 84px;
        padding-bottom: 94px;
    }
    .page-races #regulation .text {
        text-align: center;
        font-size: 16px;
        line-height: 26px;
        padding-top: 24px;
        padding-bottom: 38px;
        margin: 0 auto;
    }
    .page-races #regulation .text-note {
        text-align: center;
        font-size: 16px;
        line-height: 26px;
        padding-top: 10px;
        padding-bottom: 10px;
        margin: 0 auto;
	color: #dcbc33;
    }


    /* セッティング */
    .page-races #regulation .flex {
        width: var(--width-100);
        margin: 0 auto;
        max-width: var(--content-width-1);
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .page-races #regulation .flex .col {
        width: calc((100% - 22px) / 2);
    }
    
}
@media (max-width: 1250px) {
    .page-races #regulation .flex .col {
        width: 100%;
    }    
}
@media (max-width: 767px) {
    .page-races #regulation {
        padding-top: 29px;
        padding-bottom: 62px;
    }
    .page-races #regulation .text {
        padding-top: 14px;
        font-size: 14px;
        line-height: 22px;
        padding-bottom: 22px;
    }
    .page-races #regulation .text-note {
        padding-top: 10px;
        font-size: 14px;
        line-height: 22px;
        padding-bottom: 10px;
	color: #dcbc33;
    }

}


/* ------------------------------------------------------------- */
/* スケジュール＆エントリー */
/* ------------------------------------------------------------- */
@media all {
    .page-races #schedule {
        background-color: var(--color-black2);
        padding-top: 85px;
        padding-bottom: 90px;
    }
    .page-races #schedule .text {
        text-align: center;
        font-size: 16px;
        line-height: 26px;
        padding-top: 45px;
        padding-bottom: 36px;
        margin: 0 auto;
    }
    .page-races #schedule .button_type3 {
        margin-top: 53px;
    }    
}
@media (max-width: 767px) {
    .page-races #schedule {
        padding-top: 43px;
        padding-bottom: 58px;
    }
    .page-races #schedule .text {
        padding-top: 16px;
        font-size: 14px;
        line-height: 22px;
        padding-bottom: 22px;
    }
    .page-races #schedule .button_type3 {
        margin-top: 30px;
    }    
}


/* =========================================================================================================================================== */
/* ページテンプレート：結果ページ */
/* =========================================================================================================================================== */
@media all {
    .page-result section:nth-child(even) {
        background-color: var(--color-black2);
    }
}


/* ------------------------------------------------------------- */
/* ページヘッダー２ */
/* ------------------------------------------------------------- */
@media all {
    .page-result #page-header-2 {
        padding-top: 59px;
        background-color: var(--color-black1);
    }
    .page-result #page-header-2 .h2_type4 {
        padding-bottom: 15px;
    }
}
@media (max-width: 767px) {
    .page-result #page-header-2 {
        padding-top: 17px;
    }
    .page-result #page-header-2 .h2_type4 {
        padding-bottom: 14px;
    }
}


/* ------------------------------------------------------------- */
/* トータルラウンドランキング */
/* ------------------------------------------------------------- */
@media all {
    .page-result #total {
        padding-top: 75px;
        padding-bottom: 93px;
    }


    /* タイトル */
    .page-result #total .h2_type1 {
        padding-bottom: 46px;
    }


    /* 画像 */
    .page-result #total figure {
        width: var(--width-100);
        max-width: 777px;
        margin: 0 auto;
        padding-bottom: 38px;
    }


    /* ボタン */
    .page-result #total .buttons {
        display: flex;
        justify-content: center;
        padding-top: 39px;
    }
    .page-result #total .buttons .button_type1 {
        padding: 0 5px;
    }    
}
@media (max-width: 767px) {
    .page-result #total {
        padding-top: 38px;
        padding-bottom: 45px;
    }


    /* タイトル */
    .page-result #total .h2_type1 {
        padding-bottom: 18px;
    }


    /* 画像 */
    .page-result #total figure {
        padding-bottom: 25px;
    }


    /* ボタン */
    .page-result #total .buttons {
        padding-top: 24px;
    }
}


/* ------------------------------------------------------------- */
/* 各ラウンドランキング */
/* ------------------------------------------------------------- */
@media all {
    .page-result #round {
        padding-top: 93px;
    }


    /* H2 */
    .page-result #round .h2_type1 {
        padding-bottom: 50px;
    }


    /* H3 */
    .page-result #round .h3_type1 {
        margin-bottom: 44px
    }


    /* 画像 */
    .page-result #round figure {
        width: var(--width-100);
        max-width: 777px;
        margin: 0 auto;
        padding-bottom: 44px;
    }


    /* ボタン */
    .page-result #round .buttons {
        display: flex;
        justify-content: center;
        padding-top: 39px;
        padding-bottom: 93px;
    }
    .page-result #round .buttons .button_type1 {
        padding: 0 5px;
    }
}
@media (max-width: 767px) {
    .page-result #round {
        padding-top: 35px;
    }


    /* H2 */
    .page-result #round .h2_type1 {
        padding-bottom: 37px;
    }


    /* H3 */
    .page-result #round .h3_type1 {
        margin-bottom: 23px;
    }


    /* 画像 */
    .page-result #round figure {
        padding-bottom: 28px;
    }


    /* ボタン */
    .page-result #round .buttons {
        padding-top: 26px;
        padding-bottom: 52px;
    }    
}


/* =========================================================================================================================================== */
/* ニュース一覧 */
/* =========================================================================================================================================== */
@media all {
    #page-news_list #list {
        padding-bottom: 105px;
    }    
}
@media (max-width: 767px) {
    #page-news_list #list {
        padding-bottom: 50px;
    }    
}


/* =========================================================================================================================================== */
/* ラウンドムービー */
/* =========================================================================================================================================== */
@media all {
    .page-movie #page-header {
        background-color: var(--color-black);
    }
    .page-movie section:nth-child(odd) {
        background-color: var(--color-black2);
    }

    
    /* H2 */
    .page-movie .h2_type4 {
        padding-top: 82px;
        padding-bottom: 45px;
    }
    .page-movie #taikyu .h2_type4 {
        padding-top: 105.5px;
    }
    
}
@media (max-width: 767px) {
    /* H2 */
    .page-movie .h2_type4 {
        padding-top: 30px;
        padding-bottom: 18px;
    }
    .page-movie #taikyu .h2_type4 {
        padding-top: 54.5px;
    }
}


/* =========================================================================================================================================== */
/* レポート一覧 */
/* =========================================================================================================================================== */
@media all {
    #page-report_list #page-header {
        background-color: var(--color-black);
    }
    #page-report_list section:nth-child(odd) {
        background-color: var(--color-black2);
    }

    
    /* H2 */
    #page-report_list .h2_type4 {
        padding-top: 61px;
        padding-bottom: 18px;
    }
    #page-report_list #taikyu .h2_type4 {
        padding-top: 84.5px;
    }


    /* 画像　*/
    #page-report_list section figure {
        width: var(--width-100);
        max-width: 600px;
        margin: 0 auto;
        padding-bottom: 44px;
    }
    
}
@media (max-width: 767px) {
    /* H2 */
    #page-report_list .h2_type4 {
        padding-top: 38px;
        padding-bottom: 16px;
    }
    #page-report_list #taikyu .h2_type4 {
        padding-top: 54.5px;
    }


    /* 画像 */
    #page-report_list section figure {
        padding-bottom: 21px;
    }
}


/* =========================================================================================================================================== */
/* レポート詳細 */
/* =========================================================================================================================================== */
@media all {
    /* ヘッダー */
    .page-report_detail .post-header {
        width: 100%;
        max-width: var(--content-width-1);
        margin: 0 auto;
        position: relative;
        margin-bottom: 32.5px;
    }


    /* コンテンツ */
    .page-report_detail .post-content {
        width: var(--width-100);
        max-width: var(--content-width-4);
        margin: 0 auto;
        padding-top: 60px;
        padding-bottom: 80px;
    }    
    .page-report_detail .post-content .h3_type2 {
        margin-bottom: 45px;
    }
}
@media (max-width: 767px) {
    /* ヘッダー */
    .page-report_detail .post-header {
        margin-bottom: 34.5px;
    }


    /* コンテンツ */
    .page-report_detail .post-content {
        padding-top: 50px;
    }
    .page-report_detail .post-content .h3_type2 {
        margin-bottom: 35px;
    }

}

/* =========================================================================================================================================== */
/* About Us */
/* =========================================================================================================================================== */
@media all {
    .page-aboutus .h2_type6 {
        margin-bottom: 25px;
    }
    .page-aboutus .p_type1 {
        width: var(--width-100);
        max-width: var(--content-width-4);
        margin-left: auto;
        margin-right: auto;
    }
    .page-aboutus .img_type1 {
        margin-top: 53px;
        margin-bottom: 117px;
    }
    .page-aboutus .h2_type1 {
        margin-bottom: 33px;
    }
    .page-aboutus .list_type4 {
        margin-bottom: 100px;
    }    
}
@media (max-width: 767px) {
    .page-aboutus .h2_type6 {
        margin-bottom: 18px;
    }
    .page-aboutus .img_type1 {
        margin-top: 30px;
        margin-bottom: 57px;
    }
    .page-aboutus .h2_type1 {
        margin-bottom: 23px;
    }
    .page-aboutus .list_type4 {
        margin-bottom: 30px;
    }    
}



/* =========================================================================================================================================== */
/* 過去の大会 */
/* =========================================================================================================================================== */
@media all {
    .page-past .h2_type4 {
        padding-bottom: 13px;
    }
    .page-past .list_type5 {
        padding-bottom: 70px;
    }
}


/* =========================================================================================================================================== */
/* U18                                                                                                                                         */
/* =========================================================================================================================================== */
@media all {
    .page-races #regulation_u18 .flex {
        width: var(--width-100);
        margin: 0 auto;
        max-width: var(--content-width-1);
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding-bottom: 166px;
    }

    .page-races #regulation_u18 .flex .col {
        width: calc((100% - 22px) / 2);
    }

    .page-races_u18 #overview_u18 {
        padding-top: 75px;
    }

    .page-races_u18 .img1 {
        padding-bottom: 70px;
    }
    
    .page-races_u18 .h2_1 {
        padding-top: 104px;
        padding-bottom: 40px;
    }
    .page-races_u18 .list1 {
        padding-bottom: 70px;
    }
    .page-races_u18 .img2 {
        padding-bottom: 46px;
    }
    
    .page-races_u18 #schedule_u18 {
        padding-top: 40px;
        padding-bottom: 115px;
        background-color: var(--color-black2);
    }
    
    .page-races_u18 .h2_2 {
        margin-bottom: 21px;
    }
    
    .page-races_u18 .button1 {
        padding-bottom: 22px;
    }
    
    .page-races_u18 .p2 {
        padding-bottom: 24px;
    }
    
    .page-races_u18 .button2 {
        padding-bottom: 18px;
    }
    
    .page-races_u18 .p3 {
        width: var(--width-90);
        max-width: var(--content-width-4);
        margin-left: auto;
        margin-right: auto;
    }

    .page-races_u18 .list2 {
        padding-bottom: 20px;
    }
    
    .page-races_u18 .p4 {
        padding-bottom: 60px;
        max-width: var(--content-width-4);
        width: var(--width-90);
        margin: 0 auto;
        text-align: left;
    }
    
    .page-races_u18 .table2 {
        padding-bottom: 88px;
        width: var(--width-100);
        max-width: var(--content-width-4);
        margin-left: auto;
        margin-right: auto;
    }
    
    .page-races_u18 .h2_3#schedule {
        padding-bottom: 30px;
    }
    
    .page-races_u18 .table3 {
        padding-bottom: 20px;
    }
    
    .page-races_u18 #regulation_u18 {
        padding-top: 65px;
    }
    
    .page-races_u18 .h2_4 {
        margin-bottom: 20px;
    }
    
    .page-races_u18 .p5 {
        width: var(--width-90);
        margin: 0 auto;
        margin-bottom: 35px;
    }
    
    .page-races_u18 #navi-page-2 {
        padding-bottom: 80px;
    }
    .page-races_u18 #navi-page-2 ul li:first-child {
        border-left: unset;
    }
    
    .page-races_u18 #navi-page-2 ul li:last-child {
        border-right: unset;
    }
    
    .page-races_u18 .h2_5,
    .page-races_u18 .h2_6 {
        padding-bottom: 10px;
    }

    .page-races_u18 .table4 {
        padding-top: 30px;
        padding-bottom: 40px;
    }
    
    .page-races_u18 .table5 {
        padding-bottom: 200px;
    }
}
@media (max-width: 1250px) {
    .page-races #regulation_u18 .flex .col {
        width: 100%;
    }    
}
@media (max-width: 767px) {

    .page-races_u18 #navi-page ul li a {
        margin: 0 7px;
        padding-left: 9px;
    }
    .page-races_u18 .img1 {
        padding-bottom: 20px;
    }
    
    .page-races_u18 .h2_1 {
        padding-top: 60px;
        padding-bottom: 26px;
    }
    
    .page-races_u18 .list1 {
        padding-bottom: 20px;
    }
    
    .page-races_u18 .img2 {
        padding-bottom: 15px;
    }
    
    .page-races_u18 #schedule_u18 {
        padding-top: 40px;
        padding-bottom: 60px;
    }

    .page-races_u18 .list2 {
        padding-bottom: 10px;
    }
    
    .page-races_u18 .p4 {
        padding-bottom: 50px;
    }
    
    .page-races_u18 .table2 {
        padding-bottom: 60px;
    }

    .page-races_u18 #navi-page-2 {
        padding-bottom: 40px;
    }

    .page-races_u18 #regulation_u18 {
        padding-top: 40px;
    }
    
    .page-races #regulation_u18 .flex {
        padding-bottom: 100px;
    }
}
@media (max-width:767px) {
    .page-races_u18 .table4 {
        padding-bottom: 20px;
    }
    .page-races_u18 .table5 {
        padding-bottom: 100px;
    }
}