@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap";

.vi {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    margin: -1px
}

.object_sp {
    display: none
}

.list_caution {
    list-style: none;
    text-indent: -1em;
    padding: 0 0 0 1em;
    margin-left: 0 !important
}

    .list_caution li:before {
        content: "※";
        font-family: sans-serif
    }

@media screen and (max-width: 748px) {
    img {
        max-width: 100%;
        height: auto
    }

    .object_sp {
        display: block
    }

    .object_pc {
        display: none
    }
}

html {
    font-size: 62.5%;
    line-height: 1;
    color: #353e4d;
    font-family: "Inter","Noto Sans JP",sans-serif
}

body {
    font-size: 1.5rem;
    overflow: hidden
}

* a {
    color: inherit;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    text-decoration: none
}

    * a:hover {
        text-decoration: underline
    }

    * a[href^=tel] {
        color: inherit;
        text-decoration: none
    }

*::-moz-selection {
    background-color: #007abe;
    color: #fff
}

*::selection {
    background-color: #007abe;
    color: #fff
}

header {
    position: fixed;
    width: 100%;
    z-index: 100;
    background: #fff
}

    header a {
        color: inherit
    }

    header ul {
        list-style: none
    }

    header #ttl_site {
        text-indent: -9999px;
        padding: 8px 30px 13px
    }

        header #ttl_site a {
            display: block;
            width: 294px;
            height: 44px;
            background: url(../images/site_title.svg) no-repeat center/contain
        }

    header #nav_global .nav_con {
        display: none;
        position: fixed;
        z-index: 1001;
        top: 13px;
        right: 12px;
        width: 44px;
        height: 44px;
        list-style: none;
        padding: 10px
    }

        header #nav_global .nav_con li {
            width: 24px;
            height: 2px;
            -webkit-transition: all .2s ease;
            transition: all .2s ease;
            background-color: #007abe;
            margin: 4.5px 0
        }

        header #nav_global .nav_con.is_open li:nth-child(2) {
            opacity: 0
        }

        header #nav_global .nav_con.is_open li {
            -webkit-transform: translatey(8px) rotate(45deg);
            transform: translatey(8px) rotate(45deg)
        }

            header #nav_global .nav_con.is_open li:nth-child(3) {
                -webkit-transform: translatey(-6px) rotate(-45deg);
                transform: translatey(-6px) rotate(-45deg)
            }

    header #nav_global .nav_list_wrap .list_main_global {
        position: absolute;
        bottom: -44px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 73.54%;
        min-width: 1059px;
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.25;
        background-color: #fff;
        border-radius: 0px 0px 20px 20px
    }

        header #nav_global .nav_list_wrap .list_main_global li {
            width: auto;
            margin: 0px 10px
        }

            header #nav_global .nav_list_wrap .list_main_global li a {
                position: relative;
                display: block;
                text-align: center;
                -webkit-transition: width .3s;
                transition: width .3s;
                padding: 17px 25px 17px
            }

                header #nav_global .nav_list_wrap .list_main_global li a::after {
                    display: inline-block;
                    position: absolute;
                    bottom: 5px;
                    left: 50%;
                    content: "";
                    width: 0;
                    height: 2px;
                    -webkit-transform-origin: center top;
                    transform-origin: center top;
                    -webkit-transform: translateX(-50%);
                    transform: translateX(-50%);
                    -webkit-transition: width .3s ease;
                    transition: width .3s ease;
                    background: #007abe
                }

                header #nav_global .nav_list_wrap .list_main_global li a:hover {
                    text-decoration: none
                }

                    header #nav_global .nav_list_wrap .list_main_global li a:hover::after {
                        width: calc(100% - 40px)
                    }

    header #nav_global .nav_list_wrap .list_sub_global {
        position: absolute;
        top: 10px;
        right: 16px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 546px;
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.2
    }

        header #nav_global .nav_list_wrap .list_sub_global li {
            width: auto;
            height: 44px;
            background-color: #fff
        }

            header #nav_global .nav_list_wrap .list_sub_global li:has(.btn_cmn_01) {
                background-color: unset
            }

            header #nav_global .nav_list_wrap .list_sub_global li a {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-align: center;
                -ms-flex-align: center;
                align-items: center;
                -webkit-box-pack: center;
                -ms-flex-pack: center;
                justify-content: center;
                text-align: center;
                padding: 11px 16.5px
            }

                header #nav_global .nav_list_wrap .list_sub_global li a:hover {
                    opacity: .8;
                    text-decoration: none
                }

            header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_search {
                width: 121px
            }

                header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_search::before {
                    content: "";
                    display: inline-block;
                    width: 22px;
                    height: 22px;
                    background: url(../images/common/icon_search.svg) no-repeat center/contain;
                    margin-right: 6px
                }

            header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_mail {
                width: 158px;
                padding: 14px 11.5px
            }

                header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_mail::before {
                    content: "";
                    display: inline-block;
                    width: 23px;
                    height: 16px;
                    background: url(../images/common/icon_mail.svg) no-repeat center/contain;
                    margin-right: 9px
                }

            header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_personnel-reg {
                width: 121px;
                padding: 13px 16.5px
            }

                header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_personnel-reg::before {
                    content: "";
                    display: inline-block;
                    width: 22px;
                    height: 18px;
                    background: url(../images/common/icon_personnel-reg.svg) no-repeat center/contain;
                    margin-right: 6px
                }

            header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_personnel_login {
                width: 146px;
                padding: 13px 16.5px
            }

                header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_personnel_login::before {
                    content: "";
                    display: inline-block;
                    width: 17px;
                    height: 18px;
                    background: url(../images/common/icon_personnel-login.svg) no-repeat center/contain;
                    margin-right: 6px
                }

