@charset "UTF-8";

/* =========================== */
/*  fv */
/* =========================== */
#fv {
    position: relative;
    background-image: url(../images/fv_sp.jpg);
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 28.3% 0 38%;
    text-align: center;
}


#fv .copy {
    writing-mode: vertical-rl;
    margin: 0 auto 0 3.1%;
    line-height: 1.15;
    display: inline-block;
    text-align: left;
}

    #fv .kerning {
        letter-spacing: -0.5em;
    }

#fv .color01 {
    font-size: calc(82/var(--device-width) *var(--main-width));
    font-weight: bold;
    color: #006BC6;
    margin: auto;
    line-height: 1.3;
    height: 43%;
    font-feature-settings: "palt";
}

#fv .color02 {
    font-size: calc(82/var(--device-width) *var(--main-width));
    font-weight: bold;
    color: #FF004D;
    font-feature-settings: "palt";
}


@media screen and (min-width: 750px) {
    #fv {
        position: relative;
        background-image: url(../images/fv_pc.jpg);
        background-position: top center;
        background-size: cover;
        background-repeat: no-repeat;
        padding: 0;
        height: calc(602 / var(--device-width) * var(--main-width));
        margin-top: calc(88 / var(--device-width) * var(--main-width));
    }

    #fv .copy {
        font-size: calc(58 / var(--device-width) * var(--main-width));
        margin: 0% -31.4% 0 auto;
        padding-top: 1.8%;
        line-height: 1.2;
        box-sizing: border-box;
    }

    /* @-moz-document url-prefix() {
        #fv .copy {
            margin: 0% -31.4% 0 auto;
        }
    } */

    #fv .color01 {
        writing-mode: vertical-rl;
        font-size: calc(58/var(--device-width) *var(--main-width));
        font-weight: bold;
        margin: auto;
        line-height: 1.3;
        height: 43%;
        font-feature-settings: "palt";
    }

    #fv .color02 {
        writing-mode: vertical-rl;
        font-size: calc(58/var(--device-width) *var(--main-width));
        font-weight: bold;
        font-feature-settings: "palt";
    }

    #fv .kerning {
        letter-spacing: -0.5em;
    }

}
/* フェードイン(初期値) */
.js-fadeUp {
    opacity: 0;
    /* 最初は非表示 */
    transform: translateY(30px);
    /* 下に30pxの位置から */
    transition: opacity .8s, transform 1s;
    /* 透過率と縦方向の移動を0.8秒 */
}

/* フェードイン(スクロールした後) */
.js-fadeUp.is-inview {
    opacity: 1;
    /* 表示領域に入ったら表示 */
    transform: translateY(0);
    /* 30px上に移動する */
    transition-delay: 0.5s;
    /* フェード開始を0.5秒遅らせる */
}

/* フェードイン(初期値) */
.js-fadeUp2 {
    opacity: 0;
    /* 最初は非表示 */
    transform: translateY(30px);
    /* 下に30pxの位置から */
    transition: opacity .8s, transform 1s;
    /* 透過率と縦方向の移動を0.8秒 */
}

/* フェードイン(スクロールした後) */
.js-fadeUp2.is-inview {
    opacity: 1;
    /* 表示領域に入ったら表示 */
    transform: translateY(0);
    /* 30px上に移動する */
    transition-delay: 1.5s;
    /* フェード開始を0.5秒遅らせる */
}

/* フェードイン(初期値) */
.js-fadeUp3 {
    opacity: 0;
    /* 最初は非表示 */
    transform: translateY(30px);
    /* 下に30pxの位置から */
    transition: opacity .8s, transform 1s;
    /* 透過率と縦方向の移動を0.8秒 */
}

/* フェードイン(スクロールした後) */
.js-fadeUp3.is-inview {
    opacity: 1;
    /* 表示領域に入ったら表示 */
    transform: translateY(0);
    /* 30px上に移動する */
    transition-delay: 2.5s;
    /* フェード開始を0.5秒遅らせる */
}

@media screen and (min-width: 750px) {
    .js-fadeUp3 {
    opacity: 0;
    /* 最初は非表示 */
    transform: translateY(30px);
    /* 下に30pxの位置から */
    transition: opacity .8s, transform 1s;
    /* 透過率と縦方向の移動を0.8秒 */
}

/* フェードイン(スクロールした後) */
.js-fadeUp3.is-inview {
    opacity: 1;
    /* 表示領域に入ったら表示 */
    transform: translateY(0);
    /* 30px上に移動する */
    transition-delay: 3s;
    /* フェード開始を0.5秒遅らせる */
}}



