@charset "utf-8";

.secHero .boxScroll{
    display: none;
}
@media only screen and (max-width:1215px){
    .secHero .boxScroll{
        bottom: 0;
        right: calc(50% - 1.55rem);
        position: absolute;
        display: flex;
        justify-content: center;
        z-index: 10;
    }
    .secHero .boxScroll .txtScroll{
        padding-bottom: 9rem;
        position: relative;
    }
    .secHero .boxScroll .txtScroll::before,
    .secHero .boxScroll .txtScroll::after {
        position: absolute;
        content: '';
        margin: auto;
        display: block;
        bottom: 0;
        left: 0;
        right: 0;
        width: 0.1rem;
        height: 8rem;
        background-color: #fff;
    }
    .secHero .boxScroll .txtScroll::before {
        opacity: 0.2;
    }
    .secHero .boxScroll .txtScroll::after {
        animation: scroll 2s infinite;
    }
    @keyframes scroll {
        0% {
            transform: scale(1, 0);
            transform-origin: 0 0;
        }
        50% {
            transform: scale(1, 1);
            transform-origin: 0 0;
        }
        51% {
            transform: scale(1, 1);
            transform-origin: 0 100%;
        }
        100% {
            transform: scale(1, 0);
            transform-origin: 0 100%;
        }
    }
}

/*-----------------------------------------------
    index
-----------------------------------------------*/
.secHero{
    position: relative;
}
/* secHeroSlider */
.secHeroSlider{
    position: relative;
}
.secHeroSlider .boxSlider{
    position: relative;
}
.secHeroSlider .swiper-slide{
	height: 91rem;
	position: relative;
	overflow: hidden;
	background: #fff;
}
.secHeroSlider .swiper-slide .img{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.secHeroSlider .swiper-slide .img img{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}
.secHeroSlider .swiper-slide-active .img,
.secHeroSlider .swiper-slide-duplicate-active .img,
.secHeroSlider .swiper-slide-prev .img{
	animation: zoomUp 11s linear 0s 1 normal both;
	-webkit-animation: zoomUp 11s linear 0s 1 normal both;
}
@keyframes zoomUp {
	0% {
		transform: scale(1);
		-webkit-transform: scale(1);
	}
	100% {
		transform: scale(1.15);
		-webkit-transform: scale(1.15);
	}
}
@-webkit-keyframes zoomUp {
	0% {
		transform: scale(1);
		-webkit-transform: scale(1);
	}
	100% {
		transform: scale(1.15);
		-webkit-transform: scale(1.15);
	}
}
.secHeroSlider .boxWrapper{
    position: absolute;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    flex-direction: column;
    padding: 10rem 4rem;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 10;
}
.secHeroSlider .boxTxt{
    position: relative;
    width: 100%;
}
.secHeroSlider .tit{
    font-size: var(--pcFontSize40);
    letter-spacing: var(--pcLetterSpacing40_400);
    line-height: 1.5;
    font-weight: 700;
    color: var(--whiteColor);
}
.secHeroSlider .spanLine{
    border-bottom: 0.1rem solid var(--whiteColor);
    padding-bottom: 0.3rem;
}
.secHeroSlider .spanNum{
    font-size: var(--pcFontSize70);
    vertical-align: -0.3rem;
    padding-right: 0.5rem;
}
.secHeroSlider .txt{
    font-size: var(--pcFontSize24);
    font-weight: 700;
    color: var(--whiteColor);
    margin-top: 3.5rem;
}
.secHeroSlider .imgEng{
    margin-top: 4.2rem;
}
@media only screen and (max-width:1215px){
    .secHero .iconCrown{
        position: absolute;
        top: 8.2rem;
        right: 0;
        width: 19.8rem;
        z-index:9997;
    }
    .secHero .icon02{
        margin-top: 1rem;
    }
    .secHeroSlider{
        height: 100vh;
        min-height: 60rem;
    }
    .secHeroSlider .boxWrapper{
        height: 100%;
        padding: 0 3rem;
    }
    .secHeroSlider .imgJp{
        width: 26.1rem;
    }
    .secHeroSlider .imgEng{
        margin-top: 1.2rem;
        width: 17.5rem;
    }
    .secHeroSlider .swiper-slide{
		height: 100vh;
        min-height: 60rem;
	}
    .secHeroSlider .boxWrapper{
        padding: 10rem 2rem 17rem;
    }
    .secHeroSlider .boxTxt{
        position: relative;
        width: 100%;
    }
    .secHeroSlider .tit{
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30_200);
        line-height: 1.5;
    }
    .secHeroSlider .spanLine{
        border-bottom: 0.1rem solid var(--whiteColor);
        padding-bottom: 0.3rem;
    }
    .secHeroSlider .spanNum{
        font-size: var(--spFontSize60);
        vertical-align: -0.3rem;
        padding-right: 0.5rem;
    }
    .secHeroSlider .txt{
        font-size: var(--spFontSize18);
        margin-top: 3rem;
    }
    .secHeroSlider .imgEng{
        margin-top: 2.6rem;
        width: 27.8rem;
    }
}

