@charset "utf-8";
.secConcept{
    margin-top: 6rem;
}
@media only screen and (min-width:1216px){
    .wrapperIn_40{
        padding: 0 4rem;
    }
}
.secHero{
    position: relative;
}
.secHero .Inner{
    background: url(../img/concept/imgHerobg.jpg) center top no-repeat;
    background-size: cover;
    color: var(--whiteColor);
    padding: 10.4rem 4rem calc(8.8rem + 17.8rem);
}
.secHero .title{
    font-size: var(--pcFontSize28);
    line-height: var(--pcLineHeight28_58);
    font-weight: bold;
}
@media only screen and (min-width:1216px){
    .secHero .title{
        letter-spacing: var(--pcLetterSpacing28_150);
    }
}
.secHero .titleInner{
    display: inline;
}
.secHero .txtlist{
    width: 100%;
    margin-top: 2.4rem;
}
.secHero .txtbox{
    width: 100%;
    text-align: left;
}
.secHero .txtbox + .txtbox{
    margin-top: 3.4rem;
}
.secHero .txt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_34);
}
.secHero .hero_Under{
    width: calc(100% - 6rem);
    margin: 0 auto;
    margin-top: calc(0% - 17.8rem);
    position: relative;
    border-radius:2.5rem;
    overflow: hidden;
}
.secHero .hero_Under .underImg{
    width: 100%;
}
.secHero .under_inner{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.secHero .imgIn{
    display: inline-block;
    padding: 0 0.8rem;
    position: relative;
}
.secHero .imgIn::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 3.8rem;
    left: 0;
    bottom: calc(0% - 0.5rem);
    background-color: var(--whiteColor);
}
.secHero .imgtitbox{
    width: 35.1rem;
    position: relative;
    z-index: 2;
}
@media only screen and (max-width:1215px){
    .secConcept{
        margin-top: 4rem;
    }
    .secHero .Inner{
        background-size: cover;
        background-position: center center;
        padding: 4.9rem 2rem calc(5.2rem + (59 / 390 * 100vw));
    }
    .secHero .title{
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_40);
    }
    .secHero .txtlist{
        margin-top: 2.2rem;
    }
    .secHero .txtbox + .txtbox{
        margin-top: 2.8rem;
    }
    .secHero .txt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_28);
    }
    .secHero .hero_Under{
        max-width: 108rem;
        width: calc(100% - 4rem);
        margin-top: calc(0% - (59 / 390 * 100vw));
        border-radius:1.5rem;
    }
    .secHero .imgIn{
        padding: 0 0.5rem;
    }
    .secHero .imgIn::before{
        height: calc(24 / 390 * 100vw);
        bottom: calc(0% - (6 / 390 * 100vw));
    }
    .secHero .imgtitbox{
        width: calc(227 / 390 * 100vw);
        max-width: 70.2rem;
    }
}

/* secPolicy */
.secPolicy{
    margin-top: 8rem;
}
.secPolicy .Inner{

}
.secPolicy .titlebox{
    width: 100%;
    text-align: center;
}
.secPolicy .imgtitEng{
    width: 12.2rem;
    margin: 0 auto;
}
.secPolicy .titjpn{
    margin-top: 1.5rem;
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_34);
    font-weight: bold;
}
@media only screen and (max-width:1215px){
    .secPolicy{
        margin-top: 7.8rem;
    }
    .secPolicy .imgtitEng{
        width: 10.9rem;
    }
    .secPolicy .titjpn{
        margin-top: 1.1rem;
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_28);
    }
}

