@charset "utf-8";

/* secTab */
.secTab{
    margin-top: 5rem;
}
.secTab .boxList{
    padding: 0 4rem;
    display: flex;
    border-bottom: 0.1rem solid var(--borderColor);
}
.secTab .btn{
    width: calc(50% - 1rem);
    margin-right: 2rem;
}
.secTab .btn:last-child{
    margin-right: 0;
}
.secTab .inner{
    width: 100%;
    height: 8.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
    text-align: center;
    font-weight: 700;
    border-radius: 0.5rem 0.5rem 0 0;
    border: 0.1rem solid var(--borderColor);
    background: var(--borderColor);
    color: var(--whiteColor);
}
.secTab .btn.active .inner{
    background: var(--whiteColor);
    color: var(--textColor);
    border-bottom-color: var(--whiteColor);
    position: relative;
}
.secTab .txtTop{
    font-size: var(--pcFontSize14);
}
.secTab .txtMain{
    font-size: var(--pcFontSize16);
    margin-top: 1.1rem;
}
.secTab .btn.active .inner::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 0.2rem;
    background: var(--whiteColor);
    left: 0;
    bottom: -0.2rem;
    z-index: 1;
}
@media only screen and (max-width:1215px){
    .secTab{
        margin-top: 3.8rem;
    }
    .secTab .boxList{
        padding: 0 2rem;
    }
    .secTab .btn{
        width: calc(50% - 0.5rem);
        margin-right: 1rem;
    }
    .secTab .inner{
        width: 100%;
        height: 7.4rem;
        border-radius: 0.3rem 0.3rem 0 0;
    }
    .secTab .txtTop{
        font-size: var(--pcFontSize12);
    }
    .secTab .txtMain{
        font-size: var(--pcFontSize14);
        margin-top: 0.6rem;
    }
}
@media only screen and (max-width:359px){
    .secTab .txtTop{
        font-size: var(--pcFontSize10);
    }
    .secTab .txtMain{
        font-size: var(--pcFontSize12);
    }
}

