@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

/*===================================
基本設定
===================================*/

* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

html {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: .05;
    line-height: 1.5;
}

body {
    font-family: "Roboto", "Noto Sans", sans-serif;
    width: min(1440px, 100%);
    min-width: 0;
    margin: 0 auto;
    color: #333;
    box-shadow: 0 0 16px #00000050;
}

img {
    max-width: 100%;
    vertical-align: top;
}

a {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.drop-shadow img {
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .2));
    transition: .2s ease-in-out;
}

.drop-shadow:hover img {
    filter: none;
    transform: translateY(2px);
}

ul {
    list-style: none;
}

.logo {
    width: 271px;
}

.mv {
    padding-top: 6rem;
}

section {
    padding: 4rem 1rem;
}

.br {
    display: none;
}

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

    .br {
        display: block;
    }
}

/*===================================
フォント
===================================*/

h2 {
    position: relative;
    z-index: 3;
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    margin: 3rem 0;

    &::before {
        position: absolute;
        z-index: -1;
        top: 0;
        left: 50%;
        transform: translate(-50%, -60%);
        font-size: 6.5rem;
    }
}

.company-establishment h2::before {
    color: #94B1F2;
    opacity: .3;
}

.government-subsidy h2::before {
    color: #FEE8D6;
}

.red {
    color: #D00000;
}

.yellow {
    color: #FFFF7F;
}

.blue {
    color: #0054AC;
}

.orangr {
    color: #F28C38;
}

.font64 {
    font-size: 4rem !important;
}

.font48 {
    font-size: 3rem !important;
}

.font40 {
    font-size: 2.5rem !important;
}

.font36 {
    font-size: 2.25rem !important;
}

.font32 {
    font-size: 2rem !important;
}

.font28 {
    font-size: 1.75rem !important;
}

.font24 {
    font-size: 1.5rem !important;
}

.font20 {
    font-size: 1.25rem !important;
}

.font18 {
    font-size: 1.125rem !important;
}

.font14 {
    font-size: .875rem !important;
}

.bold {
    font-weight: 600 !important;
}

/*===================================
ヘッダー
===================================*/

header {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(1440px, 100%);
    height: 6rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, .5));
    backdrop-filter: blur(8px);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1.5rem;

    .nav-pc {
        display: flex;
        align-items: center;
        gap: 1rem;

        ul {
            display: flex;
            gap: 1rem;

            li {
                font-weight: 600;
                padding: 1rem 0;
            }

            a:hover {
                opacity: .7;
                transition: 0.4s ease-in-out;
            }
        }
    }

    .hamburger {
        display: none;
    }
}

@media screen and (max-width:1152px) {
    .nav-pc {
        display: none !important;
    }

    .hamburger {
        display: block !important;
    }
}

/*===================================
フッターー
===================================*/

footer {
    padding: 2rem 1rem;
    text-align: center;
    font-weight: 500;

    dl {
        width: fit-content;
        text-align: left;
        margin: 2rem auto;
    }

    dl div {
        display: flex;

        &:not(:first-of-type) {
            margin-top: 1rem;
        }
    }

    dt {
        width: 120px;
    }

    dd {
        flex: 1;
    }
}

/*===================================
ハンバーガーメニュー
===================================*/
.hamburger {
    position: relative;
    z-index: 100;
    width: 48px;
    height: 48px;
    border: none;
    background: transparent;
    cursor: pointer;
}

.hamburger-line {
    position: absolute;
    left: 11px;
    width: 32px;
    height: 2px;
    background-color: #333;
    transition: all .4s;
}

.hamburger-line:nth-of-type(1) {
    top: 12px;
}

.hamburger-line:nth-of-type(2) {
    top: 24px;
}

.hamburger-line:nth-of-type(3) {
    top: 36px;
}

/* メニューオープン時 */
.hamburger.active .hamburger-line:nth-of-type(1) {
    transform: translateY(12px) rotate(-45deg);
}

.hamburger.active .hamburger-line:nth-of-type(2) {
    opacity: 0;
}

.hamburger.active .hamburger-line:nth-of-type(3) {
    transform: translateY(-12px) rotate(45deg);
}

.nav-sp {
    position: fixed;
    top: 0;
    right: 0;
    width: 350px;
    height: 100vh;
    transform: translateX(500%);
    transition: transform .4s;
    z-index: 90;
    background-color: rgba(255, 255, 255, .9);
    box-shadow: 0 0 16px rgba(0, 0, 0, .2);
    text-align: center;

    ul {
        padding: 6rem 2rem 0;
    }

    a {
        display: block;
        font-weight: 600;
        padding: 1rem 0;
    }
}

