@charset "utf-8";
/*-----------------------------------------------
    secCmnHero
-----------------------------------------------*/
.secCmnHero {
    background-image: url(../img/event/bgTitle.jpg);
}
.secCmnHero.details{
    background-image: url(../img/event/bgTitle_details.jpg);
}
.secCmnHero .titEng{
    /* width: 21.1rem; */
    width: calc(21.1rem + 5rem + 23.8rem);
    display: flex;
}
.secCmnHero .titEng .inImg{
    width: 21.1rem;
}
.secCmnHero .titEng .inImg + .inImg{
    margin-left: 5rem;
    width: 23.8rem;
    position: relative;
}
.secCmnHero .titEng .inImg + .inImg::after{
    content: "";
    position: absolute;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background-color: var(--ColorWhite);
    top: calc(50% - 0.5rem);
    left: -3rem;
}
@media only screen and (max-width:1215px){
    .secCmnHero,
    .secCmnHero.details{
        background-image: url(../img/event/bgTitle_sp.jpg);
    }
    .secCmnHero .titEng{
        /* width: 7.8rem; */
        width: calc(7.8rem + 3rem + 8.7rem);
    }
    .secCmnHero .titEng .inImg{
        width: 7.8rem;
    }
    .secCmnHero .titEng .inImg + .inImg{
        margin-left: 3rem;
        width: 8.7rem;
    }
    .secCmnHero .titEng .inImg + .inImg::after{
        width: 0.8rem;
        height: 0.8rem;
        top: calc(50% - 0.4rem);
        left: -2rem;
    }
}

/* secTab */
.secTab{
    margin-top: 6rem;
}
.secTab .boxTab{
    display: flex;
    align-items: center;
}
.secTab .itemTab{
    width: calc(50% - 2.5rem);
    margin-right: 5rem;
}
.secTab .itemTab:last-child{
    margin-right: 0;
}
.secTab .itemTab.active .link{
    background: var(--ColorBlack);
    color: var(--ColorWhite);
}
.secTab .link{
    height: 10rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    font-size: var(--pcFontSize20);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing20_50);
    color: var(--ColorBlack);
    border: 0.1rem solid var(--ColorBlack);
}
.secTab .boxSelect{
    display: none;
}
@media only screen and (max-width:1215px){
    .secTab{
        margin-top: 3rem;
    }
    .secTab .boxTab{
        display: none;
        align-items: center;
    }
    .secTab .boxSelect{
        display: block;
        position: relative;
    }
    .secTab .boxSelect::after{
        content: "";
        position: absolute;
        width: 0.6rem;
        height: 0.6rem;
        background: var(--ColorBlack);
        clip-path: polygon(0 0, 100% 0, 50% 100%);
        right: 1.2rem;
        top: calc(50% - 0.3rem);
    }
    .secTab select{
        -webkit-appearance: none;
        appearance: none;
        width: 100%;
        height: 5rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_50);
        padding: 0 1.2rem;
        position: relative;
        font-weight: bold;
    }
}