/* secMain */
.secMain{
    margin-top: 3.2rem;
    padding: 0 4rem;
}
.secMain .resultTxt{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_24);
    font-weight: 700;
    margin: 1rem 1rem 0 0;
}
.secMain .spanNum{
    font-size: var(--pcFontSize28);
    padding-right: 0.3rem;
}
.secMain .resultWrapper{
    display: flex;
    flex-wrap: wrap;
}
.secMain .resultList{
    display: flex;
    flex-wrap: wrap;
    margin-right: 1rem;
}
.secMain .itemResult{
    min-width: 12.8rem;
    padding: 0.85rem 1.2rem;
    display: flex;
    justify-content: center;
    background: var(--bgColor01);
    border-radius: 0.3rem;
    margin-top: 1rem;
}
.secMain .itemResult:first-child{
    margin-right: 1rem;
}
.secMain .itemResult.member{
    border: 0.1rem solid var(--memberColor);
    color: var(--memberColor);
    background: var(--bgColor02);
}
.secMain .name{
    font-size: var(--pcFontSize13);
    line-height: var(--pcLineHeight13_18);
    margin-top: 0.8rem;
}
.secMain .numberTxt{
    font-size: var(--pcFontSize13);
    line-height: var(--pcLineHeight13_18);
    margin-left: 0.8rem;
    font-weight: 700;
}
.secMain .spanNumSmall{
    font-size: var(--pcFontSize22);
    padding-right: 0.3rem;
}
.secMain .resultList .item:last-child{
    margin-right: 0;
}
.secMain .btnLoginMember{
    width: 20rem;
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2.5rem;
    border: 0.1rem solid var(--borderColor);
    font-size: var(--pcFontSize13);
    line-height: var(--pcLineHeight13_18);
    margin-top: 1rem;
    margin-left: auto;
}
.secMain .iconLogin{
    position: relative;
    padding-left: 2.5rem;
}
.secMain .iconLogin::before{
    content: "";
    position: absolute;
    width: 1.5rem;
    height: 1.7rem;
    left: 0;
    top: 0.1rem;
}
.secMain .iconLogin.lazyloaded::before{
    background: url(../img/plan/iconMember.png) no-repeat center center / cover;
}
/* main */
.secMain .list{
    margin-top: 4rem;
}
.secMain .item{
    background: linear-gradient(to right, var(--blackColor) 0.1rem, transparent 0.1rem, transparent 0.4rem) left bottom / 0.4rem 0.1rem repeat-x;
}
.secMain .item:nth-child(n+2){
    margin-top: 6rem;
}
.secMain .link{
    display: block;
    position: relative;
}
.secMain .topBox{
    position: relative;
    border-radius: 3rem;
    overflow: hidden;
}
.secMain .contCover{
    position: relative;
    padding: 4rem 5rem;
}
.secMain .contCover::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    border: 0.1rem solid var(--borderColor02);
    border-radius: 4rem;
}
.secMain .img{
    padding-top: 64.286%;
}
.secMain .txtBox{
    padding: 2.5rem 0 3rem;
    position: relative;
    display: block;
}
.secMain .txtBox::after{
    content: "";
    position: absolute;
    width: 4rem;
    height: 4rem;
    right: 0;
    bottom: 2rem;
    z-index: 1;
    border: 0.1rem solid var(--blackColor);
    border-radius: 50%;
}
.secMain .txtBox.lazyloaded::after{
    background: url(../img/plan/iconArrow.png) no-repeat center center / 1.4rem auto;
}
.secMain .txtBox:not(:has(.itemTxt)){
    padding-bottom: 7rem;
}
.secMain .itemTit{
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight22_38);
    font-weight: 700;
}
.secMain .itemTxt{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
    margin-top: 1.5rem;
    padding-right: 5rem;
    font-weight: 700;
}
/* member */
.secMain .boxMember{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;
    background: var(--bgColorBlack70);
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    padding-top: 0.8rem;
}
.secMain .titMember{
    font-size: var(--pcFontSize22);
    color: var(--whiteColor);
    font-weight: 700;
}
.secMain .txtMember{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_26);
    color: var(--whiteColor);
    margin-top: 1.1rem;
    text-align: center;
}
.secMain .memberBtnBox{
    margin-top: 2.3rem;
    display: flex;
    justify-content: center;
}
.secMain .btnMember,
.secMain .btnLogin{
    width: 15rem;
    height: 5rem;
    border-radius: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
    font-weight: 700;
}
.secMain .btnMember{
    background: var(--memberColor);
    color: var(--whiteColor);
}
.secMain .btnLogin{
    background: var(--whiteColor);
    color: var(--textColor);
}
.secMain .btnMember:nth-child(2){
    margin-left: 2rem;
}
@media only screen and (max-width:1215px){
    .secMain{
        width: 89.744%;
        margin: 2.2rem auto 0;
        padding: 0;
    }
    .secMain .resultTxt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_20);
        margin: 0.5rem 0.5rem 0 0;
    }
    .secMain .spanNum{
        font-size: var(--spFontSize24);
    }
    .secMain .resultList{
        margin-right: 0.5rem;
    }
    .secMain .itemResult{
        min-width: 10.6rem;
        padding: 1rem 0.5rem 0.7rem;
    }
    .secMain .itemResult:first-child{
        margin-right: 0.6rem;
    }
    .secMain .name{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_16);
        margin-top: 0.25rem;
    }
    .secMain .numberTxt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_16);
        margin-left: 0.5rem;
    }
    .secMain .spanNumSmall{
        font-size: var(--spFontSize16);
    }
    .secMain .btnLoginMember{
        width: 12.3rem;
        height: 3.9rem;
        border-radius: 1.95rem;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_16);
    }
    .secMain .iconLogin{
        padding-left: 0;
    }
    .secMain .iconLogin::before{
        display: none;
    }
    /* main */
    .secMain .list{
        margin-top: 3rem;
    }
    .secMain .item:nth-child(n+2){
        margin-top: 4rem;
    }
    .secMain .contCover{
        padding: 4.25rem 3rem;
        position: relative;
    }
    .secMain .contCover::before{
        border-radius: 2.7rem;
    }
    .secMain .txtBox{
        padding: 1.6rem 0 2.5rem;
    }
    .secMain .txtBox::after{
        width: 3rem;
        height: 3rem;
    }
    .secMain .txtBox.lazyloaded::after{
        background-size: 1rem auto;
    }
    .secMain .txtBox:not(:has(.itemTxt)){
        padding-bottom: 5.5rem;
    }
    .secMain .itemTit{
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_24);
    }
    .secMain .itemTxt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_20);
        margin-top: 1.2rem;
        padding-right: 4rem;
    }
    .secMain .topBox{
        position: static;
        border-radius: 0;
    }
    /* member */
    .secMain .boxMember{
        height: 100%;
        top: 0;
        padding-top: 0;
        border-radius: 2.7rem;
    }
    .secMain .titMember{
        font-size: var(--spFontSize20);
    }
    .secMain .txtMember{
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_24);
        margin-top: 1.3rem;
    }
    .secMain .memberBtnBox{
        margin-top: 1.5rem;
    }
    .secMain .btnMember,
    .secMain .btnLogin{
        width: 11rem;
        height: 4rem;
        border-radius: 2rem;
        font-size: var(--spFontSize14); 
        line-height: var(--spLineHeight14_20);
    }
    .secMain .btnMember:nth-child(2){
        margin-left: 1rem;
    }
}
@media only screen and (max-width:375px){
    .secMain .name{
        font-size: var(--spFontSize12);
    }
    .secMain .itemResult{
        min-width: 11rem;
    }
    .secMain .numberTxt{
        font-size: var(--spFontSize12);
        margin-left: 0.5rem;
    }
    .secMain .btnLoginMember{
        width: 10rem;
        font-size: var(--spFontSize10);
    }
}
@media only screen and (max-width:374px){
    .secMain .itemResult{
        min-width: 10rem;
    }
    .secMain .btnLoginMember{
        width: 10rem;
    }
}
@media only screen and (max-width:359px){
    .secTab .txtTop{
        font-size: var(--pcFontSize10);
    }
    .secTab .txtMain{
        font-size: var(--pcFontSize12);
    }
    .secMain .itemResult{
        min-width: 9rem;
    }
    .secMain .btnLoginMember{
        width: 9rem;
        font-size: var(--spFontSize10);
    }
}


