/*
 * Theme Name: GGF-T
 */
 @charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500&display=swap');

html {
    font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    color: #000;
    height: 100%;
}
body{
    height: 100%;
    background: #FFF;
    overscroll-behavior-y: none;
}

:root {
    --fontjp: 'Noto Sans JP', sans-serif;
    --border: 10px solid #000;
}
@media only screen and (max-width: 750px) {
    :root {
        --border: 6px solid #000;
    }
}

.pc { display: block; }
.sp { display: none; }
@media only screen and (max-width: 750px) {
    .pc { display: none; }
    .sp { display: block; }
}

.link_range {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
}

img {
    width: 100%;
    height: auto;
}


/*------------------------------------*\
    共通 (動き)
\*------------------------------------*/
.inview, .inview2 {
    transition: all 800ms ease-in-out;
    opacity: 0;
}
.inview_up, .inview_up2 {
    transition: all 500ms ease-in-out;
    opacity: 0;
    transform: translate(0,10px);
}
.inview_action {
    opacity: 1.0;
}
.inview_up_action {
    opacity: 1.0;
    transform: translate(0,0);
}

.js_draw_text {
    position: relative;
    display: inline-block;
    color: transparent;
}
.js_draw_text.action {
    color: #000;
}
.js_draw_text::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #cbcbcb;
    transform-origin: top left;
    transform: scaleX(0);
    padding-bottom: 4px;
}
.js_draw_text.action1::before {
    content: "";
    transform: none;
    transition: all 300ms cubic-bezier(0, 0.9, 0.2, 1);
}
.js_draw_text.action2::before {
    content: "";
    transform-origin: top right;
    transition: none;
}
.js_draw_text.action3::before {
    content: "";
    transform: scaleX(0);
    transition: all 300ms cubic-bezier(0, 0.9, 0.2, 1);
}


.com_catch.js_draw_text {
    color: transparent;
}
.com_catch.js_draw_text.action {
    color: #000;
}

.com_catch.white.js_draw_text {
    color: transparent;
}
.com_catch.white.js_draw_text.action {
    color: #FFF;
}
.com_catch.white.js_draw_text::before {
    background: #FFF;
}

/*------------------------------------*\
    header (logo)
\*------------------------------------*/
.header_logo_wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 13%;
    max-width: calc(42vh * (52 / 150));
    z-index: 950;
    border: var(--border);
    transition: all 300ms ease-in-out;
}
.header_logo {
}
@media only screen and (max-width:750px) {
    .header_logo_wrap {
        width: 50px;
        max-width: none;
    }
    body.page_top.scroll_top .header_logo_wrap {
        width: 100px;
    }
    body.page_top.nav_open .header_logo_wrap {
        width: 50px;
    }
}


/*------------------------------------*\
    header (button)
\*------------------------------------*/
.header_nav_button_wrap {
    position: fixed;
    top: 24px;
    right: 2%;
    z-index: 931;
    cursor: pointer;
    /* filter: invert(100%); */
    /* mix-blend-mode: exclusion; */
    transition: all 500ms ease-in-out;
}
@media only screen and (max-width:750px) {
    .header_nav_button_wrap {
        top: 7px;
        right: 3%;
    }
}


.header_nav_button_inner {
    width: 62px;
    height: 52px;
    position: relative;
}
@media only screen and (max-width:750px) {
    .header_nav_button_inner {
        width: 52px;
    }
}
.header_nav_button_line {
    width: 56px;
    height: 10px;
    background-color: #000;
    border: none;
    font-size: 0;
    position: absolute;
    left: 3px;
    transition: all 300ms ease-in-out;
}
.header_nav_button_line.line_1 {
    top: 12px;
}
.header_nav_button_line.line_2 {
    top: 32px;
}
@media only screen and (max-width:750px) {
    .header_nav_button_line {
        width: 36px;
        height: 6px;
        left: 6px;
    }
    .header_nav_button_line.line_1 {
        top: 16px;
    }
    .header_nav_button_line.line_2 {
        top: 28px;
    }
}
body.nav_open .header_nav_button_line.line_1 {
    width: 44px;
    top: 22px;
    left: 8px;
    transform: rotate(45deg);
}
body.nav_open .header_nav_button_line.line_2 {
    width: 44px;
    top: 22px;
    left: 8px;
    transform: rotate(-45deg);
}
@media only screen and (max-width:750px) {
    body.nav_open .header_nav_button_line.line_1 {
        width: 32px;
        top: 23px;
        left: 8px;
    }
    body.nav_open .header_nav_button_line.line_2 {
        width: 32px;
        top: 23px;
        left: 8px;
    }
}



/*------------------------------------*\
    header (navigation)
\*------------------------------------*/
.header_background_wrap {
    display: block;
    width: 100vw;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #000;
    opacity: 0;
    visibility: hidden;
    transition: all 500ms ease-in-out;
    z-index: 928;
}
body.nav_open .header_background_wrap {
    opacity: 0;
    visibility: visible;
}

.header_open_wrap {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    right: 0;
    visibility: hidden;
    opacity: 0;
    transition: all 500ms ease-in-out; 
    z-index: 930;
}
body.nav_open .header_open_wrap {
    visibility: visible;
    opacity: 1;
}
.header_open_inner {
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    position: relative;
    overflow: hidden;   
    border: var(--border);
}
@media only screen and (max-width:750px) {
    .header_open_inner {
        width: calc(100% - 12px);
        height: calc(100% - 12px);
    }
}
.header_open_scroll_wrap {
    width: 100%;
    height: calc(100% - 50px);
    margin-top: 50px;
    overflow-y: scroll;
    overscroll-behavior-y: contain;
}

.header_open_back {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.95;
    background-color: #FFF;
}



/*------------------------------------*\
    header (nav)
\*------------------------------------*/
.header_open_nav_wrap {
    height: 100%;
}
@media only screen and (max-width:750px) {
}