/*-----------------------------------------------
    index
-----------------------------------------------*/
.secEvent .eventList{
    margin-top: 6rem;
}
.secEvent .list{
    display: flex;
    flex-wrap: wrap;
}
.secEvent .item{
    width: calc((100% - 9rem) / 3);
    margin-right: 4.5rem;
}
.secEvent .item:nth-child(3n){
    margin-right: 0;
}
.secEvent .item:nth-child(n+4){
    margin-top: 8rem;
}
.secEvent .link{
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    position: relative;
    padding-bottom: calc(1.9rem + 2.8rem);
}
.secEvent .imgBox{
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 100%;
    border-radius: 0.4rem;
    overflow: hidden;
}
.secEvent .txtbox{
    margin-top: 2.2rem;
}
.secEvent .tit{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_32);
    font-weight: bold;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    max-height: calc((var(--pcFontSize16)* var(--pcLineHeight16_32))* 2);
    letter-spacing: var(--pcLetterSpacing16_50);
}
.secEvent .boxlist{
    margin-top: 1.8rem;
}
.secEvent .boxItem{
    position: relative;
    padding-left: 3.1rem;
    display: block;
    width: 100%;
}
.secEvent .boxItem + .boxItem{
    margin-top: 1.5rem;
}
.secEvent .boxItem::after{
    content: "";
    position: absolute;
    left: 0;
}
.secEvent.lazyloaded .boxItem::after{
    background: url(../img/common/tp.gif) center center no-repeat;
    background-size: 100% auto;
}
.secEvent .boxItem.days::after {
    width: 1.6rem;
    height: 1.8rem;
    top: calc(50% - 0.9rem);
}
.secEvent.lazyloaded .boxItem.days::after {
    background-image: url(../img/common/imgIconDays.png);
}
.secEvent .boxItem.address::after {
    width: 1.6rem;
    height: 2rem;
    top: calc(50% - 1rem);
}
.secEvent.lazyloaded .boxItem.address::after {
    background-image: url(../img/index/imgAddIcon.png);
}
.secEvent .boxtxt{
    font-size: var(--pcFontSize12);
    line-height: var(--pcLineHeight12_17);
    font-weight: bold;
    letter-spacing:var(--pcLetterSpacing12_50);
}
@media only screen and (min-width:1216px){
    .secEvent .boxtxt {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}
.secEvent .iconbox{
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    padding-right:calc(3rem + 1rem);
}
.secEvent .iconbox::after{
    content: "";
    position: absolute;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 50%;
    background-color: var(--ColorRed);
    border: 0.1rem solid;
    border-color: var(--ColorWhite);
    bottom: 0;
    right: 0;
}
.secEvent.lazyloaded .iconbox::after{
    background: url(../img/common/imgMoreArrow.png) center center no-repeat var(--ColorRed);
    background-size: 0.5rem auto;
}
.secEvent .iconlist{
    display: flex;
}
.secEvent .icon{
    display: inline-block;
    min-width: 5.4rem;
    max-width: calc((100% - 0.1rem) / 2);
    padding: 0.3rem 1rem;
    text-align: center;
    background-color: var(--SlideBtnColor);
    color: var(--ColorWhite);
}
.secEvent .icon + .icon{
    margin-left: 0.1rem;
}
.secEvent .icon.type02,
.secEvent .icon.type01{
    background-color: var(--ColorRed);
}
.secEvent .icon.type03{
    background-color: var(--endColor);
}
.secEvent .icontxt{
    font-size: var(--pcFontSize11);
    line-height: var(--pcLineHeight11_22);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: var(--pcLetterSpacing11_50);
}
@media only screen and (max-width:1215px){
    .secEvent .eventList{
        margin-top: 3rem;
    }
    .secEvent .list{
        flex-wrap: wrap;
    }
    .secEvent .item{
        width: calc((100% - 1.5rem) / 2);
        margin-right: 1.5rem;
    }
    .secEvent .item{
        width: 100%;
        margin-right: 0;
    }
    .secEvent .item:nth-child(n + 2){
        margin-top: 5rem;
    }
    .secEvent .link{
        padding-bottom: calc(2.1rem + 2.8rem);
    }
    .secEvent .item .txtbox{
        margin-top:1.2rem;
    }
    .secEvent .item .tit{
        font-size:var(--spFontSize16);
        line-height: var(--spLineHeight16_28);
        max-height:calc((var(--spFontSize16) * var(--spLineHeight16_28)) * 2);
        letter-spacing:var(--spLetterSpacing0);
    }
    .secEvent .item .boxlist{
        margin-top: 1.7rem;
    }
    .secEvent .boxItem{
        padding-left:3rem;
    }
    .secEvent .boxItem + .boxItem{
        margin-top: 1.3rem;
    }
    .secEvent .boxtxt{
        font-size: var(--spFontSize11);
        letter-spacing:var(--spLetterSpacing0);
    }
    .secEvent .iconbox{
        padding-right:calc(2rem + 1rem);
    }
    .secEvent .iconbox::after{
        width: 2rem;
        height: 2rem;
        bottom: 0.4rem;
    }
    .secEvent .icon{
        min-width: 4.2rem;
        padding: 0.4rem;
    }
    .secEvent .icon.events{
        max-width: calc((100% - 0.1rem) - 4.2rem);
    }
    .secEvent .icontxt{
        font-size: var(--spFontSize10);
    }
    .secEvent .secMoreBtn{
        margin-top: 3rem;
    }
}

/* イベント終了マスク */
.secEvent .imgArea{
    border-radius: 0.4rem;
    overflow: hidden;
    z-index: 1;
    position: relative;
}
.secEvent .endbox{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    background-color: var(--textColor_70);
    color: var(--ColorWhite);
    z-index: 2;
}
.secEvent .endInner{
    display: inline-block;
    width: 100%;
    text-align: center;
    padding-top: 1rem;
}
.secEvent .endtitbox{
    position: relative;
    width: 15.7rem;
    margin: 0 auto;
}
.secEvent .endtitbox::before{
    content: "";
    position: absolute;
    width: 100%;
    height:0.1rem;
    bottom: 0;
    left: 0;
    background-color: var(--ColorWhite);
}
.secEvent .endtxtbox{
    text-align: center;
    margin-top: 1.7rem;
}
.secEvent .endtxt{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_28);
}
@media only screen and (max-width:1215px){
    .secEvent .endInner{
        padding-top: 1rem;
    }
    .secEvent .endtitbox{
        width: calc((157 / 335) * 100%);
        max-width: 15.7rem;
    }
    .secEvent .endtxtbox{
        margin-top: 1.7rem;
    }
    .secEvent .endtxt{
        font-size: var(--spFontSize14);
    }
}

