@charset "utf-8";

/*-------------------------------
	イベント一覧
-------------------------------*/

.Event-block-wrap{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
}
.Event-block-wrap::after{
    content: "";
    display: block;
    width: calc((100% - 10rem) / 2);
    height: 0;
    order: 9999;
}
.Event-block{
    width: calc((100% - 10rem) / 2);
}
.Event-block:not(:nth-last-of-type(-n+2)){
    margin-bottom: 7rem;
}
.Event-block__image{
    width: 100%;
    border-radius: 2rem;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}
.Event-block__image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.Event-block__body{
    padding-top: 3rem;
    padding-left: 3rem;
    padding-right: 3rem;
}
.Event-block__category{
    margin-bottom: 1.5rem;
}
.Event-block__title{
    font-size: 2.4rem;
    margin-bottom: 1.4rem;
    line-height: calc(3.6 / 2.4);
    font-weight: 700;
}
.Event-block__schedule{
    color: var(--maincolor);
    line-height: calc(3 / 2);
}

/* 終了の表示 */
.Event-block.-end .Event-block__image{
    position: relative;
}
.Event-block.-end .Event-block__image::before,
.Event-block.-end .Event-block__image::after{
    content: "";
    width: 100%;
    height: 13.3rem;
    position: absolute;
    left: 0;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.Event-block.-end .Event-block__image::before{
    background: rgba(0,0,0,.6);
    mix-blend-mode: multiply;
}
.Event-block.-end .Event-block__image::after{
    content: "終了しました";
    font-size: 4rem;
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

    .Event-block-wrap::after{
        width: calc((100% - 5rem) / 2);
    }
    .Event-block{
        width: calc((100% - 5rem) / 2);
    }

}
@media screen and (max-width:960px) and (min-width: 769px){

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

    .Event-block-wrap{
        flex-direction: column;
    }
    .Event-block-wrap::after{
        display: none;
    }
    .Event-block{
        width: 100%;
    }
    .Event-block:not(:last-child){
        margin-bottom: 5.5rem;
    }
    .Event-block a{
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
    .Event-block__image{
        width: 30rem;
    }
    .Event-block__body{
        width: calc(100% - 30rem);
        padding-top: 0;
        padding-left: 4rem;
        padding-right: 0;
    }
    .Event-block__category{
        margin-bottom: 0;
    }
    .Event-block__title{
        font-size: 3.2rem;
        margin-bottom: 1.4rem;
        line-height: calc(4.8 / 3.2);
    }
    .Event-block__schedule{
        font-size: 2.8rem;
        line-height: calc(4.2 / 2.8);
    }

    /* 終了の表示 */
    .Event-block.-end .Event-block__image::before,
    .Event-block.-end .Event-block__image::after{
        height: 8rem;
    }
    .Event-block.-end .Event-block__image::after{
        font-size: 2.4rem;
    }

}



/*-------------------------------
	イベント詳細
-------------------------------*/

.Detail__inner{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    flex-wrap: wrap;
}
.Detail_date{
    color: var(--maincolor);
    font-size: 2.8rem;
    margin-bottom: 2rem;
    text-align: center;
}
.Detail__category{
    margin-bottom: 2.5rem;
    justify-content: center;
}
.Detail__category-item{
    min-width: 13.4rem;
    min-height: 4rem;
    border-radius: 50rem;
    padding-left: 2rem;
    padding-right: 2rem;
    font-size: 2.1rem;
    padding-bottom: 0;
}
.Detail__category-item:not(:last-child){
    margin-right: 2rem;
}
.Detail__title{
    font-size: 4rem;
    margin-bottom: 4.5rem;
    font-weight: 700;
    line-height: calc(6 / 4);
    text-align: center;
}
.Detail__picture{
    width: calc(100% + 16rem);
    margin-bottom: 5rem;
    transform: translateX(-8rem);
}
.Detail__picture picture{
    display: block;
}
.Detail__picture img{
    width: 100%;
}
.Detail_editor{
    margin-bottom: 8rem;
}
.Detail_editor > *{
    font-size: 2.4rem;
    line-height: calc(4.8 / 2.4);
}
.Detail_editor > *:not(:last-child){
    margin-bottom: 1.5em;
}
.Detail_editor a{
    color: var(--subcolor);
    text-decoration: underline;
}

.Detail-part-wrap > *:last-child{
    margin-bottom: 0 !important;
}

.Detail-part__lp{
    margin-bottom: 8.5rem;
    position: relative;
    z-index: 5000;
}
.Detail-part__lp::before{
    content: "";
    display: block;
    width: calc(100% + 30rem);
    height: 100%;
    box-shadow: inset 0 12rem #fff;
    background: #eaf9fb;
    position: absolute;
    left: 50%;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    transform: translateX(-50%);
}
.Detail-part__lp-inner{
    position: relative;
    z-index: 5000;
}
.Detail-part__lp-inner::before,
.Detail-part__lp-inner::after{
    content: "";
    display: block;
    width: calc(100% + 30rem);
    height: 18rem;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 50%;
    right: 0;
    z-index: -1;
    transform: translateX(-50%);
}
.Detail-part__lp-inner::before{
    background-image: url(../images/info_list/bg_detail-part__lp_before.png);
    background-image: image-set(url(../images/info_list/bg_detail-part__lp_before.png) 1x, url(../images/info_list/bg_detail-part__lp_before@2x.png) 2x);
    top: 12rem;
    background-position: top center;
}
.Detail-part__lp-inner::after{
    background-image: url(../images/info_list/bg_detail-part__lp_after.png);
    background-image: image-set(url(../images/info_list/bg_detail-part__lp_after.png) 1x, url(../images/info_list/bg_detail-part__lp_after@2x.png) 2x);
    bottom: 0;
    background-position: bottom center;
}
.Detail-part__lp-inner > *:last-child{
    margin-bottom: 0;
}

.Detail-part1{
    margin-bottom: 9rem;
}
.Detail-part1__title{
    font-size: 3.6rem;
    margin-bottom: 4rem;
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
}
.Detail-part1__body{
    width: 100%;
    display: flex;
    gap: 7.5rem 5.5rem;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}
.Detail-part1__body::after{
    content: "";
    display: block;
    width: calc((100% - (5.5rem * 2)) / 3);
    height: 0;
    order: 9999;
}
.Detail-part1__item{
    width: calc((100% - (5.5rem * 2)) / 3);
}
.Detail-part1__item-image{
    width: 100%;
}
.Detail-part1__item-image img{
    width: 100%;
}
.Detail-part1__item-body{
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: 2.5rem;
}
.Detail-part1__item-title{
    font-size: 2.4rem;
    margin-bottom: 1rem;
    font-weight: 700;
    line-height: calc(3.6 / 2.4);
    text-align: justify;
}
.Detail-part1__item-text{
    text-align: justify;
}

.Detail-part2{
    margin-bottom: 8.5rem;
}
.Detail-part2__title{
    font-size: 3.6rem;
    margin-bottom: 4rem;
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
}
.Detail-part2__body{
    width: 100%;
    display: flex;
    gap: 4.5rem 5rem;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
}
.Detail-part2__item{
    width: calc((100% - (5rem * 4)) / 5);
}
.Detail-part2__item-image{
    width: 100%;
    aspect-ratio: 1 / 1;
    margin-bottom: 1.8rem;
    border-radius: 50%;
    overflow: hidden;
}
.Detail-part2__item-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.Detail-part2__item-title{
    font-size: 2.2rem;
    line-height: calc(3.3 / 2.2);
    font-weight: 700;
    text-align: center;
}

.Detail-part3{
    margin-bottom: 8.5rem;
}
.Detail-part3__title{
    font-size: 3.6rem;
    margin-bottom: 4rem;
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
}
.Detail-part3__slider-wrap{
    width: 100%;
    max-width: 74rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}
.Detail-part3__slider-item{
    width: 100%;
    /* height: 49.3rem; */
    position: relative;
}
.Detail-part3__slider-item img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.Detail-part3__slider-item__caption{
    width: 100%;
    min-height: 7rem;
    font-size: 1.8rem;
    padding: 1.5rem 2.5rem;
    line-height: calc(3.5 / 1.8);
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background: rgba(0,0,0,.5);
}
.Detail-part3__slider-button{
    color: var(--maincolor);
    width: 2.5rem;
    height: 5rem;
}
.Detail-part3__slider-button.-prev{
    left: 0;
    transform: translateX(-6.5rem);
}
.Detail-part3__slider-button.-next{
    right: 0;
    transform: translateX(6.5rem);
}
.Detail-part3__slider-button::after{
    font-size: 5rem;
}
.Detail-part3__slider-pager{
    display: none;
}

.Detail-part__normal{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}
.Detail-part__normal > *:last-child{
    margin-bottom: 0;
}

.Detail-part4{
    width: 100%;
    margin-bottom: 8rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: row-reverse;
}
.Detail-part4__image{
    width: 46rem;
}
.Detail-part4__image img{
    width: 100%;
}
.Detail-part4__image + .Detail-part4__body{
    width: calc(100% - (46rem + 7.5rem));
}
.Detail-part4__body{
    width: 100%;
}
.Detail-part4__title{
    font-size: 2.8rem;
    margin-bottom: 1.5rem;
    margin-top: -.25em;
    line-height: 1.5;
    font-weight: 700;
}
.Detail-part4__text-wrap{
    width: 100%;
}
.Detail-part4__text-wrap > *{
    text-align: justify;
}
.Detail-part4__text-wrap > *:not(:last-child){
    margin-bottom: 1.5em;
}
.Detail-part4__text-wrap a{
    color: var(--subcolor);
    text-decoration: underline;
}

.Detail-part5{
    width: 100%;
    margin-bottom: 10rem;
    border-top: 1px solid #b3b3b3;
}
.Detail-part5__item{
    border-bottom: 1px solid #b3b3b3;
}
.Detail-part5__item-title{
    width: 30rem;
    font-weight: 400;
	padding: 2.4rem 3rem 2.6rem;
	line-height: calc(3 / 2);
	vertical-align: middle;
    background: #f8f7f7;
}
.Detail-part5__item-body{
    width: calc(100% - 30rem);
	padding: 2.4rem 3rem 2.6rem;
	vertical-align: middle;
}
.Detail-part5__item-body > *{
	line-height: calc(3 / 2);
}
.Detail-part5__item-body a{
    color: var(--subcolor);
    text-decoration: underline;
}

.Detail__button{
    margin-top: 10rem;
    margin-left: auto;
    margin-right: auto;
}
.Detail__button a{
    background: var(--subcolor);
    font-size: 3.6rem;
    padding: 2rem 6rem;
    min-width: 56rem;
    min-height: 12rem;
    border-radius: 100rem;
    line-height: 1.35;
    font-weight: 700;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.Detail__last-button-wrap{
    width: 100%;
    margin-top: 12rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.Detail__last-button:not(:last-child){
    margin-right: 3rem;
}

@media screen and (min-width:769px) , print{

}
@media screen and (max-width:1240px) and (min-width: 769px){

}
@media screen and (max-width:1100px) and (min-width: 769px){

    .Detail-part2__body{
        gap: 4.5rem 4rem;
    }
    .Detail-part2__item{
        width: calc((100% - (4rem * 3)) / 4);
    }

    .Detail-part4__image{
        width: 35rem;
    }
    .Detail-part4__image + .Detail-part4__text-wrap{
        width: calc(100% - (35rem + 5rem));
    }

}
@media screen and (max-width:960px) and (min-width: 769px){

    .Detail-part1__body{
        gap: 5rem 3rem;
    }
    .Detail-part1__body::after{
        width: calc((100% - (3rem * 2)) / 3);
    }
    .Detail-part1__item{
        width: calc((100% - (3rem * 2)) / 3);
    }
    
    .Detail-part2__body{
        gap: 4.5rem 3rem;
    }
    .Detail-part2__item{
        width: calc((100% - (3rem * 3)) / 4);
    }
    
    .Detail-part3__slider-wrap{
        width: 80%;
        max-width: 60rem;
    }

    .Detail-part4__image{
        width: 30rem;
    }
    .Detail-part4__image + .Detail-part4__text-wrap{
        width: calc(100% - (30rem + 5rem));
    }

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

    .Detail__category{
        margin-bottom: 2rem;
    }
    .Detail__category-item{
        min-width: 14rem;
        min-height: 5.4rem;
        padding-left: 2rem;
        padding-right: 2rem;
        padding-top: 0;
        font-size: 2.2rem;
    }
    .Detail__category-item:not(:last-child){
        margin-right: 1.2rem;
    }
    .Detail__title{
        font-size: 4.4rem;
        margin-bottom: 4rem;
        line-height: calc(6.6 / 4.4);
    }
    .Detail__picture{
        width: calc(100% + 4rem);
        transform: translateX(-2rem);
    }
    .Detail_date{
        font-size: 3.6rem;
        margin-bottom: 2.5rem;
        line-height: calc(5.4 / 3.6);
    }
    .Detail_editor > *{
        font-size: 3rem;
        line-height: calc(5.25 / 3);
    }
    .Detail_editor > *:not(:last-child){
        margin-bottom: 1em;
    }

    .Detail-part-wrap > *:last-child{
        margin-bottom: 0 !important;
    }

    .Detail-part__lp{
        margin-bottom: 10rem;
    }
    .Detail-part__lp::before{
        width: calc(100% + (var(--padding-leftright) * 2));
    }
    .Detail-part__lp-inner > *:last-child{
        margin-bottom: 0;
    }

    .Detail-part1{
        margin-bottom: 8.5rem;
    }
    .Detail-part1__title{
        font-size: 4rem;
        line-height: calc(6 / 4);
    }
    .Detail-part1__body{
        gap: 6rem 0;
        flex-direction: column;
    }
    .Detail-part1__body::after{
        display: none;
    }
    .Detail-part1__item{
        width: 100%;
    }
    .Detail-part1__item-body{
        padding-left: 4rem;
        padding-right: 4rem;
        padding-top: 3rem;
    }
    .Detail-part1__item-title{
        font-size: 3.46rem;
        line-height: calc(5.4 / 3.6);
    }
    .Detail-part1__item-text{
        text-align: justify;
    }

    .Detail-part2__title{
        font-size: 4rem;
        line-height: calc(6 / 4);
    }
    .Detail-part2__body{
        gap: 4rem 3.5rem;
        justify-content: center;
    }
    .Detail-part2__item{
        width: calc((100% - (3.5rem * 2)) / 3);
    }
    .Detail-part2__item-title{
        font-size: 2.6rem;
        line-height: calc(3.25 / 2.6);
    }

    .Detail-part3{
        margin-bottom: 8.5rem;
    }
    .Detail-part3__title{
        font-size: 3.6rem;
        margin-bottom: 4rem;
        line-height: 1.5;
        font-weight: 700;
        text-align: center;
    }
    .Detail-part3__slider-wrap{
        max-width: 100%;
    }
    .Detail-part3__slider-item__caption{
        min-height: 6.5rem;
        font-size: 2.6rem;
        padding: 1rem 2.5rem;
        line-height: calc(3.25 / 2.6);
        text-align: center;
        justify-content: center;
    }
    .Detail-part3__slider-controller{
        width: 100%;
        height: 10rem;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .Detail-part3__slider-button{
        width: 4rem;
        height: 4rem;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center center;
    }
    .Detail-part3__slider-button.-prev{
        position: static;
        transform: translateX(0);
        margin-top: 0;
        background-image: url(../images/common/icon_slider-arrow-prev.svg);
    }
    .Detail-part3__slider-button.-next{
        position: static;
        order: 999;
        transform: translateX(0);
        margin-top: 0;
        background-image: url(../images/common/icon_slider-arrow-next.svg);
    }
    .Detail-part3__slider-button::after{
        display: none;
    }
    .Detail-part3__slider-pager{
        width: auto !important;
        padding-left: 4rem;
        padding-right: 4rem;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        position: static;
    }
    .Detail-part3__slider-pager .swiper-pagination-bullet{
        width: 1.3rem;
        height: 1.3rem;
        opacity: 1;
        margin-left: 0 !important;
        background: #ccc;
        display: block;
    }
    .Detail-part3__slider-pager .swiper-pagination-bullet.swiper-pagination-bullet-active{
        background: var(--maincolor);
    }
    .Detail-part3__slider-pager .swiper-pagination-bullet:not(:last-child){
        margin-right: 2.6rem;
    }

    .Detail-part4{
        margin-bottom: 9rem;
        flex-direction: column-reverse;
    }
    .Detail-part4__title{
        font-size: 3.6rem;
        margin-bottom: 2.8rem;
        line-height: 1.5;
    }
    .Detail-part4__image{
        width: 100%;
        margin-top: 5rem;
    }
    .Detail-part4__image + .Detail-part4__body{
        width: 100%;
    }
    .Detail-part4__text-wrap > *:not(:last-child){
        margin-bottom: 1.8em;
    }

    .Detail-part5{
        margin-bottom: 10rem;
    }
    .Detail-part5__item-title{
        width: 21rem;
        padding: 4rem 3rem;
        line-height: calc(4.5 / 3);
    }
    .Detail-part5__item-body{
        width: calc(100% - 21rem);
        padding: 4rem 3rem;
    }
    .Detail-part5__item-body > *{
        line-height: calc(4.5 / 3);
    }

    .Detail__button a{
        min-width: 50rem;
        max-width: 100%;
        padding: 2rem 5rem;
        line-height: calc(6.3 / 3.6)
    }
    .Detail__last-button-wrap{
        margin-top: 10rem;
        flex-direction: column;
    }
    .Detail__last-button:not(:last-child){
        margin-right: 0;
        margin-bottom: 2rem;
    }

}