@charset "utf-8";

/* .page_special_pass header a {
    pointer-events: none;
    opacity: unset;
} */
.page_special_pass header {
    justify-content: space-between;
    align-items: center;
}

.en_nav {
    margin-right: 20px;
}

.page_special_pass nav {
    display: none;
}

br.sp{
    display: none;
}

.page_special_pass header {
    background: #000;
    padding-bottom: 0;
    height: 70px;
    display: flex;
}

.page_special_pass header .logo_wrap {
    width: 100%;
}


.page_special_pass .page_head {
    padding: 0;
    background: none;
}

.page_special_pass .page_head img {
    object-fit: cover;
    width: 100%;
}

.page_special_pass .bottom_bar .sns_wrap {
    display: none;
}

#page_top {
    bottom: 0;
    right: 0;
}

/* .page_special_pass main#special_pass {
    padding-top: 70px;
} */


.page_special_pass .openbtn1 {
    display: none;
}

header .logo_wrap {
    margin-top: 0;
}

.bubble_tit h2 {
    font-weight: 900;
    text-align: center;
    color: #000000;
    margin: auto;
    /* margin-bottom: 20px; */
    /* text-shadow: 0px 3px 6px #cfcfcf; */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.2rem;
}

figure.mv_sp {
    display: none;
}


.bubble_tit h2::after,
.bubble_tit h2::before {
    /* filter: drop-shadow(1px 3px 6px #cfcfcf);
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    background: url(../../images/special/line_right.webp) no-repeat;
    background-size: contain;
    margin-top: 20px; */
}

.bubble_tit h2::before {
    /* background: url(../../images/special/line_left.webp) no-repeat;
    background-size: contain; */
}


.page_special_pass #special_pass .appeal_point .color_btn,
.page_special #special_pass .appeal_point .color_btn {
    color: #fff;
    display: inline-block;
    min-width: 400px;
    padding: 15px;
    box-shadow: 0px 0px 15px -5px #777777;
    position: relative;
    background: rgb(254, 55, 90);
    background: linear-gradient(152deg, rgba(254, 55, 90, 1) 0%, rgba(198, 64, 186, 1) 100%);
    border: unset;
    font-size: 1.5em;
    font-weight: bold;
    margin-bottom: 5px;
    border-radius: 10px;
    margin-top: 0;
}

.page_special_pass .center,
.page_special .center {
    margin: auto;
    text-align: center;
    margin-top: 50px;
}
.page_special_pass .appeal_point .center{
    margin-top:0;
}

.page_special_pass .supplement,
.page_special .supplement {
    font-size: .9em;
    color: #575757;
    text-align: center;
    margin-top: 20px;
    font-weight: 500;
}

.page_special .supplement {
    margin-bottom: 25px;
}

.decoration {
    text-decoration: none;
    border-bottom: 1px solid #1155d0;
    padding-bottom: 2px;
}

.page_special_pass .appeal_point .appeal_price {
    margin: auto;
    margin-bottom: 0px;
    max-width: 600px;
    width: 80%;
    min-width: 400px;
    padding: 0 0px 0 30px;
    position: relative;
}


.page_special_pass .appeal_point .appeal_price::before {
    /* content: "";
    display: block;
    width: 60%;
    height: 170px;
    background: url(../../images/special/img_spk.webp) no-repeat;
    background-size: contain;
    margin-top: 20px;
    position: absolute;
    left: -40%;
    top: -30%;
    border: 1px solid;
    transition: all .2s; */
}


.page_special_pass .appeal_point .appeal_price::after {
    /*  content: "";
    display: block;
    width: 35%;
    height: 150px;
    background: url(../../images/special/img_exb.webp) no-repeat;
    background-size: contain;
    margin-top: 20px;
    position: absolute;
    right: -42%;
    bottom: -50%;
    border: 1px solid;
    transition: all .2s; */
}

.page_special_pass .color_btn.color_btn_font:after,
.page_special .color_btn.color_btn_font:after {
    content: '\f054';
}





.appeal_point2 .bubble_tit h2 {
    font-size: 1.7rem;
    margin-bottom: 20px;
}

.page_special_pass .border_tit,
.page_special .border_tit {
    font-family: source-han-sans-japanese, "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo UI", sans-serif;
    font-size: 1.8rem;
}