.nav-sp.active {
    transform: translateX(0);
}

/*===================================
会社設立
===================================*/
.company-establishment {

    /* 悩み */
    #problem {
        background-image: url(../img/service/company-establishment/problem-bg.jpg);
        background-size: cover;

        h2 {
            margin: 0 0 3rem;
        }

        h2::before {
            content: 'PROBLEM';
        }

        .problem {
            position: relative;
            width: min(768px, 100%);
            background-color: #fff;
            border-radius: 1rem;
            padding: 2rem 1rem 4rem;
            margin: 0 auto;
        }

        .problem::before {
            position: absolute;
            bottom: 8px;
            left: -56px;
            background: left center / contain no-repeat url(../img/service/company-establishment/nayami1.png);
            content: '';
            width: 200px;
            height: 356px;
        }

        .problem::after {
            position: absolute;
            bottom: 8px;
            right: -56px;
            background: left center / contain no-repeat url(../img/service/company-establishment/nayami2.png);
            content: '';
            width: 200px;
            height: 356px;
        }

        ul {
            position: relative;
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
            width: fit-content;
            margin: 0 auto;

            li {
                background: left center / contain no-repeat url(../img/service/company-establishment/check.jpg);
                background-size: 2rem;
                padding-left: 2.5rem;
                font-size: 1.25rem;
                font-weight: 600;
            }
        }

        p {
            font-size: 1.5rem;
            font-weight: 600;
            text-align: center;
            margin-top: 2rem;
        }

        .diagonal-line {
            position: relative;
            color: #0054AC;
            font-size: 2.5rem;
            font-weight: 600;
            line-height: 1.2;
            text-align: center;
            width: fit-content;
            padding: 0 60px;
            margin: 3rem auto 0;
            filter: drop-shadow(0 4px 1px rgba(148, 177, 242, .3));
        }

        .diagonal-line::before {
            position: absolute;
            z-index: -1;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
            background: left center / contain no-repeat url(../img/service/company-establishment/line-left.png);
            content: '';
            width: 61px;
            height: 84px;
        }

        .diagonal-line::after {
            position: absolute;
            z-index: -1;
            top: 50%;
            right: 0;
            transform: translateY(-50%);
            background: right center / contain no-repeat url(../img/service/company-establishment/line-right.png);
            content: '';
            width: 61px;
            height: 84px;
        }
    }

    /* CTA */
    #cta {
        background: #0054AC;
        text-align: center;

        p {
            color: #fff;
            font-size: 2rem;
            font-weight: 600;
            text-align: center;
        }

        ul {
            display: flex;
            justify-content: center;
            gap: 2rem;
            margin: 3rem auto;
            font-size: 1.5rem;
            font-weight: 700;
            line-height: 1;

            li {
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                gap: .5rem;
                background: #fff;
                border-radius: 50%;
                width: 15rem;
                height: 15rem;
            }
        }
    }

    /* サービスの特長 */
    #feature {
        h2::before {
            content: 'FEATURE';
        }

        .feature1,
        .feature2 {
            position: relative;
            width: min(1024px, 100%);
            background: rgba(148, 177, 242, .3);
            border-radius: 1rem;
            margin: 0 auto;
            padding: 4rem 1rem;
        }

        .feature2 {
            margin-top: 3rem;
            text-align: center;
        }

        .moyou1 {
            position: absolute;
            top: -52px;
            right: 82px;
        }

        .moyou2 {
            position: absolute;
            top: 153px;
            left: -80px;
        }

        .moyou3 {
            position: absolute;
            top: -80px;
            right: 80px;
        }

        .moyou4 {
            position: absolute;
            bottom: 336px;
            left: -64px;
        }

        .moyou5 {
            position: absolute;
            bottom: -36px;
            right: 64px;
        }

        h3 {
            position: relative;
            width: fit-content;
            font-size: 2rem;
            margin: 0 auto 3rem;
            padding-left: 88px;
        }

        h3::before {
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
            content: '';
            width: 74px;
            height: 80px;
        }

        .feature1 h3::before {
            background: left center / contain no-repeat url(../img/service/company-establishment/feature1.svg);
        }

        .feature2 h3::before {
            background: left center / contain no-repeat url(../img/service/company-establishment/feature2.svg);
        }

        /* タブメニュー */
        .tab-container {
            width: min(768px, 100%);
            margin: 0 auto;

        }

        .tab-container ul {
            position: relative;
            display: flex;
            gap: 1rem;
        }

        .tab-container ul li {
            position: relative;
            flex: 1;
            padding: 1rem 1.5rem;
            text-align: center;
            cursor: pointer;
            transition: all 0.3s ease;
            background: #fff;
            color: #0054AC;
            font-size: 1.5rem;
            font-weight: 600;
            border-radius: 2rem;
        }

        .tab-container ul li.selected {
            background: #0054AC;
            color: #fff;
            z-index: 2;
        }

        .tab-container ul li.selected::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 50%;
            transform: translateX(-50%);
            width: 0;
            height: 0;
            border-left: 10px solid transparent;
            border-right: 10px solid transparent;
            border-top: 10px solid #0054AC;
        }

        .tab-container ul li:not(.selected):hover {
            background: rgba(148, 177, 242, .3);
        }

        .tab-container .tab-content {
            position: relative;
            display: none;
            padding-top: 3rem;
            border-radius: 0 0 1rem 1rem;
        }

        .tab-container .tab-content.selected {
            display: block;
        }

        /* 料金表 */
        .price {
            width: 100%;
            text-align: center;
            border-collapse: collapse;
            border-spacing: 0;
            margin: 0 auto 2rem;
            font-size: 1.25rem;
            font-weight: 600;
            line-height: 1.2;

            th {
                padding: 1rem;
                background: #eee;
                border: solid 1px #ccc;
            }

            th:last-child {
                background: #0054AC;
                color: #fff;
                border: solid 2px #0054AC;
            }

            td {
                padding: 1rem;
                border: solid 1px #ccc;
                background: #fff;
            }

            td:last-child {
                border-left: solid 2px #0054AC;
                border-right: solid 2px #0054AC;
            }

            tr:last-child td:last-child {
                border-bottom: solid 2px #0054AC;
            }
        }

        .spiky-bubble {
            position: relative;
            height: 600px;
        }

        .spiky-bubble-img {
            display: flex;
            flex-direction: column;
            justify-content: center;
            position: absolute;
            bottom: -16px;
            right: -16px;
            content: '';
            width: 560px;
            height: 160px;
            background: center center / 100% 100% no-repeat url(../img/service/company-establishment/spiky-bubble.png);

            p {
                font-weight: 600;
                text-align: center;
            }
        }

        .bubble {
            position: relative;
            background: #fff;
            width: min(640px, 100%);
            margin: 4rem auto 2rem;
            padding: 3rem 1rem 2rem;
            border-radius: 1rem;
            filter: drop-shadow(0 4px 1px rgba(148, 177, 242, .3));
        }

        .bubble::after {
            content: '';
            position: absolute;
            bottom: -16px;
            left: 50%;
            transform: translateX(-50%);
            width: 0;
            height: 0;
            border-left: 16px solid transparent;
            border-right: 16px solid transparent;
            border-top: 16px solid #FFF;
        }

        h4 {
            position: absolute;
            top: -1.5rem;
            left: 50%;
            transform: translateX(-50%);
            font-size: 1.5rem;
            font-weight: 600;
            padding: .5rem 1rem;
            background: rgba(148, 177, 242, .3);
            width: fit-content;
        }

        ul {
            font-size: 1.25rem;
            font-weight: 600;
            display: flex;
            justify-content: center;
            column-gap: 1rem;
            row-gap: .5rem;
            flex-wrap: wrap;
        }

    }

    /* おすすめ */
    #recommendation {
        position: relative;
        background: #0054AC;
        color: #fff;
        font-size: 2rem;
        font-weight: 600;
        text-align: center;

        &::after {
            content: '';
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 0;
            height: 0;
            border-left: 32px solid transparent;
            border-right: 32px solid transparent;
            border-top: 32px solid #FFF;
        }
    }

    /* サービス */
    #service {
        position: relative;
        background: rgba(148, 177, 242, .3);

        &::after {
            position: absolute;
            top: 0;
            left: 0;
            z-index: -1;
            content: '';
            width: 100%;
            height: 100%;
            background: center center / contain no-repeat url(../img/service/company-establishment/service-bg.png);
        }

        h2::before {
            content: 'SERVICE';
        }

        p {
            margin-bottom: 2rem;
            text-align: center;
        }

        .support1 {
            width: min(1024px, 100%);
            background: rgba(255, 255, 255, .8);
            border-radius: 1rem;
            margin: 0 auto;
            padding-bottom: 1rem;
            overflow: hidden;

            h3 {
                background: #0054AC;
                color: #ffff7f;
                font-size: 2rem;
                font-weight: 600;
                text-align: center;
                margin-bottom: 2rem;
                padding: 1.5rem 0;
            }

            h4 {
                font-size: 1.25rem;
                font-weight: 600;
                margin-bottom: 2rem;
                text-align: center;
            }

            p {
                padding: 0 2rem;
            }

            div {
                display: flex;
                justify-content: center;
                column-gap: 3rem;
                flex-wrap: wrap;
                margin-bottom: 1rem;
            }

            ul {
                list-style-type: disc;
                font-size: 1.125rem;
                font-weight: 600;
                line-height: 2.5;
            }
        }

        .plus {
            display: block;
            margin: 2rem auto;
        }

        .support2 {
            background: rgba(255, 255, 255, .8);
            border-radius: 1rem;
            padding-bottom: 1rem;
            overflow: hidden;

            h3 {
                background: #0054AC;
                color: #ffff7f;
                font-size: 1.5rem;
                font-weight: 600;
                text-align: center;
                margin-bottom: 2rem;
                padding: 1.5rem 0;
            }

            h4 {
                font-size: 1.25rem;
                font-weight: 600;
                margin-bottom: 2rem;
                text-align: center;
            }

            p {
                font-size: 1.125rem;
                padding: 0 2rem;
                text-align: left;
            }
        }

        .grid {
            width: min(1024px, 100%);
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            grid-template-rows: repeat(3, 1fr);
            grid-column-gap: 1.5rem;
            grid-row-gap: 1.5rem;
            margin: 0 auto;
        }

        .grid1 {
            grid-area: 1 / 1 / 2 / 3;
        }

        .grid2 {
            grid-area: 2 / 1 / 3 / 2;
        }

        .grid3 {
            grid-area: 2 / 2 / 3 / 3;
        }

        .grid4 {
            grid-area: 3 / 1 / 4 / 2;
        }

        .grid5 {
            grid-area: 3 / 2 / 4 / 3;
        }
    }

    /* プラン */
    #plan {
        background: bottom right / contain no-repeat url(../img/service/company-establishment/plan-bg.jpg);
        padding-bottom: 8rem !important;

        h2::before {
            content: 'PLAN';
        }

        .plan-container {
            width: min(1098px, 100%);
            margin: 0 auto;
            padding-top: 3rem;
        }

        .recommendation {
            position: relative;
        }

        .recommendation::before {
            position: absolute;
            top: -3rem;
            left: 50%;
            transform: translateX(-50%);
            content: '＼ おすすめ！ ／';
            color: #D00000;
            font-size: 1.5rem;
            font-weight: 600;
            text-align: center;
            white-space: nowrap;
        }

        ul {
            display: flex;
            justify-content: center;
            gap: 1.5rem;
            flex-wrap: wrap;
            margin-bottom: 2rem;
        }

        li {
            width: 350px;
            background: rgba(255, 255, 255, .8);
            border-radius: 1rem;
            margin: 0 auto;
            padding-bottom: 2rem;

            h3 {
                display: flex;
                flex-direction: column;
                justify-content: center;
                border-radius: .8rem .8rem 0 0;
                color: #fff;
                font-size: 2rem;
                font-weight: 600;
                line-height: 1.2;
                text-align: center;
                margin-bottom: 1rem;
                height: 140px;
            }

            h4 {
                color: #0054AC;
                font-size: 1.25rem;
                font-weight: 600;
                margin: 1rem auto;
                text-align: center;
            }

            p {
                padding: 0 1rem;

                &:first-of-type {
                    text-align: center;
                }

                &:last-of-type {
                    font-weight: 500;
                }
            }
        }

        li:nth-of-type(2) {
            border: solid 1px #0054AC;

            h3 {
                background: #0054AC;
            }
        }

        li:not(:nth-of-type(2)) {
            border: solid 1px #94b1f2;

            h3 {
                background: #94b1f2;
            }
        }
    }

    /* フロー */
    #flow {
        background-color: rgba(148, 177, 242, .3);

        h2::before {
            content: 'FLOW';
        }

        ol {
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 1rem;
            width: min(840px, 100%);
            list-style: none;
            margin: 0 auto;

            li:not(ul li) {
                position: relative;
                display: flex;
                filter: drop-shadow(0 4px 1px rgba(148, 177, 242, .3));
                margin-bottom: 2rem;
            }

            li:not(:last-of-type, ul li)::after {
                position: absolute;
                bottom: -2.25rem;
                left: 50%;
                transform: translateX(-50%);
                content: '';
                background: bottom center / contain no-repeat url(../img/service/company-establishment/arrow.svg);
                width: 48px;
                height: 24px;
            }
        }

        .step {
            display: flex;
            flex-direction: column;
            justify-content: center;
            background: #0054AC;
            color: #ffff7f;
            font-size: 1.5rem;
            font-weight: 600;
            line-height: 1;
            text-align: center;
            width: 5rem;
        }

        .flow-content {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
            flex: 1;
            background: #fff;
            padding: 2rem 1.5rem;
            font-size: 1.125rem;
            font-weight: 500;

            h3 {
                font-size: 1.25rem;
                font-weight: 600;
            }

            div {
                display: flex;
                justify-content: center;
                gap: 1rem;
                flex-wrap: wrap;
            }
        }
    }

    /* FAQ */
    #faq {
        h2::before {
            content: 'FAQ';
        }

        /*アコーディオン*/
        .accordion-area {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            width: min(1024px, 100%);
            margin: 0 auto;

            li:not(dl li) {
                border: solid 2px rgba(148, 177, 242, .3);
            }

            dl {
                background: rgba(148, 177, 242, .3);
            }

            /*アコーディオンタイトル*/
            .title {
                position: relative;
                cursor: pointer;
                padding: 1.5rem 2.5rem 1.5rem 1.5rem;
                transition: all .4s ease-in-out;

                h3 {
                    position: relative;
                    font-size: 1.25rem;
                    font-weight: 600;
                }

                h3::before {
                    position: absolute;
                    top: 50%;
                    left: -1rem;
                    transform: translateY(-50%);
                    content: 'Q';
                    color: rgba(148, 177, 242, .3);
                    font-size: 4rem;
                }
            }

            /*アイコンの＋と×*/
            .title::before,
            .title::after {
                position: absolute;
                content: '';
                width: 20px;
                height: 4px;
                background-color: #0054AC;
            }

            .title::before {
                top: 48%;
                right: 16px;
                transform: rotate(0deg);
            }

            .title::after {
                top: 48%;
                right: 16px;
                transform: rotate(90deg);
            }

            .title.close::before {
                transform: rotate(45deg);
            }

            .title.close::after {
                transform: rotate(-45deg);
            }

            .box {
                position: relative;
                display: none;
                background: #fff;
                padding: 1.5rem;
                font-size: 1.125rem;

                p:not(:first-of-type) {
                    margin-top: 1rem;
                }

                ul {
                    margin-top: 1rem;
                }

                &::before {
                    position: absolute;
                    top: -1rem;
                    left: .75rem;
                    content: 'A';
                    color: rgba(208, 0, 0, .3);
                    font-size: 4rem;
                    font-weight: 600;
                }
            }
        }
    }

    /* コンタクト */
    #contact {
        background: #0054AC;
        text-align: center;

        h2 {
            color: #fff;
        }

        h2::before {
            content: 'CONTACT';
        }

        .contact-wrapper {
            width: min(768px, 100%);
            background: #fff;
            margin: 0 auto;
            padding: 3rem 1rem;
            border-radius: 1rem;
        }

        a {
            line-height: 1.2;
        }

        p {
            font-size: 1.25rem;
            font-weight: 600;
            margin-bottom: 1rem;
        }

        .consultation-button {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 1rem;
            margin: 0 auto 2rem;
        }
    }
}

