@charset "UTF-8";

.body{
    overflow: hidden;
}

/* ==========================
header
============================= */

.mainvisual {
    content: "";
    background-image: url(../images/mainvisual_business.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 118vw;
    /* max-height: 442px; */
    position: relative;
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    /* これはcommon化してない */
}

/* ==========================
pc
============================= */
@media screen and (min-width:769px) {
    .mainvisual {
        height: calc(561 * (100vw/1440));
        margin-top: calc(8 * (100vw/1440));
    }

    .maintxt {
        width: calc(563 * (100vw/1440));
        font-size: calc(48 * (100vw/1440));
    }
}


/* ==========================
message
============================= */

.message_container {
    padding: 8% calc(17 * (100vw/375)) 32% calc(17 * (100vw/375));
    position: relative;
}

.message_container::after {
    /* content: ""; */
    background-image: url(../images/business_decoration_animated.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 45vw;
    height: 20vw;
    position: absolute;
    top: 0;
    right: 0;
}

.topic_business {
    position: relative;
}

.topic_business::before {
    content: "";
    background-image: url(../images/business_decoration3.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: calc(50 * (100vw/375));
    height: calc(56 * (100vw/375));
    position: absolute;
    display: block;
    top: calc(10 * (100vw/375));
    left: calc(200 * (100vw/375));
}

.topic_business::after {
    content: "";
    background-image: url(../images/business_decoration2.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: calc(55 * (100vw/375));
    height: calc(33 * (100vw/375));
    display: block;
    position: absolute;
    top: calc(-10 * (100vw/375));
    left: calc(213 * (100vw/375));
}

.topic_eng {
    color: var(--primary-bluetxt);
    font-size: calc(17 * (100vw/375));
    line-height: normal;
}

.topic_txt {
    color: var(--primary-bluetxt);
    font-size: calc(22 * (100vw/375));
    font-weight: 700;
    line-height: normal;
    letter-spacing: calc(1.76 * (100vw/375));
    position: relative;
}

.topic_txts {
    font-size: calc(15 * (100vw/375));
    line-height: normal;
    margin-top: calc(15 * (100vw/375));
}

.topic_txts:first-of-type {
    margin-top: calc(24 * (100vw/375));
}

.topic_txts_group {
    position: relative;
}

/* ==========================
pc
============================= */
@media screen and (min-width:769px) {
    .br-sp1 {
        display: none;
    }

    .message_container {
        padding: 5% calc(52 * (100vw/1440)) 16% calc(52 * (100vw/1440));
    }

    .message_container::after {
        background-image: url(../images/business_decoration_pc_animated.svg);
        background-repeat: no-repeat;
        background-size: contain;
        width: 38vw;
    }

    .topic_eng {
        font-size: calc(18 * (100vw/1440));
    }

    .topic_txt {
        font-size: calc(40 * (100vw/1440));
        letter-spacing: calc(3.2 * (100vw/1440));
    }

    .topic_txts:first-of-type {
        margin-top: calc(105 * (100vw/1440));
    }

    .topic_txts {
        font-size: calc(16 * (100vw/1440));
    }

    .topic_business::before {
        width: calc(135 * (100vw/1440));
        height: calc(130 * (100vw/1440));
        top: calc(-7 * (100vw/1440));
        left: calc(560 * (100vw/1440));
    }

    .topic_business::after {
        width: calc(104 * (100vw/1440));
        height: calc(57 * (100vw/1440));
        top: calc(-43 * (100vw/1440));
        left: calc(606 * (100vw/1440));
    }
}

/* ==========================
business
============================= */
.business {
    background-color: var(--primary-yellow);
}

.business1 {
    position: relative;
}

.business_img img {
    width: calc(297 * (100vw/375));
    height: calc(228 * (100vw/375));
    border-radius: calc(40 * (100vw/375));
}

.business_img {
    display: flex;
    justify-content: center;
    padding: calc(26 * (100vw/375)) 0 calc(20 * (100vw/375)) 0;
}

.business1::before {
    content: "";
    background-image: url(../images/business_vector_upper.png);
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    width: 100%;
    height: calc(80 * (100vw/375));
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    /* heightは80/375*100でvwで指定　widthは100% */
}

.business_group {
    padding: calc(5 * (100vw/375)) 0 calc(20 * (100vw/375)) 0;
    border-radius: calc(40 * (100vw/375));
    background-color: var(--primary-white);
}

.business_group_number {
    color: var(--primary-bluetxt);
    font-size: calc(60 * (100vw/375));
    font-weight: 700;
    letter-spacing: calc(1.2 * (100vw/375));
    text-align: center;
}

.business_group_title {
    color: var(--primary-blue);
    text-align: center;
    font-size: calc(20 * (100vw/375));
    font-weight: 700;
    line-height: normal;
}

.business_group_subtitle {
    color: var(--primary-bluetxt);
    font-size: calc(16 * (100vw/375));
    font-weight: 700;
    line-height: normal;
    text-align: center;
}

.business_group_txt {
    color: var(--primary-black);
    font-size: calc(15 * (100vw/375));
    line-height: calc(28 * (100vw/375));
    padding: 0 calc(17 * (100vw/375));
}

.business_group_txt1 {
    margin-top: calc(15 * (100vw/375));
}

.business_group_txts {
    margin-top: calc(24 * (100vw/375));
}

.business_group_titles {
    margin-top: calc(16 * (100vw/375));
}

.business4 {
    position: relative;
}

.business4::after {
    content: "";
    background-image: url(../images/Vector_under_sp.png);
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: calc(80 * (100vw/375));
    position: absolute;
    left: 0;
    bottom: calc(2 * (100vw/375));
    transform: translateY(100%);
}

/* ==========================
pc
============================= */

@media screen and (min-width:769px) {

    .business1::before{
        background-image: url(../images/business_vector_upper-pc.png);
        height: calc(150 * (100vw/1440));
    }

    .business4::after{
        background-image: url(../images/business_vector_under-pc.png);
        height: calc(150 * (100vw/1440));
    }

    .business_container {
        display: flex;
        align-items: flex-start;
        background-color: var(--primary-white);
        border-radius: calc(40 * (100vw/1440));
        padding: calc(59 * (100vw/1440)) 6%;
        justify-content: center;
        width: 93%;
        margin: 0 auto;
        align-items: center;
        gap: calc(60 * (100vw/1440));
    }

    .business_container1,
    .business_container3 {
        flex-direction: row-reverse;
    }

    .business_group {
        background-color: transparent;
        flex: 1;
    }

    .business_group_txts{
        margin-top: calc(60 * (100vw/1440));
    }

    .business_group_top {
        display: flex;
        align-items: center;
        gap: calc(62 * (100vw/1440));
    }

    .business_group_number {
        font-size: calc(120 * (100vw/1440));
    }

    .business_group_title {
        font-size: calc(28 * (100vw/1440));
    }

    .business_group_title_last {
        font-size: calc(27 * (100vw/1440)) !important;
    }

    .business_group_titles {
        margin-top: calc(36 * (100vw/1440));
    }

    .business_group_subtitle {
        font-size: calc(22 * (100vw/1440));
    }

    .business_group_txt {
        font-size: calc(16 * (100vw/1440));
        padding: 0;
        line-height: calc(36 * (100vw/1440));
    }

    .business_group_txt1 {
        margin-top: calc(16 * (100vw/1440));
    }

    .business_img {
        padding: 0;
        display: block;
        width: calc(561 * (100vw/1440));
        height: calc(456 * (100vw/1440));
    }

    .business_img img {
        height: auto;
        width: 100%;
        height: 100%;
        max-width: initial;
        border-radius: calc(40 * (100vw/1440));
    }

    .btn_jump1 .btn {
        width: calc(299 * (100vw/1440));
    }

    .btn_jump2 .btn {
        width: calc(322 * (100vw/1440));
    }

    .btn_jump3 .btn {
        width: calc(259 * (100vw/1440));
    }

    .btn_jump4 .btn {
        width: calc(301 * (100vw/1440));
    }

    .btn::after {
        right: calc(20 * (100vw/1440));
        width: calc(40 * (100vw/1440));
        height: calc(40 * (100vw/1440));
    }

    .btn {
        margin-top: calc(48 * (100vw/1440));
        padding: calc(12 * (100vw/1440)) calc(45 * (100vw/1440)) calc(12 * (100vw/1440)) calc(24 * (100vw/1440));
        font-size: calc(20 * (100vw/1440));
        height: calc(60 * (100vw/1440));
        padding-top: calc(14 * (100vw/1440));
        text-align: start;
    }

    .business2,
    .business3,
    .business4 {
        padding-top: calc(48 * (100vw/1440));
    }

    .business1 {
        padding-top: calc(102 * (100vw/1440));
    }

    .business4 {
        padding-bottom: calc(102 * (100vw/1440));
    }
}

/* ==========================
fadeIn
============================= */

.business:nth-child(even) .business_container{
    transform: translateX(-400%);
    transition: transform 2.2s ease-in-out;
}

.business:nth-child(odd) .business_container{
    transform: translateX(400%);
    transition: transform 2.2s ease-in-out;
}

.business .business_container.show{
    transform: translateX(0%);
}