/* =========================== */
/*  message*/
/* =========================== */
#message {
    position: relative;
    background-image: url("../images/bg_message_sp.jpg");
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 15.3% 13.3% 13%;
    z-index: 30;
}

#message h2 {
    color: #fff;
    margin-bottom: 2.1em;
}

#message h2 span:first-of-type {
    margin-bottom: 1.1em;
}

#message p {
    color: #fff;
    font-size: calc(36/var(--device-width) *var(--main-width));
    font-weight: bold;
    line-height: 1.5em;
    margin-bottom: 12%;
}

#message a.btn {
    position: relative;
    display: block;
    color: #fff;
    background-color: #FF004D;
    width: 97%;
    border-radius: calc(11/var(--device-width) *var(--main-width));
    margin: 0 auto;
    text-align: center;
    font-size: calc(30 / var(--device-width) * var(--main-width));
    font-weight: bold;
    padding: 1.3em 0;
    box-sizing: border-box;
}

#message a.btn::after {
    content: "";
    position: absolute;
    top: calc(0 / var(--device-width) * var(--main-width));
    right: calc(30 / var(--device-width) * var(--main-width));
    bottom: 0;
    margin: auto;
    background-image: url(../images/icon01.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: calc(40 / var(--device-width) * var(--main-width));
    height: calc(40 / var(--device-width) * var(--main-width));
}

@media screen and (min-width: 750px) {
    #message {
        background-image: url(../images/bg_message_pc.jpg);
        background-position: top center;
        background-size: cover;
        background-repeat: no-repeat;
        padding: 5.5% 10% 3.3% 19.4%;
        z-index: 100;
    }

    #message .flex {
        display: flex;
        justify-content: flex-start;
        gap: 14%;
        margin-bottom: 0;
    }

    #message p {
        font-size: calc(22 / var(--device-width) * var(--main-width));
        margin: 0;
        padding-top: 2.7%;
    }

    #message a.btn {
        width: 27%;
        border-radius: calc(5 / var(--device-width) * var(--main-width));
        margin: 0 auto 0 29%;
        text-align: center;
        font-size: calc(16 / var(--device-width) * var(--main-width));
        font-weight: bold;
        padding: 1.1em;
        box-sizing: border-box;
    }

    #message a.btn::after {
        right: calc(25 / var(--device-width) * var(--main-width));
        width: calc(25 / var(--device-width) * var(--main-width));
        height: calc(25 / var(--device-width) * var(--main-width));
    }
}

/* =========================== */
/*  company*/
/* =========================== */

#company {
    position: relative;
    background-color: #FDEDF0;
    padding: 15% 0 0;
    z-index: 20;
}

#company::before {
    content: "";
    position: absolute;
    top: calc(-104 / var(--device-width) * var(--main-width));
    left: calc(-24 / var(--device-width) * var(--main-width));
    background-image: url(../images/bg_flower01.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: calc(273 / var(--device-width) * var(--main-width));
    height: calc(336 / var(--device-width) * var(--main-width));
}


#company h2 {
    position: relative;
    color: #fff;
    background-image: url(../images/img01_sp.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 89.5%;
    margin: 0 0 0 auto;
    box-sizing: border-box;
    padding: 6% 6% 32.4%;
    z-index: 20;
}

#company .text {
    position: relative;
    z-index: 10;
    background-color: #fff;
    width: 90%;
    margin: -26% auto 0;
    box-sizing: border-box;
    padding: 32% 9% 16%;
    text-align: justify;
    line-height: 1.7;
}

#company div p {
    font-size: calc(26 / var(--device-width) * var(--main-width));
    font-weight: 400;
    margin-bottom: 2.2em;
}

#company div ul {
    display: flex;
    flex-wrap: wrap;
    gap: 4vw 0;
    justify-content: space-between;
    margin: auto;
}

#company div ul li {
    position: relative;
    font-size: calc(28 / var(--device-width) * var(--main-width));
    font-weight: bold;
    width: 43%;
    border-bottom: solid 1px #ccc;
    padding-bottom: 1%;
}

