/* CSS Document */

.ttl h3{
    font-size: 48px;
    font-weight: 500;
    line-height: 1.2;
}

.ttl h3 span{
    display: block;
    margin-bottom: 28px;
    color: #5666BE;
    font-size: 20px;
    font-weight: 400;
}

.ttl p{
    margin-top: 40px;
    font-size: 18px;
    font-weight: 500;
    line-height: 200%; /* 36px */
    letter-spacing: 1.44px;
    position: relative;
    z-index: 2;
}

.ttl p.min{
    font-size: 16px;
    font-weight: 400;
}

.sub_kv{
    width: 100%;
    height: 400px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sub_kv .inner{
    width: 100%;
    max-width: 1220px;
    box-sizing: border-box;
    padding: 0 10px;
    color: #FFF;
}

.sub_kv .inner h1{
    font-size: 48px;
    font-weight: 700;
    line-height: 120%; /* 57.6px */
}

.sub_kv .inner h1 span{
    display: block;
    font-size: 14px;
    margin-bottom: 0px;
}

.sub_kv .inner p{
    margin-top: 30px;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 200%; /* 40px */
    color: #69696B;
    max-width: 670px;
}

.mt0{
    margin-top: 0 !important;
}

.grecaptcha-badge {
    visibility: hidden
}

@media screen and (max-width: 1000px) {
    .sub_kv .inner h1{
        font-size: 40px;
    }
}

@media screen and (max-width: 768px) {
    .ttl{
        padding: 0 5.3vw;
    }

    .ttl.pd0{
        padding: 0;
    }

    .ttl h3{
        font-size: 6.4vw;
    }

    .ttl h3 span{
        display: block;
        margin-bottom: 2.6vw;
        font-size: 3.2vw;
    }

    .ttl p,
    .ttl p.min{
        margin-top: 5.3vw;
        font-size: 4.26vw;
        line-height: 170%; /* 36px */
        letter-spacing: 0.64px;
    }


    .sub_kv{
        width: 100%;
        height: 45.6vw;
    }

    .sub_kv .inner{
        width: 100%;
        max-width: 100%;
        padding: 0 4.26vw;
    }

    .sub_kv .inner h1{
        font-size: 5.3vw;
    }

    .sub_kv .inner h1 span{
        font-size: 2.6vw;
        margin-bottom: 0px;
    }

    .sub_kv .inner p{
        margin-top: 4vw;
        font-size: 2.6vw;
        line-height: 150%; /* 15px */
    }

}
/* TOP
------------------------------------------------------------*/
.kv{
    width: 100%;
    overflow-x: hidden;
}
.kv .inner{
    width: 100%;
    max-width: 1220px;
    padding: 0 10px 55px;
    box-sizing: border-box;
    margin:0 auto;
    position: relative;
}

.kv .inner h2{
    padding-top: 11px;
    margin-left: -70px;
}

.kv .inner p{
    margin-top: 0px;
    font-size: 20px;
    font-weight: 700;
    position: relative;
    top: -101px;
    z-index: 3;
}

.kv .inner .image01{
    position: absolute;
    left: -75px;
    top: 20px;
    z-index: 2;
}

.kv .inner .image02{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 18px;
    z-index: 2;
}


#pathlayer {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 2112;
    stroke-dashoffset: 2112;

}

.kv.active #pathlayer {
    animation: handwriting 6s cubic-bezier(0, 0.55, 0.45, 1) forwards ;
}

@keyframes handwriting {
    to{
        stroke-dashoffset: 0;
    }
}

@keyframes step1{
    0% {
        opacity: 0;
        transform: scaleX(0) translateX(-5%);
    }
    30% {
        transform: scaleX(1) translateX(0);
    }
    100% {
        transform: scaleX(1) translateX(0);
    }
    30%, 100% {
        opacity: 1;
    }
}

.kv .inner .image03{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 103px;
    z-index: 2;
    margin-left: 575px;
    opacity: 0;
    transition: all 0.4s;
    transition-delay: 2700ms;

}

.kv.active .inner .image03{
    opacity: 1;
}

.kv .slide{
    width: 100%;
    overflow:hidden;
}

.kv .slide ul{
    display: flex;
}

.kv .slide ul li{
    margin-right: 12px;
    width: 708px !important;
}

.base_btn{
    display: flex;
    width: 240px;
    height: 56px;
    box-sizing: border-box;
    font-size: 15px;
    font-weight: 700;
    color: #FFF;
    border-radius: 56px;
    border: 2px solid #5666BE;
    background: #5666BE;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    position: relative;
    border: 2px solid #5666BE;
    transition: all 0.4s;
}

.base_btn span{
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    margin-top: 2px;
}

.base_btn:hover{
    color: #5666BE;
    background: #FFF;
}

.base_btn svg,
.base_btn svg rect,
.base_btn svg path,
.story_block_btm .inner ul li a span svg,
.story_block_btm .inner ul li a span svg rect,
.story_block_btm .inner ul li a span svg path{
    transition: all 0.4s;
}

a.base_btn:hover rect{
    fill: #5666BE;
}

a.base_btn:hover path{
    stroke: #FFF;
}

.story_block_btm .inner ul li a:hover span svg path{
    stroke: #5666BE;
}

.story_block_btm .inner ul li a:hover span svg rect{
    fill: #FFF;
}

#pathlayer_sp {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 412;
    stroke-dashoffset: 412;
    animation: handwriting 4s cubic-bezier(0, 0.55, 0.45, 1) forwards ;
}

@keyframes handwriting_sp {
    to {
        stroke-dashoffset: 0vw;
    }
}
@media screen and (max-width: 950px) {

    .kv .inner h2 img {
        width: 800px;
    }

    .kv .inner h2{
        padding-top: 62px;
        margin-left: -50px;
    }

    .kv .inner p{

        top: -81px;
        left: 20px;
    }
}

@media screen and (max-width: 768px) {
    .kv .inner{
        width: 100%;
        max-width: 100%;
        padding: 0 ;
    }

    .kv .inner h2{
        padding-top: 38.13vw;
        padding-left: 4vw;
        margin-left:0;
    }

    .kv .inner h2 img{
        width: 72.53vw;
    }

    .kv .inner p{
        margin-top: 8vw;
        padding-left: 4vw;
        font-size: 2.8vw;
        padding-bottom: 15vw;
        top:auto;
        left: auto;
    }

    .kv .inner .image01{
        position: absolute;
        left: 0;
        top: 26.5vw;
        z-index: 2;
    }

    .kv .inner .image01 svg{
        width: 22.4vw;
        height: 26.93vw;
    }

    .kv .inner .image02{
        left: 0%;
        transform: none;
        top: 30vw;
    }

    .kv .inner .image02 svg{
        width: 105vw;
        height: 19.78vw;
    }


    .kv .inner .image03{
        position: absolute;
        left: auto;
        right: 1.06vw;
        transform: translateX(0%);
        top: 15vw;
        margin-left: 0;
    }

    .kv .inner .image03 svg{
        width: 14.93vw;
        height: 36vw;
    }

    .kv .slide{
        width: 100%;
        overflow:hidden;
    }

    .kv .slide ul{
        display: flex;
    }

    .kv .slide ul li{
        margin-right: 12px;
        width: 708px !important;
    }

    .base_btn{
        display: flex;
        width: 240px;
        height: 56px;
        box-sizing: border-box;
        font-size: 15px;
        font-weight: 700;
        color: #FFF;
        border-radius: 56px;
        border: 2px solid #5666BE;
        background: #5666BE;
        text-decoration: none;
        align-items: center;
        justify-content: center;
        position: relative;
        border: 2px solid #5666BE;
        transition: all 0.4s;
    }

    .base_btn span{
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        margin-top: 2px;
    }

    .base_btn:hover{
        color: #5666BE;
        background: #FFF;
    }

    .base_btn svg,
    .base_btn svg rect,
    .base_btn svg path{
        transition: all 0.4s;
    }

    a.base_btn:hover rect{
        fill: #5666BE;
    }

    a.base_btn:hover path{
        stroke: #FFF;
    }
}

@media screen and (max-width: 768px) {
    .base_btn{
        width: 48.53vw;
        height: 11.2vw;
        font-size: 3.73vw;
        border-radius: 11.2vw;
        border: 0.53vw solid #5666BE;
    }

    .base_btn span{
        position: absolute;
        right: 2.4vw;
        width: 6.4vw;
        height: 6.4vw;
        top: 50%;
        transform: translateY(-50%);
        margin-top: 0;
    }

    .base_btn span svg{
        width: 100%;
        height: 100%;
    }
}

.top1{
    padding: 200px 0 0;
}

.top1 .ttl{
    padding: 0 10px;
    text-align: center;
}

.top1 .inner,
.top2 .inner,
.top3 .inner,
.top5 .inner{
    width: 100%;
    max-width: 1220px;
    padding: 0 10px;
    box-sizing: border-box;
    margin-top: 80px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
}

.top2 .inner,
.top3 .inner,
.top5 .inner{
    display: block;;
}

.top1 .inner .inner_l{
    width: calc(100% - 588px);
}

.top1 .inner .inner_r{
    width: 524px;
}

.top1 .inner .inner_r p{
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 200%; /* 32px */
    background: #FFF;
}

.top1 .inner .inner_r p.mb{
    margin-bottom: 65px;
}

.top1 .inner .inner_r h4{
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 36px */
    margin: 30px 0 35px;
}

@media screen and (max-width: 1000px) {
    .top1 .inner .inner_l{
        width: calc(100% - 420px);
    }

    .top1 .inner .inner_r{
        width: 400px;
    }
}


@media screen and (max-width: 768px) {
    .top1{
        padding: 32vw 0 0;

    }

    .top1 .ttl{
        text-align: left;

    }

    .top1 .inner,
    .top2 .inner,
    .top3 .inner,
    .top5 .inner{
        width: 100%;
        max-width: 100%;
        padding: 0 5.3vw;
        box-sizing: border-box;
        margin-top: 12.8vw;
        margin-left: auto;
        margin-right: auto;
        display: block;
    }

    .top2 .inner,
    .top3 .inner,
    .top5 .inner{
        display: block;;
    }

    .top1 .inner .inner_l{
        width: 100%;
    }

    .top1 .inner .inner_r{
        width: 100%;
        margin-top: 8.53vw;
    }

    .top1 .inner .inner_r p{
        font-size: 3.73vw;
        line-height: 200%; /* 32px */
    }

    .top1 .inner .inner_r h4{
        font-size: 4.8vw;
        margin: 5.3vw 0 6vw;
    }

    .top1 .inner .inner_r p.mb{
        margin-bottom: 12vw;
    }

    .top1 .base_btn span rect{
        fill: #FFF;
    }

    .top1 .base_btn span  path{
        stroke: #5666BE;
    }
}

.top2{
    padding: 120px 0 0;
}

.top2 .inner .slide{
    margin-top: 80px;
}

.top2 .inner .slide .company_slide{
    width: 960px;
    margin: 60px auto 160px;
    position: relative;

}

.top2 .inner .slide .company_slide li{
    position: absolute;
    left: 0;
    top: 0;
    display: none;
}

.top2 .inner .slide .company_slide li:nth-child(1){
    display: block;
    position: relative;
    z-index: 1;
}

.top2 .inner .slide .company_slide li.active{
    z-index: 2;
    display: block;
}

.top2 .inner .slide .company_slide .cont_ov{
    width: 100%;
    height: 70px;
    overflow: hidden;
    position: absolute;
    left: 0;
    bottom: 0;
}

.top2 .inner .slide .company_slide .cont{
    width: 100%;
    height: 64px;
    background: rgba(0, 0, 0, 0.70);
    position: relative;
    top: 70px;
    z-index: 3;
    transition: all 0.4s;
}

.top2 .inner .slide .company_slide:hover .cont{
    top: 0;
}

.top2 .inner .slide .company_slide .bar{
    width: 100%;
    height: 6px;
    background: #ddd;
    position: absolute;
    left: 0;
    bottom: -6px;
}

.top2 .inner .slide .company_slide .bar > div{
    content: "";
    display: block;
    width: 0%;
    height: 6px;
    background:#5666BE;
    transition: all 0.4s;
    position: absolute;
    left: 0;
    top: 0;
}

.top2 .inner .slide .company_slide .bar.active1:before{
    width: 3.3%;
}

.top2 .inner .slide .company_slide .prev{
    position: absolute;
    left: 30px;
    top: 22px;
}
.top2 .inner .slide .company_slide .next{
    position: absolute;
    left: 101px;
    top: 22px;
}
.top2 .inner .slide .company_slide .blank{
    position: absolute;
    right: 21px;
    top: 21px;
}

.top2 .inner .block{
    display: flex;
    justify-content: space-between;
}

.top2 .inner .block .block_l{
    width: calc(100% - 624px);
}

.top2 .inner .slide h4,
.top2 .inner .block .block_l h4{
    font-size: 32px;
    font-weight: 500;
    line-height: 125%; /* 40px */
}

.top2 .inner .slide p,
.top2 .inner .block .block_l p{
    font-size: 16px;
    font-weight: 400;
    line-height: 200%; /* 32px */
    margin-top: 20px;
    background: #FFF;
}

.top2 .inner .slide p{
    display: inline-block;;
}

.top2 .inner .block .block_r{
    width: 544px;
}

.top2 .inner .block .block_r ul li:nth-child(1){
    margin-bottom: 24px;
}

.top2 .inner .block .block_r ul li a{
    display: flex;
    border: 2px solid #5666BE;
    background: #FFF;
    width: 100%;
    height: 144px;
    box-sizing: border-box;
    color: #5666BE;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    padding: 0 0 0 48px;
    align-items: center;
    position: relative;
}

.top2 .inner .block .block_r ul li a span{
    position: absolute;
    right: 48px;
    top: 48px;
}

.top2 .inner .block .block_r ul li a,
.top2 .inner .block .block_r ul li a rect,
.top2 .inner .block .block_r ul li a path{
    transition: all 0.4s;
}

.top2 .inner .block .block_r ul li a:hover{
    background: #5666BE;
    color: #FFF;
}

.top2 .inner .block .block_r ul li a:hover rect{
    fill: #FFF;
}

.top2 .inner .block .block_r ul li a:hover path{
    stroke: #5666BE;
}

@media screen and (max-width: 1000px) {
    .top2 .inner .block .block_l{
        width: calc(100% - 354px);
    }

    .top2 .inner .block .block_r{
        width: 324px;
    }

    .top2 .inner .block .block_r ul li a{
        padding: 0 90px 0 28px;
    }

    .top2 .inner .block .block_r ul li a span{
        right: 24px;
    }
}