/*===================================
コンタクト共通
===================================*/

form {
    width: min(600px, 100%);
    margin: 0 auto;
    text-align: left;
}

.contact-text {
    margin-bottom: 1rem;
}

.wpcf7-list-item {
    margin-right: 1rem;
}

/* 送信ボタン */
.contact-button2 {
    background: #000;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 500;
    padding: 1rem 0;
    margin-top: 1rem;
    width: 100%;
}


/*===================================
助成金･補助金
===================================*/
.government-subsidy {

    /* 悩み */
    #problem {
        background-image: url(../img/service/government-subsidy/problem-bg.jpg);
        background-size: cover;

        h2 {
            margin: 0 0 3rem;
        }

        h2::before {
            content: 'PROBLEM';
        }

        .problem {
            position: relative;
            width: min(768px, 100%);
            background-color: #fff;
            border-radius: 1rem;
            padding: 2rem 1rem 4rem;
            margin: 0 auto;
        }

        .problem::before {
            position: absolute;
            bottom: 8px;
            left: -56px;
            background: left center / contain no-repeat url(../img/service/government-subsidy/nayami1.png);
            content: '';
            width: 200px;
            height: 356px;
        }

        .problem::after {
            position: absolute;
            bottom: 8px;
            right: -56px;
            background: left center / contain no-repeat url(../img/service/government-subsidy/nayami2.png);
            content: '';
            width: 200px;
            height: 356px;
        }

        ul {
            position: relative;
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
            width: fit-content;
            margin: 0 auto;

            li {
                background: left center / contain no-repeat url(../img/service/government-subsidy/check.jpg);
                background-size: 2rem;
                padding-left: 2.5rem;
                font-size: 1.25rem;
                font-weight: 600;
            }
        }

        p {
            font-size: 1.5rem;
            font-weight: 600;
            text-align: center;
            margin-top: 2rem;
        }

        .diagonal-line {
            position: relative;
            color: #132685;
            font-size: 2.5rem;
            font-weight: 600;
            line-height: 1.2;
            text-align: center;
            width: fit-content;
            padding: 0 60px;
            margin: 3rem auto 0;
            filter: drop-shadow(0 4px 1px #FEE8D6);
        }

        .diagonal-line::before {
            position: absolute;
            z-index: -1;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
            background: left center / contain no-repeat url(../img/service/government-subsidy/line-left.png);
            content: '';
            width: 61px;
            height: 84px;
        }

        .diagonal-line::after {
            position: absolute;
            z-index: -1;
            top: 50%;
            right: 0;
            transform: translateY(-50%);
            background: right center / contain no-repeat url(../img/service/government-subsidy/line-right.png);
            content: '';
            width: 61px;
            height: 84px;
        }
    }

    /* CTA */
    #cta {
        background: #F28C38;
        text-align: center;

        p {
            color: #fff;
            font-size: 2rem;
            font-weight: 600;
            text-align: center;
        }

        ul {
            display: flex;
            justify-content: center;
            gap: 2rem;
            margin: 3rem auto;
            font-size: 1.5rem;
            font-weight: 700;
            line-height: 1;

            li {
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                gap: .5rem;
                background: #fff;
                border-radius: 50%;
                width: 15rem;
                height: 15rem;
            }
        }
    }

    /* メリット */
    #merit {
        h2::before {
            content: 'MERIT';
        }

        .merit {
            width: min(1024px, 100%);
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1.5rem;
            margin: 0 auto;
        }

        .merit li {
            background: #FEE8D6;
            border-radius: 1rem;
            padding: 3rem 1rem;
        }

        h3 {
            position: relative;
            width: fit-content;
            font-size: 2rem;
            margin: 0 auto 2rem;
            padding-left: 88px;
        }

        h3::before {
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
            content: '';
            width: 74px;
            height: 80px;
        }

        .merit1 h3::before {
            background: left center / contain no-repeat url(../img/service/government-subsidy/merit1.svg);
        }

        .merit2 h3::before {
            background: left center / contain no-repeat url(../img/service/government-subsidy/merit2.svg);
        }

        .merit3 h3::before {
            background: left center / contain no-repeat url(../img/service/government-subsidy/merit3.svg);
        }

        .merit4 h3::before {
            background: left center / contain no-repeat url(../img/service/government-subsidy/merit4.svg);
        }

        .merit img {
            display: block;
            height: 200px;
            margin: 0 auto 2rem;
        }

        p {
            text-align: justify;
            font-weight: 500;
        }
    }

    /* システム */
    #system {
        background: rgba(254, 232, 214, .3);

        h2::before {
            content: 'SYSTEM';
        }

        h3 {
            position: relative;
            display: block;
            padding: 0 3rem;
            font-size: 2rem;
            width: fit-content;
            margin: 0 auto 2rem;
        }

        h3:before,
        h3:after {
            content: '';
            position: absolute;
            top: 48%;
            display: inline-block;
            width: 2rem;
            height: 4px;
        }

        h3:before {
            left: 0;
        }

        h3:after {
            right: 0;
        }

        .lead {
            text-align: center;
            margin-bottom: 2rem;
            font-weight: 500;
        }

        .system1 li,
        .system2 li {
            width: 640px;
            background: #fff;
            border-radius: 1rem;
            margin: 0 auto;
            padding-bottom: 2rem;

            h4 {
                display: flex;
                flex-direction: column;
                justify-content: center;
                border-radius: .8rem .8rem 0 0;
                color: #fff;
                font-size: 1.5rem;
                font-weight: 600;
                line-height: 1.2;
                text-align: center;
                margin-bottom: 1rem;
                height: 100px;
            }

            dl {
                padding: 0 1rem;
                font-weight: 500;

                div {
                    display: flex;
                    gap: 1rem;
                    align-items: center;
                    margin-bottom: 1rem;
                }

                dt {
                    color: #fff;
                    font-weight: 500;
                    text-align: center;
                    border-radius: 2rem;
                    width: 7.5rem;
                    padding: .25rem 0;
                }

                dd {
                    flex: 1;
                }
            }

            p {
                padding: 0 1rem;
                font-weight: 500;

                &:not(:last-of-type) {
                    margin-bottom: 1rem;
                }
            }

            .light {
                background-size: 1.25rem;
                padding-left: 2.75rem;
            }

            a {
                text-decoration: underline;
            }
        }

        .system1 {
            margin-bottom: 2rem;

            h3 {
                color: #F28C38;
            }

            h3:before,
            h3:after {
                background-color: #F28C38;
            }

            h4 {
                background-color: #F28C38;
            }

            dt {
                background: #132685;
            }

            a {
                color: #F28C38;
            }

            .light {
                background: left 1rem top / contain no-repeat url(../img/service/government-subsidy/light1.svg);
            }
        }

        .system2 {
            h3 {
                color: #132685;
            }

            h3:before,
            h3:after {
                background-color: #132685;
            }

            h4 {
                background-color: #132685;
            }

            dt {
                background: #F28C38;
            }

            a {
                color: #132685;
            }

            .light {
                background: left 1rem top / contain no-repeat url(../img/service/government-subsidy/light2.svg);
            }
        }

        /* スライド */
        .slider {
            display: flex;
            justify-content: center;
            width: 94%;
            margin: 0 auto;
        }

        .slick-track {
            height: 100%;
        }

        .slider .slick-slide {
            margin: 0 .5rem;
        }

        .slick-prev,
        .slick-next {
            position: absolute;
            top: 42%;
            cursor: pointer;
            outline: none;
            border-top: 2px solid #666;
            border-right: 2px solid #666;
            height: 15px;
            width: 15px;
        }

        .slick-prev {
            left: -1.5%;
            transform: rotate(-135deg);
        }

        .slick-next {
            right: -1.5%;
            transform: rotate(45deg);
        }
    }

    /* 違い */
    #difference {
        h2::before {
            content: 'DIFFERENCE';
        }

        /* 表 */
        .difference {
            width: min(960px, 100%);
            text-align: center;
            border-collapse: collapse;
            border-spacing: 0;
            margin: 0 auto 2rem;
            font-size: 1.25rem;
            font-weight: 600;
            line-height: 1.2;

            th {
                padding: 1rem;
                color: #fff;
            }

            th:nth-child(2) {
                background: #F28C38;
                border: solid 2px #F28C38;
            }

            th:last-child {
                background: #132685;
                border: solid 2px #132685;
            }

            td {
                padding: 1rem;
                border: solid 1px #ccc;
            }

            tr:first-child td:nth-child(2) {
                border-top: solid 2px #ccc;
            }

            td:first-child:not(tr:first-child td:first-child) {
                border-left: solid 2px #ccc;
            }

            tr:last-child td:first-child {
                border-bottom: solid 2px #ccc;
            }

            td:nth-child(2) {
                border-left: solid 2px #F28C38;
                border-right: solid 2px #F28C38;
            }

            tr:last-child td:nth-child(2) {
                border-bottom: solid 2px #F28C38;
            }

            td:last-child {
                border-left: solid 2px #0054AC;
                border-right: solid 2px #0054AC;
            }

            tr:last-child td:last-child {
                border-bottom: solid 2px #0054AC;
            }
        }

        div {
            font-size: .875rem;
            font-weight: 500;
            width: fit-content;
            margin: 0 auto;
        }

        ul {
            list-style-type: disc;
            padding-left: 1rem;
            margin: 1rem 0;
        }
    }

    /* コスト */
    #cost {
        background: bottom left / contain no-repeat url(../img/service/government-subsidy/cost-bg.jpg);
        background-size: cover;

        h2::before {
            content: 'COST';
        }

        .lead {
            text-align: center;
            margin-bottom: 2rem;
            font-weight: 500;
        }

        .cost-container {
            width: min(1140px, 100%);
            margin: 0 auto;

            .cost {
                display: flex;
                justify-content: center;
                gap: 1.5rem;
                flex-wrap: wrap;
                margin-bottom: 2rem;
            }

            .cost-li {
                width: 558px;
                background: rgba(255, 255, 255, .8);
                border-radius: 1rem;
                margin: 0 auto;
                padding-bottom: 2rem;

                h3 {
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    border-radius: .8rem .8rem 0 0;
                    color: #fff;
                    font-size: 2rem;
                    font-weight: 600;
                    line-height: 1.2;
                    text-align: center;
                    margin-bottom: 1rem;
                    height: 84px;
                }

                ul {
                    font-size: 1.5rem;
                    font-weight: 600;
                    width: fit-content;
                    margin: 0 auto;
                }
            }

            .cost-li:first-of-type {
                border: solid 1px #F28C38;

                h3 {
                    background: #F28C38;
                }
            }

            .cost-li:last-of-type {
                border: solid 1px #132685;

                h3 {
                    background: #132685;
                }
            }

            div {
                width: fit-content;
                margin: 0 auto;
            }

            p {
                font-size: .875rem;
                font-weight: 500;

                &:last-of-type {
                    margin-top: 1rem;
                }
            }
        }
    }

    /* フロー */
    #flow {
        background: rgba(254, 232, 214, .3);

        h2::before {
            content: 'FLOW';
        }

        ol {
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 1rem;
            width: min(840px, 100%);
            list-style: none;
            margin: 0 auto;

            li:not(ul li) {
                position: relative;
                display: flex;
                filter: drop-shadow(0 4px 1px #FEE8D6);
                margin-bottom: 2rem;
            }

            li:not(:last-of-type, ul li)::after {
                position: absolute;
                bottom: -2.25rem;
                left: 50%;
                transform: translateX(-50%);
                content: '';
                background: bottom center / contain no-repeat url(../img/service/government-subsidy/arrow.svg);
                width: 48px;
                height: 24px;
            }
        }

        .step {
            display: flex;
            flex-direction: column;
            justify-content: center;
            background: #F28C38;
            color: #132685;
            font-size: 1.5rem;
            font-weight: 600;
            line-height: 1;
            text-align: center;
            width: 5rem;
        }

        .flow-content {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
            flex: 1;
            background: #fff;
            padding: 2rem 1.5rem;
            font-size: 1.125rem;
            font-weight: 500;

            h3 {
                font-size: 1.25rem;
                font-weight: 600;
            }

            div {
                display: flex;
                justify-content: center;
                gap: 1rem;
                flex-wrap: wrap;
            }
        }
    }

    /* FAQ */
    #faq {
        h2::before {
            content: 'FAQ';
        }

        /*アコーディオン*/
        .accordion-area {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            width: min(1024px, 100%);
            margin: 0 auto;

            li:not(dl li) {
                border: solid 2px #FEE8D6;
            }

            dl {
                background: #FEE8D6;
            }

            /*アコーディオンタイトル*/
            .title {
                position: relative;
                cursor: pointer;
                padding: 1.5rem 2.5rem 1.5rem 1.5rem;
                transition: all .4s ease-in-out;

                h3 {
                    position: relative;
                    font-size: 1.25rem;
                    font-weight: 600;
                }

                h3::before {
                    position: absolute;
                    top: 50%;
                    left: -1rem;
                    transform: translateY(-50%);
                    content: 'Q';
                    color: rgba(242, 140, 56, .3);
                    font-size: 4rem;
                }
            }

            /*アイコンの＋と×*/
            .title::before,
            .title::after {
                position: absolute;
                content: '';
                width: 20px;
                height: 4px;
                background-color: #F28C38;
            }

            .title::before {
                top: 48%;
                right: 16px;
                transform: rotate(0deg);
            }

            .title::after {
                top: 48%;
                right: 16px;
                transform: rotate(90deg);
            }

            .title.close::before {
                transform: rotate(45deg);
            }

            .title.close::after {
                transform: rotate(-45deg);
            }

            .box {
                position: relative;
                display: none;
                background: #fff;
                padding: 1.5rem;
                font-size: 1.125rem;

                p:not(:first-of-type) {
                    margin-top: 1rem;
                }

                ul {
                    margin-top: 1rem;
                }

                &::before {
                    position: absolute;
                    top: -1rem;
                    left: .75rem;
                    content: 'A';
                    color: rgba(19, 38, 133, .3);
                    font-size: 4rem;
                    font-weight: 600;
                }
            }
        }
    }

    /* コンタクト */
    #contact {
        background: #F28C38;
        text-align: center;

        h2 {
            color: #fff;
        }

        h2::before {
            content: 'CONTACT';
        }

        .contact-wrapper {
            width: min(768px, 100%);
            background: #fff;
            margin: 0 auto;
            padding: 3rem 1rem;
            border-radius: 1rem;
        }

        a {
            line-height: 1.2;
        }

        p {
            font-size: 1.25rem;
            font-weight: 600;
            margin-bottom: 1rem;
        }

        .consultation-button {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 1rem;
            margin: 0 auto 2rem;
        }
    }
}