#company div ul li::after {
    content: "";
    position: absolute;
    top: calc(0 / var(--device-width) * var(--main-width));
    right: calc(0 / var(--device-width) * var(--main-width));
    bottom: 0;
    margin: auto;
    background-image: url(../images/icon04.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: calc(20 / var(--device-width) * var(--main-width));
    height: calc(20 / var(--device-width) * var(--main-width));
}

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

    #company {
        padding: 9.8% 0 0;
    }

    #company::before {
        top: calc(-144 / var(--device-width) * var(--main-width));
        left: calc(-74 / var(--device-width) * var(--main-width));
        background-image: url(../images/bg_flower01_pc.png);
        width: calc(657 / var(--device-width) * var(--main-width));
        height: calc(397 / var(--device-width) * var(--main-width));
    }

    #company::after {
        content: "";
        position: absolute;
        bottom: calc(-90 / var(--device-width) * var(--main-width));
        right: calc(-20 / var(--device-width) * var(--main-width));
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url(../images/bg_flower02_pc.png);
        width: calc(317 / var(--device-width) * var(--main-width));
        height: calc(273 / var(--device-width) * var(--main-width));
    }


    #company h2 {
        background-image: url(../images/img01_pc.png);
        width: 79.5%;
        padding: 5% 5% 18% 5%;
    }

    #company .text {
        position: relative;
        display: flex;
        justify-content: space-between;
        background-color: #fff;
        width: 84%;
        margin: -9.3% auto 0;
        box-sizing: border-box;
        padding: 13% 9% 6%;
        text-align: justify;
        line-height: 1.7;
    }

    #company div p {
        font-size: calc(16 / var(--device-width) * var(--main-width));
        font-weight: 400;
        margin-bottom: 0;
        width: calc(383 / var(--device-width) * var(--main-width));
        text-align: justify;
        line-height: 1.9;
    }

    #company div ul {
        display: flex;
        flex-wrap: wrap;
        gap: 1em 0em;
        justify-content: space-between;
        margin: 0;
        width: calc(379 / var(--device-width) * var(--main-width));

    }

    #company div ul li {
        font-size: calc(20 / var(--device-width) * var(--main-width));
        font-weight: bold;
        width: 45%;
        border-bottom: solid 1px #ccc;
        padding-bottom: 1%;
    }

    #company div ul li::after {
        right: calc(0 / var(--device-width) * var(--main-width));
        width: calc(14/var(--device-width) *var(--main-width));
        height: calc(14/var(--device-width) *var(--main-width));
    }
}

/* =========================== */
/*  business*/
/* =========================== */

#business {
    position: relative;
    background-color: #E5F4FA;
    padding: 10% 5% 35%;
    z-index: 10;
}

#business h2 .color {
    color: #0069C0;
}


@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

#business::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-image: url(../images/bg_logo_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 110%;
    height: calc(205 / var(--device-width) * var(--main-width));
    margin: auto;
    z-index: -1;
    animation: infinity-scroll-left 80s infinite linear 0.5s both;
}

#business::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: -121%;
    background-image: url(../images/bg_logo_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 110%;
    height: calc(205 / var(--device-width) * var(--main-width));
    margin: auto;
    z-index: -1;
    animation: infinity-scroll-left 80s infinite linear 0.5s both;
}

#business h2 {
    position: relative;
    color: #0090D0;
    margin-bottom: 2.2em;
    box-sizing: border-box;
    padding-left: 0.5em;
}

#business h2::before {
    content: "";
    position: absolute;
    top: calc(-111 / var(--device-width) * var(--main-width));
    right: calc(6 / var(--device-width) * var(--main-width));
    background-image: url(../images/bg_flower02.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: calc(124 / var(--device-width) * var(--main-width));
    height: calc(124 / var(--device-width) * var(--main-width));
}

#business h2 span {
    color: #000;
    margin-bottom: 1.1em;
}

#business .flex>p {
    font-size: calc(26 / var(--device-width) * var(--main-width));
    font-weight: 400;
    line-height: 1.7;
    margin-bottom: 3em;
    box-sizing: border-box;
    padding-left: 0.7em;
    letter-spacing: 0.03em;
}

#business ul {
    display: flex;
    flex-direction: column;
    gap: 4vw;
}

#business ul li {
    border-radius: 10%;
}