/* secBgSlider */
.secBgSlider{
    width: 100%;
    height: 64rem;
    z-index: 2;
    background: var(--whiteColor);
}

/* boxHeroSlider */
.boxHeroSlider{
    width: 100%;
    position: absolute;
    bottom: 4rem;
    left: 0;
    z-index: 2;
    padding: 2rem 0;
    overflow: hidden;
}
.boxHeroSlider .boxSlider{
    position: relative;
}
.boxHeroSlider .swiper{
    width: 52rem;
    overflow: visible;
}
.boxHeroSlider a.swiper{
    display: block;
}
/* 3枚以上の時 */
.boxHeroSlider.loaded .swiper:not(.swiper-disabled) .swiper-slide-main{
    transition: transform 0.5s ease-out;
    transform-origin: center center;
}
.boxHeroSlider .swiper:not(.swiper-disabled) .swiper-slide-main{
    transform: scale(0.73076);
}
/* .boxHeroSlider.loaded .swiper:not(.swiper-disabled) .swiper-slide-active, */
.boxHeroSlider .swiper:not(.swiper-disabled) .swiper-slide-active{
    transform: none;
    z-index: 2;
}
/* 2枚の時 */
.secBgSlider-double .boxSlider{
    overflow: visible;
}
.secBgSlider-double .swiper{
    width: 100%;
}
.secBgSlider-double .swiper-parent-wrapper{
    display: flex;
    justify-content: center;
}
.secBgSlider-double .swiper-slide-main{
    width: 33.6rem;
}
.secBgSlider-double .swiper-slide-main:nth-child(n+2){
    margin-left: 5rem;
}
.secBgSlider-double .swiper-hover .swiper-slide-main{
    transition: all 0.25s ease-out;
}
.secBgSlider-double .swiper-hover .swiper-slide-main:hover{
    transform: scale(1.25);
}
.boxHeroSlider .swiper-button-prev,
.boxHeroSlider .swiper-button-next{
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 100%;
    background-color: #fff;
    top: 0;
    bottom: 0;
    margin: auto;
}
.boxHeroSlider .swiper-button-prev{
    left: -2.6rem;
    transform: rotate(180deg);
}
.boxHeroSlider .swiper-button-next{
    right: -2.6rem;
}
.boxHeroSlider .swiper-button-prev::after,
.boxHeroSlider .swiper-button-next::after{
    display: none;
}
.boxHeroSlider .swiper-button-prev::before,
.boxHeroSlider .swiper-button-next::before{
    position: absolute;
    content: '';
    margin: auto;
    display: block;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 1.4rem;
    height: 0.8rem;
}
.boxHeroSlider .swiper-button-prev.lazyloaded::before,
.boxHeroSlider .swiper-button-next.lazyloaded::before{
    background: url(../img/common/iconSlideArrow.png) center top / cover no-repeat;
}
.nested-slider-h.disabled{
    width: var(--widthMainBase);
    margin: 0 auto;
    overflow: hidden;
}
/* ネスト */
.boxHeroSlider .nested-slider-child{
    height: 100%;
    background-color: #fff;
    overflow: hidden;
    border-radius: 3rem;
    box-shadow: 0px 0px 2.5rem 0px rgba(0, 0, 0, 0.2);
}
.boxHeroSlider .nested-slider-child .swiper-wrapper{
    margin: 0 auto;
}
.boxHeroSlider .boxImg{
    width: 100%;
}
.boxHeroSlider .boxImg .img,
.boxHeroSlider .boxVideo .video{
    width: 100%;
    height: 0;
    padding-top: 100%;
}
.boxHeroSlider .boxVideo{
    position: relative;
}
.boxHeroSlider .boxVideo video{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}
@media only screen and (max-width:1215px){
    .secBgSlider{
        padding: 3rem 0;
        overflow: hidden;
        height: auto;
    }
    .secBgSlider .spTit{
        font-size: var(--spFontSize12);
        text-align: center;
    }
    .boxHeroSlider{
        position: static;
        padding: 3rem 0;
    }
    .boxHeroSlider .swiper{
        width: 100%;
    }
    .boxHeroSlider .swiper.swiper-parent{
        width: 73.077%;
    }
    .boxHeroSlider .swiper:not(.swiper-disabled) .swiper-slide-main{
        transform: scale(0.789473);
    }
    .boxHeroSlider .swiper:not(.swiper-disabled) .swiper-slide-active{
        transform: none;
    }
    .boxHeroSlider .swiper-button-next,
    .boxHeroSlider .swiper-button-prev{
        display: none;
    }
    .boxHeroSlider .nested-slider-child{
        box-shadow: 0px 0px 2rem 0px rgba(0, 0, 0, 0.3);
        border-radius: 1.5rem;
        pointer-events: none;
    }

}