.secPolicy .policy_titbox{
    width: 100%;
    border: 1px solid;
    border-color: var(--borderColor);
    position: relative;
    padding: 0.4rem;
}
.secPolicy .policy_num_box{
    position: absolute;
    width:8.7rem;
    height: 3.2rem;
    background-color: var(--borderColor);
    color: var(--whiteColor);
    border-radius: 3.5rem;
    display: flex;
    align-items: center;
    left: 2rem;
    top: calc(0% - 1.4rem);
}
.secPolicy .policy_num_in{
    display: inline-block;
    width: 100%;
    text-align: center;
}
.secPolicy .policy_num_img{
    display: inline-block;
    margin: 0 auto;
}
.secPolicy .policy_titbox.num01 .policy_num_img{
    width: 5.4rem;
}
.secPolicy .policy_titbox.num02 .policy_num_img{
    width: 5.5rem;
}
.secPolicy .policy_titbox.num03 .policy_num_img{
    width: 5.6rem;
}
.secPolicy .policy_tit_Inner{
    border: 1px solid;
    border-color: var(--borderColor);
    display: flex;
    align-items: center;
    width: 100%;
    height: 6.5rem;
}
.secPolicy .policy_tit{
    display: inline-block;
    width: 100%;
    text-align: center;
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_24);
    font-weight: bold;
}
@media only screen and (max-width:1215px){
    .secPolicy .policy_titbox{
        padding: 0.3rem;
    }
    .secPolicy .policy_num_box{
        width:7.8rem;
        height: 3rem;
        left: 1rem;
        top: calc(0% - 15px);
    }
    .secPolicy .policy_titbox.num01 .policy_num_img{
        width: 5rem;
    }
    .secPolicy .policy_titbox.num02 .policy_num_img{
        width: 5.2rem;
    }
    .secPolicy .policy_titbox.num03 .policy_num_img{
        width: 5.4rem;
    }
    .secPolicy .policy_tit_Inner{
        height: 6rem;
    }
    .secPolicy .policy_tit{
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_20);
    }
}

/* secSpec */
.secSpec{
    margin-top: 4.2rem;
}
.secSpec .txtlist{
    display: flex;
    margin-top: 3rem;
}
.secSpec .txtItem{
    width: calc((100% - 2rem) / 3);
    position: relative;
}
.secSpec .txtItem + .txtItem{
    margin-left: 1rem;
}
.secSpec .txtItem + .txtItem::before,
.secSpec .txtItem + .txtItem::after{
    content: "";
    position: absolute;
    width: 3rem;
    height: 1px;
    top: calc(50% - 0.5px);
    left: calc(0% - ((1rem + 3rem) / 2));
    background-color: var(--categoryColor01);
}
.secSpec .txtItem + .txtItem::before{
    transform: rotate(45deg);
}
.secSpec .txtItem + .txtItem::after{
    transform: rotate(-45deg);
}
.secSpec .spec_txtbox{
    display: flex;
    align-items: center;
    width: 100%;
    height: 16rem;
    background-color: var(--bgSpecColor);
    border-radius: 2.5rem;
}
.secSpec .spec_txtIn{
    display: inline-block;
    width: 100%;
    text-align: center;
    color:var(--categoryColor01);
    font-weight: bold;
}
.secSpec .spec_txt{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_24);
}
.secSpec .spec_txt_sub{
    font-size: var(--pcFontSize24);
    line-height: var(--pcLineHeight24_30);
}
.secSpec .spec_txt + .spec_txt_sub{
    margin-top: 0.5rem;
}
@media only screen and (max-width:1215px){
    .secSpec{
        margin-top: 3.6rem;
    }
    .secSpec .txtlist{
        margin-top: 2rem;
    }
    .secSpec .txtItem + .txtItem::before,
    .secSpec .txtItem + .txtItem::after{
        width: 2.4rem;
        left: calc(0% - ((1rem + 2.4rem) / 2));
    }
    .secSpec .spec_txtbox{
        height: 10.5rem;
        border-radius: 2rem;
    }
    .secSpec .spec_txt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_20);
    }
    .secSpec .spec_txt_sub{
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_20);
    }
    .secSpec .spec_txt + .spec_txt_sub{
        margin-top: 0.3rem;
    }
}