#business ul p {
    position: relative;
    background: #fff;
    font-size: calc(30 / var(--device-width) * var(--main-width));
    font-weight: bold;
    padding: 5% 6% 5.8%;
    letter-spacing: 0.04em;
    border-bottom-left-radius: 3vw;
    border-bottom-right-radius: 3vw;
}

#business ul p::after {
    content: "";
    position: absolute;
    top: calc(0 / var(--device-width) * var(--main-width));
    right: calc(38 / var(--device-width) * var(--main-width));
    bottom: 0;
    margin: auto;
    background-image: url(../images/icon03.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: calc(28 / var(--device-width) * var(--main-width));
    height: calc(28 / var(--device-width) * var(--main-width));
}

@media screen and (min-width: 750px) {
    #business {
        position: relative;
        background-color: #E5F4FA;
        padding: 4.7% 11% 21%;
        z-index: 10;
    }

    @keyframes infinity-scroll-left {
        from {
            transform: translateX(0);
        }

        to {
            transform: translateX(-100%);
        }
    }

    #business::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background-image: url(../images/bg_logo_pc.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 110%;
        height: calc(290 / var(--device-width) * var(--main-width));
        margin: auto;
        animation: infinity-scroll-left 80s infinite linear 0.5s both;
    }

    #business::after {
        content: "";
        position: absolute;
        bottom: 0;
        right: -112%;
        background-image: url(../images/bg_logo_pc.png);
        background-size: contain;
        background-repeat: no-repeat;
        width: 110%;
        height: calc(290 / var(--device-width) * var(--main-width));
        margin: auto;
        animation: infinity-scroll-left 80s infinite linear 0.5s both;
    }


    #business h2::before {
        content: none;
    }

    #business .flex {
        display: flex;
    }

    #business .flex>p {
        font-size: calc(16 / var(--device-width) * var(--main-width));
        font-weight: 400;
        line-height: 1.7;
        margin-bottom: 3em;
        box-sizing: border-box;
        padding-top: 3.7%;
        padding-left: 16%;
        letter-spacing: 0.03em;
    }

    #business ul {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 3vw 0;
        margin: auto;
        width: 97%;
    }

    #business ul li {
        border-radius: 3vw;
        width: 31%;
    }

    #business ul p {
        display: grid;
        place-content: center left;
        background: #fff;
        font-size: calc(20 / var(--device-width) * var(--main-width));
        font-weight: bold;
        padding: 0 0 0 1.1em;
        letter-spacing: 0.04em;
        line-height: 1.3;
        border-bottom-left-radius: 1vw;
        border-bottom-right-radius: 1vw;
        height: calc(80 / var(--device-width) * var(--main-width));
        box-sizing: border-box;

    }

    #business ul p::after {
        top: calc(0 / var(--device-width) * var(--main-width));
        right: calc(13 / var(--device-width) * var(--main-width));
        width: calc(25 / var(--device-width) * var(--main-width));
        height: calc(25 / var(--device-width) * var(--main-width));
    }
}

/* =========================== */
/*  recruit*/
/* =========================== */
#recruit {
    position: relative;
    padding: 31% 4% 15%;
}

#recruit::after {
    content: "";
    position: absolute;
    top: -17.3%;
    left: 0;
    right: 0;
    background-image: url(../images/gb_wave_sp.png);
    background-position: center;
    background-size: 103%;
    background-repeat: no-repeat;
    width: 100%;
    height: calc(370 / var(--device-width) * var(--main-width));
    margin: auto;
    z-index: 20;
}

#recruit h2 {
    margin-bottom: 2em;
    box-sizing: border-box;
    padding-left: 1.9em;


}

#recruit h2 span {
    margin-bottom: 1.1em;
}

#recruit .recruit01 {
    background-image: url(../images/bnr_rec01_sp.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    margin: auto;
    box-sizing: border-box;
    padding: 16% 9% 8%;
    margin-top: -15%;
    margin-bottom: 5%;
    border-radius: 2vw;
}

#recruit .recruit01 p {
    color: #fff;
    font-size: calc(30 / var(--device-width) * var(--main-width));
    font-weight: bold;
    line-height: 1.3;
    letter-spacing: 0.03em;
    margin-bottom: 9%;
}

