@charset "utf-8";

.top_page   {
    position: relative;
    overflow-x: clip;
}

body.index .pagetop {
    display: none;
}

.top_page section   {
    position: relative;
    width: 100%;
    z-index: 0;
}

.top_page section > .inner  {

    width: 100%;
    max-width: 1422.47px;
    margin-left: auto;
    margin-right: auto;

    padding: 0 var(--gutter);
}

.top_page .deco_s,
.top_page .hero_s   {
    position: absolute;
    pointer-events: none;
}

.top_page .deco_s   {
    z-index: -1;
}

.top_page .hero_s   {
    z-index: 0;
}

.top_page .sec_title    {
    position: relative;
    font-weight: 200;
    color: #002963;
    line-height: normal;
    white-space: nowrap;
}

.top_page .sec_title_cap    {
    line-height: 0;
}

.top_page .sec_title_cap    {

    letter-spacing: max(-0.0563vw, -1.08px);
}

.top_page .sec_title_cap .cap   {

    letter-spacing: max(-0.1000vw, -1.92px);
    line-height: normal;
}

.top_page .news_list span,
.top_page .news_list a,
.top_page .recruit_list span,
.top_page .recruit_list a,
.top_page .business_box span,
.top_page .business_box a,
.top_page .sec_title span   {
    line-height: inherit;
}

.top_page .hero_catch span span {
    line-height: 0;
}

.top_page .sec_title_cap .cap   {
    line-height: normal;
}

.top_page br    {
    line-height: 0;
}

.top_page .sec_title_cap .cap_t {
    letter-spacing: max(-0.5000vw, -9.6px);
}

.top_page .sec_sub  {

    position: relative;
    font-weight: 500;
    color: #002963;
    line-height: 1.2;
    white-space: nowrap;
}

.top_page .lead {
    position: relative;
    font-weight: 500;
    color: #002963;
    white-space: nowrap;
}