/* secSpecMiddle */
.secSpec .specMiddle{
    margin-top: 2.3rem;
}
.secSpec .middletit{
    text-align: center;
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_32);
    font-weight: bold;
}
.secSpec .middleImg{
    margin-top: 2.1rem;
    border-radius: 2.5rem;
    overflow: hidden;
}
@media only screen and (max-width:1215px){
    .secSpec .specMiddle{
        margin-top: 1.6rem;
    }
    .secSpec .middletit{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_24);
    }
    .secSpec .middleImg{
        margin: 0 auto;
        margin-top: 1.4rem;
        border-radius: 1.5rem;
        max-width: 108rem;
    }
}

/* secSpeclistContent */
.secSpeclistContent{
    margin-top: 3.7rem;
}
.secSpeclistContent .listtit_box{
    text-align: center;
    width: 100%;
}
.secSpeclistContent .listtit_sub{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_24);
    font-weight: bold;
}
.secSpeclistContent .listtit_main{
    font-size: var(--pcFontSize24);
    line-height: var(--pcLineHeight24_30);
    font-weight: bold;
    color: var(--categoryColor01);
    margin-top: 1rem;
}
.secSpeclistContent .listtit_main_in{
    display: inline-block;
    background: linear-gradient(transparent 70%, var(--markerColor) 0%);
}
.secSpeclistContent .listtxt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_24);
    margin-top: 2.1rem;
}
.secSpeclistContent .list{
    width: 100%;
    margin-top: 3.3rem;
    display: flex;
    flex-wrap: wrap;
}
.secSpeclistContent .item{
    width:calc((100% - 2rem) / 2);
    margin-right: 2rem;
}
.secSpeclistContent .item:nth-child(2n){
    margin-right: 0;
}
.secSpeclistContent .item:nth-child(n+3){
    margin-top: 3.4rem;
}
.secSpeclistContent .itemImg{
    width: 100%;
    overflow: hidden;
    border-radius: 2.5rem;
}
.secSpeclistContent .Item_txtbox{
    text-align: left;
    width: 100%;
    margin-top: 2.2rem;
}
.secSpeclistContent .Item_tit{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_24);
    font-weight: bold;
}
.secSpeclistContent .Item_txt{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_24);
    margin-top: 0.9rem;
}
@media only screen and (max-width:1215px){
    .secSpeclistContent{
        margin-top: 1.7rem;
    }
    .secSpeclistContent .listtit_sub{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_20);
    }
    .secSpeclistContent .listtit_main{
        font-size: var(--spFontSize20);
        line-height: var(--spLineHeight20_24);
        margin-top: 0.6rem;
    }
    .secSpeclistContent .listtxt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        margin-top: 1.5rem;
    }
    .secSpeclistContent .list{
        margin-top: 2.5rem;
    }
    .secSpeclistContent .item:nth-child(n+3){
        margin-top: 2.5rem;
    }
    .secSpeclistContent .itemImg{
        border-radius: 1.5rem;
    }
    .secSpeclistContent .Item_txtbox{
        margin-top: 1.1rem;
    }
    .secSpeclistContent .Item_tit{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_20);
    }
    .secSpeclistContent .Item_txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        margin-top: 0.6rem;
    }
}