.header_open_nav {
    width: 70%;
    max-width: 682px;
    margin: 0 auto;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
body[data-language="en"] .header_open_nav {
    max-width: 750px;
    padding-left: 4%;
}
.header_open_nav_ul {
    width: 100%;
    column-count: 2;
}
@media only screen and (max-width:750px) {
    .header_open_nav {
        width: auto;
        margin-left: 26%;
        align-items: flex-start;
    }
    body[data-language="en"] .header_open_nav {
        max-width: 76%;
        margin-left: 24%;
        padding-left: 0;
    }
    .header_open_nav_ul {
        width: auto;
        column-count: 1;
        padding-left: 0;
    }
}
.header_open_nav_ul li {
    break-inside: avoid;
    padding-bottom: 6vh;
}
body[data-language="en"] .header_open_nav_ul li {
    padding-bottom: 4.5vh;
    min-height: 100px;
}
@media only screen and (max-width:750px) {
    .header_open_nav_ul li {
        padding-bottom: 3.5vh;
    }
    body[data-language="en"] .header_open_nav_ul li {
        padding-bottom: 3.5vh;
        min-height: auto;
    }
}
.header_open_nav_name_wrap {
}
.header_open_nav_link {
    display: inline-flex;
    align-items: center;
    position: relative;
    transition: all 300ms ease-in-out;
}
.header_open_nav_link:hover {
    opacity: 0.8;
}
.header_open_nav_name {
    width: auto;
    height: 30px;
    margin-right: 15px;
}
.header_open_nav_icon {
    width: 30px;
}
@media only screen and (max-width:750px) {
    .header_open_nav_name {
        height: 15px;
        margin-right: 8px;
    }
    .header_open_nav_icon {
        width: 15px;
    }
}
.header_open_nav_text {
    font-family: var(--fonten);
    font-size: 22px;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #C5202C;
    margin-top: 20px;
}
body[data-language="en"] .header_open_nav_text {
    line-height: 26px;
    margin-top: 14px;
}
@media only screen and (max-width:750px) {
    .header_open_nav_text {
        font-size: 11px;
        margin-top: 7px;
    }
    body[data-language="en"] .header_open_nav_text {
        line-height: 14px;
        margin-top: 6px;
    }
}



/*------------------------------------*\
    header (modal)
\*------------------------------------*/
.header_modal_wrap {
    width: calc(100% - 20px);
    height: calc(100vh - 20px);
    position: fixed;
    top: 0;
    right: 0;
    visibility: hidden;
    opacity: 0;
    transition: all 500ms ease-in-out; 
    z-index: 960;
    border: var(--border);
}
body.modal_open .header_modal_wrap {
    visibility: visible;
    opacity: 1;
}
@media only screen and (max-width:750px) {
    .header_modal_wrap {
        width: calc(100% - 12px);
        height: calc(100vh - 12px);
    }
}

.modal_back {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.95;
    background-color: #FFF;
}

.modal_wrap {
    /* width: auto; */
    max-width: 100%;
    /* height: calc(100% - 5vh); */
    /* margin: 0 auto; */
    /* margin-top: 5vh; */
    position: relative;
    /* overflow: hidden; */
    display: inline-block;
    position: relative;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
}
.modal_scroll_wrap {
    /* width: auto; */
    /* height: 100%; */
    /* max-height: calc(100vh - 20px); */
    /* overflow-y: scroll; */
    /* overscroll-behavior-y: contain; */
}
@media only screen and (max-width:750px) {
    .modal_scroll_wrap {
        /* max-height: calc(100vh - 12px); */
    }
}


.modal_content {
    margin-top: 5vh;
    /* display: flex;
    justify-content: center;
    align-items: center; */
}
.modal_content .com_banzuke_detail_img {
    height: 100%;
    width: auto;
    max-height: calc(100vh - 20px - 5vh - 5vh);
    max-width: 100%;
}
@media only screen and (max-width:750px) {
    .modal_content {
        margin-top: 60px;
    }
    .modal_content .com_banzuke_detail_img {
        max-height: calc(100vh - 12px - 60px - 4vh);
    }
}

.modal_close_button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 320px;
    height: 70px;
    margin: 0 auto;
    border: 3px solid #000;
    font-family: var(--fontjp);
    font-size: 22px;
    letter-spacing: 0.1em;
    font-weight: bold;
    color: #000;
    cursor: pointer;
    margin-top: 5vh;
    margin-bottom: 5vh;
    transition: all 300ms ease-in-out;
}
.modal_close_button:hover {
    opacity: 0.6;
}
@media only screen and (max-width:750px) {
    .modal_close_button {
        width: 220px;
        max-width: 80%;
        height: 50px;
        border: 2px solid #000;
        font-size: 14px;
        margin-top: 4vh;
        margin-bottom: 4vh;
    }
}

/* 閉じる */
.modal_button_wrap {
    position: absolute;
    right: 23px;
    top: 14px;
    cursor: pointer;
}
.modal_button {
    width: 52px;
    height: 52px;
    position: relative;
}
.modal_button_line {
    width: 44px;
    height: 10px;
    background-color: #000;
    border: none;
    font-size: 0;
    position: absolute;
    top: 22px;
    left: 8px;
    transition: all 300ms ease-in-out;
}
.modal_button_line.line_1 {
    transform: rotate(45deg);
}
.modal_button_line.line_2 {
    transform: rotate(-45deg);
}
@media only screen and (max-width:750px) {
    .modal_button_wrap {
        right: 3px;
        top: 3px;
    }
    .modal_button_line {
        width: 36px;
        height: 6px;
    }
}



/* モーダルの中身 */
#shashu_slick {
    height: 0;
    overflow: hidden;
}
#shashu_slick.visible {
    height: auto;
    overflow: visible;
}
#banzuke_nishi, #banzuke_higashi, #banzuke_shashu {
    display: none;
    max-height: calc(100vh - 20px - 5vh - 5vh);
    object-fit: contain;
}
#banzuke_nishi.visible, #banzuke_higashi.visible, #banzuke_shashu.visible {
    display: block;
}
@media only screen and (max-width:750px) {
    #banzuke_nishi, #banzuke_higashi, #banzuke_shashu {
        display: none;
        width: 85%;
        max-height: calc(100vh - 12px - 60px - 4vh);
        object-fit: contain;
        margin: 0 auto;
    }
}



