@charset "UTF-8";

.mainv{
    position: relative;
    z-index: 1;
}
.mainv_slide{
    position: relative;
    z-index: 1;
    top: 0.7vw;
    margin: 0 1.3vw 0 19.4vw;
    overflow: hidden;
    border-radius: 10px;
}
.mainv_slide_img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
.mainv_slide_img.opa {
    opacity: 0;
}
.mainv_slide_img.on {
  transition: opacity 1.2s ease;
  opacity: 1;
}

.mainv_slide_img:first-child{
    z-index: 2;
    position: relative;
}
.mainv_slide_img img{
    width: 100%;
}

.mainv_slide_img{}

.mainv_mes1{
    line-height: 1;
    font-size: 30px;
    font-size: 2.078vw;
    position: absolute;
    z-index: 5;
    top: 12.4%;
    left: 4%;
    font-weight: 300;
    letter-spacing: 0.1em;
    display: grid;
    gap: 2.1vw 0;
}
.mainv_mes1 p{
}
.mainv_mes1 span{
    position: relative;
    z-index: 1;
}
.mainv_mes1 span:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: url(../img/common/dotto.png) 0 0 repeat;
    background-size: 84px auto;
    height: 3px;
    bottom: -.4vw;
    right:0;
    left: 0;
}
.mainv_mes2{
    line-height: 1;
    font-size: 95px;
    font-size: 6.6vw;
    display: grid;
    position: absolute;
    z-index: 5;
    font-weight: 200;
    top: 32%;
    left: 4%;
    display: grid;
    gap: 0.4vw 0;
}
.mainv_mes2 span{}
.mainv_mes2_b{

    background: linear-gradient(279.12deg, #036EB8 4.88%, #4AB6FF 95.44%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;

}

.mainv_info{
    width: 12.92vw;
    height: 12.92vw;
    position: absolute;
    z-index: 1;
    bottom: 8%;
    left: 3.5%;
    background: radial-gradient(50% 50% at 50% 50%, #F6F8FA 0%, #D6EEFF 100%);
    border-radius: 1000px;
    color: #fff;
    overflow: hidden;
}

.mainv_info:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: linear-gradient(270deg, #d2f0ff 0, #58c8ff 50.48%, #298eff 100%);
    transform-origin: 100% 0;
    transform: scaleX(0);
    transition: transform 0.3s cubic-bezier(0.13, 0.78, 0.38, 0.98);

}




.mainv_info_inner{
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    top: 7%;
    bottom: 7%;
    left: 7%;
    right: 7%;
    text-align: center;
    background: #00264B;
    border-radius: 1000px;
}
.mainv_info_name{
    line-height: 1;
    font-weight: 400;
    font-size: 0.84vw;
    background: linear-gradient(180deg, #D2F0FF 0%, #58C8FF 50.48%, #298EFF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}
.mainv_info_ttl{
    font-weight: 400;
    font-size: 0.97vw;
    line-height: 1.5;
    margin-top: 0.7vw;
    margin-bottom: 1vw;
}
.mainv_info_arrow{
    line-height: 1;
}

.mainv_info .c-arrow.-arrow2:after{
    display: none;
}


/* hover  */
@media (hover: hover) and (pointer: fine) {

    .mainv_info:hover .c-arrow.-arrow2{
        background: #fff;
        border-color: #fff;
    }


    .mainv_info:hover:before{
        transform-origin: 0 0;
        transform: scaleX(1);
    }
}

/* sp */
@media only screen and (max-width: 767px) {
    .mainv{
    padding-top: 4rem;
}
    .mainv_slide{
    margin: 0 2rem;
}
    .mainv_slide_img{}
    .mainv_slide_img:first-child{}
    .mainv_slide_img img{}
    .mainv_slide_img{}
    .mainv_mes1{
    position: static;
    font-size: 1.8rem;
    margin: 0 2rem 3rem;
    gap: 1.6rem 0;
}
    .mainv_mes1 p{}
    .mainv_mes1 span{}
    .mainv_mes1 span:before{}
    .mainv_mes2{
    position: relative;
    font-size: 5rem;
    margin: 0 2rem -3rem;
    left: 0;
}
    .mainv_mes2 span{}
    .mainv_mes2_b{}
    .mainv_info{
    position: relative;
    display: block;
    width: auto;
    left: 0;
    right: 0;
    margin: 0 1.5rem;
    height: auto;
    padding: .5rem;
    margin-top: 1.5rem;
}
    .mainv_info_inner{
    top: .8rem;
    bottom: .8rem;
    left: .8rem;
    right: .8rem;
    position: static;
    text-align: left;
    padding: 1.3rem 3.4rem;
}
    .mainv_info_name{
    font-size: 1.2rem;
}
    .mainv_info_ttl{
    font-size: 1.4rem;
    margin-bottom: 0;
}
    .mainv_info_arrow{
    position: absolute;
    right: 3.2rem;
}

}


/*　
---------------------------------------------------------*/


.pickup{
    margin-top: 110px;
    position: relative;
    z-index: 1;    
}
.pickup:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: url(../img/front/bg-pickup.jpg) 0 0 no-repeat;
    background-size: cover;
    top:0;
    bottom: 58px;
    right: 45px;
    right: 3%;
    left: 0;
    border-radius: 0 70px 70px 0;
}

.pickup_inner{
    padding-top: 87px;
    position: relative;
    z-index: 5;    
}
.pickup_slide_bg{
    position: relative;
    z-index: 1;
}
.pickup_slide_btn{
    position: absolute;
    z-index: 6;
    right: 0;
    bottom: calc(100% + 29px);
    display: flex;
    gap: 0 10px;
}



.pickup_slide_bg{
    position: relative;
    z-index: 1;
}
.pickup_slide{
    overflow: hidden;
    padding: 10px;
    margin: -10px -10px 0;
}
.pickup_slide_list{}
.pickup_slide_list li{
    box-shadow: 0px 0px 10px -2px rgba(0, 51, 75, 0.09);
    border-radius: 10px;
    overflow: hidden;
}
.pickup_slide_list a{
    display: block;
    aspect-ratio: 382 / 240;

}

.pickup_slide-prev{
    transform: scale(-1,1);
    cursor: pointer;
}
.pickup_slide-next{
    cursor: pointer;    
}
.pickup_slide-prev.swiper-button-disabled,
.pickup_slide-next.swiper-button-disabled{
    opacity: 0.5;
pointer-events: none;
}

/* hover  */
@media (hover: hover) and (pointer: fine) {


}

/* sp */
@media only screen and (max-width: 767px) {

    .pickup{
    margin-top: 5rem;
    overflow: hidden;
}
    .pickup:before{
    bottom: 0;
    right: 0;
    border-radius: 0;
}
    .pickup_inner{
    padding-top: 7rem;
    padding-bottom: 4rem;
}
    .pickup_slide_bg{}
    .pickup_slide_btn{
    gap: 0 1rem;
    bottom: calc(100% + 4rem);
}
    .pickup_slide_bg{}
    .pickup_slide{
    margin: -1rem -1rem 0;
    padding: 1rem;
    overflow: visible;
}
    .pickup_slide_list{}
    .pickup_slide_list li{}
    .pickup_slide_list a{}
    .pickup_slide-prev{}
    .pickup_slide-next{}
}


/*　
---------------------------------------------------------*/


.news{}
.news_inner{
    padding-top: 117px;
    padding-bottom: 96px;
    display: flex;
    gap: 0 20px;
}
.news_head{
    width: 24%;
}
.news_head .e-news_cat{
    max-width: 170px;
}
.news_main{
    flex: 1;
}
.news_btn{
    text-align: right;
    margin-top: 50px;
}
.news_box{
    display: none;
}
.news_box.active{
    display: block;
}
 


@media only screen and (max-width: 950px) {
    .news_inner{
        display: grid;
    }
    .news_head{
    width: auto;
    margin-bottom: 20px;
}
    .news_head .e-news_cat {
        max-width: none;
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }
}


/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 767px) {
    .news{}
    .news_inner{
    padding-top: 8rem;
    padding-bottom: 6rem;
}
    .news_head{}
    .news_head .c-news_cat{
    gap: .5rem .6rem;
}
    .news_main{}
    .news_btn{
    text-align: center;
    margin-top: 3rem;
}
}


/*　
---------------------------------------------------------*/


.bnr_list{
    display: flex;
    gap: 0 2px;
}
.bnr_list a{
    aspect-ratio:  480/350;
    flex: 1;
    position: relative;
    z-index: 1;
    overflow: hidden;
    color: #fff;
}
.bnr_list a:before{
    content: "";
    z-index: 2;
    position: absolute;
    /*width: 515.92px;*/
    /*height: 392.31px;*/
    background: rgba(129, 203, 255, 0.7);
    filter: blur(62px);
    width: 107%;
    height: 112%;
    margin-left: -3.5%;
    top: 60%;
}



.bnr_list_main{position: absolute;z-index: 5;bottom: 6%;left: 0;right: 0;text-align: center;}
.bnr_list_ttl{
    display: grid;
    line-height: 1.2;
    margin-bottom: 12px;
    gap: 6px 0;
}
.bnr_list_ttl_ja{
    font-size: 16px;
    font-size: 1.12vw;
}
.bnr_list_ttl_en{
    font-size: 30px;
    font-size: 2.08vw;
    text-transform: uppercase;
}
.bnr_list_arrow{}

/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 767px) {

    .bnr_list{
    display: grid;
    gap: .3rem 0;
}
    .bnr_list a{
    aspect-ratio: 480 / 295;
}
    .bnr_list a:before{}
    .bnr_list_main{}
    .bnr_list_ttl{}
    .bnr_list_ttl_ja{
    font-size: 1.6rem;
}
    .bnr_list_ttl_en{
    font-size: 2.6rem;
}
    .bnr_list_arrow{}



}



/*　
---------------------------------------------------------*/

.life_bg{
    background: #fff;
    padding-top: 120px;
    padding-bottom: 80px;
    overflow: hidden;
}
.life{
    padding-bottom: 100px;
}
.life_inner{
    height: 38.5vw;
    position: relative;
    z-index: 1;
}
.life_inner:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: url( ../img/front/life_bg.jpg ) 50% 50% no-repeat;
    background-size: cover;
    top:0;
    bottom: 0;
    right:calc((100% - 100vw) / 2);
    left: 0;
    border-radius: 70px 0 0 70px;
}

