@charset "utf-8";

/*==============================
    page top（EVENT）
==============================*/
.indexEvent .secPageTop .pageTopBg,
.detailsEvent .secPageTop .pageTopBg{
    background-image:url("../img/event/bgPageTop.jpg");
}
.indexEvent .secPageTop .pageTopTit,
.detailsEvent .secPageTop .pageTopTit{
    margin-top:6.6rem;
}
@media only screen and (max-width:1215px){
    .indexEvent .secPageTop .pageTopBg,
    .detailsEvent .secPageTop .pageTopBg{
        background-image:url("../img/event/bgPageTopSp.jpg");
    }
    .indexEvent .secPageTop .pageTopTit,
    .detailsEvent .secPageTop .pageTopTit{
        margin-top:0;
    }
}

/*==============================
    secEventList
==============================*/
.secEventList{
    padding:7.6rem 0 15rem;
    background:var(--bgColorBeige);
}
.secEventList .eventListSelect{
    display:none;
}
.secEventList .eventListTab{
    display:flex;
    flex-wrap:nowrap;
    gap:0.8rem;
    margin:0 0 5rem;
    list-style:none;
    border-bottom:1px solid var(--borderColor);
}
.secEventList .eventListTabItem{
    flex:1 1 0;
    min-width:0;
}
.secEventList .eventListTabBtn{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    box-sizing:border-box;
    width:100%;
    height:6.5rem;
    padding:0 1.2rem;
    border:1px solid transparent;
    border-bottom:none;
    border-radius:4px 4px 0 0;
    background:var(--bgColor);
    font-size:var(--pcFontSize15);
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--textColor);
    font-weight:bold;
    text-decoration:none;
    cursor:pointer;
}
.secEventList .eventListTabBtn.isActive{
    bottom:-1px;
    z-index:1;
    border-color:var(--borderColor);
    border-bottom-color:transparent;
    background:var(--bgColorBeige);
}
.secEventList .eventListTabBtn.isActive::after{
    content:"";
    position:absolute;
    right:0;
    bottom:-1px;
    left:0;
    z-index:1;
    height:2px;
    background:var(--bgColorBeige);
}
.secEventList .eventList{
    display:flex;
    flex-wrap:wrap;
    gap:6rem 5rem;
    margin:0 0 8rem;
    list-style:none;
}
.secEventList .eventListItem{
    width:calc((100% - 10rem) / 3);
}

/* eventCard（一覧・関連共通） */
.eventCard{
    display:block;
}
.eventCardImg{
    overflow:hidden;
    margin:0 0 2rem;
    aspect-ratio:1 / 1;
}
.eventCardPhoto{
    width:100%;
    height:100%;
    object-fit:cover;
    vertical-align:bottom;
}
.eventCardTit{
    display:-webkit-box;
    overflow:hidden;
    margin:0 0 1.6rem;
    font-size:var(--pcFontSize20);
    line-height:calc(36 / 20);
    letter-spacing:var(--pcLetterSpacing40);
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    font-weight: bold;
}
.eventCardTag{
    display:inline-block;
    padding:1.1rem 1.2rem;
    border-radius:0.4rem;
    background:var(--bgColorBeigeLight);
    font-size:var(--pcFontSize13);
    line-height:calc(18 / 13);
    letter-spacing:var(--pcLetterSpacing40);
}
.eventCardInfo{
    margin:0;
}
.eventCardInfoRow{
    display:flex;
    margin:0 0 0.6rem;
    font-size:var(--pcFontSize13);
    line-height:calc(20 / 13);
    letter-spacing:var(--pcLetterSpacing20);
}
.eventCardInfoRow:last-child{
    margin:0;
}
.eventCardInfoTit{
    flex-shrink:0;
}
.eventCardInfoTit::after{
    content:"";
    display:inline-block;
    width:1px;
    height:1em;
    margin:0 1rem;
    background:var(--textColor);
    vertical-align:-0.1em;
}
.eventCardInfoTxt{
    margin:0;
}

/* eventCard：一覧差分 */
.secEventList .eventCardPhoto{
    transition:transform 0.4s ease-out;
}
.secEventList .eventCard:hover .eventCardPhoto{
    transform:scale(1.05);
}
.secEventList .eventCardTag{
    margin:0 0 1.6rem;
}
.secEventList .eventCardInfoRow{
    align-items:flex-start;
}

/* eventCard：終了マスク（.eventListItemEnd 付与で疑似要素表示） */
.eventListItemEnd .eventCardImg{
    position:relative;
}
.eventListItemEnd .eventCardImg::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background-color:rgb(34, 34, 34);
    opacity:0.702;
    pointer-events:none;
}
.eventListItemEnd .eventCardImg::after{
    content:"このイベントは終了いたしました。\Aご参加ありがとうございました。";
    position:absolute;
    top:50%;
    left:50%;
    z-index:2;
    box-sizing:border-box;
    min-width:25.6rem;
    padding-top:10rem;
    background:url("../img/event/txtThankYou.png") no-repeat top center / 25.6rem 8rem;
    font-size:var(--pcFontSize15);
    line-height:calc(32 / 15);
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--textColorWhite);
    text-align:center;
    white-space:pre;
    pointer-events:none;
    transform:translate(-50%, -50%);
}
.secEventList .eventListItemEnd .eventCard:hover .eventCardPhoto{
    transform:none;
}

