@charset "utf-8";

/*///////////////////// font-face 読み込み ///////////////////////////*/
/* Noto Serif JP 200 */
@font-face {
    font-family: 'Noto Serif JP';
    src: url(/fonts/NotoSerifJP-ExtraLight.woff2);
    font-weight: 200;
    font-display: swap;
}
/* Noto Serif JP 300 */
@font-face {
    font-family: 'Noto Serif JP';
    src: url(/fonts/NotoSerifJP-Light.woff2);
    font-weight: 300;
    font-display: swap;
}
/* Noto Serif JP 400 */
@font-face {
    font-family: 'Noto Serif JP';
    src: url(/fonts/NotoSerifJP-Regular.woff2);
    font-weight: 400;
    font-display: swap;
}
/* Noto Serif JP 500 */
@font-face {
    font-family: 'Noto Serif JP';
    src: url(/fonts/NotoSerifJP-Medium.woff2);
    font-weight: 500;
    font-display: swap;
}

/* Noto Sans JP 100 */
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Thin.woff2);
    font-weight: 100;
    font-display: swap;
}
/* Noto Sans JP 300 */
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Light.woff2);
    font-weight: 300;
    font-display: swap;
}
/* Noto Sans JP 400 */
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Regular.woff2);
    font-weight: 400;
    font-display: swap;
}
/* Noto Sans JP 500 */
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Medium.woff2);
    font-weight: 500;
    font-display: swap;
}
/* Noto Sans JP 700 */
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Bold.woff2);
    font-weight: 700;
    font-display: swap;
}

/* Oswald 200 */
@font-face {
    font-family: 'Oswald';
    src: url(/fonts/Oswald-ExtraLight.ttf);
    font-weight: 200;
    font-display: swap;
}
/* Oswald 300 */
@font-face {
    font-family: 'Oswald';
    src: url(/fonts/Oswald-Light.ttf);
    font-weight: 300;
    font-display: swap;
}
/*///////////////////// font-face 読み込み ///////////////////////////*/

.l-header {
    height: 92px;
    position: static;
}
.l-header * {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    font-weight: 500;
    /* letter-spacing: -0.02em; */
    color: #0d253f;
}
    .header__inner {
        width: 100%;
        height: 92px;
        padding: 0 20px 0 30px;
        min-width: 1000px;
        background-color: #FFFFFF;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 10;
    }
        .header__logo {
            padding-bottom: 5px;
        }
        .header__logo:hover {
            opacity: 1;
        }
        .header-nav__list {
            align-items: center;
            gap: 45px;
        }
            .header-nav__list li {
                overflow: hidden;
            }
            .header-nav__list li:last-child {
                padding-left: 10px;
            }
                .header-nav__link {
                    position: relative;
                    display: block;
                    padding-block: 12px;
                    transition: .3s;
                }
                .header-nav__link.is-icon {
                    padding-right: 10px;
                }
                    .header-nav__link::after {
                        background: #0d2540;
                        content: '';
                        width: 100%;
                        height: 1px;
                        position: absolute;
                        left: 0;
                        bottom: 0;
                        transform-origin: center top;
                        transform: scale(0, 1);
                        transition: transform .3s;
                    }
                    .header-nav__link.is-icon::after {
                        content: none;
                    }
                    .header-nav__link.is-target::after {
                        background: #0d2540;
                        content: '';
                        width: 100%;
                        height: 1px;
                        position: absolute;
                        left: 0;
                        bottom: 0;
                        transform-origin: center top;
                        transform: scale(1, 1);
                        transition: transform .3s;
                    }
                .header-nav__link:hover {
                    color: inherit;
                }
                .header-nav__link.is-icon:hover {
                    opacity: 0.6;
                }
                    .header-nav__link:hover::after {
                        transform-origin: center top;
                        transform: scale(1, 1);
                    }

/* //////////////////////////////////////// 共通スタイル START //////////////////////////////////////// */
.c-more__link {
    font-size: 16px;
    font-weight: 700;
    background-color: #0d2540;
    color: #fff;
    width: 300px;
    height: 50px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    transition: 0.25s;
    border: 1px solid #0d2540;
}
.c-more__link:hover {
    color: #0d2540;
    opacity: 1;
}
    .c-more__link::before {
        content: '';
        background-color: #fff;
        z-index: -1;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        transform-origin: center right;
        transform: scaleX(0);
        transition: transform 0.25s ease-in-out;
    }
    .c-more__link:hover::before {
        transform-origin: center left;
        transform: scaleX(1);
    }
    .c-more__link::after {
        content: '';
        background: url(/images/top/icon_arrow.webp) no-repeat center center / contain;
        width: 7px;
        height: 11px;
        position: absolute;
        right: 20px;
        transition: 0.25s;
    }
    .c-more__link:hover::after {
        background: url(/images/top/icon_arrow-navy.webp) no-repeat center center / contain;
    }
/* //////////////////////////////////////// 共通スタイル END //////////////////////////////////////// */