.top header {
    position: fixed;
    width: 100%;
    height: 109px
}

    .top header #nav_global .nav_list_wrap .list_main_global {
        bottom: 0;
        border-radius: unset;
        padding: 0
    }

.top main {
    margin-top: 109px
}

.is_scroll {
    height: 109px
}

    .is_scroll #nav_global .nav_list_wrap .list_main_global {
        bottom: 0;
        border-radius: unset;
        padding: 0
    }

aside {
    text-align: center;
    background-color: #deeef6;
    padding: 73px 0 78px;
    margin: -1px 0 0
}

    aside h2 {
        font-size: 3.2rem;
        font-weight: 700;
        margin: 0 0 33px
    }

    aside .list_contact {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 1040px;
        font-size: 1.6rem;
        line-height: 1.18;
        list-style: none;
        margin: 0 auto
    }

        aside .list_contact li {
            width: calc(50% - 20px);
            height: 173px;
            background-color: #fff;
            border-radius: 10px;
            padding: 38px 0
        }

            aside .list_contact li:has(.icon_tel) {
                padding: 49px 0
            }

            aside .list_contact li a {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-pack: center;
                -ms-flex-pack: center;
                justify-content: center;
                -webkit-box-align: center;
                -ms-flex-align: center;
                align-items: center;
                margin-bottom: 18px
            }

                aside .list_contact li a:hover {
                    text-decoration: none
                }

            aside .list_contact li .icon_tel {
                font-size: 3.2rem;
                font-weight: 500;
                line-height: 1.18;
                letter-spacing: .03em
            }

                aside .list_contact li .icon_tel::before {
                    content: "";
                    display: inline-block;
                    width: 32px;
                    height: 32px;
                    background: url(../images/common/icon_tel.svg) no-repeat center/contain;
                    margin-right: 10px
                }

            aside .list_contact li .btn_cmn_01 {
                width: 60%;
                max-width: 300px;
                font-size: 1.8rem;
                font-weight: 500;
                text-indent: 1em;
                margin: 0 auto 20px
            }

                aside .list_contact li .btn_cmn_01::after {
                    content: "";
                    display: inline-block;
                    width: 26px;
                    height: 26px;
                    background: url(../images/common/icon_arrow_right.svg) no-repeat center/contain;
                    margin-left: 10px
                }