/* indexCmnTit */
.indexCmnTit{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.indexCmnTit .titEng{
    width: 13.5rem;
}
.indexCmnTit .titJp{
    font-size: var(--pcFontSize14);
    font-weight: 700;
    position: relative;
    height: 3rem;
    display: flex;
    align-items: center;
    padding: 0 1.2rem;
}
.indexCmnTit .titJp::before,
.indexCmnTit .titJp::after{
    content: "";
    position: absolute;
    width: 0.5rem;
    height: 3rem;
    top: 0;
}
.indexCmnTit .titJp::before{
    left: 0;
}
.indexCmnTit .titJp::after{
    transform: rotate(180deg);
    right: 0;
}
.indexCmnTit .titJp.lazyloaded::before,
.indexCmnTit .titJp.lazyloaded::after{
    background: url(../img/common/iconCmnDetailsTit.png) center center / 100% auto no-repeat;
}
@media only screen and (max-width:1215px){
    .indexCmnTit .titEng img{
        width: auto;
        height: 2.2rem;
    }
    .indexCmnTit .titJp{
        font-size: var(--spFontSize12);
        height: 2.5rem;
        padding: 0 1rem;
    }
    .indexCmnTit .titJp::before,
    .indexCmnTit .titJp::after{
        height: 2.5rem;
    }
    .indexCmnTit .titJp.lazyloaded::before,
    .indexCmnTit .titJp.lazyloaded::after{
        background-image: url(../img/common/iconCmnDetailsTit_sp.png);
    }
}

/* secEvent */
.secHero:not(:has(.secBgSlider)) + .wrapperMain{
    padding-top: 10rem;
}
.secEvent{
    padding-top: 4rem;
}
.secEvent .boxList{
    margin-top: 3rem;
    padding: 0 4rem;
    display: flex;
    border-bottom: 0.1rem solid var(--borderColor);
}
.secEvent .btn{
    width: calc(50% - 1rem);
    margin-right: 2rem;
    cursor: pointer;
}
.secEvent .btn:last-child{
    margin-right: 0;
}
.secEvent .inner{
    width: 100%;
    height: 6.5rem;
    font-size: var(--pcFontSize16);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    border-radius: 0.5rem 0.5rem 0 0;
    border: 0.1rem solid var(--borderColor);
    background: var(--borderColor);
    color: var(--whiteColor);
}
.secEvent .btn.active .inner{
    background: var(--whiteColor);
    color: var(--textColor);
    border-bottom-color: var(--whiteColor);
    position: relative;
}
.secEvent .btn.active .inner::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 0.2rem;
    background: var(--whiteColor);
    left: 0;
    bottom: -0.2rem;
    z-index: 1;
}
/* main */
.secEvent .list{
    margin-top: 3rem;
}
.secEvent .item:first-child .link{
    padding-top: 0;
}
.secEvent .link{
    display: flex;
    align-items: center;
    background: linear-gradient(to right, var(--blackColor) 0.1rem, transparent 0.1rem, transparent 0.4rem) left bottom / 0.4rem 0.1rem repeat-x;
    padding: 2.5rem 0;
}
.secEvent .img{
    width: 23rem;
    height: 23rem;
    border-radius: 3rem;
    overflow: hidden;
}
.secEvent .txtBox{
    width: calc(100% - 23rem);
    padding-left: 3rem;
}
.secEvent .itemTit{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_28);
    font-weight: 700;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /*表示マックスの行*/
    overflow: hidden;
    max-height: calc(var(--pcFontSize18) * var(--pcLineHeight18_28) * 3);
    margin-top: 1rem;
}
.secEvent .txtInfo{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
    padding-left: 2.5rem;
    margin-top: 1.1rem;
}
.secEvent .txtInfo + .txtInfo{
    margin-top: 0.8rem;
}
.secEvent .txtInfo.place.lazyloaded{
    background: url(../img/event/iconPlace.png) no-repeat left top 0.1rem / 1.3rem auto;
}
.secEvent .txtInfo.date.lazyloaded{
    background: url(../img/event/iconDate.png) no-repeat left top 0.2rem / 1.6rem auto;
}
.secEvent .boxUnder{
    display: flex;
    align-items: center;
}
.secEvent .categoryList{
    display: flex;
}
.secEvent .categoryItem{
    font-size: var(--pcFontSize12);
    min-width: 4.8rem;
    height: 2.5rem;
    padding: 0.25rem;
    border-radius: 0.3rem;
    color: var(--whiteColor);
    display: flex;
    align-items: center;
    justify-content: center;
}
.secEvent .categoryItem:nth-child(n+2){
    margin-left: 0.5rem;
}
.secEvent .bg01{
    background: var(--categoryColor01);
}
.secEvent .bg02{
    background: var(--categoryColor02);
}
.secEvent .bg03{
    background: var(--categoryColor03);
}
.secEvent .bg04{
    color: var(--textColor);
    background: var(--categoryColor04);
}
.secEvent .iconNew{
    width: 3.7rem;
    height: 1.9rem;
    font-size: var(--pcFontSize10);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.3rem;
    background: var(--yellowColor);
    font-weight: 700;
}
.secEvent .categoryList + .iconNew{
    margin-left: 0.5rem;
}
@media only screen and (max-width:1215px){
    .secHero:not(:has(.secBgSlider)) + .wrapperMain{
        padding-top: 3rem;
    }
    .secEvent{
        padding-top: 2rem;
    }
    .secEvent .boxList{
        padding: 0 2rem;
        margin-top: 2rem;
    }
    .secEvent .btn{
        width: calc(50% - 0.5rem);
        margin-right: 1rem;
    }
    .secEvent .inner{
        width: 100%;
        height: 5rem;
        font-size: var(--spFontSize14);
        border-radius: 0.3rem 0.3rem 0 0;
    }
    .secEvent .list{
        margin-top: 2rem;
    }
    .secEvent .link{
        padding: 2rem 0;
    }
    .secEvent .img{
        width: 16rem;
        height: 16rem;
        border-radius: 2rem;
    }
    .secEvent .txtBox{
        width: calc(100% - 16rem);
        padding-left: 2rem;
    }
    .secEvent .itemTit{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_22);
        max-height: calc(var(--spFontSize14) * var(--spLineHeight14_22) * 3);
        margin-top: 0.6rem;
    }
    .secEvent .txtInfo{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_18);
        padding-left: 1.8rem;
        margin-top: 0.7rem;
    }
    .secEvent .txtInfo + .txtInfo{
        margin-top: 0.5rem;
    }
    .secEvent .txtInfo.place.lazyloaded{
        background-size: 1.1rem auto;
    }
    .secEvent .txtInfo.date.lazyloaded{
        background-size: 1.3rem auto;
    }
    .secEvent .categoryItem{
        font-size: var(--pcFontSize12);
        min-width: 4.4rem;
        height: 2.2rem;
        padding: 0.25rem;
    }
    .secEvent .categoryItem:nth-child(n+2){
        margin-left: 0.3rem;
    }
    .secEvent .iconNew{
        width: 2.7rem;
        height: 1.6rem;
        font-size: var(--spFontSize10);
    }
    .secEvent .spanNew{
        display: block;
        transform: scale(0.8);
        transform-origin: center center;
    }
    .secEvent .categoryList + .iconNew{
        margin-left: 0.3rem;
    }
}