/*------------------------------------*\
    共通
\*------------------------------------*/
/* タイトル */
.com_title_wrap {
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
}
.com_title {
}
.com_title_img {
    height: 76px;
    width: auto;
}
@media only screen and (max-width:750px) {
    .com_title_img {
        height: 55px;
        max-width: 90%;
    }
}
.com_title_img.multiply {
    mix-blend-mode: multiply;
}
.com_catch {
    font-family: var(--fontjp);
    font-size: 32px;
    line-height: 40px;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #000;
    margin-top: 10px;
}
.com_catch.white {
    color: #FFF;
}
@media only screen and (max-width:750px) {
    .com_catch {
        font-size: 22px;
        line-height: 28px;
    }
}


/* テキスト */
.com_text_wrap {
    margin-top: 30px;
}
.com_text {
    font-family: var(--fontjp);
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0.1em;
    font-weight: bold;
    color: #000;
}
@media only screen and (max-width:750px) {
    .com_text_wrap {
        margin-top: 20px;
    }
    .com_text {
        font-size: 13px;
        line-height: 20px;
    }
}



/* コンテンツ */
.com_content_wrap {
    padding-top: 40px;
    padding-bottom: 40px;
}
.com_content_inner {
    width: 90%;
    margin: 0 auto;
    text-align: center;
}
body[data-language="en"] .com_content_inner {
    max-width: 950px;
}
.com_content_title {
}
.com_content_title_img {
    height: 19px;
    width: auto;
}
.com_content_catch {
    font-family: var(--fontjp);
    font-size: 36px;
    line-height: 44px;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #000;
    margin-top: 10px;
}
.com_content_text {
    font-family: var(--fontjp);
    font-size: 18px;
    line-height: 42px;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #000;
    margin-top: 40px;
}
body[data-language="en"] .com_content_text {
    text-align: left;
}
@media only screen and (max-width:750px) {
    .com_content_title_img {
        height: 10px;
    }
    .com_content_catch {
        font-size: 24px;
        line-height: 30px;
    }
    .com_content_text {
        font-size: 14px;
        line-height: 32px;
    }
}



/* dl dt dd */
.com_event_detail {
    width: 80%;
    margin: 0 auto;
    margin-top: 30px;
    margin-bottom: 30px;
    max-width: 600px;
    position: relative;
}
.com_event_end_img {
    width: auto;
    height: calc(100% + 60px);
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translate(-50%, 0);
}
.com_dl {
    margin-top: 30px;
    margin-bottom: 30px;
}
.com_dl_content {
    display: flex;
    align-items: flex-start;
    margin-bottom: 18px;
}
body[data-language="en"] .com_dl_content {
    flex-direction: column;
}
.com_dl_content:last-child {
    margin-bottom: 0;
}
.com_dl_content dt {
    font-family: var(--fontjp);
    font-size: 15px;
    letter-spacing: 0.2em;
    font-weight: bold;
    white-space: nowrap;
    color: #000;
    min-width: 100px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #000;
}
body[data-language="en"] .com_dl_content dt {
    font-size: 14px;
    line-height: 18px;
    white-space: normal;
    width: 250px;
    height: auto;
    min-height: 26px;
    padding: 0px 7px;
    text-align: center;
}
.com_dl_content dd {
    font-family: var(--fontjp);
    font-size: 18px;
    line-height: 26px;
    letter-spacing: 0.1em;
    font-weight: bold;
    color: #000;
    margin-left: 12px;
}
body[data-language="en"] .com_dl_content dd {
    margin-top: 4px;
}
@media only screen and (max-width:750px) {
    .com_event_detail {
        width: 85%;
        margin-top: 15px;
        margin-bottom: 15px;
    }
    .com_event_end_img {
        height: calc(100% + 30px);
        top: -15px;
        max-width: 80%;
    }
    .com_dl {
        margin-top: 15px;
        margin-bottom: 15px;
    }
    .com_dl_content dt {
        width: 84px;
        font-size: 11px;
        min-width: auto;
        height: 18px;
    }
    body[data-language="en"] .com_dl_content dt {
        font-size: 11px;
        line-height: 12px;
        width: 180px;
        min-height: 20px;
    }
    .com_dl_content dd {
        width: calc(100% - 84px - 10px);
        font-size: 14px;
        line-height: 21px;
        letter-spacing: 0.05em;
        margin-left: 10px;
        word-wrap: break-word;
    }
    body[data-language="en"] .com_dl_content dd {
        width: 100%;
        margin-left: 5px;
    }
}




/* ボタン */
.com_button_wrap {
    margin-top: 30px;
    margin-bottom: 30px;
}
.com_button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 430px;
    height: 64px;
    margin: 0 auto;
    position: relative;
    border: 1px solid #000;
    transition: all 300ms ease-in-out;
}
.com_button_text {
    font-family: var(--fontjp);
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0.04em;
    font-weight: bold;
    color: #000;
    padding-left: 20px;
    padding-right: 20px;
    transition: all 300ms ease-in-out;
}
@media only screen and (max-width:750px) {
    .com_button_wrap {
        margin-top: 15px;
        margin-bottom: 15px;
    }
    .com_button {
        width: 340px;
        max-width: 90%;
        height: 60px;
    }
    .com_button_text {
        font-size: 14px;
        line-height: 18px;
        padding-left: 20px;
        padding-right: 30px;
    }
}


.com_button_icon {
    width: 20px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translate(0, -50%);
}
.com_button_icon .cls-1 {
    fill: none;
    stroke: #000;
    stroke-miterlimit: 10;
    transition: all 300ms ease-in-out;
}
@media only screen and (max-width:750px) {
    .com_button_icon {
        width: 16px;
        right: 12px;
    }
}


.com_button_icon_2 {
    width: 20px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translate(0, -50%);
}
.com_button_icon_2 .cls-1 {
    fill: none;
    stroke: #FFF;
    stroke-miterlimit: 10;
    transition: all 300ms ease-in-out;
}
.com_button_icon_2 .cls-2 { 
    fill: #000;
    stroke-width:0px;
    transition: all 300ms ease-in-out;
}
@media only screen and (max-width:750px) {
    .com_button_icon_2 {
        width: 16px;
        right: 12px;
    }
}