@media only screen and (max-width:1215px){
    .secEventList{
        padding:4rem 0 0;
    }
    .secEventList .eventListSelect{
        position:relative;
        display:block;
        margin:0 0 3rem;
    }
    .secEventList .eventListSelectBtn{
        appearance:none;
        -webkit-appearance:none;
        display:block;
        box-sizing:border-box;
        width:100%;
        height:calc((40 / 375) * var(--widthBase));
        padding:0 3rem 0 1.5rem;
        border:none;
        border-radius:4px;
        background:var(--bgColorBeigeLight);
        font-size:var(--spFontSize12);
        line-height:1;
        letter-spacing:var(--pcLetterSpacing40);
        color:var(--textColor);
        cursor:pointer;
    }
    .secEventList .eventListSelect::after{
        content:"";
        position:absolute;
        top:50%;
        right:1.6rem;
        width:0;
        height:0;
        border-style:solid;
        border-width:0.6rem 0.5rem 0;
        border-color:var(--textColor) transparent transparent;
        pointer-events:none;
        transform:translateY(-25%);
    }
    .secEventList .eventListTab{
        display:none;
    }
    .secEventList .eventList{
        gap:2.5rem 0;
        margin:0 2rem 4.8rem;
    }
    .secEventList .eventListItem{
        width:100%;
    }
    .eventCardImg{
        margin:0 0 1.4rem;
    }
    .eventCardTit{
        margin:0 0 1rem;
        font-size:var(--spFontSize16);
        line-height:calc(26 / 16);
    }
    .eventCardTag{
        padding:0.6rem;
        border-radius:0.3rem;
        font-size:var(--spFontSize11);
        line-height:calc(18 / 11);
        letter-spacing:0;
    }
    .eventCardInfoRow{
        margin:0;
        font-size:var(--spFontSize11);
        line-height:calc(20 / 11);
        letter-spacing:0;
    }
    .eventCardInfoTit::after{
        height:1rem;
        margin:0 0.6rem;
    }
    .secEventList .eventCardTag{
        margin:0 0 1rem;
    }
    .secEventList .eventCard:hover .eventCardPhoto{
        transform:none;
    }
    .eventListItemEnd .eventCardImg::after{
        min-width:calc(((256 / 80) * 55 / 375) * var(--widthBase));
        padding-top:calc((55 / 375) * var(--widthBase) + 1rem);
        background-size:auto calc((55 / 375) * var(--widthBase));
        font-size:var(--spFontSize12);
        line-height:calc(24 / 12);
        letter-spacing:0;
    }
}

/*==============================
    secEventDetail
==============================*/
.secEventDetail{
    padding:7.7rem 0 0;
    background:var(--bgColorBeige);
}
.eventDetailHead{
    margin:0 0 3rem;
}
.eventDetailTags{
    display:flex;
    flex-wrap:wrap;
    gap:0.8rem;
    margin:0 0 2rem;
}
.eventDetailTag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    padding:1.35rem 1rem;
    border-radius:0.4rem;
    font-size:var(--pcFontSize13);
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    font-weight:bold;
    color:var(--textColorWhite);
    background:var(--bgColorDarkGray);
}
.eventDetailTag.isOpen{
    background:var(--contactColor);
}
.eventDetailTag.isArea{
    color:var(--textColor);
    background:var(--bgColorBeigeLight);
    font-weight:500;
}
.eventDetailTit{
    margin:0 0 1rem;
    font-size:var(--pcFontSize30);
    line-height:calc(48 / 30);
    letter-spacing:var(--pcLetterSpacing40);
    font-weight:500;
}
.eventDetailMeta{
    margin:0;
    padding:0;
    list-style:none;
}
.eventDetailMetaItem{
    display:flex;
    align-items:baseline;
    font-size:var(--pcFontSize13);
    line-height:calc(28 / 13);
    letter-spacing:var(--pcLetterSpacing40);
}
.eventDetailMetaLabel{
    flex-shrink:0;
}
.eventDetailMetaLabel::after{
    content:"";
    display:inline-block;
    width:1px;
    height:10px;
    margin:0 0.8rem;
    background:var(--textColor);
}