/* seMain */
.secWorks{
    margin-top: 9.7rem;
    padding: 0 0 0 4rem;
}
.secWorks .indexCmnTit{
    padding-right: 4rem;
}
.secWorks .boxSlider{
    overflow: hidden;
    margin-top: 4rem;
    padding-right: 4rem;
    position: relative;
}
.secWorks .swiper{
    width: 40rem;
    margin-left: 0;
    overflow: visible;
}
.secWorks .boxSlider.disabled .swiper{
    width: 100%;
}
.secWorks .topBox{
    position: relative;
    overflow: hidden;
    border-radius: 3rem;
}
.secWorks .img{
    padding-top: 100%;
}
.secWorks .icon{
    position: absolute;
    width: 17rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--pcFontSize14);
    font-weight: 700;
    color: var(--whiteColor);
    border-radius: 2rem;
    right: 1.5rem;
    bottom: 1.5rem;
    padding-left: 2.4rem;
}
.secWorks .icon.lazyloaded{
    background: url(../img/index/iconInterview.png) no-repeat left 2rem center / 1.6rem auto var(--redColor);
}
.secWorks .txtBox{
    padding: 2.2rem 0 2rem;
    position: relative;
    display: block;
}
.secWorks .tit{
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight22_38);
    font-weight: 700;
}
.secWorks .tagList{
    display: flex;
    flex-wrap: wrap;
    margin: 0.8rem -0.5rem -0.5rem;
    padding: 0 5rem 0 2.5rem;
    position: relative;
}
.secWorks .tagList::before{
    content: "";
    position: absolute;
    width: 1.6rem;
    height: 1.6rem;
    left: 0.5rem;
    top: 0.7rem;
}
.secWorks .tagList.lazyloaded::before{
    background: url(../img/works/iconSearch.png) center center / cover no-repeat;
}
.secWorks .tagItem{
    margin: 0.5rem;
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
}
/* member */
.secWorks .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;
    border-radius: 3rem;
    padding-top: 0.8rem;
}
.secWorks .titMember{
    font-size: var(--pcFontSize22);
    color: var(--whiteColor);
    font-weight: 700;
}
.secWorks .txtMember{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_26);
    color: var(--whiteColor);
    margin-top: 1.1rem;
    text-align: center;
}
.secWorks .memberBtnBox{
    margin-top: 2.3rem;
    display: flex;
    justify-content: center;
}
.secWorks .btnMember,
.secWorks .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;
}
.secWorks .btnMember{
    background: var(--memberColor);
    color: var(--whiteColor);
}
.secWorks .btnLogin{
    background: var(--whiteColor);
    color: var(--textColor);
}
.secWorks .btnMember:nth-child(2){
    margin-left: 2rem;
}
@media only screen and (max-width:1215px){
    .secWorks{
        width: 100%;
        margin: 8rem auto 0;
        padding: 0 0 0 2rem;
    }
    .secWorks .indexCmnTit{
        padding-right: 2rem;
    }
    .secWorks .boxSlider{
        width: 100%;
        padding-right: 2rem;
        margin-top: 3rem;
    }
    .secWorks .swiper{
        width: 77.143%;
    }
    .secWorks .item:nth-child(n+2){
        margin-top: 4rem;
    }
    .secWorks .topBox{
        border-radius: 2rem;
    }
    .secWorks .icon{
        position: absolute;
        width: 12.9rem;
        height: 3.3rem;
        font-size: var(--spFontSize11);
        border-radius: 1.65rem;
        right: 0.8rem;
        bottom: 0.8rem;
        padding-left: 2rem;
    }
    .secWorks .icon.lazyloaded{
        background-size: 1.3rem auto;
        background-position: left 1.5rem center;
    }
    .secWorks .txtBox{
        padding: 1.5rem 0;
    }
    .secWorks .txtBox:not(:has(.tagList)) {
        padding-bottom: 5.5rem;
    }
    .secWorks .txtBox::after{
        width: 3rem;
        height: 3rem;
        bottom: 2rem;
    }
    .secWorks .txtBox.lazyloaded::after{
        background-size: 1rem auto;
    }
    .secWorks .tit{
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_26);
    }
    .secWorks .tagList{
        display: flex;
        flex-wrap: wrap;
        margin: 1rem -0.3rem 0;
        padding: 0 0 0 1.7rem;
        position: relative;
    }
    .secWorks .tagList::before{
        width: 1.3rem;
        height: 1.3rem;
        left: 0.3rem;
        top: 0.2rem;
    }
    .secWorks .tagItem{
        margin: 0 0.3rem;
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_16);
    }
    /* member */
    .secWorks .boxMember{
        border-radius: 2rem;
    }
    .secWorks .titMember{
        font-size: var(--spFontSize18);
    }
    .secWorks .txtMember{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_20);
        margin-top: 1rem;
    }
    .secWorks .memberBtnBox{
        margin-top: 1.5rem;
    }
    .secWorks .btnMember,
    .secWorks .btnLogin{
        width: 11rem;
        height: 4rem;
        border-radius: 2rem;
        font-size: var(--spFontSize14); 
        line-height: var(--spLineHeight14_20);
    }
    .secWorks .btnMember:nth-child(2){
        margin-left: 1rem;
    }
}