/* ボタン hover */
.com_button:hover {
    background: #000;
    border: 1px solid #000;
}
.com_button:hover .com_button_text {
    color: #FFF;
}
.com_button:hover .com_button_icon .cls-1 {
    stroke: #FFF;
}
.com_button:hover .com_button_icon_2 .cls-1 {
    stroke: #000;
}
.com_button:hover .com_button_icon_2 .cls-2 {
    fill: #FFF;
}



/* ボタン #FFF */
.com_button.white {
    border: 1px solid #FFF;
}
.com_button.white .com_button_text {
    color: #FFF;
}
.com_button.white .com_button_icon .cls-1 {
    stroke: #FFF;
}
.com_button.white:hover {
    background: #000;
    border: 1px solid #000;
}
.com_button.white:hover .com_button_text {
    color: #FFF;
}
.com_button.white:hover .com_button_icon .cls-1 {
    stroke: #FFF;
}


/* ボタン #000 */
.com_button.black {
    border: 1px solid #000;
    background-color: #000;
}
.com_button.black .com_button_text {
    color: #FFF;
}
.com_button.black .com_button_icon .cls-1 {
    stroke: #FFF;
}
.com_button.black .com_button_icon_2 .cls-1 {
    stroke: #000;
}
.com_button.black .com_button_icon_2 .cls-2 { 
    fill: #FFF;
}
.com_button.black:hover {
    background: #FFF;
    border: 1px solid #000;
}
.com_button.black:hover .com_button_text {
    color: #000;
}
.com_button.black:hover .com_button_icon .cls-1 {
    stroke: #000;
}
.com_button.black:hover .com_button_icon_2 .cls-1 {
    stroke: #FFF;
}
.com_button.black:hover .com_button_icon_2 .cls-2 { 
    fill: #000;
}



/* 拡大ボタン */
.com_zoom_button_wrap {
    margin-top: 20px;
}
.com_zoom_button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 160px;
    height: 42px;
    margin: 0 auto;
    position: relative;
    border: 1px solid #000;
    cursor: pointer;
    transition: all 300ms ease-in-out;
}
body[data-language="en"] .com_zoom_button {
    width: 180px;
}
.com_zoom_button:hover {
    opacity: 0.7;
}
.com_zoom_button_text {
    font-family: var(--fontjp);
    font-size: 16px;
    letter-spacing: 0.04em;
    font-weight: bold;
    color: #000;
    transition: all 300ms ease-in-out;
}
.com_zoom_button_icon {
    width: 16px;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translate(0, -50%);
}
.com_zoom_button_icon .cls-1 {
    stroke-width: 0px;
    stroke: #000;
    transition: all 300ms ease-in-out;
}
@media only screen and (max-width:750px) {
    .com_zoom_button_wrap {
        margin-top: 15px;
    }
    .com_zoom_button {
        width: 120px;
        height: 30px;
    }
    body[data-language="en"] .com_zoom_button {
        width: 140px;
    }
    .com_zoom_button_text {
        font-size: 12px;
    }
    .com_zoom_button_icon {
        width: 12px;
        right: 12px;
    }
}



/* リスト */
.com_list_wrap {
    width: 80%;
    max-width: 1500px;
    margin: 0 auto;
    margin-top: 30px;
    margin-bottom: 30px;
}
@media only screen and (max-width:750px) {
    .com_list_wrap {
        width: 85%;
        margin-top: 15px;
        margin-bottom: 15px;
    }
}
.com_list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 20px;
}
.com_list_content {
    width: calc(100% / 3 - 15px);
}
@media only screen and (max-width:750px) {
    .com_list {
        flex-direction: column;
        gap: 50px 20px;
    }
    .com_list_content {
        width: 100%;
    }
}
.com_list_content_img_wrap {
    position: relative;
}
.com_list_content_img {
    width: 100%;
    height: auto;
    aspect-ratio: 354 / 240;
    object-fit: cover;
}
.com_list_content_img_logo {
    position: absolute;
    right: 16px;
    bottom: 12px;
    width: auto;
    height: 12px;
}
.com_list_content_title_wrap {
    text-align: center;
    margin-top: 18px;
}
.com_list_content_title {
    font-family: var(--fontjp);
    font-size: 18px;
    line-height: 27px;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #000;
}
@media only screen and (max-width:750px) {
    .com_list_content_title_wrap {
        margin-top: 12px;
    }
    .com_list_content_title {
        font-size: 15px;
        line-height: 22px;
    }
}
.com_list_content_text_wrap {
    margin-top: 16px;
}
.com_list_content_text {
    font-family: var(--fontjp);
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #000;
}
.com_list_content_text_sub {
    font-family: var(--fontjp);
    font-size: 13px;
    line-height: 19px;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #000;
    margin-top: 6px;
}
@media only screen and (max-width:750px) {
    .com_list_content_text_wrap {
        margin-top: 12px;
    }
    .com_list_content_text {
        font-size: 13px;
        line-height: 20px;
    }
    .com_list_content_text_sub {
        font-size: 10px;
        line-height: 15px;
    }
}



/* デザイン */
.com_design_wrap {
    display: flex;
    align-items: center;
    width: 70%;
    max-width: 1300px;
    margin: 0 auto;
    margin-top: 30px;
    margin-bottom: 30px;
}
@media only screen and (max-width:750px) {
    .com_design_wrap {
        width: 85%;
        margin-top: 15px;
        margin-bottom: 15px;
        flex-direction: column-reverse;
    }
}
.com_design_text_wrap {
    width: 44%;
    margin-right: 3%;
}
@media only screen and (max-width:750px) {
    .com_design_text_wrap {
        width: calc(100% - 16px);
        margin-left: 16px;
        margin-right: 0;
        margin-top: 20px;
    }
}
.com_design_text {
    font-family: var(--fontjp);
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #000;
    position: relative;
    margin-bottom: 8px;
}
.com_design_text .text_red {
    color: red;
}
@media only screen and (max-width:750px) {
    .com_design_text {
        font-size: 13px;
        line-height: 20px;
        margin-bottom: 10px;
    }
}
.com_design_text::before {
    content: "";
    display: block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    position: absolute;
    background-color: #000;
    top: 8px;
    left: -14px;
}
@media only screen and (max-width:750px) {
    .com_design_text::before {
        top: 6px;
    }
}
.com_design_img_wrap {
    position: relative;
    width: 53%;
}
@media only screen and (max-width:750px) {
    .com_design_img_wrap {
        width: 100%;
    }
}
.com_design_img_wrap::before {
    content: "";
    display: block;
    padding-top: calc(100% * (2 / 3));
  }