/*-----------------------------------------------
    details
-----------------------------------------------*/
/* secEvent_details */
.secEvent_details{
    margin-top: 5.9rem;
    margin-bottom: 18rem;
}
.secDetails_title{
    position: relative;
    width: 100%;
    padding-bottom: 4.4rem;
}
.secDetails_title::before,
.secDetails_title::after{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 0.2rem;
}
.secDetails_title::after{
    width: 5rem;
    background-color: var(--ColorRed);
}
.secDetails_title::before{
    width: 100%;
    background-color: var(--infoBorderColor_25);
}
.secDetails_title .onbox{
    display: flex;
    align-items: center;
}
.secDetails_title .daystxt{
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_25);
    letter-spacing: var(--pcLetterSpacing15_50);
}
.secDetails_title .categorytxt{
    font-size: var(--pcFontSize12);
    line-height: var(--pcLineHeight12_25);
    letter-spacing:var(--pcLetterSpacing12_50);
    flex-shrink: 0;
}
.secDetails_title .daystxt{
    padding-left: 2rem;
}
.secDetails_title .intxt{
    background-color: var(--SlideBtnColor);
    color: var(--ColorWhite);
    padding:0.5rem 1rem;
    border-radius: 0.3rem;
    display: inline-block;
}
.secDetails_title .intxt.type01{
    background-color: var(--ColorRed);
}
.secDetails_title .intxt.type02{
    background-color: var(--ColorRed);
}
.secDetails_title .intxt.type03{
    background-color: var(--endColor);
}
.secDetails_title .title{
    font-size: var(--pcFontSize30);
    line-height: var(--pcLineHeight30_45);
    font-weight: bold;
    margin-top: 2rem;
}
@media only screen and (max-width:1215px){
    .secEvent_details{
        margin-top: 3rem;
        margin-bottom: 8rem;
    }
    .secDetails_title{
        padding-bottom: 2.3rem;
        display: flex;
        flex-direction: column;
    }
    .secDetails_title::after{
        width: 3rem;
    }
    .secDetails_title .daystxt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_22);
        margin-top: 0.8rem;
    }
    .secDetails_title .categorytxt{
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_20);
        margin-bottom: 1rem;
        order:1;
    }
    .secDetails_title .daystxt{
        padding-right: 0;
        padding-left: 0;
        order: 3;
    }
    .secDetails_title .intxt{
        padding:0.2rem 0.5rem;
    }
    .secDetails_title .title{
        font-size: var(--spFontSize16);
        margin-top: 0;
        order: 2;
    }
    .secDetails_title .onbox{
        display: contents;
    }
}
/* secMainImg */
.secMainImg{
    margin-top: 5rem;
    text-align: center
}
.secMainImg .imgBox{
    display: inline-block;
    border-radius:0.4rem;
    overflow: hidden;
    max-width: 100%;
}
.secMainImg .imgBox img{
    width: auto;
    height: auto;
    max-width: 100%;
}
@media only screen and (max-width:1215px){
    .secMainImg{
        margin-top: 2.5rem;
    }
    .secMainImg .imgBox{
        width: 100%;
    }
    .secMainImg .imgBox img{
        width: 100%;
    }
}
/* secDetailsTable */
.secDetailsTable {
    margin-top: 8rem;
}
.secDetailsTable table {
    border-top: 1px solid var(--formBorderColor);
    border-left: 1px solid var(--formBorderColor);
    width: 100%;
}
.secDetailsTable table a{
    text-decoration: underline;
}
.secDetailsTable tbody {
    width: 100%;
}
.secDetailsTable tr {
    height: auto;
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_23);
}
.secDetailsTable tr th {
    width: 12rem;
    text-align: center;
    vertical-align: middle;
    background: var(--formFlowBox);
    border-bottom: 1px solid var(--formBorderColor);
    border-right: 1px solid var(--formBorderColor);
    padding: 1rem;
}
.secDetailsTable tr td {
    width: calc(100% - 12rem);
    padding: 2.7rem 2.8rem;
    vertical-align: middle;
    border-bottom: 1px solid var(--formBorderColor);
    border-right: 1px solid var(--formBorderColor);
}
@media only screen and (max-width:1215px){
    .secDetailsTable {
        margin-top: 3rem;
    }
    .secDetailsTable tr {
        height: auto;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_50);
        line-height: var(--spLineHeight12_22);
    }
    .secDetailsTable tr th {
        width: 5rem;
        padding: 1rem;
    }
    .secDetailsTable tr td {
        width: calc(100% - 5rem);
        padding: 1.0rem 1.5rem;
    }
}