/* secPrice */
.secPrice{
    margin-top: 8.7rem;
}
.secPrice .pricelist{
    width: 100%;
    margin-top:3rem;
}
.secPrice .list{
    width: 100%;
    display: flex;
}
.secPrice .item{
    width: calc((100% - 1rem) / 2);
    position: relative;
}
.secPrice .item + .item{
    margin-left: 1rem;
}
.secPrice .item + .item::after,
.secPrice .item + .item::before{
    content: "";
    position: absolute;
    width: 3rem;
    height: 1px;
    top: calc(50% + 0.5rem);
    left: calc(0% - ((1rem + 3rem) / 2));
    background-color: var(--categoryColor01);
    z-index: 5;
}
.secPrice .item + .item::after{
    transform: rotate(45deg);
}
.secPrice .item + .item::before{
    transform: rotate(-45deg);
}
.secPrice .itemBox{
    width: 100%;
    height: 100%;
    background-color: var(--bgSpecColor);
    position: relative;
    border-radius:2.5rem;
    padding: 4rem 2rem 3.5rem;
}
.secPrice .ItemIn{
    display: inline-block;
    text-align: center;
    width: 100%;
    position: relative;
    padding-top: 5.3rem;
}
.secPrice .ItemIn::after{
    content: "";
    position: absolute;
    top: 0;
}
.secPrice.lazyloaded .ItemIn::after{
    background: url(../img/common/tp.gif) center top no-repeat;
    background-size: 100% auto;
}
.secPrice .item01 .ItemIn::after{
    width: 3.8rem;
    height: 3.8rem;
    left: calc(50% - 1.9rem);
}
.secPrice.lazyloaded .item01 .ItemIn::after{
    background-image: url(../img/concept/iconItem01.png);
}
.secPrice .item02 .ItemIn::after{
    width: 2.6rem;
    height: 3.3rem;
    left: calc(50% - 1.3rem);
}
.secPrice.lazyloaded .item02 .ItemIn::after{
    background-image: url(../img/concept/iconItem02.png);
}
.secPrice .itemTit{
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight22_30);
    font-weight: bold;
    color: var(--categoryColor01);
}
.secPrice .itemtxt{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_22);
    text-align: center;
    margin-top: 1.1rem;
}
/* pricebox */
.secPrice .pricebox{
    margin-top: 3rem;
    width: 100%;
    border-radius:2.5rem;
    overflow: hidden;
    background-color: var(--bgPricebgColor);
    position: relative;
    padding-bottom: calc(2rem + 11.3rem);
}
.secPrice .pricebox::after{
    content: "";
    position: absolute;
    width: 33.2rem;
    height: 11.2rem;
    left: calc(50% - 16.6rem);
    bottom: 0;
}
.secPrice.lazyloaded .pricebox::after{
    background: url(../img/concept/imgPricebg.png) center bottom no-repeat;
    background-size: 100% auto;
}
.secPrice .price_titbox{
    width: 100%;
    height: 7rem;
    display: flex;
    align-items: center;
    background-color: var(--bgColor04);
    color: var(--whiteColor);
}
.secPrice .price_titIn{
    display: inline-block;
    width: 100%;
    text-align: center;
}
.secPrice .price_tit{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_24);
    font-weight: bold;
}
.secPrice .priceInner{
    width: 100%;
    text-align: center;
    padding-top: 2.6rem;
}
.secPrice .price_txtArea{
    display: inline-block;
    text-align: left;
}
.secPrice .txt_price{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_24);
}
.secPrice .txt_price.type_monthly{
    color: var(--categoryColor01);
    margin-top: 0.8rem;
}
.secPrice .price_num{
    font-size: var(--pcFontSize28);
    line-height: var(--pcLineHeight28_32);
    font-weight: bold;
    vertical-align: -0.2rem;
    letter-spacing: var(--pcLetterSpacing28_50);
    padding-left: 1rem;
}
.secPrice .area_txt{
    text-align: center;
    font-size: var(--pcFontSize12);
    line-height: var(--pcLineHeight12_20);
    margin-top: 0.9rem;
}
@media only screen and (max-width:1215px){
    .secPrice{
        margin-top: 7.7rem;
    }
    .secPrice .pricelist{
        margin-top:2rem;
    }
    .secPrice .item + .item::after,
    .secPrice .item + .item::before{
        width: 2.4rem;
        top: 50%;
        left: calc(0% - ((1rem + 2.4rem) / 2));
    }
    .secPrice .itemBox{
        border-radius:2rem;
        padding: 3rem 1.5rem 2.6rem;
    }
    .secPrice .ItemIn{
        padding-top: 4.6rem;
    }
    .secPrice .item01 .ItemIn::after{
        width: 3.2rem;
        height: 3.2rem;
        left: calc(50% - 1.6rem);
    }
    .secPrice .item02 .ItemIn::after{
        width: 2.2rem;
        height: 2.8rem;
        left: calc(50% - 1.1rem);
    }
    .secPrice .itemTit{
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_24);
    }
    .secPrice .itemtxt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_18);
        margin-top: 1.2rem;
    }
    /* pricebox */
    .secPrice .pricebox{
        margin-top: 2rem;
        border-radius:2rem;
        padding-bottom: calc(1.9rem + 7.5rem);
    }
    .secPrice .pricebox::after{
        width: 23.2rem;
        height:7.9rem;
        left: calc(50% - 11.6rem);
    }
    .secPrice.lazyloaded .pricebox::after{
        background-image: url(../img/concept/imgPricebg_sp.png);
        background-size: 100% auto;
    }
    .secPrice .price_titbox{
        height: 5rem;
    }
    .secPrice .price_tit{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_20);
    }
    .secPrice .priceInner{
        padding-top: 1.4rem;
    }
    .secPrice .txt_price{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_20);
    }
    .secPrice .txt_price.type_monthly{
        margin-top: 0;
    }
    .secPrice .price_num{
        font-size: var(--spFontSize22);
        line-height: var(--spLineHeight22_30);
        vertical-align: -0.2rem;
        padding-left:10px;
    }
    .secPrice .area_txt{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_20);
        margin-top: 0.2rem;
    }
}