/* secPlan */
.secPlan{
    margin-top: 11.2rem;
    padding: 0 0 0 4rem;
}
.secPlan .indexCmnTit{
    padding-right: 4rem;
}
.secPlan .boxSlider{
    overflow: hidden;
    margin-top: 1.2rem;
    padding: 3rem 4rem 0 0;
}
.secPlan .swiper{
    width: 40rem;
    margin-left: 0;
    overflow: visible;
}
.secPlan .boxSlider.disabled .swiper{
    width: 100%;
}
.secPlan .link{
    text-decoration: none;
    color: var(--textColor);
    border: 0.1rem solid var(--bgColor04);
    border-radius: 3rem;
    display: block;
    background: var(--bgColor04);
    position: relative;
}
.secPlan .topBox{
    text-decoration: none;
    color: var(--textColor);
    position: relative;
    border-radius: 3rem 3rem 0 0;
    padding: 1.8rem 3rem;
    height: 9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.secPlan .iconFloor{
    position: absolute;
    left: 2rem;
    top: -2rem;
    min-width: 8rem;
    height: 3.2rem;
    border-radius: 1.6rem;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_20);
    font-weight: 700;
    background: var(--whiteColor);
    box-shadow: 0px 0px 1rem 0px rgba(0, 0, 0, 0.2);
}
.secPlan .tit{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_24);
    color: var(--whiteColor);
    font-weight: 700;
    text-align: center;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /*表示マックスの行*/
    overflow: hidden;
    max-height: calc(var(--pcFontSize16) * var(--pcLineHeight16_24) * 2);
}
.secPlan .underBox{
    position: relative;
    border-radius: 0 0 3rem 3rem;
    overflow: hidden;
}
.secPlan .imgBox{
    position: relative;
    padding: 3.55rem 2.9rem;
    background: var(--whiteColor);
}
.secPlan .img{
    padding-top: 63.824%;
}
/* member */
.secPlan .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;
}
.secPlan .titMember{
    font-size: var(--pcFontSize22);
    color: var(--whiteColor);
    font-weight: 700;
}
.secPlan .txtMember{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_26);
    color: var(--whiteColor);
    margin-top: 1.1rem;
    text-align: center;
}
.secPlan .memberBtnBox{
    margin-top: 2.3rem;
    display: flex;
    justify-content: center;
}
.secPlan .btnMember,
.secPlan .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;
}
.secPlan .btnMember{
    background: var(--memberColor);
    color: var(--whiteColor);
}
.secPlan .btnLogin{
    background: var(--whiteColor);
    color: var(--textColor);
}
.secPlan .btnMember:nth-child(2){
    margin-left: 2rem;
}
@media only screen and (max-width:1215px){
    .secPlan{
        margin-top: 8rem;
        padding: 0 0 0 2rem;
    }
    .secPlan .indexCmnTit{
        padding-right: 2rem;
    }
    .secPlan .boxSlider{
        width: 100%;
        padding: 2rem 2rem 0 0;
        margin-top: 1rem;
    }
    .secPlan .swiper{
        width: 77.143%;
        margin-left: 0;
        overflow: visible;
    }
    .secPlan .link{
        border-radius: 2rem;
    }
    .secPlan .topBox{
        border-radius: 2rem 2rem 0 0;
        padding: 1.5rem 2rem;
        height: 7.5rem;
    }
    .secPlan .iconFloor{
        left: 1.2rem;
        top: -1.2rem;
        min-width: 6rem;
        height: 2.4rem;
        border-radius: 1.2rem;
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_16);
    }
    .secPlan .tit{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_22);
        max-height: calc(var(--spFontSize14) * var(--spLineHeight14_22) * 2);
    }
    .secPlan .underBox{
        border-radius: 0 0 2rem 2rem;
    }
    .secPlan .imgBox{
        position: relative;
        padding: 2.5rem 1.9rem;
        background: var(--whiteColor);
    }
    .secPlan .img{
        padding-top: 63.824%;
    }
    /* member */
    .secPlan .boxMember{
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        padding-top: 0;
    }
    .secPlan .titMember{
        font-size: var(--spFontSize18);
    }
    .secPlan .txtMember{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_20);
        margin-top: 1rem;
    }
    .secPlan .memberBtnBox{
        margin-top: 1.5rem;
    }
    .secPlan .btnMember,
    .secPlan .btnLogin{
        width: 11rem;
        height: 4rem;
        border-radius: 2rem;
        font-size: var(--spFontSize14); 
        line-height: var(--spLineHeight14_20);
    }
    .secPlan .btnMember:nth-child(2){
        margin-left: 1rem;
    }
}