/* slider */
.eventDetailSlider{
    margin:0 0 6rem;
}
.eventDetailMainWrap{
    position:relative;
    margin:0 0 1.5rem;
}
.eventDetailMainSwiper{
    overflow:hidden;
    width:100%;
    height:61rem;
    background:var(--bgColor);
}
.eventDetailMainSwiper .swiper-slide{
    display:flex;
    align-items:center;
    justify-content:center;
    height:61rem;
}
.eventDetailMainImg,
.eventDetailThumbImg,
.eventReasonImg{
    width:100%;
    height:100%;
    object-fit:cover;
}
.eventDetailMainImg{
    object-fit:contain;
    object-position:center;
    background:var(--bgColorBeige);
}
.eventDetailThumbImg{
    vertical-align:bottom;
}
.eventGallerySmallImg{
    transition:transform 0.4s ease-out;
}
.eventReasonImg{
    display:block;
}
.eventDetailSliderPrev,
.eventDetailSliderNext,
.eventDetailThumbPrev,
.eventDetailThumbNext{
    position:absolute;
    top:50%;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    border:none;
    border-radius:50%;
    cursor:pointer;
}
.eventDetailSliderPrev,
.eventDetailSliderNext{
    width:6.5rem;
    height:6.5rem;
    background:var(--whiteColor);
    box-shadow:0 0.2rem 0.8rem rgba(0,0,0,0.12);
}
.eventDetailThumbPrev,
.eventDetailThumbNext{
    width:4.8rem;
    height:4.8rem;
    background:rgba(45,45,45,0.7);
}
.eventDetailSliderPrev,
.eventDetailThumbPrev{
    left:0;
    transform:translate(-50%, -50%);
}
.eventDetailSliderNext,
.eventDetailThumbNext{
    right:0;
    transform:translate(50%, -50%);
}
.eventDetailSliderPrev.swiper-button-disabled,
.eventDetailSliderNext.swiper-button-disabled,
.eventDetailThumbPrev.swiper-button-disabled,
.eventDetailThumbNext.swiper-button-disabled{
    opacity:0;
    pointer-events:none;
}
.eventDetailSliderArrow{
    width:1.7rem;
    height:0.5rem;
    filter:brightness(0);
}
.eventDetailThumbArrow{
    width:1.4rem;
    height:auto;
    filter:brightness(0) invert(1);
}
.eventDetailThumbsWrap{
    position:relative;
}
.eventDetailSlider.isSingle .eventDetailThumbsWrap{
    display:none;
}
.eventDetailSlider.isSingle .eventDetailMainWrap{
    margin-bottom:0;
}
.eventDetailThumbSwiper{
    overflow:hidden;
}
.eventDetailThumbSwiper .swiper-slide{
    width:23.2rem;
    height:11.8rem;
}
.eventDetailThumbBtn{
    position:relative;
    display:block;
    width:100%;
    height:100%;
    padding:0;
    border:none;
    background:none;
    cursor:pointer;
    overflow:hidden;
}
.eventDetailThumbBtn::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.55);
    opacity:0;
    transition:opacity 0.25s ease;
    pointer-events:none;
}
.eventDetailThumbSwiper .swiper-slide-thumb-active .eventDetailThumbBtn::after{
    opacity:1;
}

/* table / map / cta */
.eventDetailTable{
    width:100%;
    margin:0 0 6rem;
    border-collapse:collapse;
}
.eventDetailTableRow{
    border-top: 1px solid var(--bgColorBeige);
}
.eventDetailTableRow:first-child{
    border-top:none;
}
.eventDetailTableTit{
    width:15rem;
    padding:1.8rem 2.4rem;
    border-right:1px solid var(--bgColorBeige);
    background:var(--borderColorBeige);
    font-size:var(--pcFontSize15);
    line-height:calc(26 / 15);
    letter-spacing:var(--pcLetterSpacing40);
    /* font-weight:bold; */
    vertical-align:middle;
    text-align:center;
}
.eventDetailTableTxt{
    padding:1.8rem 2rem;
    background:var(--bgColor);
    font-size:var(--pcFontSize15);
    line-height:calc(28 / 15);
    letter-spacing:var(--pcLetterSpacing20);
    vertical-align:middle;
}
.eventDetailMap{
    margin:0 0 6rem;
    overflow:hidden;
}
.eventDetailMapFrame{
    display:block;
    width:100%;
    height:36rem;
    border:0;
}
.eventDetailCta{
    margin:0 0 12rem;
}
.eventDetailCtaBtn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1.6rem;
    box-sizing:border-box;
    width:80rem;
    max-width:100%;
    height:10.5rem;
    margin:0 auto 4rem;
    border-radius:10rem;
    background:var(--contactColor);
    color:var(--textColorWhite);
    font-size:var(--pcFontSize24);
    letter-spacing:var(--pcLetterSpacing40);
    font-weight:bold;
    text-decoration:none;
    transition:opacity 0.3s ease;
}
.eventDetailCtaBtn:hover{opacity:0.8;}
.eventDetailCtaIco{
    flex-shrink:0;
    width:2.4rem;
    height:2.4rem;
    vertical-align:bottom;
    filter:brightness(0) invert(1);
}
.eventDetailContact{
    display:flex;
    align-items:center;
    box-sizing:border-box;
    width:80rem;
    max-width:100%;
    margin:0 auto;
    padding:3.2rem 4rem;
    background:var(--bgColor);
}
.eventDetailContactLabel{
    position:relative;
    flex:0 0 18rem;
    margin:0;
    padding:0 3rem 0 0;
    font-size:var(--pcFontSize18);
    letter-spacing:var(--pcLetterSpacing40);
    text-align:center;
    font-weight: bold;
}
.eventDetailContactLabel::before{
    content:"";
    position:absolute;
    top:50%;
    right:0;
    width:1px;
    height:10rem;
    background:var(--borderColor);
    transform:translateY(-50%);
}
.eventDetailContactBody{
    flex:1 1 auto;
    min-width:0;
    padding:0 0 0 4rem;
}
.eventDetailContactName{
    position:relative;
    margin:0 0 1.2rem;
    padding:0 0 0 1.8rem;
    font-size:var(--pcFontSize15);
    line-height:1.6;
    letter-spacing:var(--pcLetterSpacing40);
    font-weight: bold;
}
.eventDetailContactName::before{
    content: "";
    position: absolute;
    top: 12px;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--contactColor);
    transform: translateY(-50%);
}
.eventDetailContactTel{
    margin:0 0 1.2rem;
}
.eventDetailContactTelLink{
    display:inline-flex;
    align-items:center;
    gap:1rem;
    color:var(--contactColor);
    text-decoration:none;
}
.eventDetailContactTelIco{
    display:inline-block;
    flex-shrink:0;
    width:20px;
    height:20px;
    background:url("../img/event/icoTel.png") center / contain no-repeat;
    filter:brightness(0) saturate(100%) invert(32%) sepia(24%) saturate(1200%) hue-rotate(131deg) brightness(92%) contrast(90%);
    transform:translateY(3px);
}
.eventDetailContactTelNum{
    font-size:var(--pcFontSize32);
    font-weight:500;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
}
.eventDetailContactAddress{
    margin:0;
    font-size:var(--pcFontSize13);
    line-height:1.6;
    letter-spacing:var(--pcLetterSpacing40);
}
.eventDetailContactAddressLabel{
    margin-right:0.8rem;
}
.eventDetailContactAddressLabel::after{
    content:"|";
    margin-left:0.8rem;
}

