@charset "UTF-8";

/*///////////////////// font-face ///////////////////////////*/
/*Noto Sans JP 400（本文用・サブセット）*/
@font-face {
    font-family: "Noto Sans JP";
    src: url(/fonts/NotoSansJP-Regular-subset.woff2) format('woff2');
    font-weight: 400;
    font-display: swap;
}
/*Noto Sans JP 500（本文用・サブセット）*/
@font-face {
    font-family: "Noto Sans JP";
    src: url(/fonts/NotoSansJP-Medium-subset.woff2) format('woff2');
    font-weight: 500;
    font-display: swap;
}
/*Noto Sans JP 600（プラン見出し等・サブセット）*/
@font-face {
    font-family: "Noto Sans JP";
    src: url(/fonts/NotoSansJP-SemiBold-subset.woff2) format('woff2');
    font-weight: 600;
    font-display: swap;
}
/*Noto Sans JP 700（ヘッダーナビ・見出し用・サブセット）*/
@font-face {
    font-family: "Noto Sans JP";
    src: url(/fonts/NotoSansJP-Bold-subset.woff2) format('woff2');
    font-weight: 700;
    font-display: swap;
}
/*Poppins 700（セクション英字タイトル用）*/
@font-face {
    font-family: "Poppins";
    src: url(/fonts/Poppins-Bold.woff2) format('woff2');
    font-weight: 700;
    font-display: swap;
}
/*Poppins 500（セクション英字タイトル用）*/
@font-face {
    font-family: "Poppins";
    src: url(/fonts/Poppins-Medium.woff2) format('woff2');
    font-weight: 500;
    font-display: swap;
}
/*Poppins 300（セクション英字タイトル用）*/
@font-face {
    font-family: "Poppins";
    src: url(/fonts/Poppins-Light.woff2) format('woff2');
    font-weight: 300;
    font-display: swap;
}
/*Overpass 500（セクション英字タイトル用・latinサブセット）*/
@font-face {
    font-family: "Overpass";
    src: url(/fonts/Overpass-Medium.woff2) format('woff2');
    font-weight: 500;
    font-display: swap;
}
/*///////////////////// font-face ///////////////////////////*/

#topmain,
#topreason,
#topfaq,
#topcontract-flow,
#topbro-zero,
#topplan{
    scroll-margin-top: 60px;
}

/*//////////////////// Header ////////////////////*/
.org-header * {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    box-sizing: border-box;
}

.org-header a {
    opacity: 1;
}

.org-header {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 3;
    width: 100%;
    height: 60px;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
    .org-header__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 60px;
        padding-inline: 10px 25px;
    }
        .org-header__logo {
            margin: 0;
            line-height: 0;
        }
            .org-header__logo-link {
                display: block;
                width: 100%;
            }
                .org-header__logo-link img {
                    display: block;
                    width: 100%;
                    height: 40px;
                }
        .org-header__nav {
            height: 100%;
        }
            .org-header__nav-list {
                display: flex;
                align-items: center;
                gap: 25px;
                height: 100%;
                margin: 0;
                padding: 0;
                list-style: none;
            }
                .org-header__nav-item {
                    display: flex;
                    align-items: center;
                    height: 100%;
                }
                .org-header__nav-item:not(:last-child) {
                    gap: 25px;
                }
                .org-header__nav-item:not(:last-child)::after {
                    content: "";
                    display: block;
                    width: 1px;
                    height: 20px;
                    background-color: #e4eaf8;
                }
                    .org-header__nav-link {
                        position: relative;
                        color: #0f318d;
                        font-size: 14px;
                        font-weight: 700;
                        line-height: 1;
                        text-align: center;
                        white-space: nowrap;
                        text-decoration: none;
                    }
                    .org-header__nav-link::after {
                        content: "";
                        position: absolute;
                        left: 0;
                        bottom: -4px;
                        width: 100%;
                        height: 1px;
                        background-color: currentColor;
                        transform: scaleX(0);
                        transform-origin: right;
                        transition: transform 0.3s ease;
                    }
                    .org-header__nav-link:hover::after {
                        transform: scaleX(1);
                        transform-origin: left;
                    }