/* details */

/* secDetailsTop */
.secDetailsTop{
    margin-top: 4rem;
}
.secDetailsTop .contCover{
    position: relative;
    padding: 6.5rem 5rem;
}
.secDetailsTop .contCover::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    border: 0.1rem solid var(--borderColor02);
    border-radius: 4rem;
}
.secDetailsTop .img{
    padding-top: 64.286%;
}
.secDetailsTop .tit{
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight22_38);
    font-weight: 700;
    margin-top: 3.2rem;
}
.secDetailsTop .txt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_34);
    margin-top: 1.1rem;
}
.secDetailsTop .list{
    margin-top: 3rem;
    padding: 2rem 0.5rem 2rem 2.3rem;
    background: var(--bgColor01);
    border-radius: 0.3rem;
    display: flex;
    flex-wrap: wrap;
}
.secDetailsTop .item{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
    margin-right: 1.8rem;
}
/* slider */
.secDetailsTop .boxSlider{
    position: relative;
}
.secDetailsTop .swiper-button-prev,.secDetailsTop .swiper-button-next{
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    border: 0.1rem solid var(--borderColor);
    top: calc(50% - 2.5rem);
    margin: 0;
}
.secDetailsTop .swiper-button-prev{
    left: -2.5rem;
}
.secDetailsTop .swiper-button-next{
    transform: rotate(180deg);
    right: -2.5rem;
}
.secDetailsTop .swiper-button-prev.lazyloaded,.secDetailsTop .swiper-button-next.lazyloaded{
    background: url(../img/common/iconCmnSlideArrow.png) center center / 1.4rem auto no-repeat var(--whiteColor);
}
.secDetailsTop .swiper-button-prev::after,.secDetailsTop .swiper-button-next::after{
    display: none;
}
@media only screen and (max-width:1215px){
    .secDetailsTop .contCover{
        padding: 4.2rem 3rem;
    }
    .secDetailsTop .contCover::before{
        border-radius: 2.7rem;
    }
    .secDetailsTop .tit{
        font-size: var(--spFontSize20);
        line-height: var(--spLineHeight20_32);
        font-weight: 700;
        margin-top: 2.3rem;
    }
    .secDetailsTop .txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_24);
        margin-top: 0.8rem;
    }
    .secDetailsTop .list{
        margin-top: 2.5rem;
        padding: 1.2rem 0.9rem 1.2rem 2rem;
        background: var(--bgColor01);
        border-radius: 0.3rem;
        display: flex;
    }
    .secDetailsTop .item{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        margin-right: 1.1rem;
    }
    /* slider */
    .secDetailsTop .swiper-button-prev,.secDetailsTop .swiper-button-next{
        width: 3rem;
        height: 3rem;
        top: calc(50% - 1.5rem);
    }
    .secDetailsTop .swiper-button-prev{
        left: -1.5rem;
    }
    .secDetailsTop .swiper-button-next{
        transform: rotate(180deg);
        right: -1.5rem;
    }
    .secDetailsTop .swiper-button-prev.lazyloaded,.secDetailsTop .swiper-button-next.lazyloaded{
        background-size: 1rem auto;
    }
}

/* secOtherPlan */
.secOtherPlan{
    margin-top: 9.5rem;
}
.secOtherPlan .tit{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_28);
    font-weight: 700;
    text-align: center;
}
.secOtherPlan .spanLine{
    position: relative;
    background: linear-gradient(transparent 70%, var(--markerColor) 70% ,var(--markerColor) 90%,transparent 90%);
}
.secOtherPlan .spanLine::before,.secOtherPlan .spanLine::after{
    content: "";
    position: absolute;
    width: 0.1rem;
    height: 3rem;
    background: var(--textColor);
    top: 0;
}
.secOtherPlan .spanLine::before{
    left: -2.8rem;
    transform: rotate(-25deg);
}
.secOtherPlan .spanLine::after{
    right: -2.8rem;
    transform: rotate(25deg);
}
.secOtherPlan .bnr{
    display: block;
    margin-top: 3.5rem;
}
@media only screen and (max-width:1215px){
    .secOtherPlan .tit{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_22);
    }
    .secOtherPlan .spanLine{
        background: linear-gradient(transparent 70%, var(--markerColor) 70% ,var(--markerColor) 99%,transparent 99%);
    }
    .secOtherPlan .spanLine::before,.secOtherPlan .spanLine::after{
        height: 2rem;
        top: 0.5rem;
    }
    .secOtherPlan .spanLine::before{
        left: -1.6rem;
    }
    .secOtherPlan .spanLine::after{
        right: -1.6rem;
    }
    .secOtherPlan .bnr{
        margin-top: 2.6rem;
    }
}

.secCmnBack{
    margin-top: 6rem;
}