/* sliderWorks pagination and scrollbar styles */
.cmnSlider .btnBox {
    display: flex;
    align-items: center;
    margin-top: 3rem;
}
.cmnSlider .btnLeftBox {
    display: flex;
    align-items: center;
}
.cmnSlider .swiper-button-prev,
.cmnSlider .swiper-button-next{
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    position: relative;
    cursor: pointer;
    border: 0.1rem solid var(--borderColor);
    background: var(--whiteColor);
    top: 0;
    left: 0;
    margin-top: 0;
}
.cmnSlider .swiper-button-prev::after,
.cmnSlider .swiper-button-next::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.cmnSlider .swiper-button-next::after{
    transform: rotate(180deg);
}
.cmnSlider .swiper-button-prev.lazyloaded::after,
.cmnSlider .swiper-button-next.lazyloaded::after{
    background: url(../img/index/iconSlideArrow.png) center center / 1.4rem auto no-repeat;
}
.cmnSlider .swiper-pagination {
    position: static;
    width: auto;
    margin: 0 2.5rem;
    display: flex;
    align-items: center;
}
.cmnSlider .swiper-pagination-current,
.cmnSlider .swiper-pagination-total {
    font-size: var(--pcFontSize12);
    font-weight: 700;
    color: var(--textColor);
}
.cmnSlider .swiper-pagination-separator{
    font-size: var(--pcFontSize12);
    font-weight: 700;
    color: var(--textColor);
    margin: 0 0.5rem;
}
.cmnSlider .swiper-scrollbar,.cmnSlider .swiper-horizontal>.swiper-scrollbar,.cmnSlider .swiper-scrollbar.swiper-scrollbar-horizontal{
    position: static;
    width: 100%;
    height: 0.2rem;
    background-color: var(--bgColor01);
    margin-top: 0.8rem;
}
.secPlan .cmnSlider .swiper-scrollbar{
    margin-top: 3rem;
}
.cmnSlider .swiper-scrollbar-drag {
    background-color: var(--bgSubColor);
}
.cmnSlider .btnMore{
    margin-left: auto;
}
.cmnSlider .btnMoreInner{
    font-size: var(--pcFontSize16);
    font-weight: 700;
    padding: 0.1rem 3.3rem 0.2rem 0;
    position: relative;
}
.cmnSlider .btnMoreInner::after{
    content: "";
    position: absolute;
    width: 2.2rem;
    height: 2.2rem;
    right: 0;
    top: -0.2rem;
}
.cmnSlider .btnMoreInner.lazyloaded::after{
    background: url(../img/index/iconMoreBtn.png) center center / cover;
}
@media only screen and (max-width: 1215px) {
    .cmnSlider .btnBox {
        margin-top: 3rem;
    }
    .cmnSlider .swiper-button-prev,
    .cmnSlider .swiper-button-next{
        width: 3rem;
        height: 3rem;
    }
    .cmnSlider .swiper-button-prev.lazyloaded::after,
    .cmnSlider .swiper-button-next.lazyloaded::after{
        background-size: 1rem auto;
    }
    .cmnSlider .swiper-pagination {
        margin: 0 1.5rem;
    }
    .cmnSlider .swiper-pagination-current,
    .cmnSlider .swiper-pagination-total {
        font-size: var(--spFontSize11);
    }
    .cmnSlider .swiper-pagination-separator {
        font-size: var(--spFontSize11);
        margin: 0 0.4rem;
    }
    .cmnSlider .swiper-scrollbar,.cmnSlider .swiper-horizontal>.swiper-scrollbar,.cmnSlider .swiper-scrollbar.swiper-scrollbar-horizontal{
        position: static;
        margin-top: 1.4rem;
        height: 0.2rem;
        width: 100%;
    }
    .secPlan .cmnSlider .swiper-scrollbar{
        margin-top: 3rem;
    }
    .cmnSlider .btnMoreInner{
        font-size: var(--spFontSize14);
        font-weight: 700;
        padding: 0 3.3rem 0 0;
        height: 2.2rem;
        display: flex;
        align-items: center;
        position: relative;
    }
    .cmnSlider .btnMoreInner::after{
        top: 0;
    }
}