.com_design_img {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.com_design_img_wrap.img_setup::before {
    padding-top: calc(100% * (320 / 504));
}
.com_design_img_wrap.img_setup .com_design_img {
    background-image: url(img/top_setup.jpg);
}


/* スライド */
.com_slick_wrap {
    margin-top: 30px;
    margin-bottom: 40px;
}
@media only screen and (max-width:750px) {
    .com_slick_wrap {
        margin-top: 15px;
        margin-bottom: 30px;
    }
}
.com_slick {
    visibility: hidden;
    opacity: 0;
    transition: all 1000ms ease-in-out;
}
.com_slick.visible {
    visibility: visible;
    opacity: 1;
}
.com_slick li {
}
.com_slick_content {
}
.com_slick_content_img {
}


.com_slick .dot {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 33px;
    padding-bottom: 33px;
}
@media only screen and (max-width:750px) {
    .com_slick .dot {
        margin-top: 15px;
        padding-bottom: 15px;
    }
}
.com_slick .dot li {
    margin: 0px 7px;
    cursor: pointer;
}
.com_slick .dot li::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #808080;
    transition: all 300ms ease-in-out;
}
.com_slick .dot li.slick-active::before {
    width: 12px;
    height: 12px;
    background-color: #FFF;
}
.com_slick .dot li button {
    display: none;
}



#lineup .slick-list {
    padding-top: 15px;
}
#lineup .com_slick_content {
    position: relative;
    top: 0;
    cursor: pointer;
    transition: all 150ms ease-in-out;
}
#lineup .com_slick_content:hover {
    top: -15px;
}
@media only screen and (max-width:750px) {
    #lineup .slick-list {
        padding-top: 0;
    }
    #lineup .com_slick_content:hover {
        top: 0;
    }
    #top_line_working_slick.com_slick {
        margin-top: 10px;
    }
    #top_line_working_slick .com_slick_content_img {
        /* aspect-ratio: 3 / 2; */
        /* object-fit: cover; */
    }
}



/* 番付 */
.com_banzuke_wrap {
    width: 65%;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 30px;
    margin-bottom: 60px;
}
.com_banzuke_img {
}
.com_banzuke_detail_wrap {
    display: flex;
    justify-content: center;
    border: 1px solid #E9E9E7;
    margin-top: 40px;
}
.com_banzuke_detail {
    width: calc(50% - 80px);
    padding: 40px;
}
.com_banzuke_detail:nth-child(odd) {
    border-right: 1px solid #E9E9E7;
}
.com_banzuke_detail_img {
}
@media only screen and (max-width:750px) {
    .com_banzuke_wrap {
        width: 85%;
        margin-top: 15px;
        margin-bottom: 40px;
    }
    .com_banzuke_detail_wrap {
        border: none;
        margin-top: 30px;
        gap: 15px;
    }
    .com_banzuke_detail {
        width: 50%;
        padding: 0;
    }
    .com_banzuke_detail:nth-child(odd) {
        border-right: none;
    }
}




/*------------------------------------*\
    top 
\*------------------------------------*/
.top_main {
}
.top_fv_wrap {
}
.top_fv_inner {
}
.top_fv_content_wrap {
    position: relative;
    height: calc(100vh - 20px);
    border: var(--border);
}
@media only screen and (max-width:750px) {
    .top_fv_content_wrap {
        height: calc(100svh - 12px);
    }
}


/*------------------------------------*\
    top FV 映像
\*------------------------------------*/
.top_fv_video_wrap {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
    transition: all 500ms cubic-bezier(1, 0.04, 0.47, 0.9);
    z-index: 1;
}
.top_fv_video {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 1;

    opacity: 0;
    transition: all 1200ms ease-in-out;
}
.top_fv_video.fv_start {
    opacity: 1;
}
.top_fv_video.width_max {
    width: 100%;
}
.top_fv_video.height_max {
    height: calc(100% + 1px);
}

.top_fv_video_overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background-color: #212121;
    opacity: 0;
}
@media only screen and (max-width:750px) {
}


.top_fv_title_wrap {
    position: absolute;
    right: 8%;
    top: 50%;
    transform: translate(0, -50%);
    width: 10%;
    max-width: calc(68vh * (34 / 150));
    min-width: calc(60vh * (34 / 150));
    z-index: 2;
}
.top_fv_title { 
}
@media only screen and (max-width:750px) {
    .top_fv_title_wrap {
        right: 5%;
        top: auto;
        transform: none;
        bottom: 14%;
        width: 100px;
        min-width: auto;
    }
}

.top_fv_banner_wrap {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 40%;
    max-width: calc(12vh * (300 / 64));
    min-width: calc(10vh * (300 / 64));
    z-index: 3;
}
@media only screen and (max-width:750px) {
    .top_fv_banner_wrap {
        width: 100%;
        max-width: none;
        min-width: auto;
    }
}
.top_fv_banner_link {
    display: block;
    font-size: 0;
    transition: all 300ms ease-in-out;
}
.top_fv_banner_link:hover {
    opacity: 0.8;
}
.top_fv_banner {  
}



/*------------------------------------*\
    top ABOUT
\*------------------------------------*/
.top_about_wrap {
    border-left: var(--border);
    border-right: var(--border);
    padding-top: 40px;
    padding-bottom: 40px;
}
.top_about_inner {
}
@media only screen and (max-width:750px) {
}