.life_ttl{
    font-size: 14px;
    color: var(--color-blue2);
    position: relative;
    z-index: 1;
    padding-left: 13px;
}
.life_ttl:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: var(--color-blue2);
    width: 6px;
    height: 6px;
    top: 4px;
    left: 0;
    border-radius: 10px;
}

.life_box{
    position: absolute;
    z-index: 5;
    bottom: 0;
    left: 0;
    background: #fff;
    padding: 56px 60px 0 0;
    width: 440px;
    border-radius: 0 30px 0 0;
}
.life_box:after,
.life_box:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: url(../img/front/life_box.svg) 0 0 no-repeat;
    width: 30px;
    height: 30px;
    bottom: calc(100% - 1px);
    left: -1px;
}
.life_box:after{
    left: calc(100% - 1px);  
    bottom: -1px;      
}

.life_link{}
.life_link a{
    display: block;
    line-height: var(--line-height-min);
    border-bottom: 1px solid var(--color-gray2);
    padding: 23px 0;
    position: relative;
    z-index: 1;
}
.life_link_name_en{
    font-size: 32px;
    display: block;
}
.life_link_name_ja{
    font-weight: 400;
    font-size: 14px;
    display: block;
}
.life_link .c-arrow{
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}

/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 767px) {

    .life_bg{
    padding-top: 6rem;
    padding-bottom: 6rem;
}
    .life{
    padding-bottom: 6rem;
}
    .life_inner{
    height: auto;
}
    .life_inner:before{
    position: static;
    display: block;
    /* width: 100%; */
    height: 40rem;
    margin-right: calc((100% - 100vw) / 2);
    border-radius: 7rem 0 0 1rem;
    background-image: url(../img/front/life_bg_sp.jpg);
}
    .life_ttl{
    font-size: 1.4rem;
    padding-left: 1.3rem;
}
    .life_ttl:before{
    width: .6rem;
    height: .6rem;
    top: .47rem;
}
    .life_box{
    position: static;
    padding: 4rem 0 0 0;
    width: auto;
}
    .life_box:after,
    .life_box:before{
    display: none;
}
    .life_box:after{}
    .life_link{}
    .life_link a{
    padding: 2rem 0;
}
    .life_link_name_en{
    font-size: 2.6rem;
}
    .life_link_name_ja{
    font-size: 1.4rem;
    margin-top: .7rem;
}
    .life_link .c-arrow{}


}