/* secBnr */
.secBnr{
    width: 52rem;
    margin: 8.2rem auto 0;
}
@media only screen and (max-width: 1215px){
    .secBnr{
        width: 35rem;
        margin: 6rem auto 0;
    }
}

.secEvent .btnViewMore{
    margin: 2.5rem auto 0;
    width: 40rem;
}
.secEvent .btnViewMoreInner{
    font-size: var(--pcFontSize16);
    font-weight: 700;
    border-radius: 3.5rem;
    height: 7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    border: 0.1rem solid var(--borderColor);
    color: var(--textColor);
}
.secEvent .btnViewMoreInner.lazyloaded{
    background: url(../img/index/iconBtnArrow.png) right 3rem center / 1.6rem auto no-repeat var(--whiteColor);
}
@media only screen and (max-width: 1215px){
    .secEvent .btnViewMore{
        margin: 3rem auto 0;
        width: 29rem;
    }
    .secEvent .btnViewMoreInner{
        font-size: var(--spFontSize14);
        border-radius: 3rem;
        height: 6rem;
    }
    .secEvent .btnViewMoreInner.lazyloaded{
        background-size: 1.4rem auto;
    }
}


/* secConcept */
.secConcept{
    margin-top: 10rem;
    padding-bottom: 9.5rem;
    position: relative;
}
.secConcept.lazyloaded{
    background: url(../img/index/bgItemConcept.png) center top repeat;
}
.secConcept .bgConcept{
    padding-top: 10.3rem;
}
.secConcept .bgConcept.lazyloaded{
    background: url(../img/index/bgConcept.png) center top / 100% auto no-repeat;
}
.secConcept .titJp{
    color: var(--whiteColor);
}
.secConcept .titJp.lazyloaded::before,
.secConcept .titJp.lazyloaded::after{
    background: url(../img/common/iconCmnTit_white.png) center center / 100% auto no-repeat;
}
.secConcept .tit{
    font-size: var(--pcFontSize28);
    line-height: var(--pcLineHeight28_58);
    color: var(--whiteColor);
    font-weight: 700;
    margin-top: 56rem;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}