#recruit .recruit01 a.btn {
    position: relative;
    display: block;
    color: #fff;
    font-size: calc(30 / var(--device-width) * var(--main-width));
    font-weight: bold;
    background-color: #333;
    border-radius: 2vw;
    box-sizing: border-box;
    text-align: left;
    padding-left: calc(46 / var(--device-width) * var(--main-width));
    letter-spacing: 0.05em;
    width: 80%;
    margin-left: -4%;
    margin-bottom: 0;
    height: calc(110 / var(--device-width) * var(--main-width));
    line-height: calc(110 / var(--device-width) * var(--main-width));
}

#recruit .recruit01 a.btn::after {
    content: "";
    position: absolute;
    top: calc(0 / var(--device-width) * var(--main-width));
    right: calc(31 / var(--device-width) * var(--main-width));
    bottom: 0;
    margin: auto;
    background-image: url(../images/icon01.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: calc(40 / var(--device-width) * var(--main-width));
    height: calc(40 / var(--device-width) * var(--main-width));
}

#recruit .recruit02 {
    background-image: url(../images/bnr_rec02_sp.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    margin: auto;
    box-sizing: border-box;
    padding: 4% 5% 3%;
    border-radius: 2vw;
    border: solid 2px #0090D0;
}

#recruit .recruit02 p {
    color: #006BC6;
    font-size: calc(60 / var(--device-width) * var(--main-width));
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 0.4em;
}

#recruit .recruit02 a.btn {
    position: relative;
    display: block;
    color: #fff;
    font-size: calc(30 / var(--device-width) * var(--main-width));
    font-weight: bold;
    background-color: #333;
    border-radius: 2vw;
    box-sizing: border-box;
    text-align: left;
    width: 72%;
    height: calc(110 / var(--device-width) * var(--main-width));
    line-height: calc(110 / var(--device-width) * var(--main-width));
    padding-left: calc(46 / var(--device-width) * var(--main-width));
    letter-spacing: 0.05em;
    margin-bottom: 0;
}

#recruit .recruit02 a.btn::after {
    content: "";
    position: absolute;
    top: calc(0 / var(--device-width) * var(--main-width));
    right: calc(31 / var(--device-width) * var(--main-width));
    bottom: 0;
    margin: auto;
    background-image: url(../images/icon01.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: calc(40 / var(--device-width) * var(--main-width));
    height: calc(40 / var(--device-width) * var(--main-width));
}

@media screen and (min-width: 750px) {
    #recruit {
        position: relative;
        padding: 15% 15% 11.5%;
    }

    #recruit::after {
        content: "";
        position: absolute;
        top: -19.8%;
        left: 0;
        right: 0;
        background-image: url(../images/gb_wave_pc.png);
        background-position: center;
        background-size: 140%;
        background-repeat: no-repeat;
        width: 100%;
        height: calc(277 / var(--device-width) * var(--main-width));
        margin: auto;
        z-index: 20;
    }

    #recruit h2 {
        margin-bottom: 1.3em;
        box-sizing: border-box;
        padding-left: 2.4em;
    }

    #recruit .recruit01 {
        background-image: url(../images/bnr_rec01_pc.png);
        background-size: 100%;
        width: 100%;
        padding: 0;
        margin-top: -7.1%;
        margin-bottom: 3%;
        border-radius: 1vw;
        padding-top: 8%;
        padding-left: 6%;
        padding-bottom: 6%;
        box-sizing: border-box;
    }

    #recruit .recruit01 p {
        color: #fff;
        font-size: calc(22 / var(--device-width) * var(--main-width));
        font-weight: 500;
        line-height: 1.6;
        letter-spacing: 0.03em;
        margin-bottom: 3.5%;
    }

    #recruit .recruit01 a.btn {
        color: #fff;
        font-size: calc(16 / var(--device-width) * var(--main-width));
        font-weight: bold;
        border-radius: 5px;
        box-sizing: border-box;
        padding-left: 7%;
        width: 34%;
        margin-left: 0;
        margin-bottom: 0;
        height: calc(54 / var(--device-width) * var(--main-width));
        line-height: calc(54 / var(--device-width) * var(--main-width));
    }

    #recruit .recruit01 a.btn::after {
        right: calc(11 / var(--device-width) * var(--main-width));
        width: calc(25 / var(--device-width) * var(--main-width));
        height: calc(25 / var(--device-width) * var(--main-width));
    }

    #recruit .recruit02 {
        background-image: url(../images/bnr_rec02_pc.png);
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        width: 100%;
        margin: auto;
        box-sizing: border-box;
        border-radius: 1vw;
        padding: 4% 5% 3%;
    }

    #recruit .recruit02 p {
        color: #006BC6;
        font-size: calc(40 / var(--device-width) * var(--main-width));
        font-weight: bold;
        line-height: 1.2;
        margin-bottom: 0.4em;
    }

    #recruit .recruit02 a.btn {
        color: #fff;
        font-size: calc(16 / var(--device-width) * var(--main-width));
        font-weight: bold;
        border-radius: 5px;
        box-sizing: border-box;
        text-align: center;
        width: 38%;
        margin-left: 0;
        margin-bottom: 0;
        padding: 0;
        height: calc(54 / var(--device-width) * var(--main-width));
        line-height: calc(54 / var(--device-width) * var(--main-width));
    }

    #recruit .recruit02 a.btn::after {
        right: calc(11 / var(--device-width) * var(--main-width));
        width: calc(25 / var(--device-width) * var(--main-width));
        height: calc(25 / var(--device-width) * var(--main-width));
    }


}