br.sp {
    display: none;
}


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

    .page_special_pass .appeal_point .appeal_price::before,
    .page_special_pass .appeal_point .appeal_price::after {
        display: none;
    }

    .page_special_pass .appeal_point .appeal_price {
        width: 95%;
        padding-right: 0;
    }
}




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

    #special_pass .c_wrap {
        padding: 60px 30px;
    }

    .bubble_tit h2 {
        font-size: 1.8rem;
    }

    .appeal_point2 .bubble_tit h2 {
        font-size: 1.5rem;
    }

    .page_special_pass #special_pass .appeal_point .color_btn,
    .page_special #special_pass .appeal_point .color_btn {
        font-size: 1.5rem;
        min-width: unset;
        width: 100%;
        max-width: 100%;
    }

    .bubble_tit h2::after,
    .bubble_tit h2::before {
        width: 30px;
        height: 30px;
    }

    figure.mv_sp {
        display: block;
    }

    figure.mv_pc {
        display: none;
    }

    .page_special_pass .appeal_point .appeal_price {
        width: 100%;
        min-width: unset;
        max-width: unset;
        padding-left: 10px;
    }

}

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

    #special_pass .c_wrap {
        padding: 40px 20px;
    }

    .bubble_tit h2 {
        font-size: 1.7rem;
    }

    .appeal_point2 .bubble_tit h2 br {
        display: none;
    }

    .sec_tit {
        font-size: 1.7rem;
    }

    br.pc {
        display: none;
    }

    br.sp {
        display: block;
    }

    .bubble_tit h2 {
        /* justify-content: space-between; */
    }

    .page_special_pass .center,
    .page_special .center {
        margin-top: 30px;
    }

    .en_nav {
        font-size: 1.1rem;
    }
}


/* ---------------------------------------------------------
 楽しめるコンテンツ
----------------------------------------------------------*/

#special_pass .sec_tit {
    margin-bottom: 20px;
}

#special_pass .explain-txt {
    text-align: center;
    margin-bottom: 30px;
}

#special_pass .explain-txt a {
    border-bottom: 1.5px solid #1255d0;
}

#special_pass .border_left_tit {
    font-weight: bold;
    border-left: 5px solid #1155d0;
    padding-left: 0.5em;
    background-color: #ffffff;
    font-size: 1.7rem;
    color: #1155d0;
}

#special_pass .btn_list.btn_4 li {
    width: 49.5%;
    min-width: 300px;
    margin-bottom: 10px;
}

#special_pass .click_and_expand {
    text-align: right;
    margin-top: 15px;
    margin-bottom: 60px;
}

#special_pass .click_and_expand::before {
    content: '\f00e';
    color: inherit;
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    margin-right: 4px;
}

#special_pass .color_tit {
    background: #18345e;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    padding: 5px;
    text-align: center;
}

#special_pass .flex-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#special_pass .flex-box li {
    width: 48.5%;
    background-color: #fff;
    margin-bottom: 3%;
    border-radius: 10px;
}



#special_pass .flex-box li:nth-child(2) .detail img {
    border: 1px solid #e9e9e9;
}


#special_pass .flex-box.conference p {
    width: 50%;
}

#special_pass .flex-box.conference a {
    width: 50%;
    align-items: center;
    display: flex;
}

#special_pass .detail {
    align-items: center;
    position: relative;
    padding: 20px;
}

#special_pass .detail .photo {
    display: block;
    margin: 20px 0;
    /* pointer-events: none; */
}

#special_pass .mini_tit {
    display: block;
    font-weight: 700;
    padding-bottom: 14.5px;
    font-size: 1.6rem;
    margin-top: -2px;
}

#special_pass .flex-box .detail .inner {
    padding-top: 0;
    position: relative;
}

#special_pass .flex-box li:nth-child(1) .place,
#special_pass .flex-box li:nth-child(2) .place {
    /*transform: translate(0px, 11px);*/
}

#special_pass .place {
    padding-bottom: 1px;
    color: #000;
    font-weight: 700;
    font-size: 1.1rem;
    position: absolute;
    top: 25px;
    right: 20px;
    border-bottom: 2px solid;
    max-width: calc(100% - 50px);
}

#special_pass .place:before {
    content: '\f3c5';
    color: inherit;
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    margin-right: 4px;
}

#special_pass .color_btn {
    margin-top: 15px;
    max-width: 190px;
    min-width: 190px;
    padding: 10px;
    display: block;
    background: #e9f2ff;
    color: #1155d0;
    border: solid 2px #1155d0;
    box-shadow: none;
    font-size: 1.3rem;
    border-radius: 5px;
}

#special_pass .disabled {
    background-color: #f0f0f0;
    color: #cac9c8;
    pointer-events: none;
}

#special_pass .color_btn.disabled {
    border: 2px solid #f0f0f0;
}

#special_pass .disabled::after {
    display: none;
}

#special_pass .sp-only {
    display: none;
}

