@charset "UTF-8";

@media only screen and (max-width: 1200px) {
    .front_page header>div::before {
        height: 100%;
    }
    body .hidden_part {
        display: none;
    }
    nav {
        top: 100px;
    }
    .header_title {
        margin-top: 11vw;
    }
    .page nav {
        right: 200px;
    }
    .wrap {
        padding-top: 150px;
    }

    /* -------------------------------
    footer
    ------------------------------- */
    footer {
        margin-top: 50px;
    }
    #footer_copyright {
        margin-top: 0px;
    }
    .fixed_btn_wrap {
        width: 100%;
    }
    footer .footer_part1 {
        width: 30%;
        top: 30%;
    }
    footer .footer_part2 {
        width: 30%;
        top: 70%;
    }
    /* -------------------------------
    .front_page
    ------------------------------- */
    .front_page header {
        height: 100vh;
        /* padding-top: 7vw; */
    }
    .front_page #sec2 > div > div {
        padding: 0 5vw;
        max-height: 250px;
    }

}





@media only screen and (max-width: 1000px) {
    /* -------------------------------
    .front_page
    ------------------------------- */
    .front_page header {
        margin-bottom: 30px;
    }
    .front_page header span {
        bottom: 25%;
    }
    .front_page h2.bg_black {
        font-size: 20px;
        padding: 7px 0;
    }
    .front_page #sec1 h2 {
        font-size: 28px;
        margin-top: 25px;
    }
    .front_page #sec6 .f_wrap {
        /* padding: 10px; */
        gap: 10px;
    }
    .front_page #sec6 .f_wrap > div h3 {
        font-size: 18px;
    }
    #sec7 {
        flex-direction: column;
    }
    .front_page #sec9 table {
        padding: 0 20px;
    }
    .front_page .outer_regarding {
        padding: 10px;
        margin-bottom: 20px;
    }
}
@media only screen and (max-width: 880px) {
    /* -------------------------------
    common
    ------------------------------- */
    .no-wrap {
        white-space: break-spaces;
    }
    .pc_only {
        display: none;
    }
    .mb_only {
        display: block;
    }
    /* -------------------------------
    nav
    ------------------------------- */
    nav {
        display: none;
    }
    /* -------------------------------
    Menu
    ------------------------------- */
    #overlay {
        content: "";
        display: block;
        width: 100vw;
        height: 120vh;
        background-color: #c12c1f;
        position: fixed;
        padding: 0;
        top: -120vh;
        left: 0;
        z-index: 20;
        opacity: 0.5;
        -webkit-transition: 0.5s;
        transition: 0.5s;
    }
    #overlay.open {
        top: 0;
        opacity: 1;
    }
    #overlay > div:first-child {
        /* background-image: url(../img/overlay_bg.png); */
        background-color: #001c07;
        background-repeat: no-repeat;
        background-position-y: 0;
        background-size: contain;
        height: 60px;
        display: flex;
        align-items: center;
        padding-left: 2vw;
    }
    #overlay > div:last-child {
        background-color: #fff;
    }
    #overlay > div:last-child li {
        /* padding: 4vw 0;
        font-size: 4vw; */
        color: #c12c1f;
        border-bottom: 1px solid #ecc7c3;
        padding-left: 35px;
        /* display: flex;
        align-items: center; */
        background-image: url(../img/arrow_right.svg);
        background-repeat: no-repeat;
        background-position: 5% center;
        background-size: 7px;
    }
    #overlay > div:last-child span li {
        color: #999;
    }
    #overlay > div:last-child li a {
        display: block;
        padding: 17px 0;
    }
    #overlay > div:last-child li a.is_disabled {
        color: #ccc;
        pointer-events: none
    }
    #overlay > div:last-child li img {
        width: 3vw;
        margin-right: 3vw;
    }
    #overlay > div:last-child li.unactive {
        color: #cbcbcb;
    }
    #overlay > div:last-child li span {
        display: inline-block;
        font-size: 10px;
        margin-left: 10px;
        color: #004fa2;
    }
    #overlay a {
        color: #c12c1f;
    }
    #overlay > div:first-child img {
        width: 80%;
        margin-top: 2vw;
    }
    #overlay > div:first-child .conv_btn {
        display: flex;
    }
    /* #overlay > div > div.conv_btn > a {
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        margin: 0 5px;
    }
    #overlay > div > div.conv_btn > a {
        width: 12.8vw;
        height: 12vw;
    }
    #overlay > div > div.conv_btn > a > div {
        width: 100%;
        height: 100%;
        text-align: center;
        font-size: 2vw;
        line-height: 1.5;
        letter-spacing: 1;
        font-family: "Oswald", sans-serif;
        padding-top: 2.2vw;
        color: #1b224c;
    }
    #overlay > div > div.conv_btn > a > div > img {
        display: block;
        margin: 0 auto;
        width: 38%;
    }

    #overlay .conv_btn a {
        background-color: white;
    }*/

    header.open {
        height: 100vh;
        background-color: #1b224c;
        transition-duration: 0.2s;
    }
    header.open .mb_menu {
        display: block;
    }

    /* .menu-trigger {
        display: inline-block;
        width: 7vw;
        height: 5vw;
        vertical-align: middle;
        cursor: pointer;
        position: fixed;
        top: 5.5vw;
        right: 5vw;
        z-index: 600;
    } */
    .menu-trigger {
        display: inline-block;
        width: 30px;
        height: 20px;
        vertical-align: middle;
        cursor: pointer;
        position: fixed;
        top: 18px;
        right: 20px;
        z-index: 600;
    }
    .menu-trigger > div {
        color: white;
        text-align: center;
        margin-top: 0px;
    }
    .menu-trigger > div img {
        width: 100%;
        opacity: 1;
        webkit-transition: all 0.5s;
        transition: all 0.5s;
    }
    .menu-trigger.active > div img {
        opacity: 0;
        webkit-transition: all 0.5s;
        transition: all 0.5s;
    }

    .menu-trigger span {
        display: inline-block;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #fff;
        -webkit-transition: all 0.5s;
        transition: all 0.5s;
    }
    .menu-trigger.active span {
        background-color: #fff;
    }
    .menu-trigger span:nth-of-type(1) {
        top: 0;
    }
    .menu-trigger.active span:nth-of-type(1) {
        /* -webkit-transform: translateY(2.5vw) rotate(-45deg);
        transform: translateY(2.5vw) rotate(-45deg); */
        -webkit-transform: translateY(10px) rotate(-45deg);
        transform: translateY(10px) rotate(-45deg);
        background-color: #fff;
    }
    .menu-trigger span:nth-of-type(2) {
        top: 45%;
    }
    .menu-trigger.active span:nth-of-type(2) {
        opacity: 0;
    }
    .menu-trigger span:nth-of-type(3) {
        bottom: 0;
    }
    .menu-trigger.active span:nth-of-type(3) {
        /* -webkit-transform: translateY(-2vw) rotate(45deg);
        transform: translateY(-2vw) rotate(45deg); */
        -webkit-transform: translateY(-8px) rotate(45deg);
        transform: translateY(-8px) rotate(45deg);
        background-color: #fff;
    }
    /* -------------------------------
    header
    ------------------------------- */
    .fixed_header {
        /* display: none; */
        /* height: 16vw; */
        height: 60px;
        background-color: #c12c1f;
        display: flex;
    }
    .fixed_header .header_right {
        display: none;
    }
    .fixed_header .header_menu_body {
    display: none;
}
    /* -------------------------------
    wrap / section
    ------------------------------- */
    .wrap {
        padding-top: 90px;
    }
    .wrap .header_logo a img {
        width: 80%;
        max-width: 400px;
        height: auto;
    }
    .page section {
        padding: 0 15px;
    }
    .page section h2 {
        margin-top: 10px;
        line-height: 1.5;
        font-size: 20px;
        padding: 5px 0 7px;
    }
    /* -------------------------------
    footer
    ------------------------------- */
    /* footer {
        height: 603px;
        background-image: url(../img/footer_bg_750.png);
    } */
    footer {
        padding-bottom: 70px;
    }
    #footer_tel {
        margin-top: 2vw;
        line-height: 1.2;
    }
    footer .footer_part1 {
        display: none;
    }
    footer .footer_part2 {
        display: none;
    }
    .fixed_btn {
        width: 85%;
        font-size: 15px;
        letter-spacing: 0.05em;
    }
    #footer_organization {
        font-size: 20px;
    }
    #footer_organization span:first-child {
        font-size: 16px;
    }
    #footer_adress {
        font-size: 12px;
    }
    #footer_copyright {
        font-size: 12px;
    }
    /* -------------------------------
    下層ページ 共通
    ------------------------------- */
    main.page {
        margin-top: 40px;
    }
    /* -------------------------------
    front_page
    ------------------------------- */
    /* .front_page .wrap {
        background-image: url(../img/main_bg_mb.png);
    } */
    .front_page section h2 {
        font-size: 6vw;
        line-height: 1.5;
        /* padding: 0 5vw; */
        margin-bottom: 10px;
        margin-top: 20px;
    }
    .front_page section h2 img {
        width: 90%;
        min-width: auto;
    }
    .front_page header {
        /* height: 100vh; */
        height: 80vh;
        /* min-height: 950px; */
        min-height: 660px;
        margin-top: 0;
    }
    .front_page header>div {
        /* height: 100%; */
        padding-top: 10vw;
    }
    .front_page .wrap .header_logo {
        top: 2vw;
        left: 4%;
    }
    .front_page header .header_support .f_wrap {
        font-size: 13px;
    }

    .front_page header .header_support {
        padding-left: 0;
        padding-top: 15px;
    }
    .front_page header div.main_logo {
        max-width: 90%;
        margin-top: 10vw;
    }
    .front_page header div.main_logo img {
        max-width: 100%;
    }
    .front_page header .main_logo > img {
        width: 55%;
    }
    .front_page header .main_date {
        margin-top: 0px;
    }
    .front_page header .main_date > img {
        width: 85%;
    }
    .front_page header .logo_data {
        font-size: 17px;
        margin: 10px 0;
    }
    .front_page header .logo_data div:first-child {
        /* justify-content: flex-start; */
        justify-content: center;
        font-size: 16px;
        /* line-height: 1; */
        flex-wrap: wrap;
    }
    .front_page header .logo_data > div:first-child > div:last-child{
        /* flex-direction: column; */
        /* flex-grow: 1; */
        text-align: left;
        align-items: baseline;
        row-gap: 0px;
        gap: 3px;
        line-height: 1;
        flex-wrap: wrap;
        justify-content: center;
        letter-spacing: -0.005em;
    }
    .front_page header .logo_data div span {
        font-size: 15px;
    }
    .front_page header .logo_data div:first-child span {
        font-size: 32px;
    }
    .front_page header .logo_data > div {
        margin: 10px 0;
    }
    .front_page header .logo_data .info .txt_sml {
        font-size: 14px;
        /* display: inline-block; */
    }
    /* .front_page header .logo_data .time {
        margin-top: 5px;
        font-size: 13px;
    } */
    .front_page header > div::before {
        transform: skewY(352deg);
        width: 120%;
        /* height: 80vh; */
        height: 80%;
        min-height: 460px;
        background-color: rgba(136, 32, 22, 0);
        border-top: 8px solid rgba(248,247,151, 0.9);
        border-bottom: 8px solid rgba(248,247,151, 0.9);
    }
    .front_page header .btn {
        margin-bottom: 10px;
        /* display: flex; */
    }
    /* #sec2 */
    .front_page #sec2 {
        margin-bottom: 20px;
    }
    /* #sec3 */
    .front_page #sec3 h2 > div,.front_page #sec4 h2 > div,.front_page #sec2 h2 > div {
        font-size: 5vw;
    }
    .front_page #sec3 .f_wrap {
        display: block;
        margin: 10vw 0;
    }
    .front_page #sec3 .f_wrap > div {
        margin-bottom: 6vw;
    }
    .front_page #sec3 iframe {
        max-width: 100%;
    }
    .front_page #sec3 .instagram-media {
        min-width: 100%!important;
    }
    .front_page #sec2 .sec2_part,.front_page #sec2 .sec2_part2 {
        display: none;
    }
    /* #sec4 */
    .front_page #sec4 h3{
        font-size: 18px;
        margin-bottom: 0;
        &::after {
            width: 60%;
        }
    }
    /* .front_page #sec4 .access_img1 {
        margin-bottom: 30px;
    } */
    .front_page #sec4 .conv_btn a {
        width: 70%;
    }
    /* #sec5 */
    .front_page #sec5 .f_wrap {
        flex-direction: column;
        gap: 20px;
    }
    .front_page #sec5 .f_wrap > div:last-child img {
        max-width: 320px;
    }
    /* #sec6 */
    .front_page #sec6 .f_wrap {
        flex-direction: column;
    }
    .front_page #sec6 .f_wrap > div {
        width: 100%;
    }
    /* #sec7 */
    .front_page #sec7 .f_wrap {
        flex-direction: column;
    }
    .front_page #sec7 .supporter_box .f_wrap > div:last-child img.picture {
        width: 60%;
        max-width: 320px;
    }
    .front_page #sec7 .content_box {
        padding: 0 20px;
    }
    /* #sec9 */
    .front_page #sec9 {
        margin-top: -100px;
        padding-top: 110px;
    }
    /* #sec11 */
    .front_page #sec11 > div > div:nth-child(2) {
        margin-top: 30px;
    }
    .front_page #sec11 .btn {
        margin-top: 20px;
    }
    /* #sec15 */
    .front_page #sec15 {
        margin: 50px 0;
        width: 100%;
    }
    .front_page #sec15 > div {
        padding: 50px 0;
    }
    .front_page #sec15 .head {
        margin: 0 0 20px;
        font-size: 23px;
    }
    .front_page #sec15 .cooperation_box {
        padding: 30px;
    }
    .front_page #sec15 .cooperation_list {
        flex-direction: column;
        gap: 20px;
    }
    .front_page #sec15 .cooperation_list li {
        width: 100%;
    }
    /* .front_page #sec15 .pr_box {
        flex-direction: column;
        gap: 10px;
    }
    .front_page #sec15 .pr_box img {
        max-height: none;
        max-width: 220px;
        max-height: 100px;
    } */
    /* top_bnr */
    .front_page .top_bnr {
        padding-top: 30px;
        padding-bottom: 20px;
    }
    .front_page .top_bnr img {
        width: 90%;
        max-width: 520px;
    }
    .front_page .top_bnr a:hover {
        opacity: 1;
    }
    /* tokuten */
    .front_page .tokuten img {
        width: 90%;
        max-width: 520px;

    }
    /*　bnr100　*/
    .front_page .bnr100.bnr2 {
        padding: 0 5vw;
    }




    /* -------------------------------
    プレスページ
    ------------------------------- */
    .sub_page .content_area:last-child {
        padding-inline: 10px;
        /* padding: 33px 10px 0px; */
    }
    .sub_page #contact_press {
        padding: 10px;
    }
    .sub_page .mainbox_wrap {
        display: block;
    }
    #press .content_area {
        padding-top: 60px;
    }
    #press .content_block_upper {
        display: block;
    }
    #press .content_block_upper > div:first-child {
        margin-right: 0;
    }
    #press .content_block_upper > div:last-child {
        margin-top: 10px;
    }
    #press .content_area #contact_press h3.style_h303 {
        font-size: 18px;
    }
    /* .sub_page #sidebox {
        float: none;
        display: none;
    } */
    .sub_page .h1_pagettl h1{
        /* background-color: #202020;
        padding: 22px 20px 26px; */
        font-size: 20px;
    }
    .sub_page h2.style_h201 {
        padding: 10px;
        font-size: 20px;
    }
    .sub_page h2.style_h201 {
        margin-top: 30px;
        font-size: 20px;
    }
    .sub_page .content_area section h3 {
        font-size: 20px;
    }

    /* -------------------------------
    次回開催のご案内
    ------------------------------- */
    .next_Announcement .content {
        text-align: center;
    }
    .next_Announcement .catch{
        font-size: 31px;
            color: #bc0000;
            font-weight: bold;
            line-height: 1.3;
            margin-bottom: 30px;
    }
    .next_Announcement  .catch2{
        font-size: 30px;
        /* color: #bc0000; */
        font-weight: bold;
        line-height: 1.3;
    }
    .next_Announcement .img {
        margin: 9px 0;
    }
    .next_Announcement .img img {
        max-width: 100%;
    }
    .next_Announcement .info {
        margin: 5px 0 0;
        font-size: 18px;
    }
    .next_Announcement .info table th {
        /* background-color: #02420e; */
        padding: 8px 0px 5px;
    }
    .next_Announcement .info table td {
        /padding: 6px 1px 3px;
    }
}