/*　
---------------------------------------------------------*/

.gaido{
    position: relative;
    z-index: 1;
}
.gaido:before{
    content: "";
    z-index: 1;
    position: absolute;
    background: url(../img/front/gaido_bg.png) 0 0 no-repeat;
    background-size: cover;
    top: 0;
    bottom: 0;
    right: 3%;
    left: 3%;
    border-radius: 30px;
}

.gaido_inner{
    display: flex;
    position: relative;
    z-index: 5;
    gap: 20px;
    padding-top: 58px;
    padding-bottom: 88px;
}
.gaido_head{
    width: 32.2%;
    margin-top: 23px;
}
.gaido_ttl{
    line-height: var(--line-height-min);
    margin-bottom: 51px;
}
.gaido_ttl_en{
    font-size: 38px;
    display: block;
    font-weight: var(--font-normal);
}
.gaido_ttl_name{
    font-weight: 400;
    font-size: 14px;
    display: block;
    margin-top: 7px;
}
.gaido_btn{
    display: grid;
    gap: 11px 0;
}
.gaido_main{
    flex: 1;
}

@media only screen and (max-width: 950px) {
    .gaido_inner{
        display: grid;
        padding-left: 3%;
        padding-right: 3%;
        gap: 1.3rem 0;
    }
    .gaido_head{
    width: auto;
    margin-bottom: 20px;
}
    .gaido_btn {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        width: auto;
    }
}


/* hover  */
@media (hover: hover) and (pointer: fine) {
}

/* sp */
@media only screen and (max-width: 767px) {

    .gaido{}
    .gaido:before{
    right: 5%;
    left: 5%;
    border-radius: 2rem;
}
    .gaido_inner{
    padding-top: 2rem;
    padding-bottom: 19.5rem;
    padding-left: 6%;
    padding-right: 6%;
}
    .gaido_head{
    margin: 0;
}
    .gaido_ttl{
    margin-bottom: 0rem;
}
    .gaido_ttl_en{
    font-size: 2.4rem;
}
    .gaido_ttl_name{
    font-size: 1.4rem;
}
    .gaido_btn{
    position: absolute;
    z-index: 1;
    bottom: 3rem;
    left: 6%;
    right: 6%;
    display: grid;
}
    .gaido_main{}

    .gaido .c-btn1{
        min-width: auto;
        width: 100%;
    }

}