.top_about_img_wrap {
    width: 100%;
    margin: 0 auto;
    margin-top: 30px;
    margin-bottom: 30px;
    max-width: 1500px;
}
.top_about_img {
}
@media only screen and (max-width:750px) {
    .top_about_img_wrap {
        margin-top: 0px;
        margin-bottom: 0px;
        overflow: hidden;
    }
    .top_about_img {
        width: 150%;
        position: relative;
        left: -25%;
    }
}


/*------------------------------------*\
    top EVENT
\*------------------------------------*/
.top_event_wrap {
    border-top: var(--border);
    border-left: var(--border);
    border-right: var(--border);
    padding-top: 40px;
    padding-bottom: 40px;
}
.top_event_inner {
}
@media only screen and (max-width:750px) {
}


/*------------------------------------*\
    top RULE
\*------------------------------------*/
.top_rule_wrap {
    border-top: var(--border);
    border-left: var(--border);
    border-right: var(--border);
    background-color: #C5202C;
    padding-top: 40px;
    padding-bottom: 60px;
}
.top_rule_inner {
}
.top_rule_video_wrap {
    width: 70%;
    margin: 0 auto;
    margin-top: 25px;
}
.top_rule_video {
    width: 100%;
    height: auto;
}
@media only screen and (max-width:750px) {
    .top_rule_video_wrap {
        width: 100%;
    }
}


/*------------------------------------*\
    top ITEMS
\*------------------------------------*/
.top_items_wrap {
    border-top: var(--border);
    border-left: var(--border);
    border-right: var(--border);
    padding-top: 40px;
    padding-bottom: 60px;
}
.top_items_inner {
}
@media only screen and (max-width:750px) {
}


/*------------------------------------*\
    top SET UP
\*------------------------------------*/
.top_set_wrap {
    border-top: var(--border);
    border-left: var(--border);
    border-right: var(--border);
    background-color: #E9E9E7;
    padding-top: 40px;
    padding-bottom: 60px;
}
.top_set_inner {
}
@media only screen and (max-width:750px) {
}


/*------------------------------------*\
    top TOURNAMENT
\*------------------------------------*/
.top_tournament_wrap {
    border-top: var(--border);
    border-left: var(--border);
    border-right: var(--border);
    padding-top: 40px;
    padding-bottom: 60px;
}
.top_tournament_inner {
}
@media only screen and (max-width:750px) {
}
.top_games_content_wrap {
    display: flex;
    align-items: flex-start;
    width: 70%;
    max-width: 1300px;
    margin: 0 auto;
    margin-top: 30px;
    margin-bottom: 30px;
}
@media only screen and (max-width:750px) {
    .top_games_content_wrap {
        width: 85%;
        margin-top: 15px;
        margin-bottom: 15px;
        flex-direction: column;
    }
}
.top_games_img_and_rule_wrap {
    width: 53%;
}
@media only screen and (max-width:750px) {
    .top_games_img_and_rule_wrap {
        width: 100%;
    }
}
.top_games_img_wrap {
}
.top_games_img { 
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.top_games_rule_wrap {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 36px;
}
@media only screen and (max-width:750px) {
    .top_games_rule_wrap {
        gap: 15px;
        margin-top: 20px;
    }
}
.top_games_rule {
    max-width: 200px;
    width: 50%;
}
.top_games_rule_rabel {
    font-family: var(--fontjp);
    font-size: 14px;
    letter-spacing: 0.2em;
    font-weight: bold;
    white-space: nowrap;
    color: #000;
    min-width: 100px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #000;
}
@media only screen and (max-width:750px) {
    .top_games_rule_rabel {
        font-size: 11px;
        height: 17px;
    }
}
.top_games_rule_catch {
    font-family: var(--fontjp);
    font-size: 20px;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #000;
    text-align: center;
    margin-top: 20px;
}
body[data-language="en"] .top_games_rule_catch {
    font-size: 18px;
    line-height: 22px;
    text-align: left;
}
.top_games_rule_text {
    font-family: var(--fontjp);
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #000;
    margin-top: 10px;
}
@media only screen and (max-width:750px) {
    .top_games_rule_catch {
        font-size: 14px;
        line-height: 18px;
        margin-top: 10px;
    }
    body[data-language="en"] .top_games_rule_catch {
        font-size: 13px;
        line-height: 18px;
    }
    .top_games_rule_text {
        font-size: 10px;
        line-height: 15px;
        margin-top: 10px;
    }
}

.top_games_detail_wrap {
    width: 44%;
    margin-left: 3%;
}
@media only screen and (max-width:750px) {
    .top_games_detail_wrap {
        width: 100%;
        margin-left: 0;
        margin-top: 30px;
    }
}
.top_games_no_and_text_wrap {
    display: flex;
    align-items: flex-start;
    margin-bottom: 22px;
}
@media only screen and (max-width:750px) {
    .top_games_no_and_text_wrap {
        margin-bottom: 15px;
    }
}
.top_games_no {
    width: 32px;
    height: auto;
}
@media only screen and (max-width:750px) {
    .top_games_no {
        width: 24px;
    }
}
.top_games_text_wrap {
    margin-left: 12px;
}
.top_games_text {
    font-family: var(--fontjp);
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.1em;
    font-weight: bold;
    color: #000;
}
.top_games_text_sub {
    font-family: var(--fontjp);
    font-size: 13px;
    line-height: 18px;
    letter-spacing: 0.1em;
    font-weight: bold;
    color: #000;
    margin-top: 4px;
}
@media only screen and (max-width:750px) {
    .top_games_text_wrap {
        margin-left: 8px;
    }
    .top_games_text {
        font-size: 13px;
        line-height: 20px;
    }
    .top_games_text_sub {
        font-size: 10px;
        line-height: 15px;
    }
}


/*------------------------------------*\
    top LINE UP
\*------------------------------------*/
.top_line_wrap {
    border-top: var(--border);
    border-left: var(--border);
    border-right: var(--border);
    background-color: #E9E9E7;
    padding-top: 40px;
    padding-bottom: 60px;
}
.top_line_inner {
}
@media only screen and (max-width:750px) {
}


/*------------------------------------*\
    top BANZUKE
\*------------------------------------*/
.top_banzuke_wrap {
    border-top: var(--border);
    border-left: var(--border);
    border-right: var(--border);
    padding-top: 40px;
    padding-bottom: 60px;
}
.top_banzuke_inner {
}
@media only screen and (max-width:750px) {
}


/*------------------------------------*\
    top GALLERY
\*------------------------------------*/
.top_gallery_wrap {
    border-top: var(--border);
    border-left: var(--border);
    border-right: var(--border);
    background-color: #000;
    padding-top: 40px;
    padding-bottom: 60px;
}
.top_gallery_inner {
}
@media only screen and (max-width:750px) {
}

.com_slick_wrap.top_gallery {
    width: 65%;
    max-width: 2000px;
    margin: 0 auto;
    margin-top: 30px;
}
@media only screen and (max-width:750px) {
    .com_slick_wrap.top_gallery {
        width: 100%;
        margin-top: 15px;
    }
}





/*------------------------------------*\
    車種 modal
\*------------------------------------*/
#shashu_slick {
}
#shashu_slick .slick-list li {
    /* padding: 0px 3vw; */
    max-height: calc(100vh - 20px - 5vh);
    overflow-y: scroll;
    overscroll-behavior-y: contain;
    -ms-overflow-style: none; /* Microsoft Edgeへの対応 */
    scrollbar-width: none; /* Firefoxへの対応 */
}
 /* Google Chrome、Safariへの対応 */