.secConcept .txt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_34);
    color: var(--whiteColor);
    margin-top: 2.2rem;
}
.secConcept .list{
    margin-top: 7rem;
}
.secConcept .item:nth-child(n+2){
    margin-top: 5rem;
}
.secConcept .link{
    display: block;
    width: 56rem;
    max-width: calc(100% - 4rem);
    position: relative;
    border-radius: 0 11rem 11rem 0;
    overflow: hidden;
}
.secConcept .link::after{
    content: "";
    position: absolute;
    width: 4rem;
    height: 4rem;
    right: 4rem;
    top: calc(50% - 2rem);
    z-index: 1;
    border-radius: 50%;
    border: 0.1rem solid var(--whiteColor);
}
.secConcept .link.lazyloaded::after{
    background: url(../img/index/iconBtnArrow02.png) center center / 1.4rem auto no-repeat;
}
.secConcept .titImg{
    position: absolute;
    top: calc(50% - 1.25rem);
    left: 5rem;
    z-index: 10;
}
.secConcept .txtBox{
    padding: 2rem 4rem 0;
}
.secConcept .itemTxt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_34);
    color: var(--whiteColor);
}
/* 2n */
.secConcept .item:nth-child(2n) .link{
    margin-left: auto;
    border-radius: 11rem 0 0 11rem;
}
.secConcept .item:nth-child(2n) .titImg{
    left: 6rem;
}
@media only screen and (max-width: 1215px){
    .secConcept{
        padding-bottom: 7rem;
    }
    .secConcept .titJp.lazyloaded::before,
    .secConcept .titJp.lazyloaded::after{
        background-image: url(../img/common/iconCmnTit_white_sp.png);
    }
    .secConcept .bgConcept{
        padding-top: 6.2rem;
    }
    .secConcept .bgConcept.lazyloaded{
        background-image: url(../img/index/bgConcept_sp.png);
    }
    .secConcept .titEng img{
        height: 2.7rem;
        width: auto;
    }
    .secConcept .tit{
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_40);
        margin-top: 44rem;
    }
    .secConcept .txt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_28);
    }
    .secConcept .list{
        margin-top: 7rem;
    }
    .secConcept .link{
        display: block;
        width: calc(100% - 2rem);
        max-width: 100%;
        border-radius: 0 7.25rem 7.25rem 0;
    }
    .secConcept .link::after{
        right: 2rem;
    }
    .secConcept .titImg{
        top: calc(50% - 1.15rem);
        left: 2rem;
    }
    .secConcept .titImg img{
        width: auto;
        height: 2.3rem;
    }
    .secConcept .txtBox{
        padding: 1.4rem 5.128% 0;
    }
    .secConcept .itemTxt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_28);
    }
    /* 2n */
    .secConcept .item:nth-child(2n) .link{
        border-radius: 7.25rem 0 0 7.25rem;
    }
    .secConcept .item:nth-child(2n) .titImg{
        left: 4rem;
    }
}