.top_page .btn_more {

    width: min(7.8125vw, 150px);
    background: linear-gradient(90deg, #003b90 0%, #00112a 100%);
    color: #fff;
    letter-spacing: max(-0.0187vw, -0.36px);
}

.sec_hero   {
    height: min(53.1250vw, 1020px);

}

.sec_hero .hero_s_right {

    left: calc(var(--sframe) * 0.8687500);
    top: 0;
    width: calc(var(--sframe) * 0.4805949);
}

.sec_hero .hero_s_left  {

    left: calc(var(--sframe) * 0.0395641);
    top: calc(var(--sframe) * 0.3015625);
    width: calc(var(--sframe) * 0.1522599);
    opacity: 0.3;
}

.sec_hero .hero_logo    {
    position: absolute;
    z-index: 2;
    left: min(43.9583vw, 844px);
    top: calc(var(--pane-w) * 0.089940);
    width: min(10.9375vw, 210px);
    height: min(3.4896vw, 67px);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sec_hero .hero_logo .mark  {
    width: min(4.2708vw, 82px);
    height: min(3.4688vw, 66.6px);
}

.sec_hero .hero_logo .text  {
    width: min(5.7292vw, 110px);
    height: min(3.3698vw, 64.7px);
}

.sec_hero .hero_catch   {

    position: absolute;
    z-index: 2;

    left: -1.8099vw;
    top: min(13.0208vw, 250px);
    text-align: center;
    color: #000;
    -webkit-text-stroke: min(0.3646vw, 7px) #fff;
    paint-order: stroke fill;
}

.sec_hero .hero_catch,
.sec_hero .hero_catch span,
.sec_hero .hero_catch span span {
    font-family: "Noto Sans", "Noto Sans JP", sans-serif !important;
}

.sec_hero .hero_catch span  {
    display: block;
    white-space: nowrap;
}

.sec_hero .hero_catch .catch1   {

    font-weight: 600;
    line-height: 1.364865;
}

.sec_hero .hero_catch .catch1 .dot  {
    display: inline;
    letter-spacing: max(-1.1562vw, -22.2px);
}

.sec_hero .hero_catch .catch1 .x    {
    display: inline;

    font-weight: 500;
}

.sec_hero .hero_catch .catch1 .de   {
    display: inline;

    font-weight: 500;
}

.sec_hero .hero_catch .catch2   {

    font-weight: 600;
    line-height: 1.361111;

}

.sec_hero .hero_catch .catch2 .h    {
    display: inline;

    font-weight: 500;
}

.sec_hero .hero_catch .catch2 .h_ni {

}

.top_page .list_row li  {
    position: relative;
    display: flex;

    align-items: flex-start;
    font-weight: 500;
    color: #000;
    white-space: nowrap;
}

.top_page .list_row .tag    {

    align-self: flex-start;
    text-align: center;
    color: #fff;
    background: #002963;
}

.top_page .list_row .date,
.top_page .list_row .body   {
    margin-top: calc((min(1.0417vw, 20px) + min(0.5208vw, 10px) - min(1.2500vw, 24px)) / 2);
}

.top_page .list_row .body   {

    flex: 1;
    min-width: 0;
    white-space: normal;
}

.top_page .business_box .txt .nw    {
    white-space: nowrap;
}

.top_page .btn  {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
}

.sec_info   {

}

.top_page section.sec_info > .inner {

    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.sec_info .info_head    {

    margin-left: 0;
}

.sec_info .info_body    {

    width: 810px;
    max-width: 60.5589%;
    margin-right: 0;
}

.sec_info .sec_title    {

    letter-spacing: -0.02em;
    line-height: 1.171875;
}

.sec_info .sec_sub  {
    line-height: 1.222222;
}

.sec_info .news_list    {
    position: relative;
    width: 100%;
}

.sec_info .news_list li {

    line-height: min(1.2500vw, 24px);
    border-bottom: 1px dashed #666;
}

.sec_info .news_list li:last-child  {
    border-bottom: none;
}

.sec_info .news_list .date  {
    flex: 0 0 min(5.9896vw, 115px);
}

.sec_info .news_list .tag   {
    flex: 0 0 min(5.2083vw, 100px);

    line-height: min(1.0417vw, 20px);
}

.sec_info .news_list .tag_topics    {
    background: #007bc3;
}

.sec_info .news_list .body  {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sec_info .btn_news {

    width: min(15.6250vw, 300px);
    max-width: 100%;
    border: 1px solid #000;
    font-weight: 400;
    letter-spacing: max(-0.0208vw, -0.4px);
    color: #000;
}

.top_page .ticker_text  {
    position: relative;
    z-index: 1;
}

.top_page .ticker_text .ticker__item span   {

    display: inline-block;
    width: min(27.0833vw, 520px);
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    letter-spacing: max(-0.0500vw, -0.96px);
    color: #cacaca;
    line-height: min(2.8646vw, 55px);
    white-space: nowrap;
}

.sec_mvv    {

    background: url(../images/mvv_bg_pc.svg) no-repeat 0 0 / 100% 100%;
    z-index: 1;
}

.top_page section.sec_mvv > .inner  {

}

.sec_mvv .sec_title,
.sec_mvv .sec_sub   {
    margin-left: 0;
}

.top_page section.sec_mvv,
.top_page section.sec_business  {
    z-index: 1;
}

.sec_mvv .mvv_s {

    left: calc(var(--sframe) * -0.3193016);
    top: calc(var(--sframe) * 0.0156250);
    width: calc(var(--sframe) * 0.4529349);
}

.sec_mvv .sec_title {
    margin-top: 0;
}

.sec_mvv .sec_sub   {
    margin-top: 0;
}

.sec_mvv .mvv_carousel  {
    position: relative;

    width: auto;
    max-width: 1119.79px;
    margin-left: auto;
    margin-right: 0;

    height: auto;
}

.sec_mvv .mvv_viewport  {

    position: relative;
    left: auto;
    top: 0;
    width: 100%;
    margin-left: 0;
    height: auto;
    overflow: hidden;
}

.sec_mvv .mvv_viewport  {
    touch-action: pan-y;
}

.sec_mvv .mvv_track {
    display: flex;
    align-items: stretch;
    gap: min(1.0417vw, 20px);
    height: auto;
    transition: transform 0.5s ease;
    will-change: transform;
}

.sec_mvv .mvv_slide {

    position: relative;
    flex: 0 0 100%;
    height: auto;
    display: flex;
    align-items: stretch;
    gap: 1.7673%;
}

.sec_mvv .mvv_slide .photo  {

    position: relative;
    flex: 0 0 44.6508%;

    align-self: flex-start;
    aspect-ratio: 5 / 3;
    height: auto;
    margin: 0;
    overflow: hidden;
}

.sec_mvv .mvv_slide .photo picture  {
    display: block;
    height: 100%;
}

.sec_mvv .mvv_slide .photo img  {
    height: 100%;
    object-fit: cover;

    object-position: left;
    display: block;
}

.sec_mvv .mvv_slide .card   {

    position: relative;
    flex: 1;
    min-width: 0;

    align-self: flex-start;
    aspect-ratio: 2 / 1;
    min-height: 0;
    background: #fff;
    color: #002963;

}

.sec_mvv .mvv_slide .label  {

    position: static;
    font-weight: 300;
    letter-spacing: -0.05em;
    line-height: 1.2;
    white-space: nowrap;
}

.sec_mvv .mvv_slide .text   {

    position: static;
    font-weight: 400;
    line-height: 1.583333;
    white-space: nowrap;
}

.sec_mvv .mvv_arrow {

    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: min(1.0417vw, 20px);
    height: min(1.8229vw, 35px);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.sec_mvv .mvv_arrow img {

    width: min(1.8229vw, 35px);
    height: auto;
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform-origin: center;
}

.sec_mvv .mvv_prev  {

    right: 100%;
    left: auto;
    z-index: 2;
}

.sec_mvv .mvv_prev img  {
    transform: translate(-50%, -50%) rotate(90deg);
}

.sec_mvv .mvv_next  {
    left: 100%;
    right: auto;
    z-index: 2;
}

.sec_mvv .mvv_next img  {
    transform: translate(-50%, -50%) rotate(-90deg);
}

.sec_mvv .btn_more  {
    margin-left: 45.0405%;
}

.sec_message    {
}

.top_page section.sec_message > .inner  {

    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.sec_message .msg_col_left  {

    width: 585px;

    flex: 1;
    min-width: 0;
    max-width: none;
    margin-left: 0;
}

.sec_message .message_s {

    left: calc(var(--sframe) * 0.9147703);

    top: calc(var(--sframe) * -0.0776042);
    width: calc(var(--sframe) * 0.2367146);
}

.sec_message .sec_title {
    margin-top: 0;
}

.sec_message .sec_sub   {
    margin-top: 0;
}

.sec_message .lead  {

    line-height: 1.659286;
}

.sec_message .photo {
    position: relative;

    width: 45.1671%;
    max-width: none;
    flex: 0 0 45.1671%;

    aspect-ratio: 500 / 300;
    height: auto;

    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    overflow: hidden;
    flex-shrink: 0;
}

.sec_message .photo picture {
    display: block;
    height: 100%;
}

.sec_message .photo img {
    height: 100%;
    object-fit: cover;
    display: block;
}

.sec_message .btn_more  {
}

.sec_business   {
    padding-bottom: 0;
    margin-top: 0;

    background: url(../images/business_bg_pc.svg) no-repeat center bottom / 100% auto;
    z-index: 1;
}

.sec_business::before   {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 46.302vw;
    height: 10vw;
    background: #E6E8F3;
    z-index: -1;
}

.top_page section.sec_business > .inner {

    position: relative;
}

.sec_business .biz_row_top  {

    display: flex;
    align-items: flex-start;
    gap: min(6.7708vw, 130px);

    margin-right: 0;
}

.sec_business .biz_col_left {
    flex: 1;
    min-width: 0;
}

.sec_business .biz_col_left {

}

.sec_business .business_s   {

    left: calc(var(--sframe) * -0.3034490);
    top: 0;
    width: calc(var(--sframe) * 0.4529354);
}

.sec_business .sec_title    {
    margin-top: 0;
}

.sec_business .sec_sub  {
    margin-top: 0;
}

.sec_business .lead {

    line-height: 1.916667;
}

.sec_business .business_box {

    position: relative;

    flex: 0 0 38.5505%;
    height: auto;

    margin-right: 0;
    flex-shrink: 0;
    background: #fff;
}

.sec_business .business_box li  {
    position: relative;
    margin-left: 5.8%;
    width: 88.334%;

    height: auto;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    padding-left: 0.6%;
    border-bottom: 1px solid #002963;
    color: #002963;
    font-weight: 500;

    white-space: normal;

    line-height: min(1.5104vw, 29px);
}

.sec_business .business_box li:last-child   {
    border-bottom: none;
    margin-bottom: 0;
}

.sec_business .business_box li:nth-child(1) {
    position: static;
}

.sec_business .business_box li:nth-child(2) {
    position: static;
}

.sec_business .business_box li:nth-child(3) {
    position: static;
}

.sec_business .business_box li:nth-child(4) {
    position: static;
}

.sec_business .business_box li:nth-child(5) {
    position: static;
}

.sec_business .business_box .num    {

    vertical-align: baseline;
}

.sec_business .business_box li > a.w100p    {

    display: flex;

    align-items: flex-start;
    width: 100%;
    min-width: 0;
}

.sec_business .business_box .txt    {
    display: block;
    flex: 1;
    min-width: 0;
    margin-right: 7.4716%;
}

.sec_business .business_box .tri    {
    position: absolute;
    right: calc(var(--pane-w) * 0.0037476);
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: min(0.3125vw, 6px) solid transparent;
    border-bottom: min(0.3125vw, 6px) solid transparent;
    border-left: min(0.5208vw, 10px) solid #003b90;
}

.sec_business .btn_more {

    margin-left: 44.3037%;
}

.top_page .ticker_band  {

    position: relative;
    height: min(14.0625vw, 270px);

    z-index: 1;
}

.top_page .ticker_band .ticker__track   {
    margin-left: max(-10.9375vw, -210px);
}

.top_page .ticker_band .ticker__item img    {
    display: block;
    width: min(23.4375vw, 450px);
    height: min(14.0625vw, 270px);
    object-fit: cover;
}

.sec_recruit    {
}

.top_page section.sec_recruit > .inner  {

    display: flex;
    align-items: flex-start;
}

.sec_recruit .rec_head  {

    flex: 0 0 26.5691%;

    margin-left: 0;
}

.sec_recruit .rec_btns  {

    flex: 0 0 min(15.8854vw, 305px);
    margin-left: 6.8130%;
    margin-right: 0;
}

.sec_recruit .recruit_s {

    left: calc(var(--sframe) * 0.9147703);

    top: calc(var(--sframe) * -0.0989583);
    width: calc(var(--sframe) * 0.2367146);
}

.sec_recruit .sec_title {
}

.sec_recruit .sec_title .cap    {
    letter-spacing: 0;
}

.sec_recruit .sec_sub   {
    margin-top: max(-0.2604vw, -5px);
}

.sec_recruit .recruit_list  {
    position: relative;
    flex: 1;
    min-width: 0;
    width: auto;
    flex-shrink: 0;
}

.sec_recruit .recruit_list li   {

    line-height: min(1.2500vw, 24px);
}

.sec_recruit .recruit_list .date    {
    flex: 0 0 16.4477%;
}

.sec_recruit .recruit_list .tag {

    flex: 0 0 16.4477%;

    margin-right: 2.6317%;
    line-height: min(1.0417vw, 20px);
}

.sec_recruit .recruit_list .body    {

    flex: 1;
}

.sec_recruit .btn_recruit   {

    width: min(15.8854vw, 305px);
    background: linear-gradient(90deg, #003b90 0%, #00112a 100%);
    color: #fff;
    letter-spacing: max(-0.0229vw, -0.44px);
}

.sec_recruit .btn_recruit1  {
}

.sec_recruit .btn_recruit2  {
}

.top_page .news_list a.body,
.top_page .recruit_list a.body,
.top_page .business_box li a    {
    color: inherit;
    transition: opacity 0.3s ease;
}

.top_page .news_list a.body:hover,
.top_page .recruit_list a.body:hover,
.top_page .business_box li a:hover  {
    opacity: 0.7;
}

.top_page .business_box li a    {
    display: block;
    position: relative;
    height: auto;
}

.top_page .btn_more,
.top_page .btn_recruit,
.top_page .btn_news {
    isolation: isolate;
    overflow-x: hidden;
    overflow-y: visible;
    transition: color 0.3s ease, border-color 0.3s ease;
}

.top_page .btn_more::before,
.top_page .btn_recruit::before,
.top_page .btn_news::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #003b90 0%, #00112a 100%);
    z-index: -1;
    transition: opacity 0.3s ease;
}

.top_page .btn_more,
.top_page .btn_recruit  {
    background: #fff;
    border: 1px solid transparent;
}

.top_page .btn_more::before,
.top_page .btn_recruit::before  {
    opacity: 1;
}

.top_page .btn_more:hover,
.top_page .btn_recruit:hover    {
    color: #003b90;
    border-color: #003b90;
}

.top_page .btn_more:hover::before,
.top_page .btn_recruit:hover::before    {
    opacity: 0;
}

.top_page .btn_news {
    background: #fff;
    color: #003b90;
    border-color: #003b90;
}

.top_page .btn_news::before {
    opacity: 0;
}

.top_page .btn_news:hover   {
    color: #fff;
}

.top_page .btn_news:hover::before   {
    opacity: 1;
}

@media screen and (min-width: 1921px)   {
    .top_page   {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        overflow-x: clip;
    }

    .top_page > *:not(.sec_hero)    {
        max-width: 1920px;
        margin-left: auto;
        margin-right: auto;
    }

}

@media screen and (min-width: 1921px)   {

    .top_page .sec_hero {
        width: 100vw !important;
        left: 50%;
        margin-left: -50vw;
        height: 53.1250vw;
    }

    :root   {
        --ring-radius: 26.5417vw;
        --ring-card-w: 20.4323vw;
        --ring-card-h: 11.4948vw;
        --ring-perspective: 148.0990vw;
        --ring-offset-y: -0.9896vw;
    }

    .sec_hero .hero_s_right {
        left: 86.8750vw;
        width: 48.0595vw;
    }

    .sec_hero .hero_s_left  {
        left: 3.9564vw;
        top: 30.1563vw;
        width: 15.2260vw;
    }

    .sec_hero .hero_logo    {

        left: calc(50% - 5.46875vw - 11px);
        top: 5.1856vw;
        width: 10.9375vw;
        height: 3.4896vw;
    }

    .sec_hero .hero_logo .mark  {
        width: 4.2708vw;
        height: 3.4688vw;
    }

    .sec_hero .hero_logo .text  {
        width: 5.7292vw;
        height: 3.3698vw;
    }

    .sec_hero .hero_catch   {

        left: -34.75px;
        top: 13.0208vw;
        -webkit-text-stroke: 0.3646vw #fff;
    }

    .sec_hero .hero_catch .catch1   {
        font-size: 3.8542vw !important;
    }

    .sec_hero .hero_catch .catch1 .x    {
        font-size: 3.6458vw !important;
    }

    .sec_hero .hero_catch .catch1 .de   {
        font-size: 3.2292vw !important;
    }

    .sec_hero .hero_catch .catch2   {
        font-size: 3.7500vw !important;
        margin-top: 0.5208vw;
    }

    .sec_hero .hero_catch .catch2 .h    {
        font-size: 3.2292vw !important;
    }

    .sec_hero .hero_catch .catch2 .h_ni {
        font-size: 3.2813vw !important;
    }

    .sec_hero .hero_catch .catch1 .dot  {

        font-size: 3.8542vw !important;
        letter-spacing: -1.1562vw;
    }

}

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

    .sec_business > .inner  {
        position: static;
    }

    .sec_business .biz_row_top  {
        position: static;
        height: auto;
    }

    .sec_business .biz_col_left {
        position: static;
        width: auto;
        height: auto;
    }

    .sec_business .business_box {
        position: relative;
        top: auto;
        right: auto;
    }

    .sec_business .biz_col_left .sec_title,
    .sec_business .biz_col_left .sec_sub,
    .sec_business .biz_col_left .lead   {
        position: static;
        top: auto;
        left: auto;
    }

    .sec_business .biz_col_left .lead   {
    }

    .sec_business .btn_more {
        position: relative;
        width: 38.68vw;
    }

    .sec_hero .hero_catch   {
        left: 0;
    }

    .top_page section.sec_info > .inner,
    .top_page section.sec_mvv > .inner,
    .top_page section.sec_message > .inner,
    .top_page section.sec_business > .inner,
    .top_page section.sec_recruit > .inner  {

        max-width: none;
        padding: 0;
    }

    .top_page   {
    }

    .top_page section > .inner  {
        max-width: none;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .top_page .info_head,
    .top_page .info_body,
    .top_page .msg_col_left,
    .top_page .biz_row_top,
    .top_page .biz_col_left,
    .top_page .rec_head,
    .top_page .rec_btns {
        display: contents;
    }

    .top_page .sec_title_cap    {

        letter-spacing: -0.21vw;
    }

    .top_page br.sp {
        display: inline !important;
    }

    .top_page .sec_title_cap .cap   {
        letter-spacing: -0.37vw;
    }

    .top_page .sec_title_cap .cap_t {
        letter-spacing: -1.83vw;
    }

    .top_page .sec_sub  {
        line-height: 1.222707;
    }

    .top_page .btn_more {
        width: 38.55vw;
        max-width: none;

        letter-spacing: -0.09vw;
    }

    .sec_hero   {
        height: 216.28vw;
    }

    .sec_hero .hero_s_right {
        left: 78.88vw;
        top: 0;
        width: 93.89vw;
    }

    .sec_hero .hero_s_left  {
        left: 4.58vw;
        top: auto;
        bottom: 0;
        width: 20.87vw;
    }

    .sec_hero .hero_logo    {
        left: 31.04vw;
        top: 25.45vw;
        width: 39.95vw;
        height: 12.72vw;
    }

    .sec_hero .hero_logo .mark  {
        width: 15.62vw;
        height: 12.70vw;
    }

    .sec_hero .hero_logo .text  {
        width: 21.02vw;
        height: 12.34vw;
    }

    .sec_hero .hero_catch   {
        top: 45.80vw;

        -webkit-text-stroke: 0;
    }

    .sec_hero .hero_catch .catch1   {

        line-height: 1.356408;
    }

    .sec_hero .hero_catch .catch1 .dot  {
        letter-spacing: -3.18vw;
    }

    .sec_hero .hero_catch .catch2   {

        line-height: 1.341323;

    }

    .sec_info   {
    }

    .sec_info .sec_title    {
        letter-spacing: -0.02em;
        line-height: 1.167076;
    }

    .sec_info .sec_sub  {
    }

    .sec_info .news_list    {
        width: 89.82vw;
    }

    .sec_info .news_list li {

        line-height: 1.186732;
        white-space: normal;
    }

    .sec_info .news_list .date  {
        left: 0;
        top: 0;
    }

    .sec_info .news_list .tag   {
        left: 0;
        top: 7.38vw;
        width: 25.70vw;
        line-height: 1.876404;

    }

    .sec_info .news_list .body  {
        left: 0;
        top: 17.81vw;
        width: 100%;
        max-width: none;
        line-height: 1.7494;
        white-space: normal;

        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        word-break: break-all;
    }

    .sec_info .btn_news {
        width: 76.34vw;
        max-width: none;

        letter-spacing: -0.10vw;
    }

    .top_page .ticker_text2 {
        margin-top: -12.72vw;
    }

    .top_page .ticker_text .ticker__item span   {
        width: 98.98vw;
        letter-spacing: -0.18vw;
        line-height: 10.69vw;
    }

    .sec_mvv    {
        height: 221.37vw;
        background-image: url(../images/mvv_bg_sp.svg);
    }

    .sec_mvv .mvv_s {
        left: -117.81vw;
        top: 9.67vw;
        width: 165.90vw;
    }

    .sec_mvv .sec_title {
    }

    .sec_mvv .sec_title .cap    {
        line-height: 0.833515;
    }

    .sec_mvv .sec_sub   {
    }

    .sec_mvv .mvv_carousel  {
        width: 100%;

        height: 104.33vw;
    }

    .sec_mvv .mvv_viewport  {
        left: calc(50% - 40.71vw);
        width: 81.42vw;
    }

    .sec_mvv .mvv_track {
        gap: 2.54vw;
    }

    .sec_mvv .mvv_slide .photo  {
        width: 81.42vw;
        height: 50.89vw;
    }

    .sec_mvv .mvv_slide .card   {
        left: 0;
        top: 53.44vw;
        width: 81.42vw;
        height: 50.89vw;
    }

    .sec_mvv .mvv_slide .label  {
        left: 4.83vw;
        top: 5.09vw;
        letter-spacing: -0.05em;
        line-height: 1.186732;
    }

    .sec_mvv .mvv_slide .text   {
        left: 4.83vw;
        top: 15.01vw;
        width: 71.25vw;
        line-height: 1.7494;
        white-space: normal;
    }

    .sec_mvv .mvv_viewport,
    .sec_mvv .mvv_track,
    .sec_mvv .mvv_slide {
        height: 100%;
    }

    .sec_mvv .mvv_slide {
        display: block;
    }

    .sec_mvv .mvv_slide .photo,
    .sec_mvv .mvv_slide .card   {
        position: absolute;
    }

    .sec_mvv .mvv_slide .photo  {
        flex: 0 0 auto;
        align-self: auto;
    }

    .sec_mvv .mvv_slide .label,
    .sec_mvv .mvv_slide .text   {
        position: absolute;
    }

    .sec_mvv .mvv_arrow {
        top: 0;
        height: 50.89vw;
        transform: none;
        width: 3.38vw;
    }

    .sec_mvv .mvv_arrow img {
        width: 5.73vw;
        height: 3.38vw;
    }

    .sec_mvv .mvv_prev  {
        right: calc(50% + 40.71vw);
        left: auto;
    }

    .sec_mvv .mvv_next  {
        left: calc(50% + 40.71vw);
        right: auto;
    }

    .sec_mvv .btn_more  {

    }

    .sec_message    {
    }

    .sec_message > .inner   {
        width: 100%;
    }

    .sec_message .btn_more  {
        order: 1;
    }

    .sec_message .message_s {
        left: 70.23vw;
        top: -26.46vw;
        width: 86.77vw;
    }

    .sec_message .sec_title {
    }

    .sec_message .sec_sub   {
    }

    .sec_message .lead  {

        width: 68.70vw;
        line-height: 1.799607;
        white-space: normal;
    }

    .sec_message .photo {

        flex: 0 0 auto;

        width: 89.57vw;
        max-width: none;
        height: 53.74vw;
    }

    .sec_message .btn_more  {

    }

    .sec_business   {
        height: 279.90vw;
        background-image: url(../images/business_bg_sp.svg);
    }

    .sec_business::before   {
        bottom: 273.632vw;
    }

    .sec_business .business_s   {
        left: -117.81vw;
        top: 10.18vw;
        width: 165.90vw;
    }

    .sec_business .sec_title    {
    }

    .sec_business .sec_sub  {
    }

    .sec_business .lead {

        width: 89.82vw;
        line-height: 1.799607;
        white-space: normal;
    }

    .sec_business .business_box {

        width: 89.82vw;
    }

    .sec_business .business_box li  {
        left: 5.6666%;
        width: 88.6685%;
        height: auto;

        line-height: 6.11vw;

        border-bottom: 1px solid #002963;
        top: auto;
    }

    .sec_business .business_box li:last-child   {
        border-bottom: none;
    }

    .sec_business .business_box li::after   {
        display: none;
    }

    .sec_business .business_box {

    }

    .sec_business .business_box li::after   {
        content: "";
        position: absolute;
        left: 0;
        width: 100%;
        height: 1px;
        background: #002963;
    }

    .sec_business .business_box li:last-child::after    {
        display: none;
    }

    .sec_business .business_box li:nth-child(1) {
        top: 7.12vw;
    }

    .sec_business .business_box li:nth-child(1)::after  {
        top: 10.94vw;
    }

    .sec_business .business_box li:nth-child(2) {
        top: 23.66vw;
    }

    .sec_business .business_box li:nth-child(2)::after  {
        top: 11.70vw;
    }

    .sec_business .business_box li:nth-child(3) {
        top: 40.46vw;
    }

    .sec_business .business_box li:nth-child(3)::after  {
        top: 11.45vw;
    }

    .sec_business .business_box li:nth-child(4) {
        top: 57.25vw;
    }

    .sec_business .business_box li:nth-child(4)::after  {
        top: 16.03vw;
    }

    .sec_business .business_box li:nth-child(5) {
        top: 78.30vw;
    }

    .sec_business .business_box .num    {
        position: absolute;
        left: 0;
        top: 0;

        line-height: 6.11vw;
    }

    .sec_business .business_box .txt    {
        display: block;
        margin-left: 15.9744%;
        width: 76.6773%;

        line-height: 6.11vw;
        white-space: normal;
    }

    .sec_business .business_box .tri    {
        right: 0;
        border-top-width: 1.53vw;
        border-bottom-width: 1.53vw;
        border-left-width: 2.54vw;
    }

    .sec_business .btn_more {

    }

    .top_page .ticker_band  {
        height: 34.35vw;
    }

    .top_page .ticker_band .ticker__track   {
        margin-left: -58.27vw;
    }

    .top_page .ticker_band .ticker__item img    {
        width: 57.25vw;
        height: 34.35vw;
    }

    .sec_recruit    {
    }

    .sec_recruit .recruit_s {
        left: 70.23vw;
        top: -27.74vw;
        width: 86.77vw;
    }

    .sec_recruit .sec_title {
    }

    .sec_recruit .sec_sub   {
    }

    .sec_recruit .recruit_list  {

        width: 89.82vw;
        max-width: none;
    }

    .sec_recruit .recruit_list li   {
        height: auto;

        line-height: 1.186732;
        white-space: normal;
    }

    .sec_info .news_list li,
    .sec_recruit .recruit_list li   {
        display: block;
    }

    .sec_info .news_list .date,
    .sec_info .news_list .tag,
    .sec_info .news_list .body,
    .sec_recruit .recruit_list .date,
    .sec_recruit .recruit_list .tag,
    .sec_recruit .recruit_list .body    {
    }

    .sec_info .news_list .date,
    .sec_info .news_list .tag   {
        position: static;
        display: block;
        left: auto;
        top: auto;
    }

    .sec_info .news_list .body  {
        position: static;
        left: auto;
        top: auto;
    }

    .sec_recruit .recruit_list .date    {
        position: static;
        display: block;
    }

    .sec_recruit .recruit_list .tag {
        position: static;
        display: block;

        width: 25.70vw;
        line-height: 1.733146;

    }

    .sec_recruit .recruit_list .body    {
        position: static;
        display: block;

        line-height: 1.501229;

        width: 100%;
        max-width: none;
        overflow: visible;
    }

    .sec_recruit .btn_recruit   {

        width: 77.10vw;
        max-width: none;

        letter-spacing: -0.11vw;
    }

    .sec_recruit .btn_recruit1  {
    }

    .sec_recruit .btn_recruit2  {
    }

}

@media screen and (min-width: 835px) and (max-width: 1166px)    {

    .top_page section > .inner  {
        padding-left: 9.3771%;
        padding-right: 9.3771%;
    }

}