/* intro（2×2画像＋テキスト） */
.eventDetailIntro{
    margin:0 0 10rem;
}
.eventDetailIntroGrid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:0;
    margin:0 0 4rem;
    padding:0;
    list-style:none;
}
.eventDetailIntroGridItem{
    overflow:hidden;
    aspect-ratio:600 / 305;
}
.eventDetailIntroGridImg{
    display:block;
}
.eventDetailIntroTxt{
    margin:0;
    font-size:var(--pcFontSize15);
    line-height:calc(32 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}

/* body（エディタ出力：boxEntry entry + editor_reset.css） */
.eventDetailBody{
    margin:0 0 10rem;
}
/* エディタ本文内の<style>でページの背景色が変わらないようにする */
body.detailsEvent{
    background:var(--bgColorBeige);
}

@media only screen and (max-width:1215px){
    .secEventDetail{padding:3rem 0 0;}
    .eventDetailHead{margin:0 0 2.4rem;}
    .eventDetailTag{
        padding:1rem;
        font-size:var(--spFontSize11);
    }
    .eventDetailTit{
        margin:0 0 2rem;
        font-size:var(--spFontSize18);
        line-height:calc(28 / 18);
    }
    .eventDetailMetaItem{
        font-size:var(--spFontSize12);
        line-height:calc(20 / 12);
        gap:0.8rem;
    }
    .eventDetailMetaLabel::after{
        margin-left:0.8rem;
    }
    .eventDetailSlider{margin:0 0 3rem;}
    .eventDetailMainWrap{margin:0 0 0.5rem;}
    .eventDetailMainSwiper,
    .eventDetailMainSwiper .swiper-slide{
        height:auto;
        aspect-ratio:1200 / 610;
    }
    .eventDetailSliderPrev,
    .eventDetailSliderNext{
        width:calc((41 / 375) * var(--widthBase));
        height:calc((41 / 375) * var(--widthBase));
    }
    .eventDetailSliderPrev{
        left: 10px;
    }
    .eventDetailSliderNext{
        right: 10px;
    }
    .eventDetailThumbSwiper .swiper-slide{
        width: calc((100% - 15px) / 4);
        height: auto;
        aspect-ratio: 1200 / 600;
    }
    .eventDetailThumbPrev,
    .eventDetailThumbNext{
        display:none;
    }
    .eventDetailTable{
        margin-bottom:3rem;
    }
    .eventDetailTableTit{
        display:table-cell;
        width:8.8rem;
        padding:1.4rem 1rem;
        font-size:var(--spFontSize13);
    }
    .eventDetailTableTxt{
        padding:1.4rem 1.4rem;
        font-size:var(--spFontSize13);
        line-height:calc(24 / 13);
    }
    .eventDetailMap{margin:0 0 3rem;}
    .eventDetailMapFrame{height:30rem;}
    .eventDetailCta{margin:0 0 5rem;}
    .eventDetailCtaBtn{
        width: 81.335%;
        max-width: 30.5rem;
        height:calc((60 / 375) * var(--widthBase));
        gap:1rem;
        margin:0 auto 2rem;
        font-size:var(--spFontSize14);
        letter-spacing: 0;
    }
    .eventDetailCtaIco{
        width:14px;
        height:14px;
    }
    .eventDetailContact{
        flex-direction:column;
        align-items:stretch;
        width: 88.41%;
        padding:2rem 1.6rem;
    }
    .eventDetailContactLabel{
        position:relative;
        flex:none;
        margin:0 0 1rem;
        padding:0 0 1.4rem;
        border-bottom:none;
        font-size:var(--spFontSize14);
        text-align:center;
        letter-spacing: 0;
    }
    .eventDetailContactLabel::before{
        display:none;
    }
    .eventDetailContactLabel::after{
        content:"";
        position:absolute;
        left:50%;
        bottom:0;
        width:5rem;
        height:1px;
        background:var(--borderColor);
        transform:translateX(-50%);
    }
    .eventDetailContactBody{
        padding: 0;
        text-align: center;
    }
    .eventDetailContactName{
        margin: 0 0 1rem;
        padding: 0 0 0 1rem;
        font-size: var(--spFontSize12);
        display: inline-block;
    }
    .eventDetailContactTel{
        margin:0 0 1rem;
    }
    .eventDetailContactTelIco{
        width:16px;
        height:16px;
    }
    .eventDetailContactTelNum{
        font-size:var(--spFontSize24);
    }
    .eventDetailContactAddress{
        font-size:var(--spFontSize11);
        line-height: calc(18 / 11);
    }
    .eventDetailIntro{margin:0 0 4rem;}
    .eventDetailIntroGrid{margin:0 0 2.4rem;}
    .eventDetailIntroTxt{
        font-size:var(--spFontSize12);
        line-height:calc(24 / 12);
        letter-spacing:0;
    }
    .eventDetailBody{margin:0 0 4rem;}
}

/*==============================
    secEventGallery
==============================*/
.secEventGallery{
    padding:0 0 10rem;
    background:var(--bgColorBeige);
}
.eventGalleryHead{
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:1rem;
    margin:0 0 4rem;
    text-align:center;
}
.eventGalleryTitEn{
    font-size:var(--pcFontSize50);
}
.eventGalleryTitJa{
    font-size:var(--pcFontSize18);
    line-height:calc(24 / 18);
}
.eventGalleryLarge{
    margin:0 0 8rem;
}
.eventGalleryLargeItem{
    display:flex;
    gap:6rem;
}
.eventGalleryLargeItem + .eventGalleryLargeItem{
    margin-top:6rem;
}
.eventGalleryLargeTxt{
    flex:1 1 42%;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
}
.eventGalleryLargeMedia{
    flex:0 1 62rem;
    width:62rem;
    max-width:52%;
    min-width:0;
}
.eventGalleryLargeMedia.imgCont img,
.eventGalleryLargeImg{
    display:block;
    position:static;
    top:auto;
    right:auto;
    bottom:auto;
    left:auto;
    width:100%;
    height:auto;
    max-width:100%;
    max-height:none;
    margin:0;
    object-fit:contain;
    object-position:top center;
}
.eventGalleryLargeTit{
    margin:0 0 2.5rem;
    padding:0 0 2.5rem;
    border-bottom:1px solid var(--borderColorBeige);
    font-size:var(--pcFontSize24);
    line-height:calc(40 / 24);
    letter-spacing:var(--pcLetterSpacing40);
    font-weight:700;
}
.eventGalleryLargeBody{
    margin:0;
    font-size:var(--pcFontSize15);
    line-height:calc(32 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}
.eventGallerySmallNote,
.eventGallerySmallPrev,
.eventGallerySmallNext,
.eventGallerySmallPagination{
    display:none;
}
.eventGallerySmallSwiper{
    overflow:visible;
}
.eventGallerySmallSwiper:not(.swiper-initialized) .eventGallerySmall{
    display:flex;
    flex-wrap:wrap;
    gap:5rem 3.37%;
    transform:none !important;
}
.eventGallerySmall{
    margin:0;
    padding:0;
    list-style:none;
}
.eventGallerySmallSwiper:not(.swiper-initialized) .eventGallerySmallItem{
    width:31.084%;
    height:auto;
}
.eventGallerySmallItem{
    height:auto;
}
.eventGallerySmallLink{
    display:block;
    color:inherit;
    text-decoration:none;
}
.eventGallerySmallMedia{
    margin:0 0 2rem;
    overflow:hidden;
    aspect-ratio:620 / 415;
    background:var(--bgColor);
}
.eventGallerySmallLink:hover .eventGallerySmallImg{
    transform:scale(1.04);
}
.eventGalleryZoom{
    position:absolute;
    right:0;
    bottom:0;
    display:flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    background:none;
}
.eventGalleryZoomIco{
    width:34px;
    height:34px;
    background:url("../img/event/icoZoom.png") center / contain no-repeat;
}
.eventGallerySmallTit{
    margin:0 0 1.2rem;
    font-size:var(--pcFontSize18);
    line-height:calc(30 / 18);
    letter-spacing:var(--pcLetterSpacing40);
    font-weight: bold;
}
.eventGallerySmallTxt{
    margin:0;
    font-size:var(--pcFontSize15);
    line-height:calc(26 / 15);
    letter-spacing:var(--pcLetterSpacing20);
}
@media only screen and (max-width:1215px){
    .secEventGallery{padding:0 0 5rem;}
    .eventGalleryHead{
        gap:0.8rem;
        margin:0 0 2.4rem;
    }
    .eventGalleryTitEn{
        font-size:var(--spFontSize30);
    }
    .eventGalleryTitJa{
        font-size:var(--spFontSize14);
    }
    .eventGalleryLargeTxt{
        display:block;
        justify-content:flex-start;
    }
    .eventGalleryLarge{margin:0 0 4rem;}
    .eventGalleryLargeItem{
        flex-direction:column-reverse;
        align-items:stretch;
        gap:1rem;
    }
    .eventGalleryLargeItem + .eventGalleryLargeItem{margin-top:4rem;}
    .eventGalleryLargeMedia{
        flex:none;
        width:100%;
        max-width:none;
    }
    .eventGalleryLargeTit{
        margin:0 0 1rem;
        padding: 0 0 1rem;
        font-size:var(--spFontSize16);
        line-height:calc(26 / 16);
    }
    .eventGalleryLargeBody{
        font-size:var(--spFontSize12);
        line-height:calc(22 / 12);
    }
    .eventGallerySmallWrap{
        padding: 0 1.5rem;
    }
    .eventGallerySmallNote{
        display:flex;
        align-items:center;
        justify-content:flex-end;
        gap:0.6rem;
        margin:0 0 1.2rem;
    }
    .eventGallerySmallNoteIco{
        flex:0 0 auto;
        border-radius:50%;
        width:calc((24 / 375) * var(--widthBase));
        height:calc((24 / 375) * var(--widthBase));
        background:url("../img/event/icoZoom.png") center / contain no-repeat;
    }
    .eventGallerySmallNoteTxt{
        font-size:var(--spFontSize11);
        line-height:1.4;
        letter-spacing:0;
        color:var(--textColor);
    }
    .eventGallerySmallSlider{
        position:relative;
    }
    .eventGallerySmallSwiper{
        overflow:hidden;
    }
    .eventGallerySmallItem{
        width:100%;
        height:auto;
    }
    .eventGallerySmallMedia{
        margin:0 0 1.6rem;
    }
    .eventGalleryZoom{
        display:none;
    }
    .eventGallerySmallLink:hover .eventGallerySmallImg{transform:none;}
    .eventGallerySmallTit{
        margin:0 0 0.5rem;
        font-size:var(--spFontSize14);
        line-height:calc(26 / 14);
    }
    .eventGallerySmallTxt{
        margin:0 0 2rem;
        font-size:var(--spFontSize12);
        line-height:calc(22 / 12);
    }
    .eventGallerySmallPrev,
    .eventGallerySmallNext{
        position:absolute;
        top:calc(0.92 * var(--widthBase) * 415 / 620 / 2);
        z-index:2;
        display:flex;
        align-items:center;
        justify-content:center;
        width:calc((41 / 375) * var(--widthBase));
        height:calc((41 / 375) * var(--widthBase));
        border:none;
        border-radius:50%;
        background:var(--whiteColor);
        box-shadow:0 0.2rem 0.8rem rgba(0,0,0,0.12);
        cursor:pointer;
    }
    .eventGallerySmallPrev{
        left:0;
        transform:translate(-50%, -50%);
    }
    .eventGallerySmallNext{
        right:0;
        transform:translate(50%, -50%);
    }
    .eventGallerySmallPrev.swiper-button-disabled,
    .eventGallerySmallNext.swiper-button-disabled{
        opacity:0;
        pointer-events:none;
    }
    .eventGallerySmallArrow{
        width:1.4rem;
        height:auto;
        filter:brightness(0);
    }
    .eventGallerySmallPagination{
        position:static;
        display:flex;
        justify-content:center;
        align-items:center;
        gap:0.6rem;
        margin:0;
        bottom: 0 !important;
    }
    .eventGallerySmallPagination .swiper-pagination-bullet{
        width:0.5rem;
        height:0.5rem;
        margin:0 !important;
        background:var(--paginationColor);
        opacity:1;
        border-radius:50%;
    }
    .eventGallerySmallPagination .swiper-pagination-bullet-active{
        background:var(--bgColorPagerActive);
    }
}

/*==============================
    secEventReason / Apply
==============================*/
.secEventReason{
    padding:10rem 0 12rem;
    background:var(--bgColorBeigeLight);
}
.eventReasonHead{
    margin:0 0 5rem;
    text-align:center;
}
.eventReasonTitJa{
    display:block;
    margin:0 0 1.2rem;
    font-size:var(--pcFontSize30);
    line-height:calc(48 / 30);
    letter-spacing:var(--pcLetterSpacing40);
    font-weight:500;
}
.eventReasonTitEn{
    display:block;
    color:var(--textColorTeal);
    font-size:var(--pcFontSize20);
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    font-weight:500;
}
.eventReasonList{
    display:flex;
    justify-content:space-between;
    margin:0;
    padding:0;
    list-style:none;
}
.eventReasonItem{
    box-sizing:border-box;
    width:37.3rem;
    padding:3rem 3rem 2.6rem;
    border:1px solid var(--borderColorBeige);
    background:var(--bgColorBeigeLight);
    border-radius: 0.3rem;
}
.eventReasonMedia{
    overflow:hidden;
    width:31.3rem;
    aspect-ratio:313 / 200;
    margin:0 0 2.6rem;
}
.eventReasonItemTit{
    margin:0 0 1.4rem;
    font-size:var(--pcFontSize20);
    letter-spacing:var(--pcLetterSpacing40);
    font-weight: bold;
}
.eventReasonItemTitSub{
    display:block;
    font-size:var(--pcFontSize15);
    letter-spacing:var(--pcLetterSpacing40);
    margin-top: 0.8rem;
}
.eventReasonItemTxt{
    margin:0;
    font-size:var(--pcFontSize15);
    line-height:calc(32 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}
.eventDetailApply{
    padding:12rem 0 0;
    background:var(--bgColorBeige);
    text-align:center;
}
.eventDetailApply .eventDetailCtaBtn{
    margin-bottom:0;
}
@media only screen and (max-width:1215px){
    .secEventReason{padding:3rem 0 5rem;}
    .eventReasonHead{margin:0 0 2.4rem;}
    .eventReasonTitJa{
        margin:0 0 0.6rem;
        font-size:var(--spFontSize16);
        line-height:calc(26 / 16);
    }
    .eventReasonTitEn{font-size:var(--spFontSize12);}
    .eventReasonList{
        flex-direction:column;
        gap:2rem;
    }
    .eventReasonItem{
        width:100%;
        padding:2rem 2rem 1.6rem;
    }
    .eventReasonMedia{
        width:100%;
        margin:0 0 1.9rem;
    }
    .eventReasonItemTit{
        margin: 0 0 1.2rem;
        font-size:var(--spFontSize14);
        letter-spacing: 0;
        display: flex;
        align-items: flex-end;
    }
    .eventReasonItemTitSub{
        display:block;
        font-size: var(--spFontSize10);
        letter-spacing: 0;
        margin-top: 0;
        padding-bottom: 1px;
    }
    .eventReasonItemTxt{
        font-size:var(--spFontSize12);
        line-height:calc(22 / 12);
        letter-spacing: 0;
    }
    .eventDetailApply{
        padding:5rem 0 0;
    }
}

/*==============================
    secEventRelated（TOP secEventと同構成）
==============================*/
.secEventRelated{
    overflow:hidden;
    padding:11rem 0 13rem;
    background:var(--bgColorBeige);
}
.secEventRelated .eventRelatedHead{
    margin:0 0 4rem;
}
.secEventRelated .eventRelatedSlider{
    /* 左はコンテンツ揃え、右は画面端まで伸ばして見切れを出す */
    width:calc(100% + (100vw - 100%) / 2);
    margin:0 0 4rem;
    overflow:hidden;
}
.secEventRelated .swiper-slide{
    width:calc((450 / 1920) * var(--widthBase));
}
/* eventCard：関連差分 */
.secEventRelated .eventCardInfo{
    margin:0 0 2rem;
}
.secEventRelated .eventCardInfoRow{
    align-items:center;
}
.secEventRelated .eventCardTag{
    margin:0;
    padding:1rem 1.2rem;
}
.secEventRelated .eventRelatedFoot{
    display:flex;
    align-items:center;
    gap:3rem;
}
.secEventRelated .eventRelatedNav{
    display:flex;
    gap:1.2rem;
}
.secEventRelated .eventRelatedNavPrev,
.secEventRelated .eventRelatedNavNext{
    display:flex;
    justify-content:center;
    align-items:center;
    width:6.5rem;
    height:6.5rem;
    border:none;
    border-radius:50%;
    background:var(--bgColor);
    cursor:pointer;
    transition:opacity 0.2s ease-out;
}
.secEventRelated .eventRelatedNavPrev.swiper-button-disabled,
.secEventRelated .eventRelatedNavNext.swiper-button-disabled{
    opacity:0.35;
    cursor:default;
    pointer-events:none;
}
.secEventRelated .eventRelatedNavArrow{
    width:17px;
    height:5px;
    vertical-align:top;
    filter:brightness(0);
}
@media only screen and (max-width:1215px){
    .secEventRelated{
        padding:5rem 0 4rem;
    }
    .secEventRelated .eventRelatedHead{
        margin:0 0 2rem;
    }
    .secEventRelated .eventRelatedSlider{
        width:calc(100% + 2rem);
        margin:0 0 2.4rem;
    }
    .secEventRelated .swiper-slide{
        width:calc((305 / 375) * var(--widthBase));
    }
    .secEventRelated .eventCardInfo{
        margin:0 0 1rem;
    }
    .secEventRelated .eventRelatedFoot{
        flex-wrap:wrap;
        gap:4%;
        justify-content:space-between;
    }
    .secEventRelated .eventRelatedNav{
        gap:0.5rem;
    }
    .secEventRelated .eventRelatedNavPrev,
    .secEventRelated .eventRelatedNavNext{
        width:calc((49 / 375) * var(--widthBase));
        height:calc((49 / 375) * var(--widthBase));
    }
    .secEventRelated .secListBtn{
        width:65%;
        max-width:22.5rem;
    }
}

/*==============================
    secEventPresent
==============================*/
.secEventPresent{
    padding:5rem 5rem 6rem;
    background:var(--bgColorBeigeLight);
}
.eventPresentTit{
    display:table;
    margin:0 auto 3rem;
    padding:0 0 1rem;
    border-bottom:1px solid var(--bgColorPagerActive);
    color:var(--bgColorPagerActive);
    font-size:var(--pcFontSize30);
    line-height:1.4;
    letter-spacing:var(--pcLetterSpacing40);
    font-weight:500;
    text-align:center;
}
.eventPresentLeadList{
    width:fit-content;
    max-width:100%;
    padding:0;
    list-style:none;
    margin-bottom: 4rem;
}
.eventPresentLeadItem{
    position:relative;
    padding-left:1.6rem;
    font-size:var(--pcFontSize15);
    line-height:calc(32 / 15);
    letter-spacing:var(--pcLetterSpacing20);
}
.eventPresentLeadItem::before{
    content:"";
    position:absolute;
    top:1.6rem;
    left:0;
    width:2px;
    height:2px;
    border-radius:50%;
    background:var(--textColorGray);
}
.eventPresentLeadItem.isNote{
    color:var(--textColorNote);
}
.eventPresentLeadItem.isNote::before{
    background:var(--textColorNote);
}
.eventPresentAccordion{
    width:100%;
}
.eventPresentToggle{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:6rem;
    padding:0 6rem;
    border:none;
    background:var(--bgColorPagerActive);
    color:var(--textColorWhite);
    font-size:var(--pcFontSize18);
    letter-spacing:var(--pcLetterSpacing40);
    font-weight:bold;
    cursor:pointer;
}
.eventPresentToggleIco{
    position:absolute;
    top:50%;
    right:2.4rem;
    width:2rem;
    height:2rem;
    transform:translateY(-50%);
}
.eventPresentToggleIco::before,
.eventPresentToggleIco::after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    background:var(--whiteColor);
    transform:translate(-50%, -50%);
}
.eventPresentToggleIco::before{
    width:100%;
    height:1px;
}
.eventPresentToggleIco::after{
    width:1px;
    height:100%;
    transition:opacity 0.2s ease;
}
.eventPresentToggle.isOpen .eventPresentToggleIco::after{
    opacity:0;
}
.eventPresentBody{
    padding:3.2rem 4rem;
    background:var(--bgColorBeige);
    text-align:left;
    margin-top: 2rem;
}
.eventPresentTxt{
    margin:0;
    font-size:var(--pcFontSize15);
    line-height:calc(30 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}
@media only screen and (max-width:1215px){
    .secEventPresent{
        padding:3rem 1.5rem 4rem;
    }
    .eventPresentTit{
        margin:0 auto 2.4rem;
        padding:0 0 0.4rem;
        font-size:var(--spFontSize16);
    }
    .eventPresentLeadList{margin:0 auto 2.4rem;}
    .eventPresentLeadItem{
        font-size:var(--spFontSize12);
        line-height:calc(22 / 12);
        padding-left: 1rem;
    }
    .eventPresentLeadItem::before{
        top:1rem;
        width:0.2rem;
        height:0.2rem;
    }
    .eventPresentToggle{
        height:5rem;
        padding:0 4.8rem;
        font-size:var(--spFontSize12);
    }
    .eventPresentToggleIco{
        right:1.6rem;
        width:1.4rem;
        height:1.4rem;
    }
    .eventPresentBody{
        padding:2rem 1.5rem;
        margin-top: 1.5rem;
    }
    .eventPresentTxt{
        font-size:var(--spFontSize12);
        line-height:calc(22 / 12);
    }
}

/*==============================
    formBack（フォームセクション外・常時表示）
==============================*/
.detailsEvent:not(.co):not(.ok) .secFormReserve{
    padding-bottom:0;
}
.detailsEvent main > .formBack{
    margin-top:6rem;
    margin-bottom:15rem;
}
@media only screen and (max-width:1215px){
    .detailsEvent main > .formBack{
        margin-top:4rem;
        margin-bottom:8rem;
    }
}

/*==============================
    floating CTA
==============================*/
.eventDetailFloat{
    position:fixed;
    top:50%;
    right:0;
    z-index:50;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2rem;
    box-sizing:border-box;
    width:8rem;
    height:36rem;
    padding:2.4rem 0;
    border-radius:0.4rem 0 0 0.4rem;
    background:var(--contactColor);
    color:var(--textColorWhite);
    text-decoration:none;
    transform:translateY(-50%);
    transition:opacity 0.3s ease;
}
.eventDetailFloat:hover{opacity:0.85;}
.eventDetailFloatIco{
    width:18px;
    height:18px;
    flex-shrink:0;
    filter:brightness(0) invert(1);
}
.eventDetailFloatTxt{
    writing-mode:vertical-rl;
    font-size:var(--pcFontSize18);
    letter-spacing:var(--pcLetterSpacing80);
    line-height:1;
    text-align:center;
    font-weight: bold;
}
@media only screen and (max-width:1215px){
    .eventDetailFloat{
        top:auto;
        right:1.6rem;
        bottom:2rem;
        flex-direction:row;
        gap:0.8rem;
        width:auto;
        height:5.2rem;
        padding:0 2rem;
        border-radius:10rem;
        transform:none;
        box-shadow:0 0.6rem 1.6rem rgba(0,0,0,0.18);
    }
    .eventDetailFloatTxt{
        writing-mode:horizontal-tb;
        font-size:var(--spFontSize12);
        letter-spacing:0.04em;
    }
    /* 共通floatMenu非表示に伴いpadding-bottomを解除 */
    body.detailsEvent{
        padding-bottom:0;
    }
    body.detailsEvent .floatMenu{
        display:none !important;
    }
    body.detailsEvent .footer .footerDeco{
        bottom:0.4rem;
    }
}