/* btnReserve */
.btnReserve{
    width: 60rem;
    height: 9.4rem;
    margin: 5rem auto 8rem;
    position: relative;
    background-color: var(--ColorRed);
    color: var(--ColorWhite);
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing18_100);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}
.btnReserve:before{
    content: '';
    position: absolute;
    width: 2rem;
    height: 2rem;
    background: var(--ColorWhite);
    border-radius: 50%;
    top: calc(50% - 1rem);
    right: 3rem;
}
.btnReserve:after{
    content: "";
    position: absolute;
    top: 50%;
    right: 3.5rem;
    width: 0.6rem;
    height: 0.6rem;
    border-top: 1px solid var(--ColorRed);
    border-right: 1px solid var(--ColorRed);
    transform: translate(-50%, -50%) rotate(45deg);
}
@media only screen and (max-width:1215px){
    .btnReserve{
        width: 100%;
        height: 5rem;
        margin: 2.5rem auto 5rem;
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_50);
    }
    .btnReserve:before{
        right: 1.5rem;
    }
    .btnReserve:after{
        right: 2rem;
    }
}
/* secEntry */
.secEntry{
    margin-top: 4.1rem;
}
@media only screen and (max-width:1215px){
    .secEntry{
        margin-top: 1.2rem;
    }
}
/* secMap */
.secMap{
    margin-top: 16.5rem;
}
.secMap .titleInner .titEng {
    width: 20.4rem;
    margin: 0 auto;
}
.secMap .titleInner .titEng {
    position: relative;
    padding-bottom: 3.2rem;
    z-index: 4;
}
.secMap .titleInner .titEng::before, 
.secMap .titleInner .titEng::after {
    content: "";
    position: absolute;
    bottom: 0;
    height: 0.2rem;
    left: calc(50% - 1.5rem);
}
.secMap .titleInner .titEng::before {
    background-color: var(--ColorBlack_20);
    width: 3rem;
}
.secMap .titleInner .titEng::after {
    width: 1.5rem;
    background-color: var(--ColorRed);
    z-index: 2;
}
.secMap .titleInner .titJpn {
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_36);
    font-weight: bold;
    margin-top: 1.8rem;
    position: relative;
    z-index: 4;
    text-align: center;
}
.secMap .boxMap {
    margin-top: 5rem;
    position: relative;
    width: 100%;
    height: 54rem;
}
.secMap .boxMap iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
.secMap .txtMap {
    font-size: var(--pcFontSize11);
    letter-spacing: var(--pcLetterSpacing11_50);
    text-align: right;
    margin-top: 3rem;
}
@media only screen and (max-width:1215px){
    .secMap {
        margin-top: 3rem;
        margin-bottom: 5rem;
    }
    .secMap .titleInner .titEng {
        width: 10.2rem;
        margin: 0 auto;
    }
    .secMap .titleInner .titEng {
        padding-bottom: 2.3rem;
    }
    .secMap .titleInner .titJpn {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_100);
        line-height: var(--spLineHeight12_36);
        margin-top: 0.6rem;
    }
    .secMap .boxMap {
        margin-top: 3rem;
        height: 32rem;
    }
    .secMap .boxMap iframe {
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
    }
    .secMap .txtMap {
        margin-top: 2rem;
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing10_30);
        line-height: var(--spLineHeight10_20);
        text-align: center;
    }
}

/* secBnr */
.secBnr{
    width: 100%;
    max-width: 165rem;
    margin: 10rem auto 0;
}
@media only screen and (max-width:1215px){
    .secBnr{
        width: 100%;
        max-width: unset;
        margin: 5rem auto 0;
    }
}
/* .secCmnDetailsPager */
.secCmnDetailsPager{
    margin-top: 10.9rem;
}
@media only screen and (max-width:1215px){
    .secCmnDetailsPager{
        margin-top: 7.4rem;
    }
}