@charset "UTF-8";

/*===============================
font-face
===============================*/
@font-face {
    font-family: 'Roboto';
    src: url(/fonts/roboto-v51-latin-regular.woff2);
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url(/fonts/roboto-v51-latin-600.woff2);
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url(/fonts/roboto-v51-latin-700.woff2);
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url(/fonts/zen-kaku-gothic-new-v18-latin-regular.woff2);
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/noto-sans-jp-v56-japanese_latin-regular.woff2);
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/noto-sans-jp-v56-japanese_latin-500.woff2);
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/noto-sans-jp-v56-japanese_latin-600.woff2);
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/noto-sans-jp-v56-japanese_latin-700.woff2);
    font-weight: 700;
    font-display: swap;
}

html{
    scroll-behavior: smooth;
}

/*===============================
Header
===============================*/
.l-header.org-header,
.org-header {
    width: 100%;
    height: 100px;
    background-color: #fff;
    box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 0;
    left: 0;
    z-index: 3;
    padding: 0;
}
    .org-header__inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        height: 100%;
    }
        .org-header__logo {
            display: flex;
            align-items: center;
            height: 100%;
            margin: 0;
            padding-left: 10px;
        }
            .org-header__logo-link {
                display: block;
                line-height: 0;
                width: 267px;
                height: auto;
            }
            .org-header__logo-link:hover{
                opacity: 1;
            }
                .org-header__logo-link img {
                    display: block;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
        .org-header__right {
            display: flex;
            align-items: center;
            gap: 40px;
            height: 100%;
        }
            .org-header__nav {
                display: flex;
                align-items: center;
            }
                .org-header__list {
                    display: flex;
                    align-items: center;
                    gap: 24px;
                    margin: 0;
                    padding: 0;
                    list-style: none;
                }
                    .org-header__item {
                        display: flex;
                        align-items: center;
                    }
                        .org-header__link {
                            display: block;
                            text-decoration: none;
                        }
                        .org-header__link:hover {
                            opacity: 1;
                        }
                            .org-header__text {
                                display: inline-block;
                                position: relative;
                                font-family: "Noto Sans JP", sans-serif;
                                font-size: 16px;
                                font-weight: 500;
                                line-height: 1;
                                color: #0d294b;
                                white-space: nowrap;
                            }
                            .org-header__text::after {
                                content: "";
                                position: absolute;
                                left: 0;
                                bottom: -4px;
                                width: 100%;
                                height: 1px;
                                background-color: #0d294b;
                                transform: scaleX(0);
                                transform-origin: right center;
                                transition: transform 0.35s ease;
                            }
                            .org-header__link:hover .org-header__text::after {
                                transform: scaleX(1);
                                transform-origin: left center;
                            }
            .org-header__line {
                display: block;
                height: 100%;
            }
                .org-header__line-link {
                    display: block;
                    height: 100%;
                    line-height: 0;
                }
                    .org-header__line-link img {
                        display: block;
                        width: 235px;
                        height: 100px;
                    }

