@charset "utf-8";

.step_list {
    display: flex;
    flex-direction: column;
}
.step_listitem {
    display: flex;
}
.step_ttl {
    line-height: 1;
}
.step_ttl_name {
    color: var(--theme-color);
}
.step_img_wrap img {
    width: 100%;
}
@media (min-width: 769px) {
    .business_kv_inner {
        height: 364rem;
    }
    .business_kv_img {
        width: 446rem;
    }
    .step_list {
        row-gap: 48rem;
        margin-bottom: 19rem;
        margin-top: 21rem;
    }
    .step_listitem {
        column-gap: 18rem;
        align-items: center;
    }
    .step_listitem--top {
        align-items: flex-start;
    }
    .step_img_wrap {
        width: 200rem;
        flex: 0 0 auto;
    }
    .step_ttl_num,
    .step_ttl_name {
        font-size: 40rem;
    }
    .step_ttl_name {
        padding-left: 8rem;
    }
    .step_body {
        font-size: 16rem;
        margin-top: 12rem;
        line-height: calc(28 / 16);
    }
}

@media (max-width: 768px) {
    .business_kv_img {
        width: 100%;
    }
    .business_kv_ttl {
        white-space: nowrap;
    }
    .flex_item_lead + .flex_item_txt {
        margin-top: 43rem;
    }
    .step_list {
        row-gap: 104rem;
        margin-top: 12rem;
    }
    .step_listitem {
        flex-direction: column;
        row-gap: 23rem;
    }
    .step_img_wrap {
        width: 400rem;
        margin: auto;
    }
    .step_ttl {
        display: flex;
        flex-direction: column;
        row-gap: 20rem;
    }
    .step_ttl_num {
        font-size: 80rem;
    }
    .step_ttl_name {
        font-size: 80rem;
        padding-left: 0rem;
    }
    .step_body {
        font-size: 32rem;
        margin-top: 22rem;
        line-height: calc(56 / 32);
    }
}

/* .anim_title_bg */
.anim_title_bg {
    position: relative;
    line-height: 1.1;
    display: inline-block;
    /*要素ごとにpaddingを決める*/
}
.anim_title_bg::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background-color: var(--theme-color);
    transform: skew(-15deg);
    transform-origin: left bottom;
}
.anim_title_hidden {
    overflow: hidden;
    position: relative;
    display: inline-block;
    margin-right: -15rem;
}
.anim_title_slideUp {
    color: var(--color-white);
    display: inline-block;
    position: relative;
    z-index: 1;
    padding-right: 15rem;
}
.animation_ready .anim_title_bg::before {
    width: 0%;
    transition: width 0.6s 0s;
}
.animation_ready .anim_title_slideUp {
    transform: translateY(101%);
}
.animation_loaded .overseas_brigade_ttl_wrap.is_animated .anim_title_bg::before {
    width: 100%;
}
.animation_loaded .overseas_brigade_ttl_wrap.is_animated .anim_title_slideUp {
    transform: translateY(0%);
    transition: transform 0.6s 0.6s;
}