#special_pass .special_top_txt {
    /* display: flex; */
    text-align: center;
    margin-bottom: 50px;
    margin-top: 15px;
}




/* MVビデオエリア */
.mainv .video_wrap video {
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    top: 50%;
    left: 50%;
    /* height: 100%; */
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
}

.mainv {
    background: #000;
    min-height: 450px;
    overflow: hidden;
    position: relative;
}

.mainv .txt {
    position: absolute;
    /* width: 95%; */
    top: 30%;
    /* left: 5%; */
    z-index: 2;
}

.mainv .announce_txt {
    width: 100%;
    color: #fff;
    background-image: -webkit-linear-gradient(180deg, rgba(0, 0, 0, 0)0%, rgb(187, 14, 92, 0.55) 25%, rgb(17, 86, 208, 0.55) 100%);
    display: inline-block;
    padding: 20px 40px;
    font-size: 1.6rem;
    margin-top: 0;
    font-weight: normal;
    font-family: source-han-sans-japanese, "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo UI", sans-serif;
}

.mainv .announce_txt_small_ja {
    font-size: 2rem;
    font-weight: bold;
}

.mainv .announce_txt_big_ja {
    font-size: 2.8rem;
    font-weight: bold;
}

.mainv .announce_txt_big {
    font-size: 2.1rem;
}

.mainv .announce_txt_big.number {
    font-family: 'DIN-2014';
}

.announce_txt_place {
    font-weight: bold;
    font-size: 1.8rem;
}

.mainv .announce_txt_cont {
    font-size: 2.5rem;
    max-width: 480px;
    font-weight: bold;
    letter-spacing: .2rem;
    line-height: 1.5;
    letter-spacing: .2rem;
}

.mainv .announce_txt_next {
    margin-top: 15px;
}

.page_special_pass h1{
    text-align: center;
    font-weight: bold;
    color: #fff;
    padding: 2.5rem 0;
    background: #fff;
    background-image:linear-gradient(152deg, rgb(206 39 103) 0%, rgb(240 131 62) 100%);
}

br.tab{
    display: none;
}


@media screen and (max-width: 850px) {
    #special_pass .btn_list.btn_4 li {
        width: 100%;
        min-width: initial;
    }

    #special_pass .btn_list.btn_4 li:first-child {
        margin-right: 0;
    }

    #special_pass .conference_wrap {
        width: 100%;
    }
}



@media screen and (max-width: 812px) {
    #special_pass .click_and_expand {
        margin-top: 10px;
    }

    #special_pass .flex-box li:nth-child(2) .inner,
    #special_pass .flex-box li:nth-child(6) .inner {
        min-height: initial;
    }

    #special_pass .detail {
        flex-wrap: wrap;
        margin-bottom: 25px;
    }

    #special_pass .flex-box li {
        width: 100%;
    }

    #special_pass .flex-box .image {
        width: 100%;
    }

    #special_pass .flex-box .inner {
        width: 100%;
        order: 2;
        padding-top: 0;
    }

    #special_pass .flex-box figure {
        width: 100%;
        order: 1;
    }

    #special_pass .flex-box {
        display: block;
    }

    #special_pass .flex-box li:nth-child(n+2) {
        margin-left: 0;
    }
}


@media screen and (max-width:600px) {
    .mainv .announce_txt p {
        font-size: 1.9rem;
        font-weight: bold;
        color: #fbfbfb;
        max-width: initial;
    }

    .mainv span.announce_txt_small_ja {
        font-size: 1.7rem;
    }   

    br.tab{
        display: block;
    }

    .page_special_pass h1{
        font-size: 2.4rem;
        padding: 2rem 0;
    }
}


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

    #special_pass .sp-only {
        display: block;
    }

    .mainv .announce_txt_big_ja {
        font-size: 2.4rem;
    }

    #special_pass .detail {
        margin-bottom: 20px;
    }

    #special_pass .border_left_tit {
        width: 100%;
        padding-bottom: 5px;
    }

    #special_pass .explain-txt {
        margin-bottom: 35px;
    }

    #special_pass .special_top_txt {
        text-align: left;
    }

    .mainv .txt {
        position: absolute;
        top: 25%;
        z-index: 2;
    }

    .mainv {
        min-height: 250px;
    }

    .page_special_pass h1{
        font-size: 2.2rem;
        padding: 1.5rem;
    }

    .mainv .video_wrap video {
       height: 250px;
    }

}

@media screen and (max-width: 397px) {
    #special_pass .place {
        position: initial;
        margin: 0;
        margin-top: 10px;
        display: inline-block;
    }

    #special_pass .border_left_tit {
        padding-bottom: 0;
    }
}