footer {
    color: #fff;
    background-color: #263245;
    padding: 54px 4.17% 27px
}

    footer .flex_footer {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 80px;
        margin: 0 0 45px
    }

        footer .flex_footer .block_address {
            margin: 8px 42px 0 0
        }

            footer .flex_footer .block_address h2 {
                font-size: 2rem;
                font-weight: 700;
                line-height: 1.2;
                margin-bottom: 24px
            }

            footer .flex_footer .block_address address {
                font-size: 1.6rem;
                font-weight: 300;
                line-height: 1.75
            }

                footer .flex_footer .block_address address dl {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex
                }

                    footer .flex_footer .block_address address dl dt:after {
                        content: "："
                    }

                footer .flex_footer .block_address address a[href^=tel] {
                    text-decoration: underline
                }

        footer .flex_footer .nav_footer {
            font-size: 1.5rem;
            font-weight: 300;
            line-height: 2.5;
            list-style: none
        }

    footer .text_copyright {
        font-size: 1.3rem;
        font-weight: 300;
        line-height: 1.23;
        text-align: center;
        color: #a2aab7
    }

@media screen and (max-width: 1100px) {
    header #nav_global .nav_list_wrap .list_main_global {
        min-width: 100%
    }

        header #nav_global .nav_list_wrap .list_main_global li a {
            padding: 17px 20px
        }

    aside .list_contact {
        width: 90%
    }

        aside .list_contact li .btn_cmn_01 {
            width: 90%
        }

    footer .flex_footer {
        gap: 55px
    }
}

