@charset "UTF-8";

/* MV */
.p-mv {
    margin-bottom: calc((100vw / var(--vw-large))*150);
}

.p-merit {
    position: relative;

    .p-merit__text {

        img {
            position: absolute;
            width: calc((100vw / var(--vw-large))*101);
            right: calc((100vw / var(--vw-large))*100);
        }
    }

    /* --- 導入セクション --- */
    .p-feature-detail {
        background-color: #F2F8F3;
        width: calc((100vw / var(--vw-large))*1180);
        margin-left: auto;
        margin-bottom: calc((100vw / var(--vw-large))*73);
        padding: calc((100vw / var(--vw-large))*64) 0 calc((100vw / var(--vw-large))*100);

        .l-inner {
            width: calc((100vw / var(--vw-large))*800);
            margin-left: calc((100vw / var(--vw-large))*100);
        }

        /* --- ヘッダーエリア --- */

        .p-feature__intro__header {
            text-align: left;
            margin-bottom: calc((100vw / var(--vw-large))*56);

            .en {
                font-size: calc((100vw / var(--vw-large))*15);
                font-family: var(--font-en);
                color: var(--color-primary-light);
                font-weight: bold;
                margin-bottom: calc((100vw / var(--vw-large))*10);
                font-style: italic;

            }

            h2 {
                font-size: calc((100vw / var(--vw-large))*30);
                font-weight: 900;
                text-align: left;
            }

            .c-section-title-underline {
                display: block;
                width: calc((100vw / var(--vw-large)) * 158);
                /* 線の長さ */
                height: 3px;
                /* 線の太さ */
                /* 修正箇所: グラデーションで2色を半分ずつ表現 */
                background: linear-gradient(to right, #00A310 50%, #93D500 50%);
                margin-top: calc((100vw / var(--vw-large)) * 10);
            }
        }

        p {
            text-align: left;
            letter-spacing: 0;
        }


        /* --- 各ブロック (POINT) --- */
        .p-feature-detail__block {
            margin-bottom: calc((100vw / var(--vw-large)) * 80);
        }

        /* ポイント見出し */
        .p-feature-detail__point-title {
            font-size: calc((100vw / var(--vw-large)) * 19);
            font-weight: 700;
            margin-bottom: calc((100vw / var(--vw-large)) * 30);
            padding-bottom: calc((100vw / var(--vw-large)) * 10);
            border-bottom: 2px dashed #00A310;
            /* 点線の下線 */
            text-align: left;
        }

        .p-feature-detail__point-num {
            color: var(--color-primary-light);
            font-size: calc((100vw / var(--vw-large)) * 23);
            font-style: italic;
            font-weight: 700;
            display: block;
        }

        /* 本文テキスト */
        .p-feature-detail__text {
            font-size: calc((100vw / var(--vw-large)) * 16);
            line-height: 1.8;
            color: #333;
            text-align: justify;
            /* 両端揃え */
        }

        /* --- POINT 02 のレイアウト (2カラム) --- */
        .p-feature-detail__content--flex {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: calc((100vw / var(--vw-large)) * 48);
        }

        .p-feature-detail__text-area {
            /* 幅: PC 600px相当 (画像に合わせて調整) */
            width: calc((100vw / var(--vw-large)) * 494);
        }

        .p-feature-detail__image-area {
            /* 幅: PC 400px相当 */
            width: calc((100vw / var(--vw-large)) * 235);
            flex-shrink: 0;
        }

        .p-feature-detail__image-area img {
            width: 100%;
            height: auto;
        }
    }

    .p-merit-detail {
        /* 上下の余白 */

        /* コンテナ: 画面幅1360pxのとき1000px幅 */
        .p-merit-detail__container {}

        /* 上部ナビゲーションエリア */
        .p-merit-nav {
            margin: 0 auto calc((100vw / var(--vw-large))*76);
            width: calc((100vw / var(--vw-large)) * 1000);

            /* --- ヘッダーエリア --- */

            .p-merit__intro__header {
                text-align: left;
                margin-bottom: calc((100vw / var(--vw-large))*56);

                h2 {
                    font-size: calc((100vw / var(--vw-large))*30);
                    font-weight: 900;
                    text-align: left;
                }

                .c-section-title-underline {
                    display: block;
                    width: calc((100vw / var(--vw-large)) * 158);
                    /* 線の長さ */
                    height: 3px;
                    /* 線の太さ */
                    /* 修正箇所: グラデーションで2色を半分ずつ表現 */
                    background: linear-gradient(to right, #00A310 50%, #93D500 50%);
                    margin-top: calc((100vw / var(--vw-large)) * 10);
                }
            }

            ul {
                gap: calc((100vw / var(--vw-large))*23);
                display: flex;
                justify-content: center;
                flex-wrap: wrap;
                width: calc((100vw / var(--vw-large))*657);
                margin: 0 auto calc((100vw / var(--vw-large))*40);


                li {
                    width: calc((100vw / var(--vw-large))*147);
                }
            }

            p {
                text-align: left;
            }
        }

        /* --- 各メリットのブロック --- */
        .p-merit-block {
            margin-bottom: calc((100vw / var(--vw-large)) * 100);
            width: calc((100vw / var(--vw-large)) * 1000);
            margin: 0 auto;
        }

        /* ヘッダー部分 */
        .p-merit-block__header {
            text-align: left;

            .flex {
                display: flex;
                justify-content: flex-start;
                gap: calc((100vw / var(--vw-large))*15);
                align-items: center;
                padding-bottom: calc((100vw / var(--vw-large))*14);
                margin-bottom: calc((100vw / var(--vw-large))*50);
                border-bottom: 1px solid #CBCBCB;
            }

        }

        .p-merit-block__sub {
            width: calc((100vw / var(--vw-large))*37);
        }

        .p-merit-block__title {
            font-size: calc((100vw / var(--vw-large)) * 25);
            font-weight: 700;
            line-height: 1.2;
        }

        .line-height {
            margin-bottom: calc((100vw / var(--vw-large))*24);
        }

        .p-merit-block__link {
            display: flex;
            justify-content: space-between;
            margin: calc((100vw / var(--vw-large))*30) auto;

            li {
                width: calc((100vw / var(--vw-large))*490);
            }
        }

        /* 本文エリア */
        .p-merit-block__body {
            margin-bottom: calc((100vw / var(--vw-large))*68);

            h3 {
                background-color: #489850;
                color: #fff;
                height: calc((100vw / var(--vw-large))*60);
                font-size: calc((100vw / var(--vw-large))*24);
                display: flex;
                align-items: center;
                padding-inline: calc((100vw / var(--vw-large)) * 20);
                text-align: left;
                letter-spacing: 0;
            }

            .wrap {
                background-color: #F7F7F7;
                padding: calc((100vw / var(--vw-large))*33) calc((100vw / var(--vw-large))*50) calc((100vw / var(--vw-large))*48);

                .p-merit-block__text {
                    line-height: 1.8;
                    margin-bottom: calc((100vw / var(--vw-large)) * 24);
                    text-align: justify;
                }

                /* 画像（図解・グラフ） */
                .p-merit-block__image {
                    width: calc((100vw / var(--vw-large))*678);
                    margin: 0 auto;
                    text-align: center;
                }

            }

            .note {
                font-size: calc((100vw / var(--vw-large))*14);
                color: #898989;
                text-align: left;
                letter-spacing: 0;
            }
        }


        #merit02,
        #merit04,
        #merit06 {
            .p-merit-block {
                width: 100%;
                background-color: #F7F7F7;
                padding: calc((100vw / var(--vw-large))*80) 0 calc((100vw / var(--vw-large))*1);

                .contents__wrap {
                    width: calc((100vw / var(--vw-large))*1003);
                    margin: 0 auto;
                }
            }
        }

        #merit02,
        #merit06 {
            .wrap {
                padding: 0;
            }
        }

        #merit03 {
            margin-top: calc((100vw / var(--vw-large))*68);

            .p-merit-block__body {
                .p-merit-block__image {
                    margin: calc((100vw / var(--vw-large))*68) auto;
                    width: calc((100vw / var(--vw-large))*812);
                }

                p {
                    text-align: left;
                }

                .wrap {
                    .p-merit-block__image {
                        margin: initial;
                        width: initial;
                    }
                }
            }

        }

        #merit04 {

            p {
                text-align: left;
            }

            .p-merit-block__body {
                margin: calc((100vw / var(--vw-large))*67) auto;
                width: calc((100vw / var(--vw-large))*791);

                h3 {
                    justify-content: center;
                }

                .wrap {
                    background-color: #FFFFFF;
                }

                .note {
                    margin: calc((100vw / var(--vw-large))*18) auto calc((100vw / var(--vw-large))*57);
                    width: calc((100vw / var(--vw-large))*703);
                }
            }
        }

        #merit05 {
            margin-top: calc((100vw / var(--vw-large))*68);

            .p-merit-block__header {
                margin-bottom: calc((100vw / var(--vw-large))*50);
            }

            .p-merit-block__body {
                .wrap {
                    .img01 {
                        width: calc((100vw / var(--vw-large))*807);
                        margin: calc((100vw / var(--vw-large))*45) auto calc((100vw / var(--vw-large))*33);
                    }

                    .img03 {
                        width: calc((100vw / var(--vw-large))*687);
                        margin-top: calc((100vw / var(--vw-large))*54);
                    }

                    .img04 {
                        width: calc((100vw / var(--vw-large))*644);
                        margin-top: calc((100vw / var(--vw-large))*54);
                    }
                }
            }
        }

        #merit06 {
            .p-merit-block__body {
                .wrap {
                    .p-merit-block__image {
                        margin-top: calc((100vw / var(--vw-large))*54);
                    }
                }
            }
        }

        #merit07 {
            margin-top: calc((100vw / var(--vw-large))*68);

            .p-merit-block__body {
                .text__block {
                    width: calc((100vw / var(--vw-large))*633);
                    text-align: left;

                    h3 {
                        font-size: calc((100vw / var(--vw-large))*25);
                        background-color: initial;
                        color: var(--color-text-body);
                        padding: 0 0 0 calc((100vw / var(--vw-large))*22);
                        position: relative;

                        &::before {
                            content: '';
                            /* 内容は空 */
                            display: block;
                            position: absolute;
                            left: 0;
                            /* 左端に配置 */
                            top: 50%;
                            /* 上から中央 */
                            transform: translateY(-50%);
                            /* 垂直方向の中央寄せ */
                            width: calc((100vw / var(--vw-large))*14);
                            /* 丸の直径 */
                            height: calc((100vw / var(--vw-large))*14);
                            /* 丸の直径 */
                            border-radius: 50%;
                            /* 円形にする */
                            background-color: #93D500;
                            /* 丸の色 */
                        }
                    }
                }

                .p-merit-block__image {
                    width: calc((100vw / var(--vw-large))*285);
                }
            }
        }


        /* 強調したい箇所がある場合に使用するクラス（任意） */
        .p-merit-block__text strong {
            color: var(--color-primary-light);
            /* 明るい緑 #00A310 */
            font-weight: 700;
        }


        .p-merit-block__image img {
            max-width: 100%;
            height: auto;
            /* グラフ類は影をつけておくと見やすい場合がある */
            /* box-shadow: 0 4px 10px rgba(0,0,0,0.1); */
        }
    }
}