#shashu_slick .slick-list li::-webkit-scrollbar {
    display: none;
}
@media only screen and (max-width:750px) {
    #shashu_slick .slick-list li {
        max-height: calc(100vh - 12px - 60px);
    }
}
.shashu_wrap {
    width: 80%;
    max-width: 650px;
    margin: 0 auto;
}
.shashu_img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.shashu_detail_wrap {
    margin-top: 40px;
    margin-bottom: 60px;
}
@media only screen and (max-width:750px) {
    .shashu_detail_wrap {
        margin-top: 20px;
        margin-bottom: 7vh;
    }
}
.shashu_title {
    font-family: var(--fontjp);
    font-size: 18px;
    line-height: 27px;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #000;
}
.shashu_text {
    font-family: var(--fontjp);
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #000;
    margin-top: 20px;
    margin-bottom: 40px;
}
@media only screen and (max-width:750px) {
    .shashu_title {
        font-size: 15px;
        line-height: 22px;
    }
    .shashu_text {
        font-size: 13px;
        line-height: 22px;
        margin-top: 15px;
        margin-bottom: 30px;
    }
}

.shashu_detail {
    /* margin-top: 40px;
    margin-bottom: 50px; */
}
.shashu_detail_dl {
    /* margin-top: 30px;
    margin-bottom: 30px; */
    column-count: 2;
}
@media only screen and (max-width:750px) {
    .shashu_detail {
        /* margin-top: 20px;
        margin-bottom: 25px; */
    }
    .shashu_detail_dl {
        /* margin-top: 15px;
        margin-bottom: 15px; */
        column-count: 1;
    }
}
.shashu_detail_content {
    display: flex;
    align-items: flex-start;
    margin-bottom: 18px;
    break-inside: avoid;
}
body[data-language="en"] .shashu_detail_content {
    flex-direction: column;
    margin-bottom: 25px;
}
@media only screen and (max-width:750px) {
    .shashu_detail_content {
        margin-bottom: 14px;
    }
    body[data-language="en"] .shashu_detail_content {
        flex-direction: column;
        margin-bottom: 18px;
    }
}
.shashu_detail_content:last-child {
    margin-bottom: 0;
}
/* @media only screen and (max-width:750px) {
    .shashu_detail_content:last-child {
        margin-bottom: 25px;
    }
} */
.shashu_detail_content dt {
    font-family: var(--fontjp);
    font-size: 14px;
    letter-spacing: 0.2em;
    font-weight: bold;
    white-space: nowrap;
    color: #000;
    min-width: 100px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #000;
}
body[data-language="en"] .shashu_detail_content dt {
    font-size: 14px;
    line-height: 18px;
    white-space: normal;
    width: 280px;
    height: auto;
    padding: 2px 7px;
    text-align: center;
}
@media only screen and (max-width:750px) {
    .shashu_detail_content dt {
        font-size: 11px;
        min-width: 75px;
        height: 24px;
    }
    body[data-language="en"] .shashu_detail_content dt {
        font-size: 11px;
        line-height: 14px;
        width: auto;
        min-width: 150px;
        height: 18px;
        padding: 1px 10px 3px;
    }
}
.shashu_detail_content dd {
    font-family: var(--fontjp);
    font-size: 18px;
    line-height: 26px;
    letter-spacing: 0.1em;
    font-weight: bold;
    color: #000;
    margin-left: 12px;
}
body[data-language="en"] .shashu_detail_content dd {
    margin-left: 12px;
    width: calc(100% - 12px);
    margin-top: 5px;
}
@media only screen and (max-width:750px) {
    .shashu_detail_content dd {
        font-size: 14px;
        line-height: 24px;
        margin-left: 10px;
    }
    body[data-language="en"] .shashu_detail_content dd {
        margin-left: 10px;
        margin-top: 6px;
        font-size: 13px;
        line-height: 18px;
    }
}
.shashu_para_img {
    width: 55%;
    max-width: 400px;
    margin: 0 auto;
    /* margin-top: 40px; */
}
@media only screen and (max-width:750px) {
    .shashu_para_img {
        width: 80%;
        max-width: 300px;
        /* margin-top: 30px; */
    }
}