/* secConceptMoreBtn */
.secConceptMoreBtn{
    max-width:40rem;
    margin: 0 auto;
    margin-top:4rem;
    width: 100%;
}
.secConceptMoreBtn .btnLink{
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 7rem;
    border-radius: 7rem;
    border: 1px solid;
    border-color:var(--borderColor);
    background-color: var(--whiteColor);
    color: var(--textColor);
}
.secConceptMoreBtn .btnLink::after{
    content: "";
    position: absolute;
    width: 1.6rem;
    height: 0.9rem;
    top: calc(50% - 0.45rem);
    right: 3rem;
}
.secConceptMoreBtn.lazyloaded .btnLink::after{
    background: url(../img/plan/iconArrow.png) no-repeat center center;
    background-size: 1.6rem auto;
}
.secConceptMoreBtn .btnIn{
    display: inline-block;
    width: 100%;
    text-align: center;
}
.secConceptMoreBtn .btntxt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_24);
    font-weight: bold;
}
@media only screen and (max-width:1215px){
    .secConceptMoreBtn{
        max-width:29rem;
        margin-top:3rem;
    }
    .secConceptMoreBtn .btnLink{
        height: 6rem;
    }
    .secConceptMoreBtn .btnLink::after{
        width: 1.4rem;
        height: 0.8rem;
        top: calc(50% - 0.4rem);
    }
    .secConceptMoreBtn.lazyloaded .btnLink::after{
        background-size: 1.4rem auto;
    }
    .secConceptMoreBtn .btntxt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_20);
    }
}

/* secFollow */
.secFollow{
    margin-top: 9.3rem;
}
.secFollow .followBox{
    margin-top: 3rem;
}
.secFollow .imgBox{
    width: 100%;
    max-width: 108rem;
    margin: 0 auto;
    border-radius: 2.5rem;
    overflow: hidden;
}
.secFollow .txtbox{
    text-align: left;
    width: 100%;
    margin-top: 2.4rem;
}
.secFollow .boxtit{
    font-size: var(--pcFontSize20);
    line-height: var(--pcLineHeight20_32);
    font-weight: bold;
}
.secFollow .boxtxt{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_28);
    margin-top: 1.8rem;
}
.secFollow .secConceptMoreBtn{
    margin-top: 3.1rem;
}
@media only screen and (max-width:1215px){
    .secFollow{
        margin-top: 8.3rem;
    }
    .secFollow .followBox{
        margin-top: 2rem;
    }
    .secFollow .imgBox{
        border-radius: 1.5rem;
    }
    .secFollow .txtbox{
        margin-top: 15px;
    }
    .secFollow .boxtit{
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_20);
    }
    .secFollow .boxtxt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_26);
        margin-top:15px;
    }
    .secFollow .secConceptMoreBtn{
        margin-top: 3.1rem;
    }
}

/* secCmnConcept */
.secCmnConcept{
    margin-top: 10rem;
}
@media only screen and (max-width:1215px){
    .secCmnConcept{
        margin-top: 10rem;
    }
}