@charset "UTF-8";@font-face {
    font-family: icomoon;
    src: url(../fonts/icomoon.ttf) format('truetype'),url(../fonts/icomoon.woff) format('woff'),url(../fonts/icomoon.svg#icomoon) format('svg');
    font-weight: 400;
    font-style: normal;
    font-display: block
}

[class*=" icon-"],[class^=icon-] {
    font-family: icomoon!important;
    speak: never;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    letter-spacing: 0;
    -webkit-font-feature-settings: "liga";
    -moz-font-feature-settings: "liga=1";
    -moz-font-feature-settings: "liga";
    -ms-font-feature-settings: "liga" 1;
    font-feature-settings: "liga";
    -webkit-font-variant-ligatures: discretionary-ligatures;
    font-variant-ligatures: discretionary-ligatures;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon-arrow_5_bottom:before {
    content: "\e927"
}

.icon-arrow_5_left:before {
    content: "\e928"
}

.icon-arrow_5_right:before {
    content: "\e929"
}

.icon-arrow_5_top:before {
    content: "\e92a"
}

.icon-close2:before {
    content: "\e926"
}

.icon-arrow_4_bottom:before {
    content: "\e922"
}

.icon-arrow_4_left:before {
    content: "\e923"
}

.icon-arrow_4_right:before {
    content: "\e924"
}

.icon-arrow_4_top:before {
    content: "\e925"
}

.icon-download:before {
    content: "\e920"
}

.icon-clipboard:before {
    content: "\e921"
}

.icon-ai:before {
    content: "\e917"
}

.icon-doc:before {
    content: "\e918"
}

.icon-jpg:before {
    content: "\e919"
}

.icon-mp3:before {
    content: "\e91a"
}

.icon-pdf:before {
    content: "\e91b"
}

.icon-png:before {
    content: "\e91c"
}

.icon-ppt:before {
    content: "\e91d"
}

.icon-xls:before {
    content: "\e91e"
}

.icon-zip:before {
    content: "\e91f"
}

.icon-check2:before {
    content: "\e916"
}

.icon-next:before {
    content: "\e914"
}

.icon-prev:before {
    content: "\e915"
}

.icon-camera:before {
    content: "\e913"
}

.icon-arrow_3_bottom:before {
    content: "\e90f"
}

.icon-arrow_3_left:before {
    content: "\e910"
}

.icon-arrow_3_right:before {
    content: "\e911"
}

.icon-arrow_3_top:before {
    content: "\e912"
}

.icon-arrow_2_bottom:before {
    content: "\e90b"
}

.icon-arrow_2_left:before {
    content: "\e90c"
}

.icon-arrow_2_right:before {
    content: "\e90d"
}

.icon-arrow_2_top:before {
    content: "\e90e"
}

.icon-close:before {
    content: "\e90a"
}

.icon-check:before {
    content: "\e909"
}

.icon-arrow_dot_bottom:before {
    content: "\e905"
}

.icon-arrow_dot_left:before {
    content: "\e906"
}

.icon-arrow_dot_right:before {
    content: "\e907"
}

.icon-arrow_dot_top:before {
    content: "\e908"
}

.icon-arrow_bottom:before {
    content: "\e901"
}

.icon-arrow_left:before {
    content: "\e902"
}

.icon-arrow_right:before {
    content: "\e903"
}

.icon-arrow_top:before {
    content: "\e904"
}

.icon-window:before {
    content: "\e900"
}

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

:where([hidden]:not([hidden=until-found])) {
    display: none!important
}

:where(html) {
    -webkit-text-size-adjust: none
}

@supports not (min-block-size: 100dvb) {
    :where(html) {
        block-size:100%
    }
}

@media (prefers-reduced-motion:no-preference) {
    :where(html:focus-within) {
        scroll-behavior: smooth
    }
}

:where(body) {
    block-size: 100%;
    block-size: 100dvb;
    line-height: 1.5;
    font-family: system-ui,sans-serif;
    -webkit-font-smoothing: antialiased
}

:where(input,button,textarea,select) {
    font: inherit;
    color: inherit
}

:where(textarea) {
    resize: vertical;
    resize: block
}

:where(button,label,select,summary,[role=button],[role=option]) {
    cursor: pointer
}

:where(:disabled) {
    cursor: not-allowed
}

:where(label:has(>input:disabled),label:has(+input:disabled)) {
    cursor: not-allowed
}

:where(button) {
    border-style: solid
}

:where(a) {
    text-underline-offset: 5px
}

:where(ul,ol) {
    list-style: none
}

:where(img,svg,video,canvas,audio,iframe,embed,object) {
    display: block
}

:where(img,picture,svg) {
    max-inline-size: 100%;
    block-size: auto
}

:where(p,h1,h2,h3,h4,h5,h6) {
    overflow-wrap: break-word
}

:where(h1,h2,h3) {
    line-height: calc(1em + .5rem)
}

:where(hr) {
    border: none;
    border-block-start:1px solid;color: inherit;
    block-size: 0;
    overflow: visible
}

:where(:focus-visible) {
    outline: 2px solid var(--focus-color,Highlight);
    outline-offset: 2px
}

:where(.visually-hidden:not(:focus,:active,:focus-within,.not-visually-hidden)) {
    clip-path: inset(50%)!important;
    height: 1px!important;
    width: 1px!important;
    overflow: hidden!important;
    position: absolute!important;
    white-space: nowrap!important;
    border: 0!important
}

:where(p,span,a,li,ol,ul,h1,h2,h3,h4,h5,h6) {
    text-box: trim-both cap alphabetic
}

:where(span,a) {
    display: inline-block
}

:root {
    --HM_third: #f5f5f5;
    --primary: #163a64;
    --white: #fff;
    --black: #252529;
    --blue: #345478;
    --secondary: #cba373;
    --gray-100: #eee9e4;
    --bg-03: #fff8f2;
    --bg-schedule: #f9f9f9;
    --line: #e8d8c6;
    --sns-facebook: #0866ff;
    --sns-line: #06c755;
    --contact-require: #ff0044;
    --contact-placeholder: #929294;
    --contact-error-border: #ff8aa9;
    --contact-error-bg: #f7ceda
}

.bg-primary {
    background-color: var(--primary);
    color: var(--white)
}

.bg-secondary {
    background-color: var(--secondary);
    color: var(--white)
}

.bg-light {
    background-color: var(--bg-03);
    color: var(--primary)
}

.bg-light .section-header {
    color: var(--primary)
}

.bg-schedule {
    background-color: var(--bg-schedule)
}

.bg-gray {
    background-color: var(--gray-100);
    color: var(--primary)
}

.bg-gray .section-header {
    color: var(--primary)
}

.u-text-xs {
    font-size: 12px
}

.u-text-sm {
    font-size: 14px
}

.u-text-md {
    font-size: 16px
}

.u-text-lg {
    font-size: 18px
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding-block:6px;padding-top: 10px
}

.header.is-lower {
    background-color: #003894;
}

.header:not(.is-lower) {
    background-color: transparent;
    transition: background-color .2s ease
}

.header:not(.is-lower).is-header-solid {
    background-color: var(--primary)
}

.header-inner {
    width: 100%;
    margin-inline:auto;max-width: calc(100% + var(--inner-padding) * 2);
    padding-inline:calc(var(--inner-padding));display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px
}

@media screen and (max-width: 480px) {
    .header-inner {
        gap:5px;
        padding-inline:10px!important;
        padding-bottom: 5px;
        }
}

.header .logo-header {
    flex: 1;
    display: flex;
    align-items: center
}

.header .logo-header a {
    display: block;
    text-decoration: none
}

@media screen and (max-width: 480px) {
    .header .logo-header a {
        /* max-width:153px; */
    }
}

.header-nav {
    position: relative
}

.header-nav-button {
    border: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    background: 0 0;
    cursor: pointer;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

.header-nav-button-inner {
    width: 45px;
    aspect-ratio: 1/1;
    display: flex;
    flex-direction: column;
    gap: 15px;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    background: var(--white)
}

@media screen and (max-width: 480px) {
    .header-nav-button-inner {
        width:26px
    }
}

.header-nav-button-line {
    width: 22px;
    height: 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

@media screen and (max-width: 480px) {
    .header-nav-button-line {
        width:14px;
        height: 10px
    }
}

.header-nav-button-line-inner {
    width: 100%;
    height: 2px;
    background: #003894;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

.header-nav-button-line:after,.header-nav-button-line:before {
    display: block;
    content: "";
    width: 100%;
    height: 2px;
    background: #003894;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

.header-nav-button-text {
    color: var(--white);
    text-align: center;
    font-size: 13.5px;
    font-weight: 500;
    white-space: nowrap
}

@media screen and (max-width: 480px) {
    .header-nav-button-text {
        font-size:9px
    }
}

@media (hover: hover) {
    .header-nav-button:hover {
        opacity:var(--hover-opacity)
    }
}

.header-nav-menu {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    width: 100%;
    height: 100%;
    z-index: 1001;
    transition: all .35s cubic-bezier(.215,.61,.355,1);
    opacity: 0;
    visibility: hidden
}

.header-nav-menu.active {
    opacity: 1;
    visibility: visible
}

.header-nav-menu-area {
    flex: 1;
    min-width: 377px;
    padding-bottom: 20px;
    background: #003894;
    opacity: 0.9;
    display: flex;
    flex-direction: column;
    z-index: 1001;
    overflow-y: auto
}

@media screen and (max-width: 480px) {
    .header-nav-menu-area {
        min-width:288px
    }
}

.header-nav-menu-overlay {
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.5);
}

.header-nav-menu.active {
    opacity: 1
}

.header-nav-menu-close {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 13px 20px 26px
}

@media screen and (max-width: 480px) {
    .header-nav-menu-close {
        padding:10px 10px 20px
    }
}

.header-nav-menu-close-button {
    display: flex;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    border: none;
    background: 0 0
}

.header-nav-menu-close-line {
    width: 32px;
    aspect-ratio: 1/1;
    position: relative
}

@media screen and (max-width: 480px) {
    .header-nav-menu-close-line {
        width:24px
    }
}

.header-nav-menu-close-line:after,.header-nav-menu-close-line:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1.5px;
    background: var(--white);
    transform-origin: center
}

.header-nav-menu-close-line:before {
    rotate: 45deg
}

.header-nav-menu-close-line:after {
    rotate: -45deg
}

.header-nav-menu-close-text {
    color: var(--white);
    font-size: 12px;
    font-weight: 500
}

@media screen and (max-width: 1920px) {
    .header-nav-menu-close-text {
        font-size:9px
    }
}

.header-nav-menu-content {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    padding-inline:20px}

.header-nav-menu-content .hm_button {
    flex: 0 0 100%
}

@media screen and (max-width: 480px) {
    .header-nav-menu-content .hm_button img {
        width:30px
    }
}

.header-nav-menu-content:has(.hm_button:nth-child(3)) .hm_button:nth-child(n+2) {
    flex: 0 0 calc((100% - 14px)/ 2)
}

.header-nav-menu-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    list-style: none;
    padding-inline:38px;margin-top: 27px
}

@media screen and (max-width: 480px) {
    .header-nav-menu-list {
        gap:10px;
        margin-top: 16px;
        padding-inline:28px}
}

.header-nav-menu-item {
    display: flex;
    align-items: center;
    gap: 18px;
    text-decoration: none;
    color: var(--white);
    transition: all .35s cubic-bezier(.215,.61,.355,1);
    border-bottom: 1px solid rgba(255,255,255,.1)
}

@media (hover: hover) {
    .header-nav-menu-item:hover {
        /* background:rgba(255,255,255,.05); */
    }
}

.header-nav-menu-item:last-of-type {
    border-bottom: none
}

.header-nav-menu-item img {
    width: 33px
}

@media screen and (max-width: 480px) {
    .header-nav-menu-item {
        gap:14px
    }

    .header-nav-menu-item img {
        width: 24px
    }
}

.header-nav-menu-icon {
    width: 32px;
    aspect-ratio: 1/1;
    flex-shrink: 0;
    display: block
}

.header-nav-menu-text {
    color: var(--white);
    font-size: 16px;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 1.12px
}

@media screen and (max-width: 480px) {
    .header-nav-menu-text {
        font-size:13px;
        font-weight: 400;
        letter-spacing: .91px
    }
}

.header-nav-menu .submenu {
    display: none;
    margin-top: 5px;
    background: var(--blue);
    padding-left: 89px;
    width: calc(100% + 76px);
    margin-left: -38px
}

@media screen and (max-width: 480px) {
    .header-nav-menu .submenu {
        padding-left:74px
    }
}

.header-nav-menu .submenu-branch-item-link {
    display: block;
    padding-block:19px;color: var(--white);
    font-size: 14px;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: .98px;
    text-decoration: none;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

@media screen and (max-width: 480px) {
    .header-nav-menu .submenu-branch-item-link {
        font-size:13px;
        letter-spacing: .91px
    }
}

@media (hover: hover) {
    .header-nav-menu .submenu-branch-item-link:hover {
        opacity:var(--hover-opacity)
    }
}

.header-nav-menu-footer {
    margin-top: 26px;
    padding-inline:35px;display: flex;
    align-items: center;
    gap: 13px
}

@media screen and (max-width: 480px) {
    .header-nav-menu-footer {
        margin-top:20px;
        padding-inline:15px;gap: 10px
    }
}

.header-nav-menu-social {
    display: flex;
    gap: 18px
}

@media screen and (max-width: 480px) {
    .header-nav-menu-social {
        gap:15px
    }
}

.header-nav-menu-social-item {
    width: 40px;
    aspect-ratio: 1/1;
    border-radius: 1000px;
    padding: 4px;
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

@media screen and (max-width: 480px) {
    .header-nav-menu-social-item {
        width:30px
    }
}

@media (hover: hover) {
    .header-nav-menu-social-item:hover {
        opacity:var(--hover-opacity)
    }
}

.header-nav-menu-social-icon {
    display: block;
    width: 24px;
    aspect-ratio: 1/1;
    --C1: var(--primary)
}

@media screen and (max-width: 480px) {
    .header-nav-menu-social-icon {
        width:21px
    }
}

.header-nav-menu-company {
    display: flex;
    flex-direction: column;
    gap: 14px
}

.header-nav-menu-company-link {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .84px;
    color: var(--white);
    text-decoration: none;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

@media (hover: hover) {
    .header-nav-menu-company-link:hover {
        opacity:var(--hover-opacity)
    }
}

.header-nav-menu-company-icon {
    flex-shrink: 0;
    display: block
}

.header-action-area {
    display: flex;
    gap: 30px;
    margin-right: 27px
}

@media screen and (max-width: 650px) {
    .header-action-area {
        gap:10px;
        margin-right: 10px
    }
}

@media screen and (max-width: 480px) {
    .header-action-area {
        gap:6px;
        margin-right: 2px
    }
}

.header-ticket {
    display: flex;
    align-items: center;
    justify-content: center;
    display: flex;
    padding: 12px 18px;
    border-radius: 22px;
    border: 1px solid var(--primary);
    background: var(--white);
    text-decoration: none;
    min-width: 200px;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

@media screen and (max-width: 950px) {
    .header-ticket {
        min-width:auto
    }
}

@media screen and (max-width: 480px) {
    .header-ticket {
        width:60px;
        padding: 8px 2px
    }
}

.header-ticket span {
    color: var(--primary);
    font-size: 13.5px;
    font-weight: 400
}

@media screen and (max-width: 650px) {
    .header-ticket span {
        font-size:11px
    }
}

@media screen and (max-width: 480px) {
    .header-ticket span {
        font-size:9px
    }
}

@media (hover: hover) {
    .header-ticket:hover {
        opacity:var(--hover-opacity)
    }
}

.header-join {
    display: flex;
    align-items: center;
    justify-content: center;
    display: flex;
    padding: 12px 18px;
    border-radius: 22px;
    background: var(--secondary);
    text-decoration: none;
    min-width: 200px;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

@media screen and (max-width: 950px) {
    .header-join {
        min-width:auto
    }
}

@media screen and (max-width: 480px) {
    .header-join {
        width:60px;
        padding: 8px 2px
    }
}

.header-join span {
    color: var(--white);
    font-size: 13.5px;
    font-weight: 400
}

@media screen and (max-width: 650px) {
    .header-join span {
        font-size:11px
    }
}

@media screen and (max-width: 480px) {
    .header-join span {
        font-size:9px
    }
}

@media (hover: hover) {
    .header-join:hover {
        opacity:var(--hover-opacity)
    }
}

.header-mypage {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-decoration: none;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

@media screen and (max-width: 480px) {
    .header-mypage {
        justify-self:flex-start
    }

    .header-mypage img {
        width: 24px
    }
}

.header-mypage span {
    color: var(--white);
    text-align: center;
    font-size: 13.5px;
    font-weight: 500;
    white-space: nowrap
}

@media screen and (max-width: 480px) {
    .header-mypage span {
        font-size:9px
    }
}

@media (hover: hover) {
    .header-mypage:hover {
        opacity:var(--hover-opacity)
    }
}

.site-footer {
    padding: 30px 0 30px;
    background: #003894;
    color: var(--white);
    position: relative;
    z-index: 3
}

.site-footer-inner {
    width: 100%;
    margin-inline:auto;max-width: calc(var(--inner-width) + var(--inner-padding) * 2);
    padding-inline:calc(var(--inner-padding));display: flex;
    flex-direction: column
}

.site-footer-back {
    display: flex;
    justify-content: center;
    margin-top: 70px
}

.site-footer-back:first-child {
    margin-top: 0
}

@media screen and (max-width: 480px) {
    .site-footer-back {
        margin-left:calc(-50vw + 50%);
        width: 100vw
    }
}

.site-footer-back-button {
    width: 100%;
    display: flex;
    border-top: 1.43px solid var(--white);
    border-bottom: 1.43px solid var(--white);
    padding: 10px 20px;
    justify-content: center;
    align-items: center;
    gap: 6px;
    color: var(--white);
    text-decoration: none;
    cursor: pointer;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

@media screen and (max-width: 480px) {
    .site-footer-back-button {
        margin-top:50px
    }
}

@media (hover: hover) {
    .site-footer-back-button:hover {
        background:rgba(255,255,255,.1)
    }
}

.site-footer-back-icon {
    width: 12px;
    --Color: var(--white)
}

@media screen and (max-width: 480px) {
    .site-footer-back-icon {
        width:9px
    }
}

.site-footer-back-text {
    font-size: 18px;
    font-weight: 400;
    line-height: 16px
}

@media screen and (max-width: 480px) {
    .site-footer-back-text {
        font-size:13px
    }
}

.site-footer-ranking {
    display: flex;
    flex-direction: column;
    margin-top: 24px
}

@media screen and (max-width: 480px) {
    .site-footer-ranking {
        margin-top:31px
    }
}

.site-footer-ranking .slick-list {
    padding-block:24px!important}

.site-footer-ranking .slick-track {
    margin-inline:0!important}

@media screen and (max-width: 480px) {
    .site-footer-ranking-list {
        margin-left:calc(-50vw + 50%);
        width: 100vw
    }
}

.site-footer-ranking-list .ranking-slider-link {
    width: auto;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 12px;
    padding-inline:12px;color: #fff;
    text-decoration: none;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

@media (hover: hover) {
    .site-footer-ranking-list .ranking-slider-link:hover {
        scale:1.1
    }
}

@media screen and (max-width: 480px) {
    .site-footer-ranking-list .ranking-slider-link {
        padding-inline:5px
    }
}

.site-footer-ranking-list .ranking-slider-link img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.site-footer-ranking-thumb {
    aspect-ratio: 236/335
}

.site-footer-ranking-position {
    font-size: 26px;
    font-weight: 400;
    letter-spacing: .08em
}

@media screen and (max-width: 480px) {
    .site-footer-ranking-position {
        font-size:26px
    }
}

.site-footer-ranking-period {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-top: 20px
}

.site-footer-ranking-year {
    font-size: 19px;
    font-weight: 400
}

@media screen and (max-width: 480px) {
    .site-footer-ranking-year {
        font-size:14px
    }
}

.site-footer-ranking-range {
    font-size: 42px;
    font-weight: 400
}

@media screen and (max-width: 480px) {
    .site-footer-ranking-range {
        font-size:24px
    }
}

.site-footer-links {
    width: 100%;
    max-width: 795px;
    margin: 70px auto 0
}

@media screen and (max-width: 480px) {
    .site-footer-links {
        margin-top:50px
    }
}

.site-footer-links-list {
    display: flex;
    justify-content: center;
    gap: 60px;
    list-style: none;
    margin: 0;
    padding: 0
}

@media screen and (max-width: 480px) {
    .site-footer-links-list {
        flex-direction:column;
        gap: 15px
    }
}

.site-footer-links-link {
    font-size: 16px;
    font-weight: 400;
    color: var(--white);
    text-decoration: none;
    letter-spacing: .08em;
    cursor: pointer;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

@media (hover: hover) {
    .site-footer-links-link:hover {
        opacity:var(--hover-opacity)
    }
}

@media screen and (max-width: 480px) {
    .site-footer-links-link {
        font-size:14px
    }
}

.site-footer-meta {
    width: 100%;
    /* max-width: 125px; */
    display: flex;
    flex-direction: column;
    gap: 30px;
    /* margin-top: 35px; */
    margin-inline:auto
    }

.site-footer-meta-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 57px
}

@media screen and (max-width: 480px) {
    .site-footer-meta-main {
        gap:30px
    }
}

.site-footer-sns {
    display: flex;
    gap: 14px
}

@media screen and (max-width: 480px) {
    .site-footer-sns {
        gap:28px
    }
}

.site-footer-sns-item {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    color: var(--white);
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

@media (hover: hover) {
    .site-footer-sns-item:hover {
        opacity:var(--hover-opacity)
    }
}

.site-footer-sns-icon-inner {
    width: 54px;
    height: 54px;
    border-radius: 8px;
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center
}

@media screen and (max-width: 480px) {
    .site-footer-sns-icon-inner {
        width:64px;
        height: 64px
    }
}

.site-footer-sns-icon {
    display: block;
    width: 35px;
    --C1: var(--primary)
}

@media screen and (max-width: 480px) {
    .site-footer-sns-icon {
        width:42px
    }
}

.site-footer-sns-label {
    font-size: 11px;
    letter-spacing: .08em
}

.site-footer-legal-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%
}

@media screen and (max-width: 480px) {
    .site-footer-legal-wrapper {
        gap:20px
    }
}

.site-footer-legal-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 6px
}

@media screen and (max-width: 768px) {
    .site-footer-legal-list {
        justify-content:center
    }
}

.site-footer-legal-item {
    border-right: 1px solid #fff;
    padding-right: 6px
}

.site-footer-legal-link {
    font-size: 12px;
    font-weight: 400;
    color: var(--white);
    line-height: 1.7;
    text-decoration: none;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

@media (hover: hover) {
    .site-footer-legal-link:hover {
        opacity:var(--hover-opacity)
    }
}

.site-footer-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    max-width: 100px;
}

@media screen and (max-width: 480px) {
    .site-footer-brand {
        align-items:center
    }
}

.site-footer-by {
    font-size: 14px;
    letter-spacing: .08em
}

.site-footer-copy-wrapper {
    display: flex;
    justify-content: center
}

.site-footer-copy {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: .06em;
    color: var(--white);
    text-align: center
}

@media screen and (max-width: 480px) {
    .site-footer-copy {
        font-size:10px
    }
}

.breadcrumb ul {
    display: flex;
    align-items: center
}

@media screen and (max-width: 480px) {
    .breadcrumb ul {
        overflow-x:scroll;
        word-break: keep-all;
        white-space: nowrap
    }
}

.breadcrumb li {
    color: var(--black);
    font-size: 12px;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: .72px;
    margin-left: 3px
}

.breadcrumb li:first-child {
    margin-left: 0
}

.breadcrumb li:last-child {
    flex: 1
}

.breadcrumb li a {
    display: flex;
    align-items: center;
    gap: 3px;
    text-decoration: none;
    color: inherit;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

@media (hover: hover) {
    .breadcrumb li a:hover {
        text-decoration:underline;
        text-underline-offset: 2px;
        opacity: .5
    }
}

.breadcrumb li a:after {
    display: inline-block;
    font-family: icomoon;
    content: "\e90d";
    width: 1em;
    height: 1em;
    font-size: 12px;
    line-height: 1
}

@media screen and (max-width: 820px) {
    .breadcrumb li a:after {
        font-size:10px
    }
}

.hm_button {
    display: inline-flex;
    padding: 4px 15px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    text-decoration: none;
    border-radius: 9.6px;
    border: none;
    background: var(--gray-100);
    min-height: 53px
}

@media screen and (max-width: 480px) {
    .hm_button {
        min-height:35px
    }

    .hm_button:has(svg) {
        justify-content: space-between
    }
}

.hm_button span {
    color: var(--primary);
    font-size: 16px;
    font-weight: 400;
    line-height: 100%
}

@media screen and (max-width: 480px) {
    .hm_button span {
        font-size:14px
    }
}

.hm_button svg {
    width: 24px;
    height: 24px;
    --C1: var(--primary)
}

.hm_button-primary {
    background: var(--primary)
}

.hm_button-primary span {
    color: var(--white)
}

.hm_button-secondary {
    background: #00A0E9;
}

.hm_button-secondary span {
    color: var(--white)
}

.hm_button-secondary svg {
    --C1: var(--white)
}

.hm_button-size-medium {
    width: 100%;
    max-width: 380px
}

.wp-block-button .wp-block-button__link {
    display: inline-flex;
    padding: 16px 40px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    text-decoration: none;
    border-radius: 9.6px;
    background: var(--secondary);
    min-height: 53px;
    min-width: 309px
}

@media screen and (max-width: 480px) {
    .wp-block-button .wp-block-button__link {
        min-height:35px;
        min-width: 100%;
        padding: 15px 20px
    }
}

.wp-block-button .wp-block-button__link span {
    color: var(--white);
    font-size: 16px;
    font-weight: 400;
    line-height: 170%;
    letter-spacing: 0
}

@media screen and (max-width: 480px) {
    .wp-block-button .wp-block-button__link span {
        font-size:14px;
        line-height: 1.1875
    }
}

.anchor-button {
    display: inline-flex;
    padding: 13px 12px;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    border: 1px solid var(--secondary);
    background: var(--white);
    text-decoration: none;
    transition: all .35s cubic-bezier(.215,.61,.355,1);
    cursor: pointer
}

@media screen and (max-width: 480px) {
    .anchor-button {
        padding:9px 4px
    }
}

.anchor-button span {
    color: var(--re_secondary,#cba373);
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    white-space: nowrap
}

@media screen and (max-width: 480px) {
    .anchor-button span {
        font-size:13px
    }
}

.anchor-button.active {
    background: var(--secondary)
}

.anchor-button.active span {
    color: var(--white)
}

@media (hover: hover) {
    .anchor-button:hover {
        opacity:var(--hover-opacity)
    }
}

.anchor-area {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    padding: 6px 9px;
    border-radius: 100px;
    background: var(--HM_white,#fff)
}

.anchor-area.mode-fixed {
    border-radius: 60px;
    flex-wrap: nowrap
}

.anchor-area.mode-fixed .anchor-button {
    flex: 1
}

@media screen and (max-width: 480px) {
    .anchor-area {
        gap:4px
    }
}

.section-header {
    display: flex;
    flex-direction: column;
    gap: 10px;
    color: var(--white)
}

.section-header-label {
    font-size: 28px;
    font-weight: 400
}

@media screen and (max-width: 480px) {
    .section-header-label {
        font-size:20px
    }
}

.section-header-title {
    font-size: 16px;
    font-weight: 350
}

@media screen and (max-width: 480px) {
    .section-header-title {
        font-size:15px
    }
}

.page-fv {
    margin-top: 75px;
    padding-block:76px 30px;
    background-color: #EEE;
}

@media screen and (max-width: 480px) {
    .page-fv {
        margin-top:55px;
        padding-block:48px 16px}
}

.page-fv-inner {
    width: 100%;
    margin-inline:auto;max-width: calc(var(--inner-width) + var(--inner-padding) * 2);
    padding-inline:calc(var(--inner-padding))}

.page-fv-title {
    font-weight: 400;
    font-size: 34px;
    line-height: 170%;
    letter-spacing: .05em;
    color: var(--primary);
    text-align: center
}

@media screen and (max-width: 480px) {
    .page-fv-title {
        font-size:24px
    }
}

.page-fv-breadcrumbs {
    margin-top: 40px
}

@media screen and (max-width: 480px) {
    .page-fv-breadcrumbs {
        margin-top:32px
    }
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px
}

:root {
    --default-width: 1440;
    --inner-width: 1000px;
    --inner-padding: 16px;
    --inner-sm-width: 794px;
    --breakpoint-smp: 480;
    --hover-opacity: 0.6
}

body {
    overflow-x: clip;
    font-family: "Noto Sans JP","Yaku Kumi Sans","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","メイリオ",Meiryo,"ＭＳ ゴシック",sans-serif;
    background-color: var(--HM_third);
    color: var(--font-color)
}

.svgs {
    display: none
}

main {
    margin-left: auto;
    overflow-x: clip
}

@media screen and (max-width: 1259px) {
    main {
        width:100%
    }
}

a[disabled] {
    pointer-events: none;
    opacity: 0
}

a {
    outline: 0
}

.pc {
    display: block
}

@media screen and (max-width: 480px) {
    .pc {
        display:none
    }
}

.sp {
    display: none
}

@media screen and (max-width: 480px) {
    .sp {
        display:block
    }
}

.section-area {
    padding-block:70px}

@media screen and (max-width: 480px) {
    .section-area {
        padding-block:40px
    }
}

.section-area .section-inner {
    width: 100%;
    margin-inline:auto;max-width: calc(var(--inner-width) + var(--inner-padding) * 2);
    padding-inline:calc(var(--inner-padding))}

.section-area.bg-primary {
    background-color: var(--primary);
    color: var(--white)
}

.section-area.bg-secondary {
    background-color: var(--secondary);
    color: var(--white)
}

.section-area.bg-light {
    background-color: var(--bg-03);
    color: var(--primary)
}

.section-area.bg-light .section-header {
    color: var(--primary)
}

.section-area.bg-gray {
    background-color: var(--gray-100);
    color: var(--primary)
}

.section-area.bg-gray .section-header {
    color: var(--primary)
}

.button-area {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 50px
}

@media screen and (max-width: 480px) {
    .button-area {
        margin-top:30px
    }
}

.floating-banner {
    position: fixed;
    left: 50%;
    bottom: 40px;
    transform: translate(-50%,0);
    z-index: 100;
    background-color: var(--white);
    border: 1.5px solid var(--primary);
    border-radius: 24px;
    min-width: 629px
}

@media screen and (max-width: 768px) {
    .floating-banner {
        max-width:629px;
        min-width: revert;
        width: 90.9333333333%
    }
}

.floating-banner-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 16px 20px;
    color: var(--primary);
    text-decoration: none
}

@media screen and (max-width: 480px) {
    .floating-banner-link {
        gap:10px
    }
}

.floating-banner-link-title {
    font-weight: 700;
    font-size: 22px;
    line-height: 1.1818181818;
    text-align: center
}

@media screen and (max-width: 480px) {
    .floating-banner-link-title {
        font-size:15px
    }
}

.floating-banner-link-text {
    font-weight: 700;
    font-size: 15px;
    line-height: 1.2;
    text-align: center;
    text-decoration: underline
}

@media screen and (max-width: 480px) {
    .floating-banner-link-text {
        font-size:10px
    }
}

@media screen and (max-width: 768px) {
    .floating-banner-link-text.pc {
        display:none
    }
}

.floating-banner-link-text.sp {
    display: none
}

@media screen and (max-width: 768px) {
    .floating-banner-link-text.sp {
        display:block
    }
}

.floating-banner-close {
    position: absolute;
    top: 0;
    right: -13px;
    transform: translateY(-50%)
}

.floating-banner-close-button {
    position: relative;
    width: 54px;
    aspect-ratio: 1/1;
    display: inline-block;
    border-radius: 50%;
    background-color: var(--black);
    border: none
}

@media screen and (max-width: 480px) {
    .floating-banner-close-button {
        width:36px
    }
}

.floating-banner-close-button::after,.floating-banner-close-button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 36px;
    height: 2px;
    border-radius: 100vh;
    background-color: var(--white);
    transform-origin: center center
}

@media screen and (max-width: 480px) {
    .floating-banner-close-button::after,.floating-banner-close-button::before {
        width:24px
    }
}

.floating-banner-close-button::before {
    transform: translate(-50%,-50%) rotate(45deg)
}

.floating-banner-close-button::after {
    transform: translate(-50%,-50%) rotate(-45deg)
}

.floating-banner {
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

.floating-banner.is-hidden {
    opacity: 0;
    visibility: hidden
}

#cookie-notice {
    width: 100%
}

.cookie-notice-container {
    padding: 28px 30px
}

@media screen and (max-width: 480px) {
    .cookie-notice-container {
        padding:40px 20px 20px
    }
}

.cookie-notice-container .cn-text-container {
    font-family: "Noto Sans JP";
    text-align: left;
    font-size: clamp(12px,.875vw + .2rem,14px);
    font-weight: 400;
    letter-spacing: .7px;
    line-height: 1.8
}

.cookie-notice-container .cn-text-container strong {
    font-size: clamp(14px,1vw + .2rem,16px);
    font-weight: 500;
    letter-spacing: .8px
}

@media screen and (max-width: 480px) {
    .cookie-notice-container .cn-buttons-container {
        display:flex!important;
        gap: 12px
    }

    .cookie-notice-container .cn-buttons-container .cn-button:not(.cn-button-custom) {
        margin: 0!important
    }
}

.cookie-notice-container .cn-buttons-container .cn-button {
    font-family: "Noto Sans JP"!important;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

@media (hover: hover) {
    .cookie-notice-container .cn-buttons-container .cn-button:hover {
        opacity:.5
    }
}

.cookie-notice-container .cn-buttons-container .cn-more-info {
    position: relative;
    display: inline-flex;
    align-items: center
}

.cookie-notice-container .cn-buttons-container .cn-more-info:after {
    display: inline-block;
    font-family: icomoon;
    content: "\e903";
    width: 1em;
    height: 1em;
    font-size: 12px;
    line-height: 1;
    color: var(--White);
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

.cookie-notice-container .cn-close-icon {
    right: 16px;
    top: 21px;
    opacity: 1;
    transition: all .35s cubic-bezier(.215,.61,.355,1)
}

@media (hover: hover) {
    .cookie-notice-container .cn-close-icon:hover {
        opacity:.5
    }
}

.cookie-notice-container .cn-close-icon:after,.cookie-notice-container .cn-close-icon:before {
    height: 20px;
    background-color: #a4a4a4
}

		.logo-header a {color: #FFF;    font-size: 1.4rem;}
		
		@media screen and (max-width: 768px){
			.logo-header a {color: #FFF;    font-size: 1.2rem; line-height: 2rem;}
		}

		  .youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.youtube iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.bold {font-weight: bold;}
.entry-header {display: none;}
  .back-to-top {
    position: fixed;
    right: calc(24px + env(safe-area-inset-right, 0px));
    bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    z-index: 101;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    padding: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--primary, #163a64);
    color: #fff;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .2);
    cursor: pointer;
    transition: background-color .2s, transform .2s;
  }
  .back-to-top span {
    font-size: 20px;
    line-height: 1;
  }
  .back-to-top:hover { background: #24558b; transform: translateY(-3px); }
  .back-to-top:focus-visible { outline: 3px solid #00a0e9; outline-offset: 3px; }
  @media screen and (max-width: 768px) {
    .back-to-top {
      right: calc(16px + env(safe-area-inset-right, 0px));
      bottom: calc(16px + env(safe-area-inset-bottom, 0px));
      width: 48px;
      height: 48px;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .back-to-top { transition: none; }
  }