#shashu_slick .slick_prev_wrap {
    position: fixed;
    top: 45vh;
    left: 44%;
    transform: translate(-50%, -50%);
    width: 80%;
    max-width: 650px;
    pointer-events: none;
    z-index: 2;
}
#shashu_slick .slick_next_wrap {
    position: fixed;
    top: 45vh;
    left: 56%;
    transform: translate(-50%, -50%);
    width: 80%;
    max-width: 650px;
    pointer-events: none;
    z-index: 2;
}
@media only screen and (max-width:750px) {
    #shashu_slick .slick_prev_wrap {
        position: absolute;
        top: 27vw;
        left: calc(50% - 15px);
    }
    #shashu_slick .slick_next_wrap {
        position: absolute;
        top: 27vw;
        left: calc(50% + 15px);
    }
}
#shashu_slick .slick_prev, #shashu_slick .slick_next {
    width: 52px;
    height: 52px;
    cursor: pointer;
    position: relative;
    pointer-events: auto;
}
#shashu_slick .slick_next {
    margin-left: auto;
}
@media only screen and (max-width:750px) {
    #shashu_slick .slick_prev, #shashu_slick .slick_next {
        width: 30px;
        height: 30px;
    }
}
#shashu_slick .slick_prev::before, #shashu_slick .slick_next::before {
    content: "";
    position: absolute;
    background-color: #000;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    opacity: 0.6;
}
#shashu_slick .slick_prev::after {
    content: "";
    width: 13px;
    height: calc(tan(60deg) * 13px);
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    background-color: #FFF;
    position: absolute;
    top: 50%;
    left: 45%;
    transform: translate(-50%, -50%);
    z-index: 3;
}
#shashu_slick .slick_next::after {
    content: "";
    width: 13px;
    height: calc(tan(60deg) * 13px);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background-color: #FFF;
    position: absolute;
    top: 50%;
    left: 55%;
    transform: translate(-50%, -50%);
    z-index: 3;
}
@media only screen and (max-width:750px) {
    #shashu_slick .slick_prev::after {
        width: 10px;
        height: calc(tan(60deg) * 10px);
    }
    #shashu_slick .slick_next::after {
        width: 10px;
        height: calc(tan(60deg) * 10px);
    }
}





/*------------------------------------*\
    FOOTER
\*------------------------------------*/
.footer_wrap {
    border: var(--border);
}
.footer_detail {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    width: 80%;
    margin: 0 auto;
    padding-top: 60px;
    padding-bottom: 80px;
}
@media only screen and (max-width:750px) {
    .footer_detail {
        padding-top: 40px;
        padding-bottom: 40px;
        flex-direction: column;
    }
}
.footer_logo_wrap {
}
.footer_logo {
    width: 160px;
}

.footer_nav_wrap {
    margin-left: 50px;
}
@media only screen and (max-width:750px) {
    .footer_nav_wrap {
        margin-left: 0;
        margin-top: 35px
    }
}
.footer_nav {
}
.footer_nav li {
    padding-bottom: 20px;
}
.footer_nav li:last-child {
    padding-bottom: 0;
}
@media only screen and (max-width:750px) {
    .footer_nav {
        display: flex;
        flex-wrap: wrap;
        gap: 20px 20px;
    }
    .footer_nav li {
        padding-bottom: 0;
    }
}
.footer_nav_link {
    display: inline-flex;
    align-items: center;
    position: relative;
    transition: all 300ms ease-in-out;
}
.footer_nav_link::before {
    content: "";
    width: 0;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -5px;
    border-bottom: 2px solid #000;
    transition: all 300ms ease-in-out;
}
.footer_nav_link:hover {
    opacity: 0.6;
}
.footer_nav_link:hover::before {
    width: 100%;
}
.footer_nav_text {
    font-family: var(--fontjp);
    font-size: 14px;
    font-weight: bold;
    color: #000;
    margin-right: 8px;
}
.footer_nav_icon {
    width: 13px;
}
@media only screen and (max-width:750px) {
    .footer_nav_text {
        font-size: 12px;
        margin-right: 6px;
    }
    .footer_nav_icon {
        width: 12px;
    }
}

.footer_follow_wrap {
    display: flex;
    align-items: center;
    margin-top: 20px;
}
.footer_follow_text {
    font-family: var(--fontjp);
    font-size: 12px;
    font-weight: bold;
    color: #8E8E8E;
}
.footer_follow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: 20px;
}
.footer_follow li {
}
@media only screen and (max-width:750px) {
    .footer_follow_text {
        font-size: 10px;
    }
}
.footer_sns {
    width: 32px;
    transition: all 300ms ease-in-out;
}
.footer_sns:hover {
    opacity: 0.6;
}
@media only screen and (max-width:750px) {
    .footer_sns {
        width: 25px;
    }
}

.header_follow_wrap {
    display: flex;
    align-items: center;
    margin-top: 10px;
    margin-left: -7%;
}
.header_follow_text {
    font-family: var(--fontjp);
    font-size: 12px;
    font-weight: bold;
    color: #8E8E8E;
}
.header_follow {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: 20px;
}
.header_follow li {
}
@media only screen and (max-width:750px) {
    .header_follow_wrap {
        padding-bottom: 5vh;
        margin-left: 0;
    }
    .header_follow_text {
        font-size: 10px;
    }
}
.header_sns {
    width: 32px;
    transition: all 300ms ease-in-out;
}
.header_sns:hover {
    opacity: 0.6;
}
@media only screen and (max-width:750px) {
    .header_sns {
        width: 25px;
    }
}






.footer_banner_wrap {
    margin-left: 50px;
}
@media only screen and (max-width:750px) {
    .footer_banner_wrap {
        margin-left: 0;
        margin-top: 35px;
    }
}
.footer_banner {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.footer_banner li {
}
.footer_banner_img {
    max-width: 300px;
    transition: all 300ms ease-in-out;
}
.footer_banner_img:hover {
    opacity: 0.6;
}



.footer_copy_wrap {
    text-align: right;
    padding-right: 10%;
    border-top: var(--border);
    padding-top: 20px;
    padding-bottom: 20px;
}
.footer_copy {
    font-family: var(--fontjp);
    font-size: 12px;
    font-weight: bold;
    color: #8E8E8E;
}
@media only screen and (max-width:750px) {
    .footer_copy_wrap {
        text-align: left;
        padding-right: 0;
        padding-left: 10%;
    }
    .footer_copy {
        font-size: 10px;
    }
}