@media screen and (max-width: 748px) {
    header {
        position: fixed;
        width: 100%;
        height: 70px
    }

        header #ttl_site {
            padding: 18px 11px
        }

            header #ttl_site a {
                display: block;
                width: 231.4960629921px;
                height: 34.6456692913px;
                background: url(../images/site_title.svg) no-repeat center/contain
            }

        header #nav_global .nav_con {
            display: block
        }

        header #nav_global .nav_list_wrap {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            background-color: #fff;
            padding: 18vw 6.5vw
        }

            header #nav_global .nav_list_wrap .list_main_global {
                position: static;
                -webkit-transform: translateX(0);
                transform: translateX(0);
                display: block;
                width: 100%;
                min-width: 100%;
                font-size: 1.6rem;
                font-weight: 500;
                line-height: 1.25;
                border-radius: 0;
                margin-bottom: 20px
            }

                header #nav_global .nav_list_wrap .list_main_global li {
                    width: auto;
                    border-bottom: 1px solid #ececec
                }

                    header #nav_global .nav_list_wrap .list_main_global li a {
                        display: block;
                        text-align: start;
                        padding: 15px 0;
                        margin: 0
                    }

                        header #nav_global .nav_list_wrap .list_main_global li a:hover {
                            text-decoration: none
                        }

                            header #nav_global .nav_list_wrap .list_main_global li a:hover::after {
                                display: none;
                                position: unset
                            }

            header #nav_global .nav_list_wrap .list_sub_global {
                position: static;
                -webkit-transform: translateX(0);
                transform: translateX(0);
                display: block;
                width: 77.7%;
                font-size: 1.5rem;
                font-weight: 500;
                margin: 0 auto
            }

                header #nav_global .nav_list_wrap .list_sub_global li {
                    width: 100%;
                    height: 44px;
                    background-color: #fff;
                    margin: 10px 0
                }

                    header #nav_global .nav_list_wrap .list_sub_global li:has(.btn_cmn_01) {
                        background-color: unset
                    }

                    header #nav_global .nav_list_wrap .list_sub_global li a {
                        width: 100%;
                        -webkit-box-pack: center;
                        -ms-flex-pack: center;
                        justify-content: center;
                        border: 1px solid #007abe;
                        border-radius: 100px;
                        padding: 11px 16.5px
                    }

                    header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_search {
                        width: 100%
                    }

                        header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_search::before {
                            content: "";
                            display: inline-block;
                            width: 22px;
                            height: 22px;
                            background: url(../images/common/icon_search.svg) no-repeat center/contain;
                            margin-right: 6px
                        }

                    header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_mail {
                        width: 100%;
                        padding: 14px 17.5px;
                        margin: 0
                    }

                        header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_mail::before {
                            content: "";
                            display: inline-block;
                            width: 23px;
                            height: 16px;
                            background: url(../images/common/icon_mail.svg) no-repeat center/contain;
                            margin-right: 6px
                        }

                    header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_personnel-reg {
                        width: 100%;
                        padding: 13px 16.5px
                    }

                        header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_personnel-reg::before {
                            content: "";
                            display: inline-block;
                            width: 22px;
                            height: 18px;
                            background: url(../images/common/icon_personnel-reg.svg) no-repeat center/contain;
                            margin-right: 6px
                        }

                    header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_personnel_login {
                        width: 100%;
                        padding: 16.5px 20px
                    }

                        header #nav_global .nav_list_wrap .list_sub_global li .icon_nav_personnel_login::before {
                            content: "";
                            display: inline-block;
                            width: 17px;
                            height: 18px;
                            background: url(../images/common/icon_personnel-login.svg) no-repeat center/contain;
                            margin-right: 6px
                        }

    .top header {
        height: 70px
    }

        .top header #nav_global .nav_list_wrap .list_main_global {
            display: block;
            width: 100%;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
            border-radius: unset
        }

    .top main {
        margin-top: 70px
    }

    .is_scroll {
        height: 70px
    }

    aside {
        padding: 43px 6.45% 19px
    }

        aside h2 {
            font-size: 2.2rem;
            margin: 0 0 27px
        }

        aside .list_contact {
            display: block;
            width: 100%;
            max-width: 100%;
            font-size: 1.4rem;
            line-height: 1.18;
            list-style: none;
            margin: 0 auto
        }

            aside .list_contact li {
                width: 100%;
                height: auto;
                padding: 30px 0;
                margin-bottom: 20px
            }

                aside .list_contact li:has(.icon_tel) {
                    padding: 27px 0
                }

                aside .list_contact li a {
                    display: -webkit-box;
                    display: -ms-flexbox;
                    display: flex;
                    -webkit-box-pack: center;
                    -ms-flex-pack: center;
                    justify-content: center;
                    -webkit-box-align: center;
                    -ms-flex-align: center;
                    align-items: center;
                    margin-bottom: 10px
                }

                aside .list_contact li .icon_tel {
                    font-size: 2.6rem;
                    margin-bottom: 10px
                }

                    aside .list_contact li .icon_tel::before {
                        content: "";
                        display: inline-block;
                        width: 25px;
                        height: 25px;
                        background: url(../images/common/icon_tel.svg) no-repeat center/contain;
                        margin-right: 10px
                    }

                aside .list_contact li .btn_cmn_01 {
                    width: 79%;
                    max-width: 340px;
                    font-size: 1.6rem;
                    font-weight: 500;
                    text-indent: 1em;
                    margin: 0 auto 15px
                }

                    aside .list_contact li .btn_cmn_01::after {
                        content: "";
                        display: inline-block;
                        width: 26px;
                        height: 26px;
                        background: url(../images/common/icon_arrow_right.svg) no-repeat center/contain;
                        margin-left: 10px
                    }

    footer {
        padding: 40px 6.45% 23px
    }

        footer .flex_footer {
            display: block;
            margin: 0 0 45px
        }

            footer .flex_footer .block_address {
                margin: 0 0 30px
            }

                footer .flex_footer .block_address address {
                    font-size: 1.6rem;
                    line-height: 1.6
                }

                    footer .flex_footer .block_address address dl {
                        display: -webkit-box;
                        display: -ms-flexbox;
                        display: flex
                    }

                        footer .flex_footer .block_address address dl dt {
                            display: none
                        }

                            footer .flex_footer .block_address address dl dt:after {
                                content: unset
                            }

                        footer .flex_footer .block_address address dl:nth-child(3) {
                            display: none
                        }

                    footer .flex_footer .block_address address a[href^=tel] {
                        text-decoration: underline
                    }

            footer .flex_footer .nav_footer {
                margin-bottom: 26px
            }
}
