@charset "UTF-8";

/* wrap.container */
body {
    font-family: "Montserrat", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Verdana", "メイリオ", "Meiryo, Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

a {
    color: #54D717;
}

.bg_popup {
    background-color: #191820;
}

section#caution {
    margin-top: 5rem;
}

.wrap_section_pu {
    max-width: 1000px;
    margin: auto;
    margin-top: 7rem;
    padding: 3rem;
    color: #ffffff;
    background-color: #191820;
}

#info .wrap_section_pu {
    background-color: #ffffff;
    color: #191820;
    border: solid 3px #9A17D7;
}

#info .wrap_section_pu .wrap_venue {
    margin-top: 0;
    padding-top: 1.5rem;
}

.wrap_about {
    border-bottom: solid 3px #9A17D7;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
}

.wrap_venue {
    border-top: solid 3px #9A17D7;
    margin-top: 5rem;
    padding-top: 3rem;
}

.wrap_mainimg {
    max-width: 1920px;
    margin: auto;
}

.wrap_img_huggy {
    max-width: 500px;
    margin: 2rem 0;
}

.wrap_img_huggy img {
    display: block;
    width: 100%;
}

/* header */
.for_english {
    background-color: #191820;
    color: #ffffff;
    text-align: center;
    padding: 1.5rem 0;
    display: none;
}


/* img */
.img_ribbon {
    width: 49%;
}

.img_lisence {
    margin-bottom: 2rem;
}

.img_lisence img {
    max-width: 300px;
    width: 100%;
}

/* slider img */
.slider_img_header_pu {
    margin-top: 3rem;
}

.slide-arrow {
    z-index: 100;
}

.slick-list {
    max-width: 100%;
}

.slick-slide {
    margin: 0 1rem;
}

.slider_img_header_pu .img_event {
    width: 100%;
    height: auto;
}

.prev-arrow {
    left: 1rem;
}

.slick-dotted.slick-slider {
    margin-bottom: 1rem;
}

/* btn link */
.btn_blue {
    display: block;
    position: relative;
    color: #191820;
    background-color: #3DCCED;
    max-width: 250px;
    margin-left: auto;
    margin-top: 2rem;
    padding: 1rem 1.5rem;
}

.btn_blue a {
    color: #191820;
}

.btn_blue:hover {
    opacity: 0.8;
}

/* nav */
.nav_pu {
    display: flex;
    justify-content: center;
    color: #ffffff;
    background-color: #191820;
}

.nav_li_pu {
    display: inline-block;
    margin: 0 2rem;
    padding: 2rem 1rem;
    font-size: 28px;
    font-weight: 500;
    color: #ffffff;
}

.nav_li_pu:hover {
    color: ##9A17D7;
}

/* catch */
.catch_pu {
    max-width: 1200px;
    margin: 5rem auto;
    text-align: center;
    color: #ffffff;
    /* text-shadow: 1px 1px 2px #9A17D7, 0 0 1em #42CBEC, 0 0 0.2em #42CBEC; */
    font-weight: bold;
    text-shadow:
    2px 2px 0px #9A17D7, -2px -2px 0px #9A17D7,
   -2px 2px 0px #9A17D7,  2px -2px 0px #9A17D7,
    2px 0px 0px #9A17D7, -2px  0px 0px #9A17D7,
    0px 2px 0px #9A17D7,  0px -2px 0px #9A17D7;
}

.subcatch_pu {
    max-width: 1000px;
    margin: 2rem auto 0;
    font-size: 18px;
    color: #191820;
}

.subcatch_pu .wrap_section_pu {
    margin: 0;
}

.wrap_about.subcatch {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
}


#info p {
    margin-bottom: 1rem;
}


/* heading */
h2 {
    text-align: center;
    margin: 1rem 0 2rem;
    color: #9A17D7;
    /* text-shadow: 1px 1px 2px #db3b2e, 0 0 1em #fee546, 0 0 0.2em #497abe; */
}

.subcatch_pu h2 {
    color: #ffffff;
    margin-top: 1rem;
}

.h_online {
    margin-top: 2rem;
}

.h_online a {
    text-decoration: underline;
}

h3 {
    margin-bottom: 1rem;
}

#info h3 {
    text-align: center;
}

#special h3 {
    margin-bottom: 2rem;
}

h3.caution {
    margin-top: 3.5rem;
}

/* font text */
.caution_pu {
    font-size: 14px;
}

.txt_red {
    color: #db3b2e;
    font-weight: 700;
}

.txt_white_pu {
    color: #ffffff;
}

.txt_center {
    display: block;
    text-align: center;
}

.txt_right {
    display: block;
    text-align: right;
}

.txt_marginright {
    margin-right: 0.75rem;
    display: block;
}

.fa-angle-right:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.address_pu {
    margin-top: 1.5rem;
    line-height: 1.25rem;
}

/* faq toggle */
.question_pu {
    margin: 1rem 0;
    color: #191820;
}

.question_pu a {
    display: block;
    background-color: #ffffff;
    font-weight: 500;
    padding: 1.5rem;
    padding-right: 2.5rem;
    color: #191820;
}

#faq .question_pu a:hover,
#faq .question_pu a:focus,
#faq .question_pu a:active,
#faq .question_pu a:visited {
    color-interpolation-filters: #191820;
}

.question_pu a[aria-expanded="false"] {
    background-image: url(./assets/images/apex_popup/plus.svg);
    background-repeat: no-repeat;
    background-position: right 1rem center;
}

.question_pu a[aria-expanded="true"] {
    background-image: url(./assets/images/apex_popup/minus.svg);
    background-repeat: no-repeat;
    background-position: right 1rem center;
}

.answer_pu.collaspe:not(.show) {
    display: none;
}

.answer_pu {
    padding: 2rem;
    padding-top: 1rem;
}


/* footer */

.txt_copyright {
    color: #ffffff;
    font-weight: bold;
}

.footer {
    margin-top: 5rem;
    border-top: solid 3px #9A17D7;
}

.footer_pu {
    background: transparent;
    margin-bottom: 0;
    padding: 5rem 0rem;
    max-width: 1000px;
    color: #ffffff;
}

.footer_pu a {
    color: #ffffff;
}

/*767px以下*/
@media screen and (max-width: 767px) {

    /* wrap container */
    .wrap_section_pu {
        margin: 2rem 1rem 0;
        padding: 1.5rem 0.75rem;
    }

    /* heading */
    .catch_pu {
        margin: 3rem auto;
    }

    .subcatch_pu {
        font-size: 16px;
        line-height: 1.5rem;
        margin: 1rem;
        margin-top: 2rem;
    }


    h3 {
        text-align: center;
    }

    h4 {
        font-size: 18px;
    }

    /* font txt */
    p {
        margin-bottom: 1.5rem;
    }

    /* nav */
    .nav_pu {
        flex-wrap: wrap;
        text-align: center;
    }

    .nav_li_pu {
        font-size: 18px;
        padding: 1rem;
    }

    .nav_pu li {
        width: 50%;
    }

    /* info */
    .wrap_venue {
        margin-top: 3rem;
    }

    /* iframe */
    iframe {
        width: 100%;
        height: 300px;
    }

    /* faq */
    .question_pu {
        margin-bottom: 0;
    }

    .question_pu a {
        padding: 1rem 0.75rem;
    }

    .answer_pu {
        padding: 1rem;
        padding-top: 0.75rem;
    }

    /* footer */
    .footer_pu {
        padding: 2rem 1rem;
    }
}