@media screen and (max-width: 768px) {
    .top2{
        padding: 42.6vw 0 0;
    }

    .top2 .inner{
        margin-top: 0;
    }

    .top2 .inner .slide{
        margin-top: 12vw;
    }

    .top2 .inner .block{
        display: block;
    }

    .top2 .inner .block .block_l{
        width: 100%;
    }

    .top2 .inner .block .block_l h4{
        font-size: 5.3vw;
    }

    .top2 .inner .block .block_l p{
        font-size: 3.73vw;
        margin-top: 4vw;
    }

    .top2 .inner .block .block_r{
        width: 100%;
        margin-top: 8vw;
    }

    .top2 .inner .block .block_r ul li:nth-child(1){
        margin-bottom: 3.2vw;
    }

    .top2 .inner .block .block_r ul li a{
        border: 0.26vw solid #5666BE;
        background: #FFF;
        width: 100%;
        height: 23.73vw;
        font-size: 3.73vw;
        padding: 0 0 0 5.3vw;
    }

    .top2 .inner .block .block_r ul li a span{
        right: 5.3vw;
        top: 50%;
        transform: translateY(-50%);
        width: 5.3vw;
        height: 5.3vw;
    }

    .top2 .inner .block .block_r ul li a span svg{
        width: 5.3vw;
        height: 5.3vw;
    }

    .top2 .inner .block .block_r ul li a,
    .top2 .inner .block .block_r ul li a rect,
    .top2 .inner .block .block_r ul li a path{
        transition: all 0.4s;
    }

    .top2 .inner .block .block_r ul li a:hover{
        background: #5666BE;
        color: #FFF;
    }

    .top2 .inner .block .block_r ul li a:hover rect{
        fill: #FFF;
    }

    .top2 .inner .block .block_r ul li a:hover path{
        stroke: #5666BE;
    }

    .top2 .inner .slide h4,
    .top2 .inner .block .block_l h4{
        font-size: 5.3vw;
    }

    .top2 .inner .slide p,
    .top2 .inner .block .block_l p{
        font-size: 4.26vw;
        margin-top: 3.46vw;
    }

    .top2 .inner .slide .company_slide{
        width: 100%;
        margin: 8vw auto 14.6vw;
    }

    .top2 .inner .slide .company_slide .cont_ov{
        height: calc(8.53vw + 3px);
    }

    .top2 .inner .slide .company_slide .cont{
        width: 100%;
        height: 8.53vw;
        top: 0;
    }

    .top2 .inner .slide .company_slide .bar{
        width: 100%;
        height: 3px;
        background: #ddd;
        position: absolute;
        left: 0;
        bottom: -3px;
    }

    .top2 .inner .slide .company_slide .prev{
        left: 3vw;
        top: 2.7vw;
    }
    .top2 .inner .slide .company_slide .next{
        left: 10vw;
        top: 2.7vw;
    }
    .top2 .inner .slide .company_slide .prev svg,
    .top2 .inner .slide .company_slide .next svg{
        width: 1.86vw;
        height: 3vw;
    }

    .top2 .inner .slide .company_slide .blank{
        position: absolute;
        right: 3vw;
        top: 2.4vw;
    }

    .top2 .inner .slide .company_slide .blank svg{
        width: 3.73vw;
        height: 3vw;
    }
}

.top3{
    margin-top: 330px;
    position: relative;
}

.top3:before,
.top3:after{
    content: "";
    display: block;
    position: absolute;
    width: 80%;
    height: 1700px;
    background: #F5F7FE;
    top: 100px;
    left: 0%;
    z-index: 2;
}
/*
.top3:after{
  background: #FFF;
  z-index: 2;
  width: 20%;
  right: 0;
  left: auto;
}
*/

.top3 .inner{
    position: relative;
    z-index: 3;
}

.top3 .ttl{
    padding-bottom: 20px;
}

.top3 .block1{
    width: 100%;
    max-width: 1100px;
    padding: 0 10px;
    box-sizing: border-box;
    margin: 64px auto 0;
    position: relative;
}

.top3 .block1 .block1_l{
    width: 618px;
    height: 400px;
    overflow: hidden;
}

.top3 .block1 .block1_l div{
    width: 618px;
    height: 400px;
    transition: all 0.4s;
}

.top3 .block1 .block1_l.bg01 div{
    background: url(../../2025/img/top/interview01.jpg) no-repeat center center;
    background-size: cover;
}

.top3 .block1 .block1_l.bg02,
.top3 .block1 .block1_l.bg04{
    margin-left: auto;
}
.top3 .block1 .block1_l.bg02 div{
    background: url(../../2025/img/top/interview02.jpg) no-repeat center center;
    background-size: cover;
}
.top3 .block1 .block1_l.bg03 div{
    background: url(../../2025/img/top/interview03.jpg) no-repeat center center;
    background-size: cover;
}
.top3 .block1 .block1_l.bg04 div{
    background: url(../../2025/img/top/interview04.jpg) no-repeat center center;
    background-size: cover;
}



.top3 .block1{
    cursor: pointer;
}

.top3 .block1 .block1_r{
    display: block;
    text-decoration: none;
    position: absolute;
    width: 490px;
    padding: 32px;
    background: #FFF;
    box-shadow: 0px 16px 40px 0px rgba(0, 0, 0, 0.04);
    top: 50%;
    transform: translateY(-50%);
    left: 540px;
    z-index: 2;
    color: #1D1C1A;
    box-sizing: border-box;
    transition: all 0.4s;
}

.top3 .block1 .block1_r h4{
    font-size: 24px;
    font-weight: 500;
}

.top3 .block1 .block1_r p.txt{
    color: #69696B;
    font-size: 14px;
    font-weight: 400;
    line-height: 150%; /* 21px */
    margin-top: 12px;
}

.top3 .block1 .block1_r ul{
    margin-top: 20px;
}

.top3 .block1 .block1_r ul li{
    margin-bottom: 13px;
    font-size: 14px;
    font-weight: 500;
    padding-left: 92px;
    position: relative;
}

.top3 .block1 .block1_r ul li span{
    position: absolute;
    left: 0;
    display: flex;
    border-radius: 40px;
    background: #1A7020;
    color: #FFF;
    font-size: 12px;
    font-weight: 700;
    justify-content: center;
    align-items: center;
    width: 83px;
    height: 27px;
    box-sizing: border-box;
    top: -2px;
}

.top3 .block1 .block1_r ul li span.tokyo{
    background: #2B8FC4;
}

.top3 .block1 .more{
    text-align: right;
    padding-right: 32px;
    margin-top: 25px;
    color: #5666BE;
    font-size: 14px;
    font-weight: 700;
    position: relative;
}

.top3 .block1 .more span.ab{
    position: absolute;
    right: 0;
}

.top3 .block1.r .block1_l{
    text-align: right;
}

.top3 .block1.r .block1_r{
    left: 92px;
}

.top3 .block1 .more span.line{
    display: inline-block;
    position: relative;
}

.top3 .block1 .more span.line:before{
    content: "";
    display: block;
    width: 0%;
    height: 1px;
    background: #5666BE;
    position: absolute;
    left: 0;
    bottom: -2px;
    transition: all 0.4s;
}

.top3 .block1:hover .block1_l.bg01 div,
.top3 .block1:hover .block1_l.bg02 div,
.top3 .block1:hover .block1_l.bg03 div,
.top3 .block1:hover .block1_l.bg04 div{
    transform: scale(1.1); /* 拡大 */
}
.top3 .block1:hover .block1_r{
    left: 560px;
}

.top3 .block1.r:hover .block1_r{
    left: 72px;
}

.top3 .block1:hover .more span.line:before{
    width: 100%;
}

@media screen and (max-width: 1000px) {
    .top3 .block1 img{
        width: 500px;
        height: auto;
    }

    .top3 .block1 .block1_r{
        width: 400px;
        left: 450px;
    }
    .top3 .block1:hover .block1_r{
        left: 470px;
    }
    .top3 .block1.r .block1_r{
        left: 60px;
    }

    .top3 .block1.r:hover .block1_r{
        left: 40px;
    }
    .top3 .block1 .block1_r h4{
        padding-bottom: 10px;
    }
    .top3 .block1 .block1_r h4.pb0{
        padding-bottom: 0;
    }

    .top3 .block1 .block1_l{
        width: 500px;
        height: 350px;
    }

    .top3 .block1 .block1_l div{
        width: 500px;
        height: 350px;
    }

}