/* =========================== */
/*  contents*/
/* =========================== */
#contents {
    position: relative;
    padding-bottom: 21.1%;
}

#contents::before {
    position: absolute;
    left: 0;
    top: 5%;
    z-index: -1;
    content: "";
    width: calc(570 / var(--device-width) * var(--main-width));
    height: calc(2150 / var(--device-width) * var(--main-width));
    background-color: #F5F5F5;
    border-top-right-radius: 3vw;
    border-bottom-right-radius: 3vw;
}


#contents h2 {
    margin-bottom: 4.3em;
    box-sizing: border-box;
    padding-left: 2.1em
}

#contents h2 .color {
    color: #0069C0;
}

#contents h2 span {
    color: #000;
    margin-bottom: 1.1em;
}

#contents ul {
    display: flex;
    flex-direction: column;
    gap: 10vw;
    width: 76%;
    margin: auto;
}

#contents ul p {
    position: relative;
    font-size: calc(30 / var(--device-width) * var(--main-width));
    font-weight: bold;
    padding-left: 1em;
    line-height: 1.3;
}


#contents ul p::after {
    content: "";
    position: absolute;
    top: calc(0 / var(--device-width) * var(--main-width));
    right: calc(30 / var(--device-width) * var(--main-width));
    background-image: url(../images/icon04.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: calc(36 / var(--device-width) * var(--main-width));
    height: calc(36 / var(--device-width) * var(--main-width));
}

#contents ul figure {
    margin-bottom: 5%;
}

@media screen and (min-width: 750px) {
    #contents {
        padding: 0 5% 9%;
    }

    #contents::before {
        position: absolute;
        left: 0;
        top: 13%;
        z-index: -1;
        content: "";
        width: calc(1180 / var(--device-width) * var(--main-width));
        height: calc(166 / var(--device-width) * var(--main-width));
        border-top-right-radius: calc(15 / var(--device-width) * var(--main-width));
        border-bottom-right-radius: calc(15 / var(--device-width) * var(--main-width));
    }

    #contents h2 {
        padding-left: 1.5em;
        margin-bottom: 1.5em;
    }

    #contents h2 .color {
        margin-bottom: 0.8em;
        box-sizing: border-box;
    }

    #contents h2 span {
        color: #000;
        margin-bottom: 1.1em;
    }

    #contents ul {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap: 0;
        width: 90%;
        margin: 0 auto 0 3%;
    }

    #contents ul p {
        font-size: calc(18 / var(--device-width) * var(--main-width));
        font-weight: bold;
        padding-left: 1em;
        line-height: 1.3;
    }

    #contents ul p::after {
        content: "";
        position: absolute;
        top: calc(0 / var(--device-width) * var(--main-width));
        right: calc(5 / var(--device-width) * var(--main-width));
        background-image: url(../images/icon04.png);
        background-repeat: no-repeat;
        background-size: contain;
        width: calc(20 / var(--device-width) * var(--main-width));
        height: calc(20 / var(--device-width) * var(--main-width));
    }

    #contents ul li {
        width: 22.8%;
    }

    #contents ul figure {
        margin-bottom: 5%;
    }
}