/* overseas_brigade */
.overseas_brigade {
    width: 100%;
}
.overseas_brigade_ttl_wrap {
    text-align: center;
}
.overseas_advisor_ttl,
.overseas_partner_ttl {
    text-align: center;
}
.overseas_advisor_img_wrap img,
.overseas_partner_img_wrap img {
    width: 100%;
}
.overseas_advisor_list {
    display: grid;
    grid-template-rows: auto;
}
.overseas_partner_list {
    display: grid;
    grid-template-rows: auto;
}
@media (min-width: 769px) {
    .overseas_ttl {
        font-size: 48rem;
        line-height: calc(96 / 80);
    }
    .overseas_ttl_inner {
        padding-left: 10rem;
        margin-left: -10rem;
    }
    .overseas_advisor {
        margin-top: 55rem;
    }
    .overseas_advisor_ttl,
    .overseas_partner_ttl {
        font-size: 40rem;
    }
    .overseas_advisor_list {
        grid-template-columns: repeat(2, 1fr);
        margin-top: 30rem;
        gap: 0 80rem;
    }
    .overseas_partner {
        margin-top: 53rem;
    }
    .overseas_partner_list {
        grid-template-columns: repeat(4, 1fr);
        margin-top: 45rem;
        gap: 0 27rem;
    }
    .overseas_partner_link {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 4;
    }
    .overseas_advisor_name,
    .overseas_partner_name {
        font-size: 24rem;
        margin-top: 16rem;
    }
    .overseas_advisor_name_s {
        font-size: 20rem;
    }
    .overseas_advisor_role,
    .overseas_partner_loc {
        margin-top: 8rem;
    }
    .overseas_advisor_desc,
    .overseas_partner_desc {
        margin-top: 13rem;
        line-height: calc(28 / 16);
    }
    @media (hover: hover) {
        .overseas_partner_link:hover .overseas_partner_name {
            text-decoration: underline;
        }
    }
}
@media (max-width: 768px) {
    .overseas_ttl {
        font-size: 80rem;
        line-height: calc(96 / 80);
    }
    .overseas_ttl_inner {
        padding-left: 50rem;
        margin-left: -50rem;
    }
    .overseas_advisor {
        margin-top: 72rem;
    }
    .overseas_advisor_ttl,
    .overseas_partner_ttl {
        font-size: 60rem;
    }
    .overseas_partner_ttl {
        line-height: calc(76 / 60);
    }
    .overseas_partner_ttl .anim_slide_line_inner {
        display: inline-block;
        padding: 12rem 15rem;
    }
    .overseas_advisor_list {
        margin-top: 60rem;
        gap: 54rem 0;
    }
    .overseas_partner {
        margin-top: 84rem;
    }
    .overseas_partner_list {
        margin-top: 60rem;
        gap: 48rem 0;
    }
    .overseas_partner_item {
        padding-inline: 38rem;
    }
    .overseas_advisor_name,
    .overseas_partner_name {
        font-size: 40rem;
        margin-top: 25rem;
    }
    .overseas_advisor_name_s {
        font-size: 36rem;
    }
    .overseas_advisor_role,
    .overseas_partner_loc {
        margin-top: 35rem;
    }
    .overseas_advisor_desc,
    .overseas_partner_desc {
        margin-top: 32rem;
        line-height: calc(56 / 32);
        font-size: 32rem;
    }
}

/* overseas_step */
.overseas_step {
    text-align: center;
    width: 100%;
}
.overseas_step_ttl {
    line-height: 1;
}
.overseas_step_txt {
    text-align: left;
}
@media (min-width: 769px) {
    .overseas_step {
        margin-top: 26rem;
    }
    .overseas_step_ttl {
        font-size: 24rem;
    }
    .overseas_step_ttl_inner {
        display: block;
        padding-block: 8rem;
    }
    .overseas_step_txt {
        margin-top: 12rem;
        line-height: 1.5;
    }
    .overseas_step_txt .fw700 {
        font-size: 18rem;
    }
    .overseas_step_btn {
        margin-top: 20rem;
        --btn-width: 360rem;
        line-height: calc(32 / 20);
    }
    .overseas_step_btn .btn_inner {
        padding: 12rem 0 12rem 10rem;
    }
}
@media (max-width: 768px) {
    .overseas_step_ttl {
        font-size: 40rem;
        margin-top: 44rem;
    }
    .overseas_step_ttl_inner {
        display: block;
        padding-block: 14rem;
    }
    .overseas_step_txt {
        margin-top: 18rem;
        font-size: 32rem;
        line-height: calc(52 / 32);
    }
    .overseas_step_txt .fw700 {
        font-size: 36rem;
    }
    .overseas_step_btn {
        margin-top: 20rem;
        --btn-width: 640rem;
        line-height: calc(52 / 36);
    }
    .overseas_step_btn .btn_inner {
        padding-block: 40rem;
    }
}