@media screen and (max-width: 850px) {
    .top3 .block1 img{
        width: 440px;
        height: auto;
    }

    .top3 .block1 .block1_r{
        width: 400px;
        left: 400px;
    }
    .top3 .block1:hover .block1_r{
        left: 420px;
    }
    .top3 .block1.r .block1_r{
        left: 20px;
    }
    .top3 .block1.r:hover .block1_r{
        left: 0px;
    }
    .top3 .block1 .block1_r{
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .top3 .block1 .block1_r h4 {
        font-size: 20px;
    }
    .top3 .block1 .block1_l{
        width: 450px;
        height: 300px;
    }
    .top3 .block1 .block1_l div{
        width: 450px;
        height: 300px;
    }
}

@media screen and (max-width: 768px) {
    .top3{
        margin-top: 42.6vw;
    }

    .top3 .inner{
        margin-top: 0;
    }

    .top3:before,
    .top3:after{
        width: 100vw;
        height: 641.3vw;
        top: 10.3vw;
        left: 0%;
        z-index: 1;
    }

    .top3:after{
        display: none;
    }


    .top3 .inner{
        position: relative;
        z-index: 3;
    }

    .top3 .ttl{
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0px;
    }

    .top3 .block1{
        width: 100%;
        max-width: 100%;
        padding: 0 0px;
        box-sizing: border-box;
        margin: 12vw auto 0;
        position: relative;
    }

    .top3 .block1 .block1_r{
        display: block;
        text-decoration: none;
        position: relative;
        width: 100%;
        padding: 6.6vw 5.3vw;
        background: #FFF;
        box-shadow: 0px 16px 40px 0px rgba(0, 0, 0, 0.04);
        top: 0%;
        transform: none;
        left: 0px !important;
        box-sizing: border-box;
    }

    .top3 .block1 .block1_r h4{
        font-size: 4.26vw;
    }

    .top3 .block1 .block1_r p.txt{
        font-size: 3.73vw;
        margin-top: 3.2vw;
    }

    .top3 .block1 .block1_r ul{
        margin-top: 6.6vw;
    }

    .top3 .block1 .block1_r ul li{
        margin-bottom: 4vw;
        font-size: 3.2vw;
        padding-left: 20.8vw;
    }

    .top3 .block1 .block1_r ul li span{
        border-radius: 11.2vw;
        font-size: 3.2vw;
        width: 18.6vw;
        height: 6.13vw;
        top: -2px;
    }

    .top3 .block1 .more{
        padding-right: 8.53vw;
        margin-top: 6.6vw;
        font-size: 3.73vw;
    }

    .top3 .block1 .more span.ab{
        position: absolute;
        display: block;
        width: 6.4vw;
        height: 6.4vw;
        right: 0;
        top: 0;
    }

    .top3 .block1 .more span svg{
        width: 100%;
    }

    .top3 .block1.r .block1_l{
        text-align: right;
    }

    .top3 .block1.r .block1_r{
        left: 0;
    }

    .top3 .block1 .block1_l{
        width: 100%;
        height: 52.26vw;
        overflow: hidden;
    }

    .top3 .block1 .block1_l div{
        width: 100%;
        height: 52.26vw;
    }
}

.top4{
    margin-top: 180px;
    background: #FCFAF7;
    padding-top: 42px;
    overflow: hidden;
    box-sizing: border-box;
}

.top4 .inner{
    display: flex;
    width: 100%;
    max-width: 1220px;
    padding:0 10px;
    box-sizing: border-box;
    margin: 0 auto;
    align-items: center;
}

.top4 .inner .inner_l{
    width: 55%;
}

.top4 .inner h5{
    padding-left: 55px;
    font-size: 24px;
    font-weight: 700;
    /*color: #4D3F32;*/
}

.top4 .inner h5 span{
    display: block;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 500;
    text-align: right;
    padding-right: 17px;
    letter-spacing: 3.64px;
}

@media screen and (max-width: 768px) {
    .top4{
        margin-top: 21.3vw;
        padding-top: 18.6vw;
        overflow: hidden;
        box-sizing: border-box;
        position: relative;
        z-index: 3;
    }

    .top4 .inner{
        display: block;
        width: 100%;
        max-width: 100%;
        padding:0 5.3vw;
    }

    .top4 .inner h5{
        padding-left: 0px;
        font-size: 4.26vw;
        font-weight: 700;
        text-align: center;
        margin-bottom: 8vw;
    }

    .top4 .inner h5 span{
        display: block;
        margin-bottom: 1.3vw;
        font-size: 3.2vw;
        text-align: center;
        padding-right: 0;
    }
    .top4 .inner .inner_l{
        width: 100%;
    }
}

.top5{
    margin-top: 240px;
}

.top5 .ttl{
    padding-bottom: 21px;
}

.top5 .inner .base{
    margin-top: 64px;
    display: flex;
    align-items: center;
}

.top5 .inner .base > span{
    width: 137px;
    height: 49px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    font-size: 20px;
    font-weight: 700;
    background: #1A7020;
    border-radius: 40px;
}

.top5 .inner .base a{
    color: var(--Text-Sub, #69696B);
    font-size: 16px;
    font-weight: 700;
    line-height: 120%; /* 19.2px */
    text-decoration: none;
    display: flex;
    margin-left: 24px;
    position: relative;
    top: 5px;
}

.top5 .inner .base a span{
    position: relative;
    left: 2px;
    top: -1px;
}

.tokyo{
    background: #2B8FC4 !important;
}

.top5 .inner ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.top5 .inner ul li{
    width: 49%;
    margin-top: 32px;
}

.top5 .inner ul li a{
    display: block;
    text-decoration: none;
    padding: 32px 40px 32px;
    background: #FFF;
    color: #1D1C1A;
    transition: all 0.4s;
    box-shadow: 0px 16px 64px 0px rgba(0, 0, 0, 0.04);
    position: relative;
    z-index: 2;
    min-height: 263px;
    box-sizing: border-box;
}

.top5 .inner ul li a:hover{
    background: #EEE;
}

.top5 .inner ul li a h4{
    font-size: 24px;
    font-weight: 500;
}

.top5 .inner ul li a .txt{
    margin-top: 15px;
    font-size: 16px;
    font-weight: 400;
    line-height: 200%; /* 32px */
    color: #69696B;
}

.top5 .inner ul li a .more{
    text-align: right;
    margin-top: 25px;
    color:#5666BE;
    font-size: 15px;
    font-weight: 700;
    position: absolute;
    padding-right: 56px;
    right: 32px;
    bottom: 32px;
    box-sizing: border-box;
}

.top5 .inner ul li a .more span{
    position: absolute;
    right: 0;
    top: -9px;
}

@media screen and (max-width: 768px) {

    .top5{
        margin-top: 21.3vw;
    }

    .top5 .ttl{
        padding-bottom: 2.13vw;
    }

    .top5 .inner .base{
        margin-top: 10.6vw;
    }

    .top5 .inner .base > span{
        width: 18.6vw;
        height: 6.13vw;
        font-size: 3.2vw;
        border-radius: 8.53vw;
    }

    .top5 .inner .base a{
        font-size: 3.2vw;
        margin-left: 5.3vw;
        top: 1vw;
    }

    .top5 .inner .base a span{
        position: relative;
        left: 1vw;
        top: -0.5vw;
    }

    .top5 .inner .base a span svg{
        width: 5.3vw;
        height: 5.3vw;
    }

    .tokyo{
        background: #2B8FC4 !important;
    }

    .top5 .inner ul{
        display: block;
    }

    .top5 .inner ul li{
        width: 100%;
        margin-top: 4vw;
        background: #FFF;
        box-shadow: 0px 8.898px 35.592px 0px rgba(0, 0, 0, 0.04);
    }

    .top5 .inner ul li a{
        padding: 5.3vw 5.3vw 17.06vw;
    }

    .top5 .inner ul li a h4{
        font-size: 6.4vw;
    }

    .top5 .inner ul li a .txt{
        margin-top: 2.6vw;
        font-size: 3.73vw;
    }

    .top5 .inner ul li a .more{
        margin-top: 5.3vw;
        font-size: 3.73vw;
        padding-right: 8.26vw;
        right: 6.66vw;
        bottom: 7.2vw;
    }

    .top5 .inner ul li a .more span{
        position: absolute;
        right: 0;
        top: 0.5vw;
        display: block;
        width: 5.86vw;
    }

    .top5 .inner ul li a .more span svg{
        width: 100%;
        height: auto;
    }
}

/*TOP------------------------------------------------------------*/

/* message
------------------------------------------------------------*/

.sub_kv.msg{
    background: url("../../2025/img/message/kv.jpg") no-repeat center center;
    background-size: cover;
}

.message1{
    margin-top: 180px;
}

.message .inner{
    width: 100%;
    max-width: 1076px;
    padding: 0 10px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
}

.message .inner.wide{
    max-width: 1200px;
}

.message.message1 .inner .inner_l{
    width: 477px;
}

.message.message1 .inner .inner_l p{
    font-size: 16px;
    font-weight: 400;
    line-height: 200%; /* 32px */
    background: #FFF;
}

.message.message1 .inner .inner_l p span{
    font-weight: 700;
}

.message.message1 .inner .inner_r{
    width:calc(100% - 579px);
}

.message.message1 .inner .inner_r ul li:nth-child(1){
    margin-bottom: 16px;
}

@media screen and (max-width: 1000px) {
    .message.message1 .inner .inner_l{
        width: 377px;
    }

    .message.message1 .inner .inner_r{
        width:calc(100% - 429px);
    }
}

@media screen and (max-width: 768px) {
    .sub_kv.msg{
        background: url("../../2025/img/message/kv_sp.jpg") no-repeat center center;
        background-size: cover;
    }

    .message1{
        margin-top: 21.3vw;
    }

    .message .inner{
        width: 100%;
        max-width: 100%;
        padding: 0 5.3vw;
        display: block;
    }

    .message .inner.wide{
        max-width: 100%;
    }

    .message.message1 .inner .inner_l{
        width: 100%;
    }

    .message.message1 .inner .inner_l p{
        font-size: 3.73vw;
    }


    .message.message1 .inner .inner_r{
        width:100%;
        margin-top: 12vw;
    }

    .message.message1 .inner .inner_r ul li:nth-child(1){
        margin-bottom: 0.53vw;
    }
}

.message2{
    margin-top: 300px;
}

.message.message2 .inner .inner_l,
.message.message3 .inner .inner_r{
    width: 456px;
}

.message.message2 .inner .inner_l h2,
.message.message3 .inner .inner_r h2{
    font-size: 48px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%; /* 76.8px */
}

.message.message2 .inner .inner_l h2 span{
    position: relative;
    left: -20px;
}

.message.message2 .inner .inner_r p,
.message.message3 .inner .inner_l p{
    font-size: 16px;
    font-weight: 400;
    line-height: 200%; /* 32px */
    background: #FFF;
}

.message.message2 .inner .inner_r p span,
.message.message3 .inner .inner_l p span{
    font-weight: 700;
}

.message.message2 .inner .inner_r,
.message.message3 .inner .inner_l{
    width:calc(100% - 558px);
}

@media screen and (max-width: 1000px) {

    .message.message2 .inner .inner_r,
    .message.message3 .inner .inner_l{
        width:calc(100% - 429px);
    }

    .message.message2 .inner .inner_l h2,
    .message.message3 .inner .inner_r h2{
        font-size: 40px;
    }

    .message.message3 .inner .inner_r{
        padding-left: 60px;
    }
}

@media screen and (max-width: 768px) {

    .message2{
        margin-top: 21.3vw;
    }

    .message.message2 .inner .inner_l,
    .message.message3 .inner .inner_r{
        width: 100%;
        padding-left: 0;
    }

    .message.message2 .inner .inner_r{
        margin-top: 8vw;
    }

    .message.message2 .inner .inner_l h2,
    .message.message3 .inner .inner_r h2{
        font-size: 5.3vw;
    }

    .message.message2 .inner .inner_l h2 span{
        position: relative;
        left: 0px;
    }

    .message.message2 .inner .inner_r p,
    .message.message3 .inner .inner_l p{
        font-size: 16px;
        font-weight: 400;
        line-height: 200%; /* 32px */
    }

    .message.message2 .inner .inner_r p span,
    .message.message3 .inner .inner_l p span{
        font-weight: 700;
    }

    .message.message2 .inner .inner_r,
    .message.message3 .inner .inner_l{
        width:100%;
    }

}

.message.step{
    margin-top: 150px;
    background: #FAFAFA;
    box-shadow: 0px 0px 80px 0px rgba(86, 102, 190, 0.03) inset;
    padding: 150px 0;
}

.message.step h2{
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    margin-bottom: 30px;
}

.message.step .step_area{
    background: #FFF;
    padding: 80px 0;
}

.message.step .step_area .inner{
    display: flex;
}

.message.step .step_area .inner li{
    width: 250px;
    margin-right: 63px;
    position: relative;
}

.message.step .step_area .inner li:before{
    content: "";
    display: block;
    background: url(../../2025/img/message/icon02.svg) repeat-y left top;
    background-size: cover;
    width: 1px;
    height: 100%;
    position: absolute;
    right: -31px;
    top: 0px;
}

.message.step .step_area .inner li:after{
    content: "";
    display: block;
    background: url(../../2025/img/message/icon.svg) no-repeat left top;
    background-size: cover;
    width: 11px;
    height: 24px;
    position: absolute;
    right: -39px;
    top: 54px;
}

.message.step .step_area .inner li:last-child{
    margin-right: 0;
}

.message.step .step_area .inner li:last-child:before,
.message.step .step_area .inner li:last-child:after{
    display: none;
}

.message.step .step_area .inner li span{
    display: flex;
    width: 59px;
    height: 24px;
    justify-content: center;
    align-items: center;
    color: #FFF;
    font-size: 14px;
    font-weight: 700;
    background: #5666BE;
    margin-bottom: 15px;
}

.message.step .step_area .inner li .ttl{
    color: #5666BE;
    font-size: 24px;
    font-weight: 700;
    line-height: 150%; /* 36px */
}

.message.step .step_area .inner li .txt{
    margin-top: 10px;
    color: #69696B;
    font-size: 14px;
    font-weight: 400;
    line-height: 150%; /* 21px */
}

@media screen and (max-width: 768px) {

    .message.step{
        margin-top: 32vw;
        box-shadow: 0px 0px 5.3vw 0px rgba(86, 102, 190, 0.03) inset;
        padding: 18.6vw 0;
    }

    .message.step h2{
        font-size: 6.4vw;
        margin-bottom: 8vw;
    }

    .message.step .step_area{
        background: #FFF;
        padding: 10.6vw 6.6vw;
        display: block;
    }

    .message.step .step_area .inner{
        padding-left: 0;
        padding-right: 0;
        display: block;
    }

    .message.step .step_area .inner li{
        width: 100%;
        margin-right: 0;
        margin-bottom: 18.6vw;
    }

    .message.step .step_area .inner li:before{
        content: "";
        display: block;
        background: url(../../2025/img/message/icon_sp_line.svg) no-repeat left top;
        background-size: cover;
        width:89.3vw;
        height: 2vw;
        position: absolute;
        right: 0;
        top: auto;
        bottom: -10vw;
    }

    .message.step .step_area .inner li:after{
        display: none;
    }

    .message.step .step_area .inner li:last-child{
        margin-right: 0;
        margin-bottom: 0;
    }

    .message.step .step_area .inner li:last-child:before,
    .message.step .step_area .inner li:last-child:after{
        display: none;
    }

    .message.step .step_area .inner li span{
        width: 13.06vw;
        height: 5.3vw;
        font-size: 3.2vw;
        margin-bottom: 4vw;
    }

    .message.step .step_area .inner li .ttl{
        font-size: 5.3vw;
        padding-left: 0;
    }

    .message.step .step_area .inner li .txt{
        margin-top: 1.3vw;
        font-size: 3.73vw;
    }
}


.message.message3{
    margin-top: 180px;
}

.message.message4{
    margin-top: 260px;
}

.message.message4 .inner{
    max-width: 1220px;
}

.message.message4 .inner .inner_l{
    width: 100%;
    max-width: 44.58%;
    position: relative;
}

.message.message4 .inner .inner_l img{
    position: absolute;
    right: 0;
    top: 0;
}

.message.message4 .inner .inner_r{
    width: 100%;
    max-width: 500px;
    padding-top: 60px;
}

.message.message4 .inner .inner_r h3{
    font-size: 28px;
    font-weight: 500;
    line-height: 150%; /* 42px */
    margin-bottom: 30px;
}

.message.message4 .inner .inner_r .txt01{
    color: #69696B;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
}

.message.message4 .inner .inner_r .txt02{
    font-size: 16px;
    font-weight: 400;
    line-height: 200%; /* 32px */
}

.message.message4 .inner .inner_r .txt02 span{
    font-weight: 700;
}

@media screen and (max-width: 1080px) {
    .message.message4 .inner .inner_l{
        width: 398px;
    }

    .message.message4 .inner .inner_l img{
        width: 500px;
        right: -40px;
    }

    .message.message4 .inner .inner_r{
        max-width: 50%;
        padding-top: 60px;
    }
    .message.message4 .inner .inner_r{
        padding-top: 0;
    }
}

@media screen and (max-width: 980px) {
    .message.message4 .inner .inner_l{
        width: 398px;
    }

    .message.message4 .inner .inner_l img{
        width: 400px;
        right: -0px;
    }


}

@media screen and (max-width: 900px) {
    .message.message4 .inner .inner_r{
        max-width: 45%;
    }


}

@media screen and (max-width: 768px) {
    .message.message3{
        margin-top: 21.3vw;
    }

    .message.message3 h2{
        margin-bottom: 9.3vw;
    }

    .message.message4{
        margin-top: 32vw;
    }

    .message.message4 .inner .inner_l{
        width: 100%;
        position: relative;
    }

    .message.message4 .inner .inner_l img{
        position: absolute;
        right: 0;
        top: 0;
    }

    .message.message4 .inner .inner_r{
        width: 100%;
        max-width: 100%;
        padding-top: 12vw;
    }

    .message.message4 .inner .inner_r h3{
        font-size: 5.3vw;
        margin-bottom: 6.6vw;
    }

    .message.message4 .inner .inner_r .txt01{
        font-size: 3.2vw;
        margin-bottom: 2.6vw;
    }

    .message.message4 .inner .inner_r .txt02{
        font-size: 3.73vw;
    }

}

/*message------------------------------------------------------------*/

/* story
------------------------------------------------------------*/

.story_kv{
    padding: 32px 48px;
}

.story_kv video{
    width: 100%;
}

.story_top{
    width: 100%;
    max-width: 1012px;
    margin: 105px auto 0;
    padding: 0 10px;
    box-sizing: border-box;;
}

.story_top h1{
    font-size: 48px;
    font-weight: 700;
    line-height: 120%; /* 57.6px */
}

.story_top h1 span{
    display: block;
    font-size: 20px;
    font-weight: 700;
    line-height: 120%; /* 24px */
    margin-bottom: 13px;
}

.story_top .image{
    margin-top: 75px;
}

.story_top .profile{
    border-bottom: solid 1px #CCC;
    padding-bottom: 35px;
}

.story_top .profile ul{
    display: flex;
    justify-content: center;
    margin-top: 55px;
}

.story_top .profile ul li{
    margin-right: 40px;
    max-width: 280px;
}

.story_top .profile ul.wide li{
    max-width: 438px;
    margin-right: 40px;
}

.story_top .profile ul.wide li:last-child,
.story_top .profile ul li:last-child{
    margin-right: 0;
}

.story_top .profile ul li .base{
    display: flex;
    width: 96px;
    height: 30px;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
    border-radius: 40px;
    background: #1A7020;
    font-size: 14px;
    font-weight: 700;
    color: #FFF;
    margin-bottom: 20px;
}

.story_top .profile ul li .name{
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 12px;
}

.story_top .profile ul li .txt{
    font-size: 14px;
    font-weight: 400;
    line-height: 200%; /* 28px */
}

.story_block .inner{
    width: 100%;
    max-width: 1012px;
    margin: 180px auto 0;
    padding: 0 10px;
    box-sizing: border-box;;
}

.story_block .inner .name{
    font-size: 16px;
    font-weight: 500;
    padding-left: 100px;
    position: relative;
    display: inline-block;
    background: #FFF;
}

.story_block .inner .name span{
    display: flex;
    width: 87px;
    height: 27px;
    justify-content: center;
    align-items: center;
    border-radius: 40px;
    background: #1A7020;
    font-size: 12px;
    font-weight: 700;
    color: #FFF;
    position: absolute;
    left: 0;
}

.story_block .inner h2{
    font-size: 20px;
    font-weight: 500;
    line-height: 160%; /* 32px */
    margin-top: 32px;
    background: #FFF;
}

.story_block .inner .txt01{
    font-size: 16px;
    font-weight: 400;
    line-height: 200%; /* 32px */
    margin-top: 30px;
    background: #FFF;
}

.story_block .inner .image01{
    margin-top: 90px;
}

.story_block .inner h3{
    font-size: 20px;
    font-weight: 500;
    line-height: 160%; /* 32px */
    margin-top: 90px;
    display: inline-block;
    background: #FFF;
}

.story_block.story_block02{
    margin-top: 95px;
}

.story_block.story_block02 .inner{
    display: flex;
    justify-content: space-between;
}

.story_block.story_block02 .inner .inner_l,
.story_block.story_block02.story_block03 .inner .inner_r{
    width: 447px;
}

.story_block.story_block02 .inner .inner_r,
.story_block.story_block02.story_block03 .inner .inner_l{
    width:calc(100% - 549px);
}


@media screen and (max-width: 768px) {
    .story_kv{
        padding: 0;
    }

    .story_kv video{
        width: 100%;
    }

    .story_top{
        width: 100%;
        max-width: 100%;
        padding: 0 5.33vw;
        box-sizing: border-box;
        margin: 13.3vw auto 0;
    }

    .story_top h1{
        font-size: 5.3vw;
    }

    .story_top h1 span{
        font-size: 3.2vw;
        margin-bottom: 3.5vw;
    }

    .story_top .image{
        margin-top: 10.6vw;
    }

    .story_top .profile{
        border-bottom: solid 0.26vw #CCC;
        padding-bottom: 12vw;
    }

    .story_top .profile ul{
        display: block;
        margin-top: 10.6vw;
    }

    .story_top .profile ul li{
        margin-right: 0px;
        max-width: 100%;
        margin-bottom: 8vw;
    }

    .story_top .profile ul.wide li{
        max-width: 100%;
        margin-right: 0px;
    }

    .story_top .profile ul.wide li:last-child,
    .story_top .profile ul li:last-child{
        margin-right: 0;
        margin-bottom: 0;
    }

    .story_top .profile ul li .base{
        display: flex;
        width: 25.6vw;
        height: 8vw;
        border-radius: 10.6vw;
        font-size: 3.73vw;
        margin-bottom: 4vw;
    }

    .story_top .profile ul li .name{
        font-size: 5.3vw;
        margin-bottom: 3.2vw;
    }

    .story_top .profile ul li .txt{
        font-size: 3.2vw;
    }

    .story_block .inner{
        width: 100%;
        max-width: 100%;
        padding: 0 5.3vw;
        box-sizing: border-box;
        margin: 21.3vw auto 0;
    }

    .story_block .inner .name{
        font-size: 4.26vw;
        padding-left: 26.6vw;
    }

    .story_block .inner .name span{
        width: 23.2vw;
        height: 7.2vw;
        border-radius:10.6vw;
        font-size: 3.2vw;
    }

    .story_block .inner h2{
        font-size: 4.8vw;
        margin-top: 8vw;
    }

    .story_block .inner .txt01{
        font-size: 3.73vw;
        margin-top: 7vw;
    }

    .story_block .inner .image01{
        margin-top: 18.6vw;
    }

    .story_block .inner h3{
        font-size: 4.8vw;
        margin-top: 18.6vw;
    }

    .story_block.story_block02{
        margin-top: 95px;
    }

    .story_block.story_block02 .inner{
        display: flex;
        justify-content: space-between;
    }

    .story_block.story_block02 .inner .inner_l,
    .story_block.story_block02.story_block03 .inner .inner_r{
        width: 447px;
    }

    .story_block.story_block02 .inner .inner_r,
    .story_block.story_block02.story_block03 .inner .inner_l{
        width:calc(100% - 549px);
    }
}

.story_block_btm{
    margin: 240px auto 0;
}

.story_block_btm h4{
    margin-bottom: 75px;
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.2;
}

.story_block_btm h4 span{
    display: block;
    color: #5666BE;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 1.44px;
    margin-bottom: 28px;
}

.story_block_btm .inner{
    width: 100%;
    max-width: 1220px;
    padding: 0 10px;
    box-sizing: border-box;
}

.story_block_btm .inner ul{
    display: flex;
    justify-content: space-between;
}

.story_block_btm .inner ul li{
    width:32%;
}

.story_block_btm .inner ul li a{
    width: 100%;
    box-sizing: border-box;
    height: 96px;
    display: flex;
    align-items: center;
    padding: 0 84px 0 28px;
    color: #5666BE;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 27px */
    border: 2px solid #5666BE;
    background: #FFF;
    text-decoration: none;
    position: relative;
    transition: all 0.4s;
}

.story_block_btm .inner ul li a:hover{
    background: #5666BE;
    color: #FFF;
}

.story_block_btm .inner ul li a span{
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    display:  block;
    height: 48px;
}

@media screen and (max-width: 768px) {
    .story_block_btm{
        margin: 32vw auto 0;
        padding: 0 5.3vw;
        width: 100%;
        box-sizing: border-box;
    }

    .story_block_btm h4{
        margin-bottom: 13.3vw;
        font-size: 6.4vw;
    }

    .story_block_btm h4 span{
        font-size: 3.2vw;
        margin-bottom:2.6vw;
    }

    .story_block_btm .inner{
        width: 100%;
        max-width: 100%;
        padding: 0;
    }

    .story_block_btm .inner ul{
        display: block;
    }

    .story_block_btm .inner ul li{
        width:100%;
        margin-bottom: 3.2vw;
    }

    .story_block_btm .inner ul li:last-child{
        margin-bottom: 0;
    }

    .story_block_btm .inner ul li a{

        height: 19.2vw;
        padding: 0 17.06vw 0 5.3vw;
        font-size: 4vw;
        border: 0.25vw solid #5666BE;
    }

    .story_block_btm .inner ul li a:hover{
        background: #FFF;
        color: #5666BE;
    }

    .story_block_btm .inner ul li a span{
        position: absolute;
        right: 5.3vw;
        height: 8.53vw;
    }

    .story_block_btm .inner ul li a span svg{
        width: 8.53vw;
        height: 8.53vw;
    }
}

/*story------------------------------------------------------------*/


/* data
------------------------------------------------------------*/
.sub_kv.data{
    background: var(--Fill-Gradation-01, linear-gradient(94deg, #F5F7FF -1.29%, #D4DDFC 102.63%));
}

.sub_kv.data .inner{
    position: relative;
}

.sub_kv.data .image{
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}

.sub_kv.data h1{
    color: #1D1C1A;
}

.data .inner{
    width: 100%;
    max-width: 1220px;
    padding: 0 10px;
    box-sizing: border-box;
    margin: 0 auto;
}

.data.data1{
    margin-top: 180px;
}

.data.data1 h2,
.data.data3 h2{
    font-size: 48px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%; /* 48px */
}

.data.data1 ul,
.data.data3 ul.data3_list{
    display: flex;
    justify-content: space-between;
    margin-top: 32px;
}

.data ul.list02{
    margin-top: 70px;
}

.data.data1 ul li,
.data.data3 ul.data3_list li{
    width: 49%;
    height: 400px;
    border: 1px solid #DDD;
    background: #FFF;
    box-sizing: border-box;
    position: relative;
}

.data.data1 ul li h3,
.data.data3 ul.data3_list li h3{
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 125%; /* 30px */
    text-align: center;
    padding-top: 35px;
    position: relative;
    z-index: 2;
}

.data.data1 ul li .txt01{
    margin-top: 70px;
    text-align: center;

    position: relative;
}

.data.data1 ul li .txt01 span.font-r{
    font-size: 148px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 148px */
    color: #5666BE;
    display: block;
}

.data.data1 ul li .txt01 span.font-min{
    display: block;
    width: 100%;
    font-size: 24px;
    font-weight: 500;
    line-height: 125%; /* 30px */
    position: relative;
    position: absolute;
    left: 110px;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    color: var(--Text-Sub, #69696B);
}

.data.data1 ul li .txt02{
    color: var(--Text-Sub, #69696B);
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 150%; /* 24px */
}

.data.data1 ul li .block02{
    padding-left: 233px;
}

.data.data1 ul li .image{
    position: absolute;;
    z-index: 1;
}

.data.data1 ul li .image01{
    left: 0;
    bottom: 0;
}

.data.data1 ul li .image02{
    left: 28px;
    top: 50%;
    transform: translateY(-50%);
    margin-top: 10px;
}

@media screen and (max-width: 1000px) {
    .sub_kv.data .image img{
        width: 200px;
        height: auto;
    }

    .data.data1 ul li .svg1{
        width: 200px;
    }

    .data.data1 ul li .block02{
        padding-left: 150px;
    }

    .data.data1 ul li .svg2{
        width: 170px;
    }

    .data ul.list02 li .image{
        top: 75px;
    }

    .data.data1 ul li .svg3{
        width: 450px;
    }

    .data ul.list02 li .block{
        padding-right: 150px;
    }

    .data.data1 ul li .svg4{

    }
}

@media screen and (max-width: 900px) {
    .data.data1 ul li .block02{
        padding-left: 120px;
    }

    .data.data1 ul li .svg2{
        width: 140px;
    }

    .data ul.list02 li .image{
        top: 95px;
    }

    .data.data1 ul li .svg3{
        width: 400px;
    }
}

@media screen and (max-width: 768px) {

    .sub_kv.data{
        padding: 0 4vw;
        box-sizing: border-box;
        background: var(--Fill-Gradation-01, linear-gradient(94deg, #F5F7FF -1.29%, #D4DDFC 102.63%));
    }

    .sub_kv.data .inner{
        padding: 0;
    }

    .sub_kv.data .image{
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }

    .sub_kv.data .image img{
        width: 26.6vw;
        height: 26.4vw;
    }

    .sub_kv.data h1{
        color: #1D1C1A;
        padding-top: 0vw;
    }

    .sub_kv.data h1 p{
        color: #69696B;
    }

    .data .inner{
        max-width: 100%;
        padding: 0 5.3vw;
    }

    .data.data1{
        margin-top: 21.3vw;
    }

    .data.data1 h2,
    .data.data3 h2{
        font-size: 6.4vw;
    }

    .data.data1 ul,
    .data.data3 ul.data3_list{
        display: block;
        margin-top: 8vw;
    }

    .data ul.list02{
        margin-top: 8vw;
    }

    .data.data1 ul li,
    .data.data3 ul.data3_list li{
        width: 100%;
        height: 57.6vw;
        border: 0.26vw solid #DDD;
        overflow: hidden;
        margin-bottom: 6.4vw;
    }

    .data.data3 ul.data3_list li:last-child{
        margin-bottom: 0;
    }

    .data.data1 ul li h3,
    .data.data3 ul.data3_list li h3{
        font-size: 5.3vw;
        padding-top: 5.6vw;
    }

    .data.data1 ul li .txt01{
        margin-top: 7.73vw;
    }

    .data.data1 ul li .txt01 span.font-r{
        font-size: 21.3vw;
    }

    .data.data1 ul li .txt01 span.font-min{
        font-size: 3.73vw;
        font-weight: 500;

        left: 20vw;
        text-align: center;
        top: 50%;
        transform: translateY(-50%);
        color: var(--Text-Sub, #69696B);
    }

    .data.data1 ul li .txt02{
        font-size: 2.6vw;
    }

    .data.data1 ul li .block02{
        padding-left: 28vw;
    }

    .data.data1 ul li .block02 span.font-min{
        left: 15vw;
    }

    .data.data1 ul li .image{
        position: absolute;;
        z-index: 1;
    }

    .data.data1 ul li .image01{
        left: -5vw;
        bottom: 0;
    }

    .data.data1 ul li .image02{
        left: 5.06vw;
        margin-top: 0px;
    }

    .data.data1 ul li .svg1{
        width: 39.46vw;
        height: auto;
    }

    .data.data1 ul li .svg2{
        width: 36vw;
        height: auto;
    }


}



.data ul.list02 li{
    width: 100%;
}

.data ul.list02 li .image{
    left: 36px;
    top: 35px;
}

.data ul.list02 li .block{
    display: flex;
    justify-content: flex-end;
    padding-right: 240px;
}

.data ul.list02 li .block span.font-min{
    left: 140px;
}


.data.data1 ul li .image04{
    left: -67px;
    top: 65px;
    margin-top: 10px;
}

.data.data1 ul li .txt01 span.font-min.before{
    left: -110px;
}

.data.data1 ul li.ov_hidden{
    overflow: hidden;;
}

.data.data1 ul li.ov_hidden{
    width: 588px;
}

.data.data1 ul li.ov_hidden h3{
    text-align: left;
    padding-left: 50px;
}

.data.data1 ul li.ov_hidden .block02{
    display: flex;
    justify-content: flex-end;
    padding-right: 141px;
}

.data.data1 ul li.ov_hidden .block02 .font-min{
    left: 90px;
    margin-top: 38px;
}

.data.data1 ul li.ov_hidden .image{
    left: 0;
    top: 0px;
}

@media screen and (max-width: 1000px) {


    .data ul.list02 li .image{
        top: 75px;
    }

    .data.data1 ul li .svg3{
        width: 450px;
    }

    .data ul.list02 li .block{
        padding-right: 150px;
    }


}

@media screen and (max-width: 900px) {

    .data ul.list02 li .image{
        top: 95px;
    }

    .data.data1 ul li .svg3{
        width: 400px;
    }
}

@media screen and (max-width: 768px) {
    .data.data1 ul li.ov_hidden{
        width: 100%;
    }
    .data.data1 ul li .svg3{
        width: 79.46vw;
        height: auto;
    }

    .data.data1 ul li .svg4{
        width: 100%;
        height: auto;
    }

    .data ul.list02 li{
        width: 100%;
    }

    .data ul.list02 li.sp_long{
        height: 99.73vw;
    }

    .data ul.list02 li .image{
        left: 50%;
        transform: translateX(-50%);
        top: 47.73vw;
        width: 79.46vw;
    }

    .data ul.list02 li .block{
        display: flex;
        justify-content: center;
        padding-right: 0px;
    }

    .data ul.list02 li .block span.font-min{
        left: 20vw;
    }

    .data.data1 ul li.ov_auto{
        overflow: visible;
    }

    .data.data1 ul li .image04{
        left: -10vw;
        top: auto;
        bottom: -10vw;
        margin-top: 0px;
        width: 48vw;
    }

    .data.data1 ul li .txt01 span.font-min.after{
        left: 17vw;
    }

    .data.data1 ul li .txt01 span.font-min.before{
        left: -16vw;
    }

    .data.data1 ul li.ov_hidden{
        overflow: hidden;;
    }

    .data.data1 ul li.ov_hidden h3{
        padding-left: 5.3vw;
    }

    .data.data1 ul li.ov_hidden .block02{
        padding-right: 18.13vw;
    }

    .data.data1 ul li.ov_hidden .block02 .font-min{
        left: 12vw;
        margin-top: 5.3vw;
    }

    .data.data1 ul li.ov_hidden .image{
        width: 65.4vw;
        left: 0;
        top: 0px;
    }

    .data.data1 ul li.ov_hidden .image img{
        width: 100%;
        height: auto;
    }
}

.data.data2{
    margin-top: 150px;
    background: #FCFAF7;
    overflow-x: hidden;
}

.data.data2 .inner{
    position: relative;
    height: 400px;
}

.data.data2 .inner h4{
    padding: 105px 0 0;
    /*color: #4D3F32;*/
    font-size: 24px;
    font-weight: 700;
    line-height: 160%; /* 38.4px */
    width: 536px;
    max-width: 45%;
}

.data.data2 .inner h4 span{
    display: block;
    font-size: 14px;
    font-weight: 500;

}

.data.data2 .inner .image{
    width: 670px;
    position: absolute;
    right: -120px;
    top: 0;
}



@media screen and (max-width: 1000px) {
    .data.data2 .inner{
        position: relative;
        height: 340px;
    }

    .data.data2 .inner h4{
        width: 40%;
        padding-top: 40px;
    }

    .data.data2 .inner .image{
        width: 570px;
    }
}

@media screen and (max-width: 768px) {
    .data.data2{
        margin-top: 20vw;

    }

    .data.data2 .inner{
        height: auto;
        padding-bottom: 20vw;
    }

    .data.data2 .inner h4{
        padding: 20vw 0 0;
        font-size: 5.3vw;
        width: 100%;
        max-width: 100%;
    }

    .data.data2 .inner h4 span{
        font-size: 3.73vw;
    }

    .data.data2 .inner .image{
        width: 100%;
        position: relative;
        right: auto;
        top: 0;
        margin-top: 9.3vw;
    }
}

.data3{
    margin-top: 150px;
}

.data.data3 ul.choice{
    width: 600px;
    height: 65px;
    border-radius: 100px;
    border: 1px solid var(--Border-Default, #DDD);
    background: #FFF;
    display: flex;
    justify-content: space-between;
    padding: 8px 10px;
    box-sizing: border-box;
    margin-top: 45px;
    position: relative;
}

.data.data3 ul.choice:before{
    content: "";
    display: block;
    width: 185px;
    height: 49px;
    border-radius: 25px;
    background: var(--Fill-CC-Main, #5666BE);
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.4s;

}

.data.data3 ul.choice.active1:before{
    left: 207px;
    background: #1A7020;
}

.data.data3 ul.choice.active2:before{
    left: 402px;
    background: #2B8FC4;
}

.data.data3 ul.choice li a{
    display: flex;
    width: 185px;
    height: 49px;
    font-size: 20px;
    font-weight: 700;
    color: #1D1C1A;
    text-decoration: none;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
}

.data.data3 ul.choice li a.active{
    color: #FFF;
}

.data.data3 ul.data3_list.top{
    margin-top: 48px;
}

.data.data3 ul.data3_list .list01 .image01{
    position: absolute;
    left: 78px;
    top: 132px;
}

.data.data3 ul.data3_list .list01 .image02{
    position: absolute;
    left: 353px;
    top: 108px;
}

.data.data3 ul.data3_list .list01 .txt01{
    position: absolute;
    left: 345px;
    top: 248px;
    font-size: 116px;
    font-weight: 700;
    line-height: 100%; /* 116px */
    color: #5666BE;
    display: flex;
    align-items: center;
}

.data.data3 ul.data3_list .list01 .txt01 span{
    font-size: 88px;
}

.data.data3 ul.data3_list .list02 .image01{
    position: absolute;
    left: 62px;
    top: 108px;
}

.data.data3 ul.data3_list .list02 .txt01{
    position: absolute;
    left: 317px;
    top: 137px;
    color: var(--Text-Sub, #69696B);
    font-size: 20px;
    font-weight: 500;
}

.data.data3 ul.data3_list .list02 .txt01.txt01_2{
    top: 250px;
}

.data.data3 ul.data3_list .list02 .txt01 .xl{
    color: var(--Fill-CC-Main, #5666BE);
    font-size: 116px;
    font-weight: 700;
    line-height: 100%; /* 116px */
    position: absolute;
    left: 77px;
    top: -45px;
}

.data.data3 ul.data3_list .list02 .txt01 .text-r{
    position: absolute;
    left: 180px;
    font-size: 32px;
    top: -10px;
    font-weight: 400;
}

.data.data3 ul.data3_list .list02 .txt01.long .text-r{
    position: absolute;
    left: 200px;
}

.data.data3 ul.data3_list .list02 .txt01.txt01_2 .xl{
    left: 50px;
}

.data.data3 ul.data3_list .list02 .txt01.long .xl{
    left: 87px;
}

.data.data3 ul.data3_list .list02 .txt01.txt01_2.long .xl{
    letter-spacing: -9.28px;
    left: 40px;
}

.data.data3 ul.data3_list .list02 .txt03{
    color: var(--Text-Sub, #69696B);
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    margin-top: 280px;
}

.data.data3 ul.data3_list .list03{
    width: 100%;
}

.data.data3 ul.data3_list .list03 .image01{
    text-align: center;
    margin-top: 35px;
}

.data.data3 ul.data3_list .list03 p{
    color: var(--Text-Sub, #69696B);
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    margin-top: 40px;
}

.data.data3 ul.data3_list li.list04,
.data.data3 ul.data3_list li.min{
    width: 32%;
}

.data.data3 ul.data3_list .list04 .txt01{
    margin-top: 80px;
    color: var(--Text-Sub, #69696B);
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    text-align: center;
}

.data.data3 ul.data3_list .list04 .txt01 span.font-r{
    color: var(--Fill-CC-Main, #5666BE);
    font-size: 132px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 132px */
}

.data.data3 ul.data3_list .list04 .txt01 span.min{
    position: relative;;
    left: 15px;
}

.data.data3 ul.data3_list .list04 .txt02{
    text-align: center;
    margin-top: 65px;
    color: var(--Text-Sub, #69696B);
    text-align: center;
    font-size: 16px;
    font-weight: 500;
}

.disnon{
    display: none;
}
@media screen and (max-width: 1080px) {
    .data.data3 ul.data3_list .list01,
    .data.data3 ul.data3_list .list02{
        height: 700px;
    }
    .data.data3 ul.data3_list .list01 .image01,
    .data.data3 ul.data3_list .list02 .image01{
        left: 50%;
        transform: translateX(-50%);
        top: 402px;
    }
    .data.data3 ul.data3_list .list01 .image02,
    .data.data3 ul.data3_list .list02 .image02{
        left: 50%;
        transform: translateX(-50%);
        top: 112px;
    }

    .data.data3 ul.data3_list .list01 .txt01{
        top: 270px;
    }
    .data.data3 ul.data3_list .list01 .txt01,
    .data.data3 ul.data3_list .list02 .txt01{
        left: 50%;
        transform: translateX(-50%);
    }

    .data.data3 ul.data3_list .list02 .txt01{
        left: 50%;
        margin-left: -85px;

        text-align: center;
    }

    .data.data3 ul.data3_list .list02 .txt03{
        margin-top: 580px;
    }
}

@media screen and (max-width: 768px) {
    .data3{
        margin-top: 21.3vw;
    }

    .data.data3 ul.choice{
        width: 100%;
        height: 13.3vw;
        border-radius: 26.6vw;
        border: 0.26vw solid var(--Border-Default, #DDD);
        padding: 1.06vw 1.6vw;
        margin-top: 8vw;
    }

    .data.data3 ul.choice:before{
        width: 28vw;
        height: 11.2vw;
        border-radius: 12.8vw;
        left: 1.6vw;
    }

    .data.data3 ul.choice.active1:before{
        left: 30.5vw;
    }

    .data.data3 ul.choice.active2:before{
        left: 59.5vw;
    }

    .data.data3 ul.choice li a{
        width: 28vw;
        height: 11.2vw;
        font-size: 3.73vw;
    }


    .data.data3 ul.data3_list.top{
        margin-top: 6.4vw;
    }

    .data.data3 ul.data3_list li{
        height: auto;
    }

    .data.data3 ul.data3_list .list01{
        height: 100vw;
    }

    .data.data3 ul.data3_list .list01 .image01{
        position: absolute;
        left: 50%;
        top: 40vw;
        width: 42.6vw;
        transform: translateX(-50%);
        margin:10.6vw auto 0;
    }

    .data.data3 ul.data3_list .list01 .image01 img{
        width: 100%;
    }

    .data.data3 ul.data3_list .list01 .image02{
        position: relative;
        left: auto;
        top: auto;
        width: 22.4vw;
        margin: 9.3vw auto 0;
        padding-bottom: 9.3vw;
        padding-right: 35vw;
        transform: translateX(0);
    }

    .data.data3 ul.data3_list .list01 .txt01{
        position: absolute;
        left: 50vw;
        transform: translateX(0%);
        top: 22vw;
        font-size: 21.3vw;
        font-weight: 700;
        line-height: 100%; /* 116px */
        color: #5666BE;
        display: flex;
        align-items: top;
    }

    .data.data3 ul.data3_list .list01 .txt01 span{
        font-size: 21.3vw;
    }

    .data.data3 ul.data3_list .list02{
        height: 100vw;
    }

    .data.data3 ul.data3_list .list02 .image01{
        position: absolute;
        width: 42.6vw;
        margin:10.6vw auto 0;
        top: 32vw;
    }

    .data.data3 ul.data3_list .list02 .image01 img{
        width: 100%;
    }

    .data.data3 ul.data3_list .list02 .txt01{
        left: 12vw;
        margin-left: 0;
        width: 100%;
        transform: translateX(0);
        width: 100%;
        top: 25vw;
        font-size: 3.2vw;
        text-align: left;
    }

    .data.data3 ul.data3_list .list02 .txt01.txt01_2{
        left: 45vw;
        top: 25vw;
    }

    .data.data3 ul.data3_list .list02 .txt01 .xl{
        font-size: 21.3vw;
        left: 9vw;
        top: -7.5vw;
    }

    .data.data3 ul.data3_list .list02 .txt01 .text-r{
        position: absolute;
        left: 22vw;
        font-size: 4.26vw;
        top: 0;
    }

    .data.data3 ul.data3_list .list02 .txt01.txt01_2 .text-r{
        left: 33vw;
    }

    .data.data3 ul.data3_list .list02 .txt01.long.txt01_2 .text-r{
        position: absolute;
        left: 36vw;
    }

    .data.data3 ul.data3_list .list02 .txt01.long .text-r{
        left: 22vw;
    }

    .data.data3 ul.data3_list .list02 .txt01.txt01_2 .xl{
        left: 9vw;
    }

    .data.data3 ul.data3_list .list02 .txt01.long .xl{
        left: 9vw;
    }

    .data.data3 ul.data3_list .list02 .txt01.txt01_2.long .xl{
        left: 7vw;
        letter-spacing: -1.8vw;
    }

    .data.data3 ul.data3_list .list02 .txt03{
        font-size: 3.73vw;
        margin-top: 77.3vw;
        padding-bottom: 8vw;
    }

    .data.data3 ul.data3_list .list03{
        width: 100%;
    }

    .data.data3 ul.data3_list .list03 .image01{
        margin-top: 12vw;
        padding:0 3.73vw;
    }

    .data.data3 ul.data3_list .list03 p{
        font-size: 3.73vw;
        margin-top: 13.3vw;
        line-height: 150%; /* 21px */
        text-align: left;
        padding: 0 5vw 5.86vw;
    }

    .data.data3 ul.data3_list li.list04,
    .data.data3 ul.data3_list li.min{
        width: 100%;
    }

    .data.data3 ul.data3_list .list04{
        min-height: 76vw;
    }

    .data.data3 ul.data3_list .list04 .txt01{
        margin-top: 18.6vw;
        font-size: 4.26vw;
    }

    .data.data3 ul.data3_list .list04 .txt01 span.font-r{
        font-size: 21.3vw;
    }

    .data.data3 ul.data3_list .list04 .txt01 span.min{
        position: relative;;
        left: 4vw;
    }

    .data.data3 ul.data3_list .list04 .txt02{
        margin-top: 10.6vw;
        font-size: 3.73vw;
        padding: 0 5vw 5.86vw;
        text-align: left;
    }

    .disnon{
        display: none;
    }

}

.data.data3 ul.data3_list li.list05 .txt01,
.data.data3 ul.data3_list li.list06 .txt01,
.data.data3 ul.data3_list li.list07 .txt01,
.data.data3 ul.data3_list li.list08 .txt01,
.data.data3 ul.data3_list li.list09 .txt01,
.data.data3 ul.data3_list li.list10 .txt01{
    text-align: center;
    color: #69696B;
    font-size: 20px;
    font-weight: 500;
    margin-top: 72px;
}

.data.data3 ul.data3_list li.list07 .image01.ml0{
    left: 0;
}

.data.data3 ul.data3_list li.list07 .txt01.long{
    position: relative;
    left: 10px;
}

.data.data3 ul.data3_list li.list07 .txt01.long .font-r{
    letter-spacing: -10.56px;
}

.data.data3 ul.data3_list li.list09 .txt01 span .min,
.data.data3 ul.data3_list li.list10 .txt01 span .min{
    color: #69696B;
    font-size: 32px;
    font-weight: 500;
}

.data.data3 ul.data3_list li.list05 .txt01 span,
.data.data3 ul.data3_list li.list06 .txt01 span,
.data.data3 ul.data3_list li.list07 .txt01 span,
.data.data3 ul.data3_list li.list08 .txt01 span,
.data.data3 ul.data3_list li.list09 .txt01 span,
.data.data3 ul.data3_list li.list10 .txt01 span{
    color: var(--Fill-CC-Main, #5666BE);
    font-size: 132px;
    font-weight: 700;
    line-height: 100%; /* 165px */
    letter-spacing: -5.28px;
    display: inline-block;
    padding: 0 10px 0 5px;
}

.data.data3 ul.data3_list li.list08 .txt01 span.ml{
    margin-left: 15px;
}

.data.data3 ul.data3_list li.list05 .image01{
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.data.data3 ul.data3_list li.list06 .txt01,
.data.data3 ul.data3_list li.list07 .txt01{
    text-align: right;
    padding-right: 20px;
}

.data.data3 ul.data3_list li.list06 .image01,
.data.data3 ul.data3_list li.list07 .image01{
    position: absolute;
    left: 0;
    top: 132px;
}

.data.data3 ul.data3_list li.list07 .image01{
    left: 16px;
}

.data.data3 ul.data3_list li.list07 .txt02,
.data.data3 ul.data3_list li.list08 .txt02{
    color: var(--Text-Sub, #69696B);
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    margin-top: 55px;
}

.data.data3 ul.data3_list li.list08 .txt02{
    text-align: left;
    margin-top: 80px;
    padding: 0 22px;
    line-height: 150%; /* 24px */
}

.data.data3 ul.data3_list li.list08,
.data.data3 ul.data3_list li.list09,
.data.data3 ul.data3_list li.list10{
    height: 480px;
}

.data.data3 ul.data3_list li.list08 .txt01{
    margin-top: 90px;
}

.data.data3 ul.data3_list li.list09 .txt01,
.data.data3 ul.data3_list li.list10 .txt01{
    margin-top: 45px;
}

.data.data3 ul.data3_list li.list09 .image01,
.data.data3 ul.data3_list li.list10 .image01{
    margin-top: 15px;
    text-align: center;
}

.data.data3 ul.data3_list li.list09 .txt02,
.data.data3 ul.data3_list li.list10 .txt02{
    margin-top: 15px;
    color: var(--Text-Sub, #69696B);
    text-align: center;
    font-size: 17px;
    font-weight: 400;
}
.data.data3 .work_block ul.data3_list{
    flex-wrap: wrap;
    margin-top: 0;
}

.data.data3 .work_block ul.data3_list{
    padding-top: 16px;
}

.data.data3 .work_block ul.data3_list li {
    margin-top: 32px;
}

.data.data3 ul.data3_list li.list07 .image01.ml0{
    top: 140px;
}

.data.data3 ul.data3_list li.list07 .image01.ml0 img{
    width: 130px;
}

@media screen and (max-width: 1080px) {
    .data.data3 .work_block ul.data3_list{
        flex-wrap: wrap;
    }
    .data.data3 .work_block ul.data3_list li.min{
        width: 48%;
    }
    .data.data3 ul.data3_list li.list06 .image01 {
        left: 50%;
        top: 255px;
        transform: translateX(-50%);
    }

    .data.data3 ul.data3_list li.list06 .txt01{
        text-align: center;
        padding-left: 50px;
    }

    .data.data3 ul.data3_list li.list08{
        height: 400px;
    }

    .data.data3 ul.data3_list li.list08 .txt02{
        margin-top: 20px;
    }


}

@media screen and (max-width: 768px) {

    .data.data3 .work_block ul.data3_list li.min{
        width: 100%;
    }
    .data.data3 ul.data3_list li.list05{
        height: 85.3vw;
    }
    .data.data3 ul.data3_list li.list05 .txt01,
    .data.data3 ul.data3_list li.list06 .txt01,
    .data.data3 ul.data3_list li.list07 .txt01,
    .data.data3 ul.data3_list li.list08 .txt01,
    .data.data3 ul.data3_list li.list09 .txt01,
    .data.data3 ul.data3_list li.list10 .txt01{
        font-size: 3.73vw;
        margin-top: 15vw;
    }

    .data.data3 ul.data3_list li.list07 .image01.ml0{
        left: 0;
    }

    .data.data3 ul.data3_list li.list07 .txt01.long{
        position: relative;
        left: 0px;
    }

    .data.data3 ul.data3_list li.list07 .txt01.long .font-r{
        letter-spacing: -1.7vw;
    }

    .data.data3 ul.data3_list li.list09 .txt01,
    .data.data3 ul.data3_list li.list10 .txt01{
        position: relative;
    }

    .data.data3 ul.data3_list li.list09 .txt01 span .min,
    .data.data3 ul.data3_list li.list10 .txt01 span .min{
        font-size: 5.3vw;
        position: absolute;
        left: 60vw;
        top: 13vw;
    }

    .data.data3 ul.data3_list li.list05 .txt01 span,
    .data.data3 ul.data3_list li.list06 .txt01 span,
    .data.data3 ul.data3_list li.list07 .txt01 span,
    .data.data3 ul.data3_list li.list08 .txt01 span,
    .data.data3 ul.data3_list li.list09 .txt01 span,
    .data.data3 ul.data3_list li.list10 .txt01 span{
        font-size: 21.3vw;
        letter-spacing: -0.85vw;
        display: inline-block;
        padding: 0 2vw 0 1vw;
    }

    .data.data3 ul.data3_list li.list08 .txt01 span.ml{
        margin-left: 15px;
    }

    .data.data3 ul.data3_list li.list05 .image01{
        width: 40vw;
    }

    .data.data3 ul.data3_list li.list05 .image01 img{
        width: 100%;
        height: auto;
    }

    .data.data3 ul.data3_list li.list06 .txt01,
    .data.data3 ul.data3_list li.list07 .txt01{
        text-align: center;
        padding-right: 0px;
        position: relative;
        margin-top: 25.3vw;
        padding-left: 40vw;
    }


    .data.data3 ul.data3_list li.list06 .txt01 span,
    .data.data3 ul.data3_list li.list07 .txt01 span{
        position: absolute;
        left: 0;
        width: 100%;
        text-align: center;
        top: -12.5vw;
        padding: 0;
    }

    .data.data3 ul.data3_list li.list06 .image01,
    .data.data3 ul.data3_list li.list07 .image01{
        position: relative;
        left: auto;
        top: auto;
    }

    .data.data3 ul.data3_list li.list06 .image01,
    .data.data3 ul.data3_list li.list07 .image01{
        width: 30.6vw;
        margin: 8vw auto 0;
        padding-bottom: 2.6vw;
        transform: none;
    }

    .data.data3 ul.data3_list li.list06 .image01 img,
    .data.data3 ul.data3_list li.list07 .image01 img{
        width: 100%;
        height: auto;
    }

    .data.data3 ul.data3_list li.list07 .image01{
        left: auto;
        width: 36.8vw;
        padding-bottom: 0;
    }

    .data.data3 ul.data3_list li.list07 .txt02,
    .data.data3 ul.data3_list li.list08 .txt02,
    .data.data3 ul.data3_list li.list09 .txt02,
    .data.data3 ul.data3_list li.list10 .txt02{
        font-size: 3.73vw;
        margin-top:4vw;
        text-align: left;
        padding: 0 5.3vw 5.3vw;
    }

    .data.data3 ul.data3_list li.list08 .txt02{
        padding: 0 5.3vw 5.3vw;
        margin-top: 12.3vw;
    }

    .data.data3 ul.data3_list li.list08,
    .data.data3 ul.data3_list li.list09,
    .data.data3 ul.data3_list li.list10{
        height: auto;
    }

    .data.data3 ul.data3_list li.list08 .txt01{
        margin-top: 13.3vw;
    }

    .data.data3 ul.data3_list li.list09 .txt01,
    .data.data3 ul.data3_list li.list10 .txt01{
        margin-top: 10.3vw;
    }



    .data.data3 ul.data3_list li.list09 .image01,
    .data.data3 ul.data3_list li.list10 .image01{
        width: 50vw;
        margin: 5.3vw auto 0;
        text-align: center;
    }

    .data.data3 ul.data3_list li.list09 .image01 img,
    .data.data3 ul.data3_list li.list10 .image01 img{
        width: 100%;
        height: auto;
    }

    .data.data3 ul.data3_list li.list07 .image01.ml0{
        top: auto;
    }

    .data.data3 ul.data3_list li.list07 .image01.ml0 img{
        width: 100%;
    }
}

.data.data1 ul.list01.center{
    justify-content: center;
}

.data.data1 ul.list02.list02_2 .image{
    top: 36px;
    left: 64px;
}

.data.data1 ul.list02.list02_2 li .block{
    padding: 0;
    display: block;
}

.data.data1 ul.list02.list02_2 .txt01{
    left: 620px;
    letter-spacing: -7.4px;
    text-align: left;
    display: inline-block;
}

.data.data1 ul.list02.list02_2 .txt02{
    text-align: center;
    margin-top: 72px;
}

.data.data1 ul.list02.list02_2 li .txt01 span.font-min.before{
    left: -250px;
}
.data.data1 ul.list02.list02_2 li .txt01 span.font-min.after{
    left: 250px;
}

@media screen and (max-width: 1150px) {
    .data.data1 ul.list02.list02_2 .txt01{
        left: 500px;
    }
    .data.data1 ul li .svg4 {
        width: 370px;
    }
    .data.data1 ul.list02.list02_2 .image{
        top: 56px;
    }
}

@media screen and (max-width: 1000px) {
    .data.data1 ul.list02.list02_2 .image {
        top: 310px;
        left: 50%;
        transform: translateX(-50%);
    }

    .data.data1 ul.list.list02.list02_2 li {
        height: auto;
    }

    .data.data1 ul.list02.list02_2 .txt01{
        left: 0px;
        text-align: center;
        width: 100%;
    }

    .data.data1 ul li .svg4 {
        width: 350px;
    }

    .data.data1 ul.list02.list02_2 .txt02{
        margin-top: 320px;
        padding-bottom: 20px;
    }
}

.data.data1 ul.list01.top{
    margin-top: 70px;
}

@media screen and (max-width: 768px) {
    .data.data1 ul li .svg4{
        width: 100%;
    }
    .data.data1 ul.list02.list02_2 .image{
        width: 64vw;
        left: 50%;
        transform: translateX(-50%);
        top: 43.2vw;
    }

    .data.data1 ul.list02.list02_2 li .block{
        padding: 0;
        display: block;
    }

    .data.data1 ul.list02.list02_2 .txt01{
        left: auto;
        letter-spacing: -1.06vw;
        text-align: center;
        display: block;
    }

    .data.data1 ul.list02.list02_2 .txt01 span,
    .data.data1 ul.list02.list02_2 li .txt01 span.font-min.before,
    .data.data1 ul.list02.list02_2 li .txt01 span.font-min.after{
        position: relative;
        display: inline-block;;
        top: auto;
        transform: none;
        width: auto;
        left: auto;
    }

    .data.data1 ul.list02.list02_2 .txt02{
        text-align: center;
        margin-top: 72px;
    }

    .data.data1 ul.list02.list02_2 li .txt01 span.font-min.before{
        left: -3vw;
        top: -5vw;
    }
    .data.data1 ul.list02.list02_2 li .txt01 span.font-min.after{
        left: 3vw;
        top: -5vw;
    }

    .data.data1 ul.list02.list02_2 .txt02{
        margin-top: 51vw;
    }

    .data.data1 ul.list01.top{
        margin-top: 8vw;
    }
}

/*data------------------------------------------------------------*/

/* employee_block
------------------------------------------------------------*/
.employee_block{
    width: 100%;
    max-width: 1220px;
    margin: 180px auto 0;
    padding: 0 10px;
    box-sizing: border-box;
}

.employee_block ul.list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 13px;
}

.employee_block ul.list.mt0{
    padding-top: 0;
}

.employee_block ul.list li{
    width: 32%;
    height: 400px;
    border: 1px solid var(--Border-Default, #DDD);
    background: #FFF;
    box-sizing: border-box;
    padding: 30px 32px;
    margin-top: 32px;
}

.employee_block ul.list li h3{
    font-size: 24px;
    font-weight: 700;
    text-align: center;

}

.employee_block ul.list li.wide{
    width: 49%;
}

.employee_block ul.list li .image{
    display: flex;
    height: 150px;
    justify-content: center;
    align-items: center;
    margin: 32px 0 30px;
}

.employee_block ul.list li p{
    color: var(--Text-Sub, #69696B);
    font-size: 16px;
    font-weight: 500;
    line-height: 150%; /* 24px */
}

.employee_block h2{
    margin-top: 250px;
    font-size: 40px;
    font-weight: 500;
}

.employee_block .switch_menu{
    margin-top: 65px;
    display: flex;
    width: 480px;
    border-radius: 100px;
    border: 1px solid var(--Border-Default, #DDD);
    background: #FFF;
    height: 65px;
    box-sizing: border-box;
    padding: 8px 10px;
    justify-content: space-between;
    position: relative;
}

.employee_block .switch_menu li a{
    display: flex;
    width: 224px;
    height: 49px;
    color: var(--Text-Main, #1D1C1A);
    font-size: 20px;
    font-weight: 700;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    position: relative;
    z-index: 2;
    opacity: 0.5;
}

.employee_block .switch_menu li a.active{
    color: #FFF;
    opacity: 1;
}

.employee_block .switch_menu:before{
    content: "";
    display: block;
    width: 224px;
    height: 49px;
    border-radius: 40px;
    background: var(--Fill-CC-Matsumoto, #1A7020);
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.4s;
}
.employee_block .switch_menu.active1:before{
    background: var(--Fill-CC-Tokyo, #2B8FC4);
    left: 246px;
}

@media screen and (max-width: 1000px) {
    .sub_kv.data.employee p{
        width: 100%;
        max-width: 70%;
    }
    .employee_block ul.list li.mid_long {
        height: 450px;
    }

    .employee_block ul.list li {
        height: 430px;
    }

}

@media screen and (max-width: 768px) {
    .employee_block{
        width: 89.3vw;
        max-width: 100%;
        margin: 21.3vw auto 0;
        padding: 0 ;
    }

    .employee_block ul.list{
        display: block;
        justify-content: space-between;
        flex-wrap: wrap;
        padding-top: 0;
    }


    .employee_block ul.list li{
        width: 100%;
        height: auto;
        border: 0.26vw solid var(--Border-Default, #DDD);
        padding: 8vw 0 8vw;
        margin-top: 8.53vw;
    }
    .employee_block ul.list li.mid_long {
        height: auto;
    }

    .employee_block ul.list li h3{
        font-size: 5.3vw;;

    }

    .employee_block ul.list li.wide{
        width: 100%;
    }

    .employee_block ul.list li .image{
        display: flex;
        height: auto;
        padding: 13.3vw 0 13vw;
        margin: 0;
    }

    .employee_block ul.list li .image .employee_image01{
        width: 40vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image02{
        width: 31.73vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image03{
        width: 24.26vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image04{
        width: 49.06vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image05{
        width: 29.3vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image06{
        width: 22.4vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image07{
        width: 32.8vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image08{
        width: 52.26vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image09{
        width: 40.53vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image10{
        width: 57.06vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image11{
        width: 19.2vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image12{
        width: 46.6vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image13{
        width: 28.8vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image14{
        width: 28.8vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image15{
        width: 25.6vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image16{
        width: 35.73vw;
        height: auto;
    }
    .employee_block ul.list li .image .employee_image17{
        width: 36.53vw;
        height: auto;
    }

    .employee_block ul.list li p{
        font-size: 4.26vw;
        line-height: 160%; /* 24px */
        padding: 0 6.4vw;
    }

    .employee_block h2{
        margin-top: 21.33vw;
        font-size: 6.4vw;
    }

    .employee_block .switch_menu{
        margin-top: 8vw;
        width: 100%;
        border-radius: 26.6vw;
        border: 0.26vw solid var(--Border-Default, #DDD);
        height: 13.3vw;
        padding: 1.06vw 1.6vw;
    }

    .employee_block .switch_menu li a{
        display: flex;
        width: 42.4vw;
        height: 11.2vw;
        font-size: 3.73vw;
    }

    .employee_block .switch_menu li a span{
        opacity: 0.5;
    }

    .employee_block .switch_menu li.active a span{
        color: #FFF;
        opacity: 1;
    }

    .employee_block .switch_menu:before{
        width: 42.4vw;
        height: 11.2vw;
        border-radius: 12.8vw;
        left: 1.6vw;
    }
    .employee_block .switch_menu.active1:before{
        left: 45.06vw;
    }
}

.employee_block02{
    margin-top: 150px;
    background: #FCFAF7;
}

.employee_block02 .inner{
    width: 100%;
    max-width: 1220px;
    padding: 0 10px;
    box-sizing: border-box;
    display: table;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
}

.employee_block02 .inner .inner_l{
    display: table-cell;
    vertical-align: middle;
    width: 558px;
    background: #FFF;
    flex-wrap: wrap;
    height: 100%;
    padding: 0 64px;
}

.employee_block02 .inner .inner_r{
    width: calc(100% - 558px);
    display: table-cell;
    vertical-align: middle;
}

.employee_block02 .inner .inner_l h3{
    font-size: 29px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 43.5px */
    width: 100%;
}

.employee_block02 .inner .inner_l p{
    margin-top: 25px;
    font-size: 14px;
    font-weight: 400;
    line-height: 200%; /* 28px */
}

@media screen and (max-width: 1000px) {
    .employee_block02 .inner .inner_l{
        width: 55%;
        padding: 0 32px;
    }

    .employee_block02 .inner .inner_r{
        width: calc(100% - 55%);
    }
}

@media screen and (max-width: 768px) {
    .employee_block02{
        margin-top: 26.6vw;
    }

    .employee_block02 .inner{
        width: 100%;
        max-width: 100%;
        padding: 0;
        display: block;
    }

    .employee_block02 .inner .inner_l{
        display: block;
        width: 100%;
        height: 100%;
        padding: 21.3vw 5.3vw 8vw;
        box-sizing: border-box;;
        background: #FCFAF7;
    }

    .employee_block02 .inner .inner_r{
        width:100%;
        display: block;
    }

    .employee_block02 .inner .inner_l h3{
        font-size: 6.4vw;
        line-height: 150%;
    }

    .employee_block02 .inner .inner_l p{
        margin-top: 5.33vw;
        font-size: 3.73vw;
        font-weight: 400;
        line-height: 200%; /* 28px */
    }
}

/*employee_block------------------------------------------------------------*/

/* recruitment
------------------------------------------------------------*/
.sub_kv.recruitment{
    background: url("../../2025/img/recruitment/kv.jpg") no-repeat center center;
    background-size: cover;
    height: 280px;
}

.sub_kv .inner h1 span{
    line-height: 1.2;
    margin-bottom: 12px;
}

.recruitment1{
    background: #FFF;
    padding:156px 0 290px;
}

.recruitment1 .recruitment1_block{
    width: 100%;
    max-width: 1016px;
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box;
}

.recruitment1 .inner{
    width: 100%;
    max-width: 100%;
    padding: 56px 48px;
    background: #FFF;
    box-shadow: 0px 16px 64px 0px rgba(0, 0, 0, 0.04);
    box-sizing: border-box;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.recruitment1 .inner h2{
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%; /* 36px */
    border-bottom: 1px solid var(--Border-Default, #DDD);
    padding-bottom: 15px;
}

.recruitment1 .inner p{
    margin-top: 20px;
    color: var(--Text-Sub, #69696B);
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 200%; /* 32px */
}

.recruitment1 .inner table{
    margin-top: 12px;
}

.recruitment1 .inner table th{
    width: 110px;
    color: var(--Text-Main, #1D1C1A);
    font-size: 16px;
    font-weight: 500;

    border-bottom: 1px solid var(--Border-Default, #DDD);
    padding: 24px 24px 20px 0;
    vertical-align: top;
}

.recruitment1 .inner table td{
    color: var(--Text-Sub, #69696B);
    font-size: 16px;
    font-weight: 400;
    line-height: 200%; /* 32px */
    border-bottom: 1px solid var(--Border-Default, #DDD);
    padding: 20px 0 20px;
    vertical-align: top;
}

.recruitment1 .inner table tr:last-child th,
.recruitment1 .inner table tr:last-child td{
    border-bottom: none;
}

.recruitment1 .inner h3{
    margin-top: 20px;
    display: flex;
    background: var(--Text-Light-Gray, #EAEAEA);
    color: var(--Text-Main, #1D1C1A);
    font-size: 20px;
    font-weight: 700;
    align-items: center;
    padding-left: 20px;
    height: 72px;
}

@media screen and (max-width: 768px) {
    .sub_kv.recruitment{
        background: url("../../2025/img/recruitment/kv_sp.jpg") no-repeat center center;
        height: 45.6vw;
    }

    .sub_kv .inner h1 span{
        line-height: 1.2;
        margin-bottom: 2.6vw;
    }

    .recruitment1{
        background: #FFF;
        padding:14.93vw 0 21.3vw;
    }

    .recruitment1 .inner{
        width: 89.3vw;
        padding: 0 ;
        box-shadow: 0px;
        box-shadow:none;
    }

    .recruitment1 .inner h2{
        font-size: 5.3vw;
        border-bottom: 0.26vw solid var(--Border-Default, #DDD);
        padding-bottom: 5.3vw;
    }

    .recruitment1 .inner p{
        margin-top: 5.2vw;
        font-size: 16px;
        font-weight: 400;
        line-height: 200%; /* 32px */
    }

    .recruitment1 .inner table{
        margin-top: 0;
    }

    .recruitment1 .inner table th{
        display: block;
        width: 100%;
        color: var(--Text-Main, #1D1C1A);
        font-size: 4.26vw;
        font-weight: 500;
        border-bottom:none;
        padding: 8vw 0 5vw 0;
    }

    .recruitment1 .inner table td{
        display: block;
        font-size: 3.73vw;
        border-bottom: 0.26vw solid var(--Border-Default, #DDD);
        padding: 0 0 6.4vw;
        vertical-align: top;
    }

    .recruitment1 .inner table tr:last-child th,
    .recruitment1 .inner table tr:last-child td{
        border-bottom: none;
    }

    .recruitment1 .inner h3{
        margin-top: 8vw;
        font-size: 5.3vw;
        padding-left: 5.3vw;
        height: 19.2vw;
    }
}

.fix_entry{
    position: fixed;
    z-index: 8;
    width: 100%;

    background: #FFF;
    left: 0;
    bottom: 0;
    box-shadow: 0px -10px 56px 0px rgba(86, 102, 190, 0.06);
}

.fix_entry .inner{
    width: 100%;
    max-width: 1220px;
    padding: 0 10px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    height: 106px;

}

.fix_entry .inner p{
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 125%; /* 30px */
    color: #5666BE;
}

.fix_entry .inner p span{
    display: block;
    color: var(--Text-Sub, #69696B);
    font-size: 14px;
    font-weight: 500;
    line-height: 125%; /* 17.5px */
    letter-spacing: 1.12px;
    margin-bottom: 5px;
}

.fix_entry .inner a{
    display: flex;
    align-items: center;
    width: 240px;
    height: 56px;
    justify-content: center;
    align-items: center;
    border-radius: 56px;
    border: 2px solid #5666BE;
    background:#5666BE;
    font-size: 15px;
    font-weight: 700;
    line-height: 100%; /* 15px */
    text-decoration: none;
    color: #FFF;
    position: relative;
}

.fix_entry .inner a svg{
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    height: 32px;
}

@media screen and (max-width: 768px) {
    .fix_entry{
        height: 40.8vw;
    }

    .fix_entry .inner{
        padding: 5vw 5.3vw 8vw;
        box-shadow: 0px -2.6vw 14.93vw 0px rgba(86, 102, 190, 0.06);
        flex-wrap: wrap;
    }

    .fix_entry .inner p{
        width: 100%;
        font-size: 4.26vw;
    }

    .fix_entry .inner p span{
        font-size: 2.6vw;
        margin-bottom: 1vw;
    }

    .fix_entry .inner a{
        width: 100%;
        height: 12.8vw;
        border-radius: 14.93vw;
        border: none;
        font-size: 4vw;
        margin-top: 4vw;
    }

    .fix_entry .inner a svg{
        right: 3.2vw;
        height: 6.4vw;
    }
}

/*/recruitment------------------------------------------------------------*/

/* TOP
------------------------------------------------------------*/

@media screen and (max-width: 768px) {
}

/*TOP------------------------------------------------------------*/

/* bg周り
------------------------------------------------------------*/
.top1,
.top2,
.backgroud_image,
.top5,
.message1,
.message2,
.message3,
.data1,
.data3,
.employee_block,
.story_block,
.recruitment1{
    position: relative;
}

.top1 .top1_bg,
.top2 .top2_bg,
.backgroud_image{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 200px;
    z-index: -1;

}

.top2 .top2_bg{
    top: 340px;
}
.top3 .top3_bg{
    top: 1030px;
    z-index: 1;
}
.top5 .backgroud_image{
    top: -400px;
}

.message1 .backgroud_image{
    top: 60px;
}

.message2 .backgroud_image{
    top: -60px;
}

.message3 .backgroud_image{
    top: -175px;
}

.data1 .backgroud_image{
    top: -95px;
}

.data3 .backgroud_image{
    top: -280px;
}
.data3.data4 .backgroud_image{
    top: -190px;
}

.employee_block1 .backgroud_image{
    top: -110px;
}

.employee_block2 .backgroud_image{
    top: -100px;
}

.story_block01 .backgroud_image{
    top: -35px;
}
.story_block01.story_block01_2 .backgroud_image{
    top: -755px;
}
.story_block01.story_block01_3 .backgroud_image{
    top: -5px;
}
.story_block01.story_block01_4 .backgroud_image{
    top: -485px;
}

.story_block01 .backgroud_image.backgroud_image2{
    top: 1235px;
}

.recruitment1 .backgroud_image{
    top: 690px;
    z-index: 1;
}

.recruitment1 .backgroud_image.backgroud_image2{
    top: 2235px;
}

@media screen and (max-width: 768px) {
    .top1 .top1_bg,
    .top2 .top2_bg,
    .backgroud_image{
        display: none;
    }
}

/*TOP------------------------------------------------------------*/

/* CONTACT
------------------------------------------------------------*/
.sub_kv.data.contact{
    height: auto;
}

.sub_kv.data.contact .inner{
    height: 280px;
    display: flex;
    align-items: center;
}

.sub_kv.data.contact .image{
    bottom: 0;
    top: auto;
    transform: translateY(0);
    height: 260px;
}

@media screen and (max-width: 1000px) {
    .sub_kv.data.contact .image img {
        width: auto;
        height: 260px;
    }
}

@media screen and (max-width: 768px) {
    .sub_kv.data.contact .inner{
        height: 45.3vw;
    }

    .sub_kv.data.contact .image{
        bottom: 0;
        top: auto;
        right: -9.5vw;
        transform: translateY(0);
        height: 37.86vw;
    }

    .sub_kv.data.contact .image img{
        width: 60.8vw;
        height: 37.86vw;
    }
}

/*CONTACT------------------------------------------------------------*/

/*応募フォームここから*/

.sec-entry .wrap-content {
    max-width: 1040px;
    margin: 180px auto 150px;
    padding: 0 10px 0;
    box-sizing: border-box;
}

.blc-entry-form > p {
    margin-bottom: 3rem;
    font-size: 16px;
    line-height: 1.8
}

.blc-entry-form .red {
    color: #AD1717
}

.blc-entry-form .headline-mid {
    margin: 4rem 0 2rem;
    padding-left: 0;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: .06rem
}

.blc-entry-form .headline-mid small {
    font-size: 13px;
}

.blc-entry-form .form-txt {
    margin-bottom: 2rem;
    font-size: 16px;
    line-height: 1.5
}

.blc-entry-form .required {
    font-weight: 600;
    color: #AD1717;
    display: inline-block;
    padding-left: .4rem
}

.blc-entry-form .blc-url input + input {
    margin-top: 1rem
}

.blc-entry-form .btn-add-ipt {
    display: inline-block;
    margin-top: 1.8rem;
    padding: 1rem 2rem;
    border-radius: .5rem;
    background: #5666BE;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .1rem;
    line-height: 1;
    color: #fff;
    border: none;

    cursor: pointer;
}

.blc-entry-form .btn-add-ipt:before {
    content: url('../../2025/img/contact/icon-plus.svg');
    filter: brightness(0) invert(1);
    display: inline-block;
    width: 12px;
    height: 12px;
    fill: #fff;
    vertical-align: middle;
    margin: 0 .5rem .2rem 0
}

.label-type {
    display: inline-block;
    width: 100%;
    margin-bottom: 1.5rem
}

.label-type input {
    display: none
}

.label-type input:checked + label {
    font-weight: 600;
    color: #5666BE
}

.label-type input:checked + label::after {
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: #5666BE;
    top: .8rem;
    left: .5rem
}

.label-type label {
    display: inline-block;
    padding: .4rem 2.8rem;
    letter-spacing: .06rem;
    position: relative
}

.label-type label::before, .label-type label::after {
    display: block;
    content: '';
    position: absolute
}

.label-type label::before {
    width: 1.6rem;
    height: 1.6rem;
    border: solid .2rem #bbb;
    border-radius: 50%;
    top: .3rem;
    left: 0
}

.label-type:last-child {
    margin-bottom: 0
}

.table-form {
    width: 100%;
    margin-bottom: 6rem
}

.table-form th, .table-form td {
    padding: 18px;
    border: solid .1rem #ccc;
    font-size: 16px;
    line-height: 1.5;
    vertical-align: middle;
    box-sizing: border-box;
}

.table-form th {
    width: 12rem;
    background: #F4F4F4;
    text-align: left;
    font-weight: 600;
    letter-spacing: .06rem;
    white-space: nowrap
}

.table-form th small {
    display: inline-block;
    margin-top: -.5rem;
    font-weight: 400;
    white-space: normal
}

.table-form td .txt {
    font-size: 16px;
    line-height: 1.3;
    letter-spacing: .08rem
}

.table-form td .txt span:not(.required) {
    display: inline-block;
    font-weight: 600
}

.table-form td .txt span:not(.required)::after {
    content: '：';
    display: inline-block;
    padding: 0 1rem 0 .5rem
}

.table-form td p {
    line-height: 1.5
}

.table-form small {
    display: inline-block;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .04rem;
    vertical-align: middle
}

.table-form .heading, .table-form .heading-min {
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2
}

.table-form .td-cols {
    display: grid;
    grid-gap: 2rem 2rem;
    grid-template-columns:50% 50%;
    grid-template-rows:1fr
}

.table-form .td-cols input, .table-form .td-cols select {
    display: inline-block;
    width: calc(100% - 12.5rem)
}

.table-form .td-cols .postal {
    grid-column: 1 / 2;
    grid-row: 1 / 2
}

.table-form .td-cols .prefectures {
    grid-column: 2 / 3;
    grid-row: 1 / 2
}

.table-form .td-cols .address-1 {
    grid-column: 1 / 2;
    grid-row: 2 / 3
}

.table-form .td-cols .address-2 {
    grid-column: 2 / 3;
    grid-row: 2 / 3
}

.table-form .td-cols .building {
    grid-column: 1 / 3;
    grid-row: 3 / 4
}

.table-form .td-cols .heading {
    width: 10rem
}

.table-form .td-cols .heading-min {
    width: 4rem
}

.table-form .td-cols .phone {
    grid-column: 1 / 3;
    grid-row: 1 / 2
}

.table-form .td-cols .extension {
    grid-column: 1 / 2;
    grid-row: 2 / 3
}

.table-form .td-cols .fax {
    grid-column: 2 / 3;
    grid-row: 2 / 3
}

.table-form .td-cols .fax input {
    width: calc(100% - 6rem)
}

.table-form .td-cols .fax + .mail {
    grid-column: 1 / 3;
    grid-row: 3 / 4
}

.table-form .td-cols p[class^="txt-error"] {
    padding-left: 10.4rem
}

.inner-textarea .count {
    margin: -2rem 0 1rem;
    text-align: right;
    font-family: futura-pt, Futura PT, sans-serif
}

.inner-textarea textarea {
    font-size: 16px;
    line-height: 1.8
}

.inner-textarea .confirm {
    padding: 2.5rem;
    border: solid .1rem #ccc;
    border-radius: .4rem
}

.inner-textarea .confirm p {
    line-height: 1.8
}

.blc-policy {
    text-align: center
}

.blc-policy > div {
    margin-bottom: 4rem;
    padding: 1rem 2rem;
    background: #F4F4F4;
    text-align: left
}

.blc-policy > div p {
    font-size: 13px;
}

.blc-policy > div a {
    display: inline-block;
    vertical-align: middle;
    margin-bottom: .2rem;
    padding: 0 .4rem;
    color: #5666BE
}

.blc-policy > div svg {
    display: inline-block;
    width: 1.1rem;
    height: 1.1rem;
    margin: 0 0 .2rem .4rem;
    fill: #5666BE;
    vertical-align: middle
}

.blc-policy p {
    line-height: 1.6;
    letter-spacing: .1rem
}

.blc-policy > p {
    margin-bottom: 2.6rem;
    font-size: 16px;
}

.check-agree {
    display: none
}

.check-agree + label {
    display: inline-block;
    padding: 1rem 1rem 1rem 3rem;
    font-size: 16px;
    letter-spacing: .1rem;
    position: relative;
    cursor: pointer;
}


.check-agree + label::before, .check-agree + label::after {
    content: '';
    display: inline-block;
    position: absolute
}

.check-agree + label::before {
    width: 1.5rem;
    height: 1.5rem;
    border: solid 0.1rem #bbb;
    border-radius: 0.3rem;
    top: 1rem;
    left: .5rem;
}

.check-agree + label::after {
    width: 0.6rem;
    height: 0.3rem;
    border-left: solid 0.2rem #fff;
    border-bottom: solid 0.2rem #fff;
    transform: rotate(-45deg);
    top: 1.5rem;
    left: 0.9rem;
}

.check-agree:checked + label {
    font-weight: 600
}

.check-agree:checked + label::before {
    background: #5666BE;
    border-color: #5666BE
}

.blc-btn-center {
    margin-top: 6rem;
    text-align: center;
}

.complete-title {
    margin-bottom: 4rem;
    font-size: 30px;
    letter-spacing: .1rem;
    text-align: center;
}

.blc-entry-completed {
    padding: 4rem 18rem 4rem 18rem;
    background: #F4F4F4;
    border-radius: .5rem;
}

.blc-entry-completed p {
    line-height: 1.8;
    margin-bottom: 0.1rem;
}

.blc-entry-completed a {
    margin-top: 3rem;
    display: flex;
    font-size: 16px;
    font-weight: 600;
    color: #5666BE;
    justify-content: center;
}


textarea {
    min-height: 4rem;
    line-height: 1.4;
    resize: vertical
}

select,input[type='text'],input[type='file'], input[type='date'], input[type='password'], input[type='number'], input[type='email'], input[type='password'], input[type='tel'], textarea {
    background-color: #fff;
    border: solid .1rem #ccc;
    border-radius: .4rem;
    padding: .8rem 1rem;
    box-sizing: border-box;
    max-width: 100%;
}

input[type='text']:focus, input[type='date']:focus, input[type='password']:focus, input[type='number']:focus, input[type='email']:focus, input[type='password']:focus, input[type='tel']:focus, textarea:focus {
    border-color: #5666BE
}

input[type='file'], input[type='checkbox'], input[type='radio'], select {
    cursor: pointer
}


.ipt-error {
    border-color: #c81b1b !important;
    background-color: #fdefef !important
}

.txt-error-req, .txt-error-kana, .txt-error-slt, .txt-error-mail, .txt-error-num, .txt-error-phone, .txt-error-etc, .txt-error-copies, .txt-error-textarea, .txt-error-file, .txt-error-update, .txt-error-update-ipt {
    font-size: 13px;
    font-weight: 600;
    color: #c81b1b;
    line-height: 1.5
}

input[class^='ipt-'] {
    font-size: 16px;
}

.ipt-ss {
    width: 8rem
}

.ipt-s {
    width: 30%
}

.ipt-m {
    width: 60%
}

.ipt-l {
    width: 80%
}

.ipt-max {
    width: 100%
}

input:disabled, textarea:disabled, button:disabled, select:disabled {
    cursor: not-allowed;
    background-color: #ccc !important;
    color: rgba(255, 255, 255, 0.9);
}

.recruit-submit-btn {
    background-color: #5C6DB3;
    color: #FFFFFF;
    margin: 0 2rem;
    font-weight: 700;
    padding: 22px 92px 22px 92px;
    border-radius: 0.7rem;
    border: 2px solid #5C6DB3;
    font-size: 17px;
    letter-spacing: .02rem;
    display: inline-block;
    outline: none;
    line-height: 1;
    position: relative;
    cursor: pointer;
    transition: all .3s;
}

.recruit-submit-btn:disabled {
    border: none;
    background-color: #5C6DB3;
    color: #FFFFFF !important;
}

.recruit-back-btn {
    background-color: #FFFFFF;
    color: black;
    border: 2px solid black;
    margin: 0 2rem;
    font-weight: 700;
    padding: 22px 92px 22px 92px;
    border-radius: 0.7rem;
    font-size: 17px;
    letter-spacing: .02rem;
    display: inline-block;
    outline: none;
    line-height: 1;
    cursor: pointer;
    transition: all .3s;
}

.sec-title {
    margin-bottom: 4rem
}

.sec-title .header-title {
    font-size: 22px;
    letter-spacing: .1rem
}

.ipt-filetype {
    width: 100%;
}
@media screen and (max-width: 768px) {
    /*応募フォームここから*/
    .sec-entry .wrap-content {
        width: 100%;
        padding-top: 12.8vw;
    }

    .blc-entry-form > p {
        margin-bottom: 6.4vw;
        font-size: 4vw;
    }

    .sec-entry .wrap-content {
        margin-bottom: 38.4vw;
        padding: 6.4vw 0 0;
    }

    .table-form th {
        padding: 1.92vw 3.84vw;
        border-top: none;
        border-bottom: none;
    }

    .table-form th, .table-form td {
        display: block;
        width: 100%;
        font-size: 3.73vw;
    }

    .blc-entry-form .headline-mid {
        margin: 9.6vw 0 5.12vw;
        font-size: 4.8vw;
        line-height: 1.4;
    }

    .table-form {
        border-top: solid 0.32vw #ccc;
    }

    .table-form input + small {
        margin-top: 1.6vw;
    }

    .top-our-business-slide {
        width: 100%;
        height: unset;
        overflow: visible;
    }

    .recruit-back-btn, .recruit-submit-btn {
        margin-bottom: 2.67vw;
        padding: 5.87vw 18.13vw;
        width: 100%;
        margin-left: unset;
    }

    .blc-btn-center {
        width: 90%;
        margin: 0 auto;
    }

    select{
        width: 100%;
        padding: 2vw 4vw;
        height: 12vw;
        color: #1D1C1A;
        font-size: 16px;
        box-sizing: border-box;;
    }

    .sec-entry .wrap-content {
        margin: 26.6vw auto 26.6vw;
        padding: 0 5.3vw 0;
        box-sizing: border-box;
    }
    select,input[type='text'],input[type='file'], input[type='date'], input[type='password'], input[type='number'], input[type='email'], input[type='password'], input[type='tel'], textarea {
        max-width: 100%;
        width: 100%;
        box-sizing: border-box;
    }
}

/*応募フォームここまで*/


/* TOP
------------------------------------------------------------*/
a.anc{
    display: block;
    margin-top: -80px;
    padding-top: 80px;
    height: 1px;
    box-sizing: border-box;
}
.swiper-3d .swiper-wrapper{
    transform-style:preserve-3d;
    -webkit-transform-style: preserve-3d;
}
.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{
    transform-style:preserve-3d;
    -webkit-transform-style: preserve-3d;
}

/* スライドの動き等速 */
.swiper-wrapper {
    transition-timing-function: linear !important;
}
/* 画像のサイズ調整 */
.swiper-slide img {
    height: auto;
    width: 100%;
}

@media screen and (max-width: 768px) {
    a.anc{
        margin-top: -14.93vw;
        padding-top: 14.93vw;
    }
}

#loading{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 10em;
    height: 10em;
}

.loader008,
.loader008:after {
    border-radius: 50%;
    width: 10em;
    height: 10em;
}
.loader008 {
    margin: 0px auto;
    font-size: 10px;
    position: relative;
    text-indent: -9999em;
    border-top: 1.1em solid rgba(234,234,234, 0.2);
    border-right: 1.1em solid rgba(234,234,234, 0.2);
    border-bottom: 1.1em solid rgba(234,234,234, 0.2);
    border-left: 1.1em solid #5666BE;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
@keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@media screen and (max-width: 768px) {
    #loading{
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%);
        width: 5em;
        height: 5em;
    }

    .loader008,
    .loader008:after {
        border-radius: 50%;
        width: 5em;
        height: 5em;
    }
}

.story_kv .inner{
    position: relative;
}

.story_kv .inner .circle{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}

@media screen and (max-width: 768px) {

}

video {
    filter: drop-shadow(0px 0px #000);
}

.swiper-slide{
    margin-right: 12px;
}

/*エラーページここから*/
.sec-404 .wrap-content {
    padding-top: 150px;
}

.error-title {
    margin-bottom: 10rem;
    font-size: 42px;
    font-weight: 700;
    letter-spacing: .3rem;
    text-align: center;
}
.error-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background: #5666BE;
    margin: 2rem auto 0;
}

.sec-404 p {
    text-align: center;
    margin-bottom: 3rem;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: .04rem;
    color: #909597;
}

.move-top-button {
    transition: all 0.3s ease;
    display: flex;
    width: 310px;
    margin: 136px auto 120px;
    padding: 22px 40px;
    justify-content: center;
    align-items: center;
    gap: 8px;

    color: #FFF;
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 0.02125rem;
    border: 2px solid #5C6DB3;

    border-radius: 8px;
    background: var(--CC-Main, #5C6DB3);
    box-shadow: 0px 8px 40px 0px rgba(0, 0, 0, 0.20);
    position: relative;
    text-decoration: none;
}

.move-top-button svg {
    position: absolute;
    right: 30px;
    width: 20px;

    transition: right 0.3s ease;
}
.move-top-button svg path {
    fill: white;
    transition: fill 0.3s ease;
}

/*hover対応 */
/*------------------------------------------------------------*/
/* PCの場合 */
@media (hover: hover) {


    .move-top-button:hover{
        background-color: #FFFFFF;
        color: #2D3F8A;
    }

    .move-top-button:hover svg path {
        fill: #2D3F8A;
    }

    .move-top-button:hover svg {
        right: 24px;
    }

}


@media screen and (max-width: 768px) {
    .move-top-button {
        width: 69.3%
    }
}

/*エラーページここまで*/


/*TOP------------------------------------------------------------*/
