@charset "UTF-8";
/* ----------------------------------------------------------------------------------------------------
*  index.css
* --------------------------------------------------------------------------------------------------*/
/* ------------------------------
   mv
------------------------------ */
.mv .mv_wrap{ position: relative;}
.mv .mv_wrap .mv-logo{
    margin-bottom: 35px;
    width: 33%;
    max-width: 418px;
    margin-left: 55px;
}
.mv .mv_inner{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 35px;
    width: 96%;
    max-width: 1270px;
    margin: 0 auto;
    z-index: 2;
}
.mv .mv-text__inner{
    display: flex;
    align-items: flex-end;
}
.mv .mv-text__inner .txt01{
    width: 43%;
    max-width: 541px;

}
.mv .mv-text__inner .txt01 .note{
    font-size: .8rem;
    margin-left: 10%;
    margin-bottom: 10px;
}
.mv .mv-text__inner .txt02{
    width: 57%;
    padding-left: 45px;
    box-sizing: border-box;
}
.mv .mv-text__inner .txt02 ul{
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.mv .mv-text__inner .txt02 li{
    max-width: 353px;
}
.mv .mv-text__inner .txt02 li:nth-of-type(2){
    max-width: 305px;
}
.mv .mv-text__inner .txt02 li img{
    box-shadow: 0 0 15px 0 rgba(0,0,0,.2);
    border-radius: 11px;
}
.mv .mv-text__inner .txt02 li+li{ margin-left: 20px;}

.mv .mv-text__inner .txt02 .patent_txt{
    margin-top: -5px;
    font-size: 1.5rem;
    text-align: right;
    padding-right: 20px;
    text-shadow: 0 0 5px #FFF, 0 0 5px #FFF, 0 0 5px #FFF, 0 0 5px #FFF, 0 0 5px #FFF, 0 0 5px #FFF, 0 0 5px #FFF, 0 0 5px #FFF, 0 0 5px #FFF, 0 0 5px #FFF, 0 0 5px #FFF, 0 0 5px #FFF, 0 0 5px #FFF, 0 0 5px #FFF, 0 0 5px #FFF, 0 0 5px #FFF;
    box-sizing: border-box;
}

.bg-mv{
    position: relative;
    z-index: 1;
}
.bg-mv img{
    width: 100%;
    max-width: inherit;
    height: auto;
}

.mv_btm{
    position: relative;
    margin-top: -47px;
    justify-content: center;
    align-items: center;
    z-index: 3;
}
.mv_btm .img{
    max-width: 426px;
}
.mv_btm .btn_wrap{
    width: 60%;
    max-width: 600px;
    margin-left: 35px;
}
.mv_btm .btn_wrap .btn{
    max-width: inherit;
    font-size: 2.2rem;
    font-weight: 700;
    padding: 33px 10px 34px 10px;
    box-shadow: 0 0 15px 0 rgba(0,0,0,.2);
    border-radius: 50px;
}
.mv_btm .btn_wrap .btn.-arrow::before{
    right: 47px;
    width: 34px;
    height: 34px;
}
.mv_btm .btn_wrap .btn.-arrow::after{
    right: 64px;
    margin-top: -1px;
    width: 8px;
    height: 8px;
}

.fadein{
    opacity: 0;
    animation: fadeIn .8s forwards;
}
.mv_wrap .delay1{ animation-delay: .2s;}
.mv_wrap .delay2{ animation-delay: .8s;}
.mv_wrap .delay3{ animation-delay: 1.4s;}
@keyframes fadeIn{
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media screen and (min-width: 1280px) {
    .mv .mv_inner{
        bottom: 4vw;
    }
    .mv .mv-text__inner .txt01 .note{
        margin-left: 40px;
    }
}
@media screen and (max-width: 767px) {
    .mv.bg-dotted{ position: relative;}
    .mv.bg-dotted:before{
        position: absolute;
        left: 0;
        top: 0;
        display: block;
        content: '';
        width: 100%;
        height: 137vw;
        background: #FFF;
    }
    .mv .mv_wrap .mv-logo{
        margin-bottom: 0;
        width: 58%;
        max-width: 448px;
        margin-left: 0;
    }
    .mv .mv_inner{
        top: 28vw;
        bottom: auto;
        width: 92%;
        max-width: inherit;
    }
    .mv .mv-text__inner{
        width: 100%;
        display: flex;
        align-items: flex-start;
        flex-direction: column;
    }
    .mv .mv-text__inner .txt01{
        order: 2;
        margin-top: 8vw;
        width: 100%;
        max-width: inherit;

    }
    .mv .mv-text__inner .txt01 .note{
        font-size: 2.4vw;
        line-height: calc(24 / 18);
        margin-left: 3vw;
        margin-bottom: 0;
    }
    .mv .mv-text__inner .txt02{
        order: 1;
        width: 100%;
        padding-left: 0;
    }
    .mv .mv-text__inner .txt02 ul{
        width: 100%;
    }
    .mv .mv-text__inner .txt02 li{
        width: 100%;
        max-width: inherit !important;
    }
    .mv .mv-text__inner .txt02 li img{ display: block; border-radius: 5px;}
    .mv .mv-text__inner .txt02 li+li{ margin-left: 2%;}
    .mv .mv-text__inner .txt02 .patent_txt{
        margin-top: 0;
        font-size: 2.4vw;
        text-align: left;
        padding-right: 0;
    }
    .bg-mv{
        position: relative;
        z-index: 1;
    }

    .mv_btm{
        margin-top: 59vw;
        padding: 0 5% 10% 5%;
    }
    .mv_btm.flex{
        display: block;
        animation: fadeIn 0.5s 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
    }

    .mv_btm .img{
        width: 70%;
        margin: 0 auto;
    }
    .mv_btm .btn_wrap{
        width: 100%;
        max-width: inherit;
        margin-left: 0;
        margin-top: 2%;
    }
    .mv_btm .btn_wrap .btn{
        width: 100%;
        max-width: inherit;
        font-size: 4vw;
        padding: 13px 10px 10px 10px;
        border-radius: 50px;
    }
    .mv_btm .btn_wrap .btn.-arrow::before{
        right: 5vw;
        width: 4.533vw;
        height: 4.533vw;
    }
    .mv_btm .btn_wrap .btn.-arrow::after{
        right: 7.4vw;
        margin-top: -1px;
        width: 1.3vw;
        height: 1.3vw;
    }
    .mv_wrap  .delay1{ animation-delay: .2s;}
    .mv_wrap  .delay3{ animation-delay: .8s;}
    .mv_wrap  .delay2{ animation-delay: 1.4s;}
}

/* ------------------------------
   sec-service
------------------------------ */
.sec-service{
    padding-top: 95px;
    padding-bottom: 60px;
    box-sizing: border-box;
}

.sec-service .bnr_list div+div{ margin-left: 35px;}
.sec-service .slick-track {
  display: flex;
    align-items: center;
}
.sec-service .slick-slide {
  height: auto !important;
}
@media screen and (max-width: 767px) {
    .sec-service{
        padding-top: 5%;
        padding-bottom: 5%;
        overflow: hidden;
    }
    .sec-service .inner{ width: 100%;}
    .sec-service .bnr_wrap{
       margin-left: 5%;
        overflow: hidden;
    }

    .sec-service .bnr_list div+div{ margin-left: 3.533vw;}


}

/* ------------------------------
   sec-feature
------------------------------ */
.sec-feature{
    padding-top: 50px;
    padding-bottom: 50px;
}
.sec-feature .border{
    text-decoration: underline;
}
.sec-feature .text-lead{ margin-bottom: 30px;}

.sec-feature .bnr_wrap{ margin-top: 55px;}
.sec-feature .bnr_list{
    justify-content: center;
    align-items: flex-start;
}
.sec-feature .bnr_list img{
    max-width: 352px;
}
.sec-feature .bnr_list .text{ margin-top: -45px;}

.sec-feature .btn_wrap{ margin-top: 55px;}

@media screen and (max-width: 767px) {
    .sec-feature{
        padding-top: 5%;
        padding-bottom: 6%;
    }
    .sec-feature .text-lead{ margin-bottom: 30px;}
    
    .sec-feature .text:not(.text-lead).aCen{ text-align: left;}

    .sec-feature .bnr_wrap{ margin-top: 6.133vw;}
    .sec-feature .bnr_list{
        display: block;
    }
    .sec-feature .bnr_list li img{
        display: block;
        width: 66%;
        margin: 0 auto;
    }
    .sec-feature .bnr_list .text{ margin-top: -5vw; text-align: center !important;}

    .sec-feature .btn_wrap{ margin-top: 8.133vw;}

}
/* ------------------------------
   sec-merit
------------------------------ */
.sec-merit{
    padding-top: 90px;
    padding-bottom: 95px;
}
.merit_box{
    position: relative;
    display: flex;
    background: #FFF;
    padding: 70px 60px;
    box-shadow: 0 0 15px 0 rgba(0,0,0,.08);
    border-radius: 12px;
    box-sizing: border-box;
}
.merit_box+.merit_box{ margin-top: 30px;}

.merit_box:before{
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    content: '';
    width: 100%;
    height: 8px;
    background: #f7293c;
    border-radius: 12px 12px 0 0;
}

.merit_box .box_img{
    width: 39%;
    max-width: 420px;
}
.merit_box .box_txt{
    width: 61%;
}

.merit_box .box_txt{ padding-left: 94px; padding-right: 0;}
.merit_box.f-reverse .box_txt{ padding-right: 100px; padding-left: 0;}

.merit_box .box_txt .ttl_wrap{
    display: flex;
    flex-direction: column;
}
.merit_box .box_txt .ttl_wrap .sec_ttl{
    order: 2;
}
.merit_box .box_txt .ttl_wrap .subttl{
    order: 1;
    font-size: 2.2rem;
    color: #f7293c;
}
.merit_box .box_txt .ttl_wrap .subttl span{text-decoration: underline;}

.merit_box:nth-of-type(2) .box_txt .ttl_wrap .sec_ttl{ letter-spacing: 0;}

.merit_box .box_txt p{
    font-size: 1.6rem;
    line-height: calc(26 / 16);
    letter-spacing: .12em;
}
.merit_box .box_txt p+p{ margin-top: 25px;}

@media screen and (max-width: 767px) {
    .sec-merit{
        padding-top: 8%;
        padding-bottom: 12%;
    }
    .sec-merit .sec_ttl.headling-a{ letter-spacing: .11em;}
    .merit_box{
        display: block;
        padding: 10% 6%;
        border-radius: 12px;
    }
    .merit_box+.merit_box{ margin-top: 6%;}

    .merit_box:before{
        height: 4px;
        border-radius: 12px 12px 0 0;
    }
    .merit_box .box_img{
        width: 70%;
        max-width: 420px;
        margin: 0 auto;
    }
    .merit_box .box_txt{
        width: 100%;
        margin-top: 3%;
    }
    .merit_box .box_txt{ padding-left: 0; padding-right: 0;}
    .merit_box.f-reverse .box_txt{ padding-right: 0; padding-left: 0;}

    .merit_box:nth-of-type(2) .box_txt .ttl_wrap .sec_ttl {
        letter-spacing: .12em;
    }
    .merit_box .box_txt .ttl_wrap .subttl{
        font-size: 3vw;
    }
    .merit_box .box_txt p{
        font-size: 3.733vw;
    }
    .merit_box .box_txt p+p{ margin-top: 5%;}
}

/* ------------------------------
   sec-function
------------------------------ */
.sec-function{
    padding-top: 110px;
    padding-bottom: 106px;
}
.sec-function .ttl_wrap{
    display: flex;
    align-items: center;
}
.sec-function .ttl_wrap .sec_ttl{
    position: relative;
    font-size: 4.5rem;
    margin: 0;
}
.sec-function .ttl_wrap .sec_ttl:after{
    position: relative;
    top: -6px;
    display: inline-block;
    vertical-align: middle;
    margin: 0 25px;
    content: '';
    width: 5px;
    height: 63px;
    border-radius: 3px;
    background: #f7293c;
}

.sec-function .ttl_wrap .subttl{
    font-size: 1.8rem;
    font-weight: 700;
}

.sec-function .ico_list_wrap{
    margin-top: 60px;
}

.sec-function .ico_list_wrap .ico_list{
    display: flex;
    flex-wrap: wrap;
}
.sec-function .ico_list_wrap .ico_list li{
    width: calc(100% / 6);
    text-align: center;
    margin-bottom: 60px;
}
.sec-function .ico_list_wrap .ico_list li img{
    width: auto;
    max-width: inherit;
    height: 67px;
}
.sec-function .ico_list_wrap .ico_list p{
    margin-top: 0;
    line-height: calc(24 / 18);
    letter-spacing: .07rem;
}
.sec-function .option_wrap{
    margin-top: 30px;
}
.sec-function .option_wrap .headling-b{ margin-bottom: 20px;}
.ttl-border span{
    position: relative;
    display: inline-block;
}
.ttl-border span:before,
.ttl-border span:after{
    display: block;
    content: '';
    position: absolute;
    top: 53%;
    transform: translateY(-50%);
    width: 100px;
    height: 2px;
    background: #b0b0b0;
}
.ttl-border span:before{
    left: -128px;
}
.ttl-border span:after{
    right: -128px;
}
.sec-function .option_wrap .text{ font-size: 1.6rem;}

.sec-function .option_wrap .option_service_wrap{
    justify-content: space-between;
    margin-top: 30px;
}
.sec-function .option_wrap .option_box{
    width: 32%;
    max-width: 346px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #FFF;
    padding: 78px 20px 30px 20px;
    box-shadow: 0 0 15px 0 rgba(0,0,0,.08);
    border-radius: 12px;
    box-sizing: border-box;
}
.sec-function .option_wrap .option_box .box-ttl{
    order: 2;
    font-size: 2.2rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: -.08em;
    line-height: calc(34 / 22);
}
.sec-function .option_wrap .option_box .subttl{
    position: absolute;
    left: 0;
    top: 0;
    padding: 5px 14px;
    background: rgb(191,54,52); /* Old browsers */
    background: -moz-linear-gradient(left,  rgba(234,30,32,1) 0%, rgba(247,42,60,1) 50%, rgba(255,69,55,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left,  rgba(234,30,32,1) 0%,rgba(247,42,60,1) 50%,rgba(255,69,55,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right,  rgba(234,30,32,1) 0%,rgba(247,42,60,1) 50%,rgba(255,69,55,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ea1e20', endColorstr='#e7473a',GradientType=1 ); /* IE6-9 */
    border-radius: 12px 0 12px 0;
    box-sizing: border-box;
}
.sec-function .option_wrap .option_box .subttl span{
    font-size: 2.2rem;
    color: #FFF;
    letter-spacing: .04rem;
}
.sec-function .option_wrap .option_box .text{
    order: 3;
    font-size: 1.6rem;
    line-height: calc(26 / 16);
    letter-spacing: 0;
}
.sec-function .option_wrap .option_box figure{
    order: 1;
    margin-bottom: 15px;
    height: 118px;
    display: flex;
    align-items: center;
}
.sec-function .option_wrap .option_box:nth-of-type(1) figure img{ max-width: 99px;}
.sec-function .option_wrap .option_box:nth-of-type(2) figure{ max-width: 126px;}
.sec-function .option_wrap .option_box:nth-of-type(3) figure{ max-width: 164px;}

.sec-function .btn_wrap{ margin-top: 60px;}

@media screen and (max-width: 767px) {
    .sec-function{
        padding-top: 8%;
        padding-bottom: 8%;
    }
    .sec-function .ttl_wrap{
        display: block;
    }
    .sec-function .ttl_wrap .sec_ttl{
        position: relative;
        font-size: 6vw;
        text-align: center;
    }
    .sec-function .ttl_wrap .sec_ttl:after{
        display: block;
        top: 0;
        margin: 0 auto;
        width: 8.4vw;
        height: 4px;
    }

    .sec-function .ttl_wrap .subttl{
        width: 89%;
        font-size: 3.733vw;
        line-height: calc(38 / 28);
        letter-spacing: .12em;
        margin: 5% auto 0 auto;
    }
    .sec-function .ico_list_wrap{
        margin-top: 8vw;
    }
    .sec-function .ico_list_wrap .ico_list li{
        width: calc(100% / 3);
        margin-bottom: 8vw;
    }
    .sec-function .ico_list_wrap .ico_list img{
        display: block;
        margin: 0 auto 5px auto;
        width: auto;
        max-width: 100%;
        height: 11vw;
    }
    .sec-function .ico_list_wrap .ico_list p{
        margin-top: 0;
        font-size: 3.2vw;
    }
    .sec-function .option_wrap{
        margin-top: 4vw;
    }
    .sec-function .option_wrap .headling-b{
        margin-bottom: 5%;
        font-size: 4.667vw;
    }
    .ttl-border span:before,
    .ttl-border span:after{
        top: 53%;
        width: 20%;
    }
    .ttl-border span:before{
        left: -28%;
    }
    .ttl-border span:after{
        right: -28%;
    }
    .sec-function .option_wrap .text{ font-size: 3.733vw; text-align: left !important;}
    .sec-function .option_wrap .option_service_wrap{
        display: block;
        margin-top: 5vw;
    }
    .sec-function .option_wrap .option_box{
        width: 100%;
        max-width: inherit;
        padding: 10% 5%;
        border-radius: 8px;
    }
    .sec-function .option_wrap .option_box+.option_box{ margin-top: 6%;}
    .sec-function .option_wrap .option_box .box-ttl{
        font-size: 4vw;
    }
    .sec-function .option_wrap .option_box .subttl{
        padding: 3px 14px 9px 14px;
        line-height: 1;
        border-radius: 8px 0 8px 0;
    }
    .sec-function .option_wrap .option_box .subttl span{
        font-size: 2.933vw;
    }
    .sec-function .option_wrap .option_box .text{
        font-size: 3.733vw;
        text-align: center !important;
    }
    .sec-function .option_wrap .option_box figure{
        display: block;
        height: auto;
        margin: 0 auto 0 auto;
    }
    .sec-function .option_wrap .option_box:nth-of-type(1) figure{ margin-bottom: 4%;}
    .sec-function .btn_wrap{ margin-top: 8vw;}


}
/* ------------------------------
   sec-case
------------------------------ */
.sec-case{
    padding-top: 115px;
    padding-bottom: 70px;
    background: #efefef;
}
.sec-case .sec_ttl.headling-a{ margin-bottom: 65px;}
.sec-case .post_wrap.post-case{
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.sec-case .post_wrap.post-case:after{
    position: relative;
    display: block;
    content: '';
    width: 32%;
    max-width: 380px;
}

.sec-case .post-case .post{
    position: relative;
    width: 32%;
    max-width: 380px;
    background: #FFF;
    box-shadow: 0 0 15px 0 rgba(0,0,0,.08);
    padding: 35px 25px 25px 25px;
    border-radius: 12px;
    box-sizing: border-box;
}
.sec-case .post-case .post:before{
    display: block;
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 7px;
    background: #f7293c;
    border-radius: 12px 12px 0 0;
}
.sec-case .post-case .post a{
    display: flex;
    align-items: center;
    flex-direction: column;
}
.sec-case .post-case .post .post-img{
    order: 1;
    margin-bottom: 20px;
    width: 100%;
}
.sec-case .post-case .post .post-head{
    order: 2;
    margin-bottom: 20px;
    width: 100%;
}
.sec-case .post-case .post .post-head .post-ttl{
    font-size: 1.6rem;
    font-weight: 700;
    line-height: calc(26 / 16);

}
.sec-case .post-case .post .post-head .post-txt02{
    font-size: 1.4rem;
    line-height: calc(20 / 14);

}
.sec-case .post-case .post .post-txt{
    order: 3;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: calc(26 / 16);
    letter-spacing: .12em;
}
.sec-case .btn_wrap{ margin-top: 60px;}


@media screen and (max-width: 767px) {
    .sec-case{
        padding-top: 8%;
        padding-bottom: 12%;
    }
    .sec-case .sec_ttl.headling-a{ margin-bottom: 10%;}
    .sec-case .post_wrap.post-case{
        display: block;
    }
    .sec-case .post_wrap.post-case:after{
        display: none;
    }

    .sec-case .post-case .post{
        width: 100%;
        max-width: inherit;
        padding: 8% 5%;
    }
    .sec-case .post-case .post+.post{ margin-top: 6%;}
    .sec-case .post-case .post:before{
        height: 4px;
    }
    .sec-case .post-case .post .post-img{
        margin-bottom: 4%;
    }
    .sec-case .post-case .post .post-head{
        margin-bottom: 4%;
        width: 100%;
    }
    .sec-case .post-case .post .post-head .post-ttl{
        font-size: 3.733vw;

    }
    .sec-case .post-case .post .post-head .post-txt02{
        font-size: 3.733vw;

    }
    .sec-case .post-case .post .post-txt{
        font-size: 3.733vw;
    }
    .sec-case .btn_wrap{ margin-top: 8vw;}
}
/* ------------------------------
   sec-seminar
------------------------------ */
.sec-seminar{
    padding-top: 90px;
    padding-bottom: 60px;
}
.sec-seminar .subttl,
.sec-post .subttl{
    color: #b1b1b1;
    letter-spacing: .12em;
    line-height: 1.3;
}

.sec-seminar .post_wrap{ margin-top: 40px;}
.sec-seminar .post_wrap.post-seminar{
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.sec-seminar .post_wrap.post-seminar:after{
    position: relative;
    display: block;
    content: '';
    width: 32%;
    max-width: 380px;
}
.sec-seminar .post-seminar .post{
    position: relative;
    width: 32%;
    max-width: 380px;
    box-sizing: border-box;
}

.sec-seminar .post-seminar .post a,
.sec-post .post a{
    display: flex;
    align-items: center;
    flex-direction: column;
}
.sec-seminar .post-seminar .post a.inactive_link{ pointer-events: none;}
.sec-seminar .post-seminar .post-img,
.sec-post .post .post-img{
    order: 1;
    margin-bottom: 5px;
    width: 100%;
    overflow: hidden;
    border-radius: 12px;
}
.sec-post .post-media .post .post-img{ height: 300px;}
.sec-post .post .post-img img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sec-seminar .post-seminar .post-ttl,
.sec-post .post .post-ttl{
    order: 2;
    width: 100%;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: calc(28 / 18);
}

.sec-seminar .post-seminar .post-txt,
.sec-post .post .post-txt{
    order: 3;
    width: 100%;
    font-size: 1.6rem;
    line-height: calc(26 / 16);
    letter-spacing: .12em;
}
.sec-seminar .btn_wrap,
.sec-post .btn_wrap{ margin-top: 35px;}


@media screen and (max-width: 767px) {
    .sec-seminar{
        padding-top: 10%;
        padding-bottom: 12%;
    }
    .sec-seminar .subttl,
    .sec-post .subttl{
        font-size: 2.4vw;
    }

    .sec-seminar .post_wrap{ margin-top: 10%;}
    .sec-seminar .post_wrap.post-seminar{
        display: block;
        width: 70%;
        margin-left: auto;
        margin-right: auto;
    }
    .sec-seminar .post_wrap.post-seminar:after{
        display: none;
    }
    .sec-seminar .post-seminar .post{
        width: 100%;
        max-width: inherit;
    }
    .sec-seminar .post-seminar .post+.post{ margin-top: 10%;}

    .sec-seminar .post-seminar .post-img,
    .sec-post .post .post-img{
        border-radius: 8px;
    }
    .sec-post .post-media .post .post-img{ height: 50vw;}

    .sec-seminar .post-seminar .post-ttl,
    .sec-post .post .post-ttl{
        font-size: 4vw;
    }

    .sec-seminar .post-seminar .post-txt,
    .sec-post .post .post-txt{
        font-size: 3.733vw;
    }
    .sec-seminar .btn_wrap,
    .sec-post .btn_wrap{ margin-top: 8vw;}


}
/* ------------------------------
   sec-post
------------------------------ */
.sec-post{
    display: flex;
    border-top: 1px solid #b1b1b1;
    box-sizing: border-box;
}
.sec-post .post-media,
.sec-post .post-info{
    width: 50%;
    padding: 60px 20px 70px 20px;
    box-sizing: border-box;
}
.sec-post .post-media{ border-right: 1px solid #b1b1b1;}

.sec-post .post,
.sec-post .post_wrap.post-info{
    width: 100%;
    max-width: 500px;
    margin: 40px auto 0 auto;
}
.sec-post .post_wrap.post-info{
    padding: 0;
    border-bottom: 1px solid #b1b1b1;
}

.sec-post .post-info .post{
    max-width: inherit;
    margin: 0;
    border-top: 1px solid #b1b1b1;
    box-sizing: border-box;
}
.sec-post .post-info .post a{
    position: relative;
    padding: 25px 45px 25px 0;
    box-sizing: border-box;
}

.sec-post .post-info .post a:after,
.sec-post .post-info .post a:before{
    position: absolute;
    right: 0;
    top: 50%;
    display: block;
    content: "";
}
.sec-post .post-info .post a::before{
    box-sizing: border-box;
    width: 26px;
    height: 26px;
    background: #f7293c;
    transform: translateY(-50%);
    -webkit-border-radius: 50%;
    border-radius: 50%;
}
.sec-post .post-info .post a::after{
    right: 13px;
    margin-top: -1px;
    width: 7px;
    height: 7px;
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}

.sec-post .post-info .post-date{
    width: 100%;
    font-size: 1.6rem;
    font-weight: 900;
    color: #515151;
    letter-spacing: .12em;
}
.sec-post .post-info .post-ttl{
    font-size: 1.6rem;
    letter-spacing: .12em;
    line-height: calc(26 / 16);
}
.sec-post .post-info .post .post-ttl{ font-weight: 400;}
.sec-post .btn_wrap{ margin-top: 35px;}

.sec-post .btn_wrap .btn{
    max-width: 300px;
    padding: 17px 10px 19px 10px;
}


@media screen and (max-width: 767px) {
    .sec-post{
        display: block;
    }
    .sec-post .post-media,
    .sec-post .post-info{
        width: 100%;
        padding: 10% 5%;
    }
    .sec-post .post-media{ border-right: none; border-bottom: 1px solid #b1b1b1; }

    .sec-post .post,
    .sec-post .post_wrap.post-info{
        width: 100%;
        max-width: inherit;
        margin: 8vw auto 0 auto;
    }
    .sec-post .post-media .post{ width: 70%;}
    .sec-post .post_wrap.post-info{
        padding: 0;
        border-bottom: 1px solid #b1b1b1;
    }
    .sec-post .post-info .post a{
        padding: 5% 22vw 5% 0;
    }

    .sec-post .post-info .post a::before{
        width: 3.8vw;
        height: 3.8vw;
    }
    .sec-post .post-info .post a::after{
        right: 1.85vw;
        width: 1.2vw;
        height: 1.2vw;
    }
    .sec-post .post-info .post-date{
        font-size: 2.4vw;
    }
    .sec-post .post-info .post-ttl{
        font-size: 3.733vw;
    }
    .sec-post .btn_wrap{ margin-top: 8vw;}

    .sec-post .btn_wrap .btn{
        max-width: inherit;
        padding: 9px 10px 10px 10px;
    }

}

/* ------------------------------
   sec-dl
------------------------------ */
.sec-dl{
    background: url("../img/index/bg_dl.jpg") no-repeat center center;
    background-size: cover;
    padding: 90px 0 95px 0;
    box-sizing: border-box;
}
.sec-dl .ttl_wrap{
    display: flex;
    align-items: center;
    flex-direction: column;
}
.sec-dl .ttl_wrap .sec_ttl{
    order: 2;
    margin-bottom: 80px;
    line-height: 1.1;
    color: #FFF;
}
.sec-dl .ttl_wrap .sec_ttl:after{
    bottom: -15px;
}
.sec-dl .ttl_wrap .subttl{
    order: 1;
    font-size: 1.8rem;
    font-weight: 600;
    color: #FFF;
    text-align: center;
    letter-spacing: .12em;
}

.sec-dl .text.text-lead.aCen{
    color: #FFF;
    font-size: 1.8rem;
    margin-bottom: 35px;
    line-height: calc(28 / 18);
}

.sec-dl .link_list{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}
.sec-dl .link_list li{
    width: calc(100% / 4);
    margin-bottom: 20px;
}
.sec-dl .link_list li a{
    display: inline-block;
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.4;
    color: #FFF;
    letter-spacing: .12em;
}
.sec-dl .link_list li .-arrow{ padding-right: 50px;}
.sec-dl .link_list li .-arrow::before,
.sec-dl .link_list li .-arrow::after{ top: 55%;}
.sec-dl .link_list li .-arrow::before{
    right: 0;
    width: 26px;
    height: 26px;
}
.sec-dl .link_list li .-arrow::after{
    right: 13px;
    margin-top: -1px;
    width: 6px;
    height: 6px;
}

.sec-dl .btn_wrap{ margin-top: 55px;}
.sec-dl .btn_wrap .btn.-white{
    color: #FFF;
    background: transparent;
    box-shadow: none;
    border: 1px solid #FFF;
}

@media screen and (max-width: 767px) {
    .sec-dl{
        background: url("../img/index/bg_dl_sp.jpg") no-repeat center center;
        background-size: cover;
        padding: 12vw 0 12.667vw 0;
    }

    .sec-dl .ttl_wrap .sec_ttl{
        margin-bottom: 11vw;
    }
    .sec-dl .ttl_wrap .sec_ttl:after{
        bottom: -15px;
    }
    .sec-dl .ttl_wrap .subttl{
        font-size: 2.667vw;
    }
    .sec-dl .text.text-lead.aCen{
        font-size: 3.733vw;
        margin-bottom: 8%;
        text-align: left;
    }
    .sec-dl .link_list{
        position: relative;
        width: 86%;
        margin: 0 auto;
        justify-content: space-between;
    }
    .sec-dl .link_list:after{
        position: absolute;
        display: block;
        content: '';
        width: 47%;
        height: 1px;
    }
    .sec-dl .link_list li{
        width: calc(94% / 2);
        margin-bottom: 5px;
    }
    .sec-dl .link_list li a{
        position: relative;
        display: block;
        font-size: 4vw;
    }
    .sec-dl .link_list li .-arrow{ padding-right: 7vw;}
    .sec-dl .link_list li .-arrow::before,
    .sec-dl .link_list li .-arrow::before{
        position: absolute;
        right: 0;
        width: 4.533vw;
        height: 4.533vw;
    }
    .sec-dl .link_list li .-arrow::after{
        right: 2.2vw;
        width: 1.3vw;
        height: 1.3vw;
    }

    .sec-dl .btn_wrap{ margin-top: 8vw;}


}


.mv-text__inner .txt02 {
    margin-bottom: -40px;
}


@media screen and (min-width: 1601px) {
    .mv-text__inner .txt01 {
        text-align: center;
    }

    .mv-text__inner .txt01 img {
        width: 100%;
    }

    .mv-text__inner .txt01 img, .mv-text__inner .txt01 p, .mv-text__inner .txt01 a {
        display: block;
        margin: 0 auto;
    }
}

@media screen and (max-width: 1600px) {
    .mv-text__inner .txt01 {
        text-align: center;
    }
    .mv-text__inner .txt01 img {
        width: 90%;
    }

    .mv-text__inner .txt01 img, .mv-text__inner .txt01 p, .mv-text__inner .txt01 a {
        display: block;
        margin: 0 auto;
    }
    .mv-text__inner .txt01 p {
        display: inline-block;
    }
}


@media screen and (max-width: 1400px) {

    .mv-text__inner .txt01 img {
        width: 80%;
    }

}

@media screen and (max-width: 1280px) {

    .mv .mv_inner {
        bottom: 56px;
    }

}


.is-display-sp {
    display: none
}


@media screen and (max-width: 767px) {
    .is-display-sp {
        display: block
    }

    .is-display-pc {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .mv-text__inner .txt01 img {
        width: 100%;
    }
    .mv .mv_inner {
        top: 20vw !important;
    }
    .mv-text__inner {
        margin-top: 27vw;
    }

    .mv .mv-text__inner .txt01 {
        margin-top: 14vw
    }

    .mv_btm {
        margin-top: 82vw;
    }

}

.mv-text__inner .txt01 img:first-child{
    margin-bottom: 5px
}

.mv-text__inner .txt01 > a{
    margin-top: 5px
}

.mv-text__inner .txt01 > a{
    padding-top: 6px;
    padding-bottom: 8px;
    max-width: 420px;
}