@charset 'UTF-8';
*,
*::before,
*::after
{
    box-sizing: border-box;
}

*
{
    margin: 0;
}

html,
body
{
    height: 100%;
}

body
{
    line-height: 1.5;

    -webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg
{
    max-width: 100%;
}

input,
button,
textarea,
select
{
    font: inherit;
}

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

#root,
#__next
{
    isolation: isolate;
}

:root
{
    --color-main: #005aa3;
    --color-sub01: #f58700;
    --color-sub02: #e0f1ff;
    --color-text: #333;
    --color-white: #fff;
    --font-sans: 'Noto Sans JP',
    'Yu Gothic Medium',
    'Yu Gothic',
    YuGothic,
    游ゴシック体,
    メイリオ,
    Meiryo,
    'ＭＳ Ｐゴシック',
    sans-serif;
    --container-padding: 5.333vw;
}

@media only screen and (max-width: 959px) and (min-width: 560px)
{
    :root
    {
        --container-padding: 10.333vw;
    }
}
@media only screen and (min-width: 960px)
{
    :root
    {
        --container-padding: 6.333vw;
    }
}
@media only screen and (min-width: 1200px)
{
    :root
    {
        --container-padding: 8.333vw;
    }
}
html
{
    font-size: 2.6666666667vw;

    scroll-padding-top: max(12.5rem, 9rem + 30px);
}
@media only screen and (max-width: 959px) and (min-width: 560px)
{
    html
    {
        font-size: 1.3333333333vw;
    }
}
@media only screen and (min-width: 960px)
{
    html
    {
        font-size: .7692307692vw;

        scroll-padding-top: max(12.5rem, 4rem + 70px);
    }
}
@media only screen and (min-width: 1200px)
{
    html
    {
        font-size: 62.5%;
    }
}

:root,
html,
body
{
    width: 100%;
    height: auto;

    color: var(--color-text);
    background: var(--color-white);

    -webkit-print-color-adjust: exact;
}

body
{
    font-family: var(--font-sans);
    font-size: max(1.2rem, 12px);
    font-weight: 400;
    line-height: 1.5;

    overflow-x: hidden;

    letter-spacing: .075em;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'palt';
}
@media only screen and (min-width: 960px)
{
    body
    {
        font-size: max(1.6rem, 14px);
    }
}

img
{
    max-width: 100%;
    height: auto;

    vertical-align: bottom;
}

ul,
ol
{
    padding: 0;
}

li
{
    list-style-type: none;
}

a
{
    transition: opacity .35s;
    text-decoration: none;

    color: inherit;
}
@media (hover: hover)
{
    a:where(:any-link, :enabled, summary):hover
    {
        opacity: .7;
    }
}

a:hover
{
    color: inherit;
}

table
{
    border-collapse: collapse;
}

input[type=submit],
input[type=button]
{
    -webkit-box-sizing: content-box;
            box-sizing: border-box;

    cursor: pointer;

    border: none;
    border-radius: 0;

    -webkit-appearance: button;
            appearance: button;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration
{
    display: none;
}

input[type=submit]:focus,
input[type=button]:focus
{
    outline-offset: -2px;
}

button
{
    padding: 0;

    cursor: pointer;

    border: none;
    background-color: transparent;

    -webkit-appearance: none;
            appearance: none;
}

fieldset
{
    min-width: 0;
    margin: 0;
    padding: 0;

    border: 0;
}

td,
th
{
    text-align: left;
}

.sp-only
{
    display: block !important;
}
@media only screen and (min-width: 560px)
{
    .sp-only
    {
        display: none !important;
    }
}

.tab-pc-only
{
    display: none !important;
}
@media only screen and (min-width: 560px)
{
    .tab-pc-only
    {
        display: block !important;
    }
}

.pc-only
{
    display: none !important;
}
@media only screen and (min-width: 960px)
{
    .pc-only
    {
        display: block !important;
    }
}

.scroll-top-observer
{
    position: absolute;
    top: 20rem;

    width: 1px;
    height: 1px;

    background: transparent;
}
@media only screen and (min-width: 560px)
{
    .scroll-top-observer
    {
        top: 60rem;
    }
}

@font-face
{
    font-family: 'swiper-icons';
    font-weight: 400;
    font-style: normal;

    src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA') format('woff');
}
:root
{
    --swiper-theme-color: #007aff;
}

.swiper-container
{
    position: relative;
    /* Fix of Webkit flickering */
    z-index: 1;

    overflow: hidden;

    margin-right: auto;
    margin-left: auto;
    padding: 0;

    list-style: none;
}

.swiper-container-vertical > .swiper-wrapper
{
    flex-direction: column;
}

.swiper-wrapper
{
    position: relative;
    z-index: 1;

    display: flex;

    box-sizing: content-box;
    width: 100%;
    height: 100%;

    transition-property: transform;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper
{
    transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper
{
    flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper
{
    flex-direction: column;

    flex-wrap: wrap;
}

.swiper-container-free-mode > .swiper-wrapper
{
    margin: 0 auto;

    transition-timing-function: ease-out;
}

.swiper-container-pointer-events
{
    touch-action: pan-y;
}
.swiper-container-pointer-events.swiper-container-vertical
{
    touch-action: pan-x;
}

.swiper-slide
{
    position: relative;

    width: 100%;
    height: 100%;

    transition-property: transform;

    flex-shrink: 0;
}

.swiper-slide-invisible-blank
{
    visibility: hidden;
}

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide
{
    height: auto;
}
.swiper-container-autoheight .swiper-wrapper
{
    transition-property: transform, height;

    align-items: flex-start;
}

/* 3D Effects */
.swiper-container-3d
{
    perspective: 1200px;
}
.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow
{
    transform-style: preserve-3d;
}
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom
{
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    pointer-events: none;
}
.swiper-container-3d .swiper-slide-shadow-left
{
    background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-right
{
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-top
{
    background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-bottom
{
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper
{
    overflow: auto;

    scrollbar-width: none;
    /* For Firefox */
    -ms-overflow-style: none;
    /* For Internet Explorer and Edge */
}
.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar
{
    display: none;
}
.swiper-container-css-mode > .swiper-wrapper > .swiper-slide
{
    scroll-snap-align: start start;
}

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper
{
    scroll-snap-type: x mandatory;
}

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper
{
    scroll-snap-type: y mandatory;
}

:root
{
    /*
  --swiper-pagination-color: var(--swiper-theme-color);
  */
}

.swiper-pagination
{
    position: absolute;
    z-index: 10;

    transition: 300ms opacity;
    transform: translate3d(0, 0, 0);
    text-align: center;
}
.swiper-pagination.swiper-pagination-hidden
{
    opacity: 0;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets
{
    bottom: 10px;
    left: 0;

    width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic
{
    font-size: 0;

    overflow: hidden;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet
{
    position: relative;

    transform: scale(.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active
{
    transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main
{
    transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev
{
    transform: scale(.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev
{
    transform: scale(.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next
{
    transform: scale(.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next
{
    transform: scale(.33);
}

.swiper-pagination-bullet
{
    display: inline-block;

    width: 8px;
    height: 8px;

    opacity: .2;
    border-radius: 50%;
    background: #000;
}
button.swiper-pagination-bullet
{
    margin: 0;
    padding: 0;

    border: none;
    box-shadow: none;

    -webkit-appearance: none;
            appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet
{
    cursor: pointer;
}
.swiper-pagination-bullet:only-child
{
    display: none !important;
}

.swiper-pagination-bullet-active
{
    opacity: 1;
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-container-vertical > .swiper-pagination-bullets
{
    top: 50%;
    right: 10px;

    transform: translate3d(0px, -50%, 0);
}
.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet
{
    display: block;

    margin: 6px 0;
}
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
{
    top: 50%;

    width: 8px;

    transform: translateY(-50%);
}
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet
{
    display: inline-block;

    transition: 200ms transform, 200ms top;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet
{
    margin: 0 4px;
}
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
{
    left: 50%;

    transform: translateX(-50%);
    white-space: nowrap;
}
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet
{
    transition: 200ms transform, 200ms left;
}
.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet
{
    transition: 200ms transform, 200ms right;
}

/* Progress */
.swiper-pagination-progressbar
{
    position: absolute;

    background: rgba(0, 0, 0, .25);
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    transform: scale(0);
    transform-origin: left top;

    background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill
{
    transform-origin: right top;
}
.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite
{
    top: 0;
    left: 0;

    width: 100%;
    height: 4px;
}
.swiper-container-vertical > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite
{
    top: 0;
    left: 0;

    width: 4px;
    height: 100%;
}

.swiper-pagination-white
{
    --swiper-pagination-color: #fff;
}

.swiper-pagination-black
{
    --swiper-pagination-color: #000;
}

.swiper-pagination-lock
{
    display: none;
}

.l-drawer
{
    position: fixed;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;

    display: none;
    overflow: hidden auto;

    width: 26.4rem;

    transition: transform .35s cubic-bezier(.55, .05, .22, .99);
    transform: translateX(100%);
}
@media only screen and (min-width: 960px)
{
    .l-drawer
    {
        right: max((100vw - 980px) / 2, var(--container-padding));
        bottom: auto;

        width: max(53rem + (100vw - 980px) / 2, 53rem + (var(--container-padding)));
        height: 100vh;
        margin-right: calc(max((100vw - 980px) / 2, var(--container-padding)) * -1);
        padding-right: max((100vw - 980px) / 2, var(--container-padding));

        transition: opacity .5s, transform .5s cubic-bezier(.55, .05, .22, .99);
        transform: translateY(-100%);

        opacity: 0;
    }
}
.l-drawer.is-open
{
    display: block;

    transform: translateX(0);
    animation: drawer-open .35s cubic-bezier(.55, .05, .22, .99);
    pointer-events: auto;
}
@media only screen and (min-width: 960px)
{
    .l-drawer.is-open
    {
        animation: drawer-open-pc .35s cubic-bezier(.55, .05, .22, .99);

        opacity: 1;
    }
}
.l-drawer.is-close
{
    transform: translateX(100%);
}
@media only screen and (min-width: 960px)
{
    .l-drawer.is-close
    {
        transform: translateX(0);

        opacity: 0;
    }
}
.l-drawer__container
{
    padding: 6.4rem 1.5rem 1.5rem;

    background: var(--color-main);
}
@media only screen and (min-width: 960px)
{
    .l-drawer__container
    {
        position: relative;
        z-index: 1;

        padding: 8.6rem 6.5rem 3rem 6.5rem;
    }
    .l-drawer__container::before
    {
        position: absolute;
        z-index: -1;
        top: 0;
        bottom: 0;
        left: calc(100% - 1px);

        display: block;

        width: max((100vw - 980px) / 2 + 1px, var(--container-padding) + 1px);

        content: '';

        background: inherit;
    }
}
.l-drawer__search-button
{
    display: flex;

    height: 4.2rem;

    border: 2px solid #fff;
    border-radius: .6rem;

    justify-content: center;
    align-items: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
@media only screen and (min-width: 960px)
{
    .l-drawer__search-button
    {
        height: 5.8rem;

        border-width: 4px;
        border-radius: 1rem;
    }
}
.l-drawer__search-button img
{
    width: auto;
    height: 2.3rem;
}
@media only screen and (min-width: 960px)
{
    .l-drawer__search-button img
    {
        height: 3.5rem;
    }
}
.l-drawer__search-text
{
    font-size: max(1.6rem, 14px);
}
@media only screen and (min-width: 960px)
{
    .l-drawer__search-text
    {
        font-size: max(2rem, 16px);
    }
}
.l-drawer__list
{
    font-size: max(1.5rem, 13px);

    margin-top: 1rem;
}
@media only screen and (min-width: 960px)
{
    .l-drawer__list
    {
        font-size: max(1.8rem, 16px);
        font-weight: 500;
    }
}
.l-drawer__list--sub
{
    font-size: max(1.3rem, 12px);

    margin-top: .5rem;
}
@media only screen and (min-width: 960px)
{
    .l-drawer__list--sub
    {
        font-size: max(1.4rem, 12px);

        padding-left: 3rem;
    }
}
.l-drawer__item
{
    border-bottom: 1px solid #fff;
}
@media only screen and (min-width: 960px)
{
    .l-drawer__item
    {
        border-width: 2px;
    }
}
.l-drawer__item a
{
    display: block;

    padding: 1.4rem 0 .4rem 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .l-drawer__item a
    {
        padding: 1.8rem 0 .7rem 2.5rem;
    }
}
.l-drawer__list--sub .l-drawer__item a
{
    padding-left: 2.3rem;
}
@media only screen and (min-width: 960px)
{
    .l-drawer__list--sub .l-drawer__item a
    {
        padding-top: 1.2rem;
    }
}
.l-drawer__sns-x
{
    display: flex;

    margin-top: 2rem;
    padding: 1rem;

    color: #fff;
    background: var(--color-sub01);

    align-items: center;
    justify-content: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
@media only screen and (min-width: 960px)
{
    .l-drawer__sns-x
    {
        -moz-column-gap: 3rem;
             column-gap: 3rem;
    }
}
.l-drawer__sns-text
{
    line-height: 1.4;

    text-align: center;
}
.l-drawer__sns-icon
{
    width: 4.5rem;
}
@media only screen and (min-width: 960px)
{
    .l-drawer__sns-icon
    {
        width: 5.2rem;
    }
}
.l-drawer__sns-icon img
{
    width: 100%;
    height: auto;
}

@keyframes drawer-open
{
    0%
    {
        transform: translateX(100%);
    }
    100%
    {
        transform: translateX(0);
    }
}
@keyframes drawer-open-pc
{
    0%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}
.l-footer
{
    color: #fff;
    background: var(--color-main);
}
.l-footer__body
{
    padding: 1rem 0 4rem;
}
@media only screen and (min-width: 960px)
{
    .l-footer__body
    {
        display: grid;

        max-width: 1200px;
        padding: 20px 0 26px;

        grid-auto-flow: column;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: repeat(2, auto);
        gap: 3rem 8.4rem;
    }
}
.l-footer__banner
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .l-footer__banner
    {
        display: block;

        margin-left: -2.4rem;
    }
}
@media only screen and (min-width: 960px)
{
    .l-footer__block
    {
        width: 100%;
    }
    .l-footer__block--col1
    {
        grid-area: 1/1/3/2;
    }
    .l-footer__block--col2
    {
        grid-area: 3/1/5/2;
    }
    .l-footer__block--col3
    {
        margin-top: auto;

        grid-area: 2/2/5/3;
    }
}
.l-footer__nav-title
{
    font-size: max(1.5rem, 13px);

    display: flex;

    padding: 1.5rem .6rem 1.5rem 0;

    border-bottom: 1px solid #fff;

    align-items: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
@media only screen and (min-width: 960px)
{
    .l-footer__nav-title
    {
        font-size: max(1.8rem, 18px);

        padding: 0;

        border-bottom: none;
    }
    .l-footer__nav-title::before
    {
        display: block;

        width: .8rem;
        height: 2.4rem;
        margin-bottom: -.1em;

        content: '';

        background: #fff;
    }
}
.l-footer__nav-title::after
{
    display: block;

    width: 1.4rem;
    height: 1.2rem;
    margin-left: auto;

    content: '';
    transition: transform .3s;

    background: #fff;

    flex-shrink: 0;
    -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
            clip-path: polygon(100% 0, 0 0, 50% 100%);
}
@media only screen and (min-width: 960px)
{
    .l-footer__nav-title::after
    {
        display: none;
    }
}
.l-footer__nav-title.is-active::after
{
    transform: rotate(180deg);
}
.l-footer__nav
{
    display: none;

    padding-left: 2.4rem;
}
@media only screen and (min-width: 960px)
{
    .l-footer__nav
    {
        display: block;

        margin-top: 1rem;
        padding-left: 0;
    }
}
.l-footer__item
{
    border-bottom: 1px solid #fff;
}
@media only screen and (min-width: 960px)
{
    .l-footer__item
    {
        padding-left: 3rem;
    }
}
.l-footer__item--line
{
    border-top: 1px solid #fff;
}
.l-footer__item a
{
    display: flex;

    padding: 1rem .6rem;

    align-items: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
.l-footer__item a::after
{
    width: .6rem;
    margin-left: auto;

    content: '';

    background: url(../images/common/icon_arrow-right.svg) center/contain no-repeat;

    flex-shrink: 0;
    aspect-ratio: 10/18;
    filter: brightness(0) invert(1);
}
@media only screen and (min-width: 960px)
{
    .l-footer__item a::after
    {
        width: 1rem;
    }
}
.l-footer__foot
{
    padding: 1.6rem 0;

    color: rgba(68, 68, 68, .4);
    background: #d9d9d9;
}
@media only screen and (min-width: 960px)
{
    .l-footer__foot
    {
        padding-block: 1.2rem;
    }
}
.l-footer__copylight
{
    font-size: max(1rem, 9px);

    text-align: right;
}
@media only screen and (min-width: 960px)
{
    .l-footer__copylight
    {
        font-size: max(1.4rem, 12px);
    }
}

.l-hamburger
{
    position: relative;
    z-index: 10;

    display: flex;
    flex-direction: column;

    width: max(5rem, 40px);
    height: 6rem;

    color: inherit;

    justify-content: center;
    align-items: center;
}
@media only screen and (min-width: 960px)
{
    .l-hamburger
    {
        height: 5rem;
        padding-top: .2rem;
    }
}
.l-hamburger__icon
{
    position: relative;

    width: 3.5rem;
    height: 3rem;
}
@media only screen and (min-width: 960px)
{
    .l-hamburger__icon
    {
        width: 100%;
        height: 3.6rem;
    }
}
.l-hamburger__icon span
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: max(.45rem, 3px);

    transition: .35s ease-in-out;

    background: currentColor;
}
.is-open .l-hamburger__icon span
{
    height: max(.3rem, 2px);
}
.l-hamburger__icon span:nth-child(1)
{
    z-index: 1002;
    top: 0;
}
.is-open .l-hamburger__icon span:nth-child(1)
{
    top: 50%;

    transform: translateY(-50%) rotate(45deg);
}
.l-hamburger__icon span:nth-child(2)
{
    z-index: 1003;
    top: 50%;

    transform: translateY(-50%);
}
.is-open .l-hamburger__icon span:nth-child(2)
{
    opacity: 0;
}
.l-hamburger__icon span:nth-child(3)
{
    z-index: 1004;
    top: auto;
    bottom: 0;
}
.is-open .l-hamburger__icon span:nth-child(3)
{
    bottom: 50%;

    transform: translateY(50%) rotate(-45deg);
}
.l-hamburger__text
{
    font-size: .9rem;

    display: inline-block;

    margin-top: .5em;

    transition: opacity .35s .25s;
}
@media only screen and (min-width: 960px)
{
    .l-hamburger__text
    {
        font-size: max(1.2rem, 10px);
        line-height: 1;
    }
}
.is-open .l-hamburger__text
{
    transition: opacity .35s 0s;

    opacity: 0;
}

.l-header
{
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;

    width: 100%;

    color: #fff;
    background: var(--color-main);
}
@media only screen and (min-width: 960px)
{
    .l-header__container
    {
        width: 100%;
        max-width: calc(980px + var(--container-padding) * 2);
        padding: 0 var(--container-padding);

        margin-inline: auto;
    }
}
.l-header__head
{
    display: flex;

    height: 9rem;
    padding: 1.5rem 2rem;

    align-items: flex-start;
}
@media only screen and (min-width: 960px)
{
    .l-header__head
    {
        position: relative;

        height: max(8.5rem, 70px);
        padding: 0 var(--container-padding);

        align-items: center;
    }
}
.l-header__head:has(.logo-45th)
{
    padding-inline: 1.5rem 1rem;
}
@media only screen and (min-width: 960px)
{
    .l-header__head:has(.logo-45th)
    {
        padding-inline: var(--container-padding);
    }
}
.l-header__logo
{
    font-size: 1rem;

    margin-right: auto;
}
.l-header__logo img
{
    width: auto;
    height: 4rem;
}
@media only screen and (min-width: 960px)
{
    .l-header__logo img
    {
        height: 3rem;
    }
}
.l-header__logo img.logo-45th
{
    height: 3.4rem;
}
@media only screen and (min-width: 960px)
{
    .l-header__logo img.logo-45th
    {
        height: 5rem;
    }
}
.l-header__button
{
    display: flex;
    flex-direction: column;

    width: max(5rem, 40px);
    height: 6rem;
    margin-left: 1rem;

    border-radius: .8rem;

    flex-shrink: 0;
    justify-content: center;
    align-items: center;
}
@media only screen and (min-width: 960px)
{
    .l-header__button
    {
        flex-direction: row;

        width: auto;
        min-width: 15rem;
        height: 5rem;
        margin-left: 2rem;
        padding: 0 1.6rem;

        border-radius: 1rem;

        -moz-column-gap: 1rem;
             column-gap: 1rem;
    }
}
.l-header__button--search
{
    border: 1px solid #fff;
}
@media only screen and (min-width: 960px)
{
    .l-header__button--search
    {
        border-width: 4px;
    }
}
.l-header__button--program
{
    background: var(--color-sub01);
}
.l-header__button-icon img
{
    width: auto;
    height: 3rem;
}
@media only screen and (min-width: 960px)
{
    .l-header__button-icon img
    {
        height: 3.2rem;
    }
}
.l-header__button-text
{
    font-size: max(1rem, 9px);

    margin-top: .3em;
}
@media only screen and (min-width: 960px)
{
    .l-header__button-text
    {
        font-size: max(2rem, 18px);

        margin-top: 0;
    }
    .l-header__button-text .pc-only
    {
        display: inline !important;
    }
}
.l-header__hamburger
{
    margin-left: .5rem;
}
@media only screen and (min-width: 960px)
{
    .l-header__hamburger
    {
        margin-left: 3.4rem;
    }
}
.l-header__nav
{
    display: flex;

    height: max(3.5rem, 30px);
    padding: 1rem 0;

    background: #003f70;

    justify-content: center;
    align-items: center;
}
@media only screen and (min-width: 960px)
{
    .l-header__nav
    {
        height: 4rem;
    }
}

.l-nav
{
    width: 100%;
}
.l-nav__list
{
    display: flex;
}
@media only screen and (min-width: 960px)
{
    .l-nav__list
    {
        justify-content: space-between;
    }
}
.l-nav__item
{
    font-size: max(1.4rem, 13px);
    line-height: 1;

    padding: 0 1rem;

    text-align: center;

    flex-grow: 1;
}
@media only screen and (min-width: 960px)
{
    .l-nav__item
    {
        font-size: max(1.8rem, 14px);

        flex-grow: 1;
        padding-inline: 3rem;
    }
    .l-nav__item:first-child
    {
        padding-left: 0;

        text-align: left;
    }
    .l-nav__item:last-child
    {
        padding-right: 0;

        text-align: right;
    }
}
.l-nav__item + .l-nav__item
{
    border-left: 1px solid #fff;
}
.l-nav__item--pc
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .l-nav__item--pc
    {
        display: block;
    }
}

.l-wrapper
{
    position: relative;

    overflow: hidden;

    width: 100%;
    padding-top: max(12.5rem, 9rem + 30px);
}
@media only screen and (min-width: 960px)
{
    .l-wrapper
    {
        padding-top: max(12.5rem, 4rem + 70px);
    }
}

.c-button
{
    font-size: max(1.4rem, 13px);
    font-weight: 700;

    display: grid;

    width: max(20rem, 180px);
    height: max(4rem, 36px);

    color: #fff;
    border-radius: .6rem;
    background: var(--color-main);

    place-content: center;
}
@media only screen and (max-width: 959px) and (min-width: 560px)
{
    .c-button
    {
        width: max(28rem, 260px);
    }
}
@media only screen and (min-width: 960px)
{
    .c-button
    {
        font-size: max(2.4rem, 18px);

        width: 34rem;
        height: 5rem;

        border-radius: .8rem;
    }
}
.c-button:hover
{
    color: #fff;
}

.c-container
{
    width: 100%;
    padding: 0 var(--container-padding);
}
@media only screen and (min-width: 960px)
{
    .c-container
    {
        max-width: calc(1200px + var(--container-padding) * 2);
        margin: 0 auto;
    }
}
@media print
{
    .c-container
    {
        padding: 0;
    }
}

.c-index-pager
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .c-index-pager
    {
        display: block;

        padding: 1rem 3rem;

        background: #fff;
    }
}
@media only screen and (min-width: 960px)
{
    .c-index-pager__main
    {
        display: flex;

        justify-content: space-between;
        align-items: center;
        -moz-column-gap: 5rem;
             column-gap: 5rem;
    }
}
@media only screen and (min-width: 960px)
{
    .c-index-pager__link
    {
        font-size: max(1.4rem, 12px);

        text-decoration: underline;

        color: #0087e6;

        flex-shrink: 0;
    }
    .c-index-pager__link:disabled
    {
        text-decoration: none;
        pointer-events: none;

        color: #999;
    }
}
@media only screen and (min-width: 960px)
{
    .c-index-pager__list
    {
        display: flex;

        flex-grow: 1;
        justify-content: center;
        -moz-column-gap: 2rem;
             column-gap: 2rem;
    }
}
@media only screen and (min-width: 960px)
{
    .c-index-pager__button
    {
        font-size: max(1.8rem, 15px);
        font-weight: 700;

        display: grid;

        width: 4rem;

        color: #fff;
        background: rgba(211, 208, 197, .6);

        place-content: center;
        aspect-ratio: 1;
    }
    .c-index-pager__button:disabled
    {
        pointer-events: none;

        background: #99d1ff;
    }
}
@media only screen and (min-width: 960px)
{
    .c-index-pager__text
    {
        font-size: max(1.4rem, 12px);

        display: block;

        margin-top: 1.2rem;

        text-align: center;

        color: #999;
    }
}

.c-pagetop
{
    position: fixed;
    z-index: 1000;
    z-index: 999;
    right: 2%;
    bottom: 2%;

    transition: opacity 1s;
    pointer-events: none;

    opacity: 0;
}
@media only screen and (min-width: 960px)
{
    .c-pagetop
    {
        right: 3%;
        bottom: 3%;
    }
}
.c-pagetop.is-show
{
    pointer-events: auto;

    opacity: 1;
}
.c-pagetop img
{
    width: 5rem;

    transition: opacity .5s;
}
@media only screen and (min-width: 960px)
{
    .c-pagetop img
    {
        width: 6rem;
    }
}
@media (hover: hover)
{
    .c-pagetop:where(:any-link, :enabled, summary):hover img
    {
        opacity: .8;
    }
}

.c-title-index
{
    font-weight: 700;

    display: flex;

    flex-shrink: 0;
    align-items: center;
    -moz-column-gap: .6rem;
         column-gap: .6rem;
}
@media only screen and (min-width: 960px)
{
    .c-title-index
    {
        -moz-column-gap: 2.2rem;
             column-gap: 2.2rem;
    }
}
.c-title-index__icon
{
    position: relative;

    width: 2.4rem;

    flex-shrink: 0;
    aspect-ratio: 1;
}
@media only screen and (min-width: 960px)
{
    .c-title-index__icon
    {
        width: 4.3rem;
    }
}
.c-title-index__icon-inner
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: flex;

    width: max(var(--icon-width) * .55, 2.4rem);

    transform: translate(-50%, -50%);
}
@media only screen and (min-width: 960px)
{
    .c-title-index__icon-inner
    {
        width: max(var(--icon-width) * 1, 4rem);
    }
}
.c-title-index__icon-inner img
{
    width: 100%;

    vertical-align: middle;
}
.c-title-index__text
{
    font-size: max(2.4rem, 18px);
    line-height: 1.2;
}
@media only screen and (min-width: 960px)
{
    .c-title-index__text
    {
        font-size: max(2.8rem, 24px);
    }
}

.p-index-ad
{
    padding: 4rem 0 5rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-ad
    {
        padding: 4rem 0 10rem;
    }
}
.p-index-ad__list
{
    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 1.5rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-ad__list
    {
        max-width: 980px;
        margin: 0 auto;

        grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
        gap: 3rem 5.2rem;
    }
}
.p-index-ad__item a
{
    display: block;

    border: 1px solid #c0c6c9;

    aspect-ratio: 1;
}
.p-index-ad__item img
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.p-index-announcer
{
    padding: 2rem 0;

    background: var(--color-sub02);
}
@media only screen and (min-width: 960px)
{
    .p-index-announcer
    {
        padding: 6.7rem 0 4rem;

        background: #fff;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-announcer__container
    {
        max-width: calc(1100px + var(--container-padding) * 2);
    }
}
.p-index-announcer__list
{
    overflow: visible;

    max-width: 23rem;
    margin: 2rem auto 0;
}
@media only screen and (max-width: 959px) and (min-width: 560px)
{
    .p-index-announcer__list
    {
        max-width: 70%;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-announcer__list
    {
        max-width: 100%;
        margin-top: 3rem;
    }
}
.p-index-announcer__list.is-slider-disabled
{
    max-width: 100%;
}
.p-index-announcer__list.is-slider-disabled .swiper-wrapper
{
    display: grid;

    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-announcer__list.is-slider-disabled .swiper-wrapper
    {
        grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
        gap: 3rem 2.5rem;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-announcer__list .swiper-wrapper
    {
        display: grid;

        grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr));
        gap: 3rem 2.5rem;
    }
}
.p-index-announcer__item-image
{
    width: 100%;

    aspect-ratio: 1;
}
.p-index-announcer__item-image img
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}
.p-index-announcer__item-title
{
    margin-top: .5rem;

    text-align: center;
}
@media only screen and (min-width: 960px)
{
    .p-index-announcer__item-title
    {
        margin-top: 1rem;
        padding-left: 1rem;

        text-align: left;
    }
}
.p-index-announcer__item-furigana
{
    font-size: max(1rem, 10px);

    display: block;
}
@media only screen and (min-width: 960px)
{
    .p-index-announcer__item-furigana
    {
        font-size: max(1.2rem, 11px);
    }
}
.p-index-announcer__item-name
{
    display: block;

    margin-top: .2em;
}
@media only screen and (min-width: 960px)
{
    .p-index-announcer__item-name
    {
        font-size: max(2.4rem, 20px);

        margin-top: 0;
    }
}
.p-index-announcer__item-sns
{
    display: flex;

    margin-top: 1rem;

    align-items: center;
    -moz-column-gap: .5rem;
         column-gap: .5rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-announcer__item-sns
    {
        -moz-column-gap: 2rem;
             column-gap: 2rem;
    }
}
.p-index-announcer__item-sns ul
{
    display: flex;

    -moz-column-gap: .5rem;
         column-gap: .5rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-announcer__item-sns ul
    {
        -moz-column-gap: 2rem;
             column-gap: 2rem;
    }
}
.p-index-announcer__item-sns li
{
    width: 3.5rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-announcer__item-sns li
    {
        width: 5.2rem;
    }
}
.p-index-announcer__item-sns img
{
    width: 100%;
}
.p-index-announcer__item-sns-title
{
    font-size: max(1rem, 10px);
}
@media only screen and (min-width: 960px)
{
    .p-index-announcer__item-sns-title
    {
        font-size: max(1.8rem, 16px);
    }
}
.p-index-announcer__arrow
{
    position: absolute;
    z-index: 1;
    top: 5.5rem;
    right: 0;
    left: 0;

    display: flex;

    transform: translateY(-50%);
    pointer-events: none;

    justify-content: space-between;
}
.is-slider-disabled .p-index-announcer__arrow
{
    display: none;
}
@media only screen and (max-width: 959px) and (min-width: 560px)
{
    .p-index-announcer__arrow
    {
        top: 10.2rem;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-announcer__arrow
    {
        display: none;
    }
}
.p-index-announcer__prev,
.p-index-announcer__next
{
    display: grid;

    width: 3rem;

    cursor: pointer;
    pointer-events: auto;

    place-content: center;
    aspect-ratio: 3/2.6;
}
@media only screen and (max-width: 959px) and (min-width: 560px)
{
    .p-index-announcer__prev,
    .p-index-announcer__next
    {
        width: 4rem;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-announcer__prev,
    .p-index-announcer__next
    {
        display: none;
    }
}
.p-index-announcer__prev
{
    transform: translateX(-50%) scale(-1, 1);

    background: url(../images/common/icon_slide-arrow.svg) center/contain no-repeat;
}
.p-index-announcer__next
{
    transform: translateX(50%);

    background: url(../images/common/icon_slide-arrow.svg) center/contain no-repeat;
}
.p-index-announcer__button
{
    margin: 2rem auto 0;
}
@media only screen and (min-width: 960px)
{
    .p-index-announcer__button
    {
        margin-top: 3rem;
    }
}

.p-index-event
{
    padding: 4rem 0;
}
@media only screen and (min-width: 960px)
{
    .p-index-event
    {
        width: 48%;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-event__container
    {
        display: flex;
        flex-direction: column;

        height: 100%;
        padding: 0;
    }
}
.p-index-event__list
{
    overflow: visible;

    max-width: 25rem;
    margin: 2rem auto 0;
}
@media only screen and (max-width: 959px) and (min-width: 560px)
{
    .p-index-event__list
    {
        max-width: 100%;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-event__list
    {
        max-width: 100%;
        margin-top: 3rem;
        margin-bottom: 1.4rem;
    }
}
.p-index-event__list.is-slider-disabled
{
    max-width: 100%;
}
.p-index-event__list .swiper-wrapper
{
    align-items: stretch !important;
}
@media only screen and (min-width: 960px)
{
    .p-index-event__list .swiper-wrapper
    {
        display: grid;

        grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr));
        gap: 3rem;
    }
}
.p-index-event__list .swiper-slide
{
    height: auto;
}
@media only screen and (min-width: 960px)
{
    .p-index-event__item
    {
        border: 2px solid #c0c6c9;
    }
    .p-index-event__item.is-pc-hide
    {
        display: none;
    }
}
.p-index-event__item a
{
    display: flex;
    flex-direction: column;

    height: 100%;
}
.p-index-event__item-image
{
    position: relative;

    width: 100%;

    background: #f2f4f4;

    aspect-ratio: 16/9;
}
@media only screen and (min-width: 960px)
{
    .p-index-event__item-image
    {
        position: relative;

        background: rgba(192, 198, 201, .2);

        aspect-ratio: 1;
    }
}
.p-index-event__item-image img
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 100%;
    height: 100%;

    transform: translate(-50%, -50%);

    -o-object-fit: contain;
       object-fit: contain;
}
.p-index-event__item-image img.noimage
{
    -o-object-fit: cover;
       object-fit: cover;
}
.p-index-event__item-body
{
    margin-top: 1rem;
    padding-bottom: .6rem;

    color: #0087e6;
    border-bottom: 1px solid #666;

    flex-grow: 1;
}
@media only screen and (min-width: 960px)
{
    .p-index-event__item-body
    {
        margin-top: 0;
        padding: 2rem 1rem 2rem 2rem;

        border-top: 2px solid #c0c6c9;
        border-bottom: none;
        background: #fff;
    }
}
.p-index-event__item-data
{
    display: flex;

    align-items: center;
    -moz-column-gap: 1.3rem;
         column-gap: 1.3rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-event__item-data
    {
        flex-direction: column;

        align-items: flex-start;
        row-gap: .6rem;
    }
}
.p-index-event__item-category
{
    font-size: max(1rem, 10px);
    font-weight: 700;

    display: grid;

    width: 7.4rem;
    height: 2rem;

    color: #fff;
    background: var(--color-sub01);

    flex-shrink: 0;
    place-content: center;
}
@media only screen and (min-width: 960px)
{
    .p-index-event__item-category
    {
        font-size: max(1.6rem, 13px);

        width: auto;
        height: auto;
        padding: .3rem 2.6rem;
    }
}
.p-index-event__item-date
{
    font-weight: 700;

    display: -webkit-box;
    overflow: hidden;

    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
@media only screen and (min-width: 960px)
{
    .p-index-event__item-date
    {
        font-size: max(1.8rem, 14px);

        -webkit-line-clamp: 3;
    }
}
.p-index-event__item-title
{
    font-size: max(1.2rem, 11px);
    font-weight: 400;

    display: -webkit-box;
    overflow: hidden;

    margin-top: .5em;

    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
@media only screen and (min-width: 960px)
{
    .p-index-event__item-title
    {
        font-size: max(1.8rem, 14px);

        -webkit-line-clamp: 3;
    }
}
.p-index-event__item-text
{
    overflow: hidden;

    margin-top: .5em;

    white-space: nowrap;
    text-overflow: ellipsis;
}
@media only screen and (min-width: 960px)
{
    .p-index-event__item-text
    {
        display: -webkit-box;
        overflow: hidden;

        white-space: wrap;

        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }
}
.p-index-event__arrow
{
    position: absolute;
    z-index: 1;
    top: 7rem;
    right: 0;
    left: 0;

    display: flex;

    transform: translateY(-50%);
    pointer-events: none;

    justify-content: space-between;
}
.is-slider-disabled .p-index-event__arrow
{
    display: none;
}
@media only screen and (max-width: 959px) and (min-width: 560px)
{
    .p-index-event__arrow
    {
        top: 8.3rem;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-event__arrow
    {
        display: none;
    }
}
.p-index-event__prev,
.p-index-event__next
{
    display: grid;

    width: 3rem;

    cursor: pointer;
    pointer-events: auto;

    place-content: center;
    aspect-ratio: 3/2.6;
}
@media only screen and (max-width: 959px) and (min-width: 560px)
{
    .p-index-event__prev,
    .p-index-event__next
    {
        width: 4rem;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-event__prev,
    .p-index-event__next
    {
        display: none;
    }
}
.p-index-event__prev
{
    transform: translateX(-50%) scale(-1, 1);

    background: url(../images/common/icon_slide-arrow.svg) center/contain no-repeat;
}
.p-index-event__next
{
    transform: translateX(50%);

    background: url(../images/common/icon_slide-arrow.svg) center/contain no-repeat;
}
.p-index-event__pagination
{
    margin-top: 1rem;

    text-align: center;

    --swiper-pagination-color: #00a0e9;
}
.p-index-event__pagination .swiper-pagination
{
    position: relative;

    display: inline-flex;

    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-event__pagination
    {
        display: none;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-event__pager
    {
        margin-top: auto;
    }
}
.p-index-event__button
{
    margin: 2rem auto 0;

    background: var(--color-sub01);
}
@media only screen and (min-width: 960px)
{
    .p-index-event__button
    {
        margin-top: 4rem;
    }
}

@media only screen and (min-width: 960px)
{
    .p-index-half
    {
        background: var(--color-sub02);
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-half__container
    {
        display: flex;

        width: 100%;
        max-width: calc(1000px + var(--container-padding) * 2);
        margin: 0 auto;
        padding: 0 var(--container-padding);

        -moz-column-gap: 20px;
             column-gap: 20px;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-half__column
    {
        flex-shrink: 0;
        flex-grow: 1;
    }
}

.p-index-head-banner:first-child
{
    margin-top: 2rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-head-banner:first-child
    {
        margin-top: 3rem;
    }
}
.p-index-head-banner__list
{
    display: flex;
    flex-direction: column;

    align-items: center;
    row-gap: 1rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-head-banner__list
    {
        row-gap: 2rem;
    }
}
.p-index-head-banner__item a
{
    display: block;
}

.p-index-head-link
{
    padding-top: 1.2rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-head-link
    {
        padding-top: 2rem;
    }
}
.p-index-head-link + *,
.p-index-head-link + .p-index-important,
.p-index-head-link + .p-index-pickup
{
    padding-top: 2rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-head-link + *,
    .p-index-head-link + .p-index-important,
    .p-index-head-link + .p-index-pickup
    {
        padding-top: 3rem;
    }
}
.p-index-head-link__link
{
    text-align: right;
}
.p-index-head-link__button
{
    display: inline-flex;

    padding: .4em 2em;

    color: #fff;
    border-radius: .4rem;
    background: var(--color-sub01);

    align-items: center;
    justify-content: center;
}
.p-index-head-link__button::after
{
    width: .8em;
    margin-left: .5em;

    content: '';

    background: #fff;

    flex-shrink: 0;
    aspect-ratio: 1/1.2;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
            clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.p-index-head-link__button:hover
{
    color: #fff;
}

.p-index-important
{
    padding: 2rem 0 4rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-important
    {
        padding: 4rem 0 3rem;
    }
}
.p-index-important__title
{
    color: #d32f2f;
}
.p-index-important__list
{
    margin-top: 2rem;
    padding: 0 1rem;

    background: #fdeded;
}
@media only screen and (min-width: 960px)
{
    .p-index-important__list
    {
        margin-top: 3rem;

        padding-inline: 4rem;
    }
}
.p-index-important__item
{
    padding: 1rem 0;
}
@media only screen and (min-width: 960px)
{
    .p-index-important__item
    {
        padding-block: 2rem;
    }
}
.p-index-important__item + .p-index-important__item
{
    border-top: 1px solid #d32f2f;
}
.p-index-important__item-title
{
    font-size: max(1.6rem, 14px);
    font-weight: 500;

    color: #d32f2f;
}
@media only screen and (min-width: 960px)
{
    .p-index-important__item-title
    {
        font-size: max(2.2rem, 18px);
    }
}
.p-index-important__item-text
{
    margin-top: .5rem;

    color: #5f2120;
}
@media only screen and (min-width: 960px)
{
    .p-index-important__item-text
    {
        margin-top: 1.5rem;
    }
}
.p-index-important__item-link
{
    margin-top: .5rem;

    text-align: right;

    color: #5f2120;
}
@media only screen and (min-width: 960px)
{
    .p-index-important__item-link
    {
        margin-top: 1.5rem;
    }
}
.p-index-important__item-link a
{
    text-decoration: underline;
}

.p-index-info
{
    padding: 2rem 0;

    background: var(--color-sub02);
}
@media only screen and (min-width: 960px)
{
    .p-index-info
    {
        padding: 4rem 0;

        background: #fff;
    }
}
.p-index-info:last-child
{
    padding-bottom: 4rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-info:last-child
    {
        padding-bottom: 8rem;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-info__container
    {
        max-width: calc(1080px + var(--container-padding) * 2);
    }
}
.p-index-info__list
{
    margin-top: 1rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-info__list
    {
        margin-top: 2rem;
        padding-left: 10rem;
    }
}
.p-index-info__item
{
    border-bottom: 1px solid #999;

    flex-shrink: 0;
}
.p-index-info__item-link
{
    display: flex;

    padding: 1rem .5rem;

    align-items: center;
    -moz-column-gap: .5rem;
         column-gap: .5rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-info__item-link
    {
        padding: 1rem 3.2rem 1rem 4rem;

        align-items: center;
        -moz-column-gap: 3.6rem;
             column-gap: 3.6rem;
    }
}
.p-index-info__item-link::after
{
    width: .6rem;
    margin-left: auto;

    content: '';

    background: url(../images/common/icon_arrow-right.svg) center/contain no-repeat;

    flex-shrink: 0;
    aspect-ratio: 10/18;
}
@media only screen and (min-width: 960px)
{
    .p-index-info__item-link::after
    {
        width: 1.2rem;
    }
}
.p-index-info__item-data
{
    display: flex;
    flex-direction: column;

    white-space: nowrap;

    justify-content: center;
    row-gap: .5rem;
}
.p-index-info__item-date
{
    font-size: max(1rem, 9px);
}
@media only screen and (min-width: 960px)
{
    .p-index-info__item-date
    {
        font-size: max(1.6rem, 14px);
    }
}
.p-index-info__item-category
{
    font-size: max(1rem, 9px);

    text-align: center;

    color: #fff;
    background: var(--color-sub01);
}
@media only screen and (min-width: 960px)
{
    .p-index-info__item-category
    {
        font-size: max(1.6rem, 14px);

        min-width: 13.2rem;
        padding: .3rem 1rem;
    }
}
.p-index-info__item-body
{
    min-width: 0;
    max-width: 100%;

    flex-grow: 1;
}
@media only screen and (min-width: 960px)
{
    .p-index-info__item-body
    {
        display: flex;

        align-items: center;
        -moz-column-gap: 1.2rem;
             column-gap: 1.2rem;
    }
}
.p-index-info__item-title
{
    line-height: 1.4;

    overflow: hidden;

    white-space: nowrap;
    text-overflow: ellipsis;
}
@media only screen and (min-width: 960px)
{
    .p-index-info__item-title
    {
        font-size: max(1.6rem, 14px);
    }
}
.p-index-info__button
{
    height: 3rem;
    margin: 2rem auto 0;

    background: var(--color-sub01);
}
@media only screen and (min-width: 960px)
{
    .p-index-info__button
    {
        height: 5rem;
        margin-top: 3rem;
    }
}

.p-index-news
{
    padding: 2rem 0;

    background: var(--color-sub02);
}
@media only screen and (min-width: 960px)
{
    .p-index-news
    {
        padding: 4rem 0 3rem;
    }
}
.p-index-head-banner + .p-index-news
{
    margin-top: 2rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-head-banner + .p-index-news
    {
        margin-top: 4rem;
    }
}
.p-index-news__tabs
{
    display: flex;

    margin-top: 2rem;

    align-items: flex-end;
}
@media only screen and (min-width: 960px)
{
    .p-index-news__tabs
    {
        display: none;
    }
}
.p-index-news__tab
{
    font-size: max(1.5rem, 13px);
    font-weight: 500;

    display: grid;

    width: 50%;
    padding: .5rem 1rem;

    color: #666;
    border-radius: .6rem .6rem 0 0;
    background: rgba(240, 239, 235, .6);

    place-content: center;
}
.p-index-news__tab[aria-selected=true]
{
    font-weight: 700;

    padding: 1.2rem 1rem;

    pointer-events: none;

    color: #fff;
    background: var(--color-main);
}
.p-index-news__tab--local[aria-selected=true]
{
    background: var(--color-sub01);
}
.p-index-news__tab--ann[aria-selected=true]
{
    background: var(--color-main);
}
@media only screen and (min-width: 960px)
{
    .p-index-news__content
    {
        display: flex;

        margin-top: 3rem;

        align-items: flex-start;
        -moz-column-gap: 4rem;
             column-gap: 4rem;
    }
}
.p-index-news__panel
{
    padding: 0 1.5rem 1rem;

    border: 1px solid rgba(102, 102, 102, .62);
    border-top: 1px solid rgba(102, 102, 102, .2);
    background: #fff;

    flex: 1;
}
@media only screen and (min-width: 960px)
{
    .p-index-news__panel
    {
        padding: 0;

        border-color: rgba(102, 102, 102, .62);

        flex-shrink: 0;
    }
}
.p-index-news__panel[aria-hidden=true]
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .p-index-news__panel[aria-hidden=true]
    {
        display: block;
    }
}
.p-index-news__panel-title
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .p-index-news__panel-title
    {
        font-size: max(2.2rem, 18px);

        display: block;

        padding: .7rem 1rem .8rem;

        text-align: center;

        color: #fff;
    }
    .p-index-news__panel-title--local
    {
        background: var(--color-sub01);
    }
    .p-index-news__panel-title--all
    {
        background: var(--color-main);
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-news__list
    {
        margin-top: .5rem;

        padding-inline: max(1.5rem, 12px);
    }
}
.p-index-news__list:empty
{
    display: grid;

    min-height: 20rem;

    place-content: center;
}
@media only screen and (min-width: 960px)
{
    .p-index-news__list:empty
    {
        min-height: 34rem;
    }
}
.p-index-news__list:empty::before
{
    display: block;

    width: 4rem;

    content: '';

    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><radialGradient id="a12" cx=".66" fx=".66" cy=".3125" fy=".3125" gradientTransform="scale(1.5)"><stop offset="0" stop-color="%23aaaaaa"></stop><stop offset=".3" stop-color="%23aaaaaa" stop-opacity=".9"></stop><stop offset=".6" stop-color="%23aaaaaa" stop-opacity=".6"></stop><stop offset=".8" stop-color="%23aaaaaa" stop-opacity=".3"></stop><stop offset="1" stop-color="%23aaaaaa" stop-opacity="0"></stop></radialGradient><circle transform-origin="center" fill="none" stroke="url(%23a12)" stroke-width="15" stroke-linecap="round" stroke-dasharray="200 1000" stroke-dashoffset="0" cx="100" cy="100" r="70"><animateTransform type="rotate" attributeName="transform" calcMode="spline" dur="1" values="360;0" keyTimes="0;1" keySplines="0 0 1 1" repeatCount="indefinite"></animateTransform></circle><circle transform-origin="center" fill="none" opacity=".2" stroke="%23aaaaaa" stroke-width="15" stroke-linecap="round" cx="100" cy="100" r="70"></circle></svg>');

    aspect-ratio: 1;
}
.p-index-news__item
{
    padding: 2rem 0 1rem;
}
.p-index-news__item + .p-index-news__item
{
    border-top: 1px solid #c0c6c9;
}
.p-index-news__item-link
{
    display: flex;

    align-items: flex-start;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-news__item-link
    {
        -moz-column-gap: 2rem;
             column-gap: 2rem;
    }
}
.p-index-news__item-link::after
{
    display: block;

    width: .8em;

    content: '';

    flex-shrink: 0;
    aspect-ratio: 1/1.2;
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
            clip-path: polygon(0 0, 0 100%, 100% 50%);
    margin-block: auto;
}
@media only screen and (min-width: 960px)
{
    .p-index-news__item-link::after
    {
        width: 1em;
    }
}
[data-news=local] .p-index-news__item-link::after
{
    background: #f9b766;
}
[data-news=ann] .p-index-news__item-link::after
{
    background: rgba(0, 90, 163, .6);
}
.p-index-news__item-image
{
    width: 8.5rem;

    background: #eee;

    flex-shrink: 0;
    aspect-ratio: 17/12.4;
}
@media only screen and (min-width: 960px)
{
    .p-index-news__item-image
    {
        width: 17rem;
    }
}
.p-index-news__item-image img
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}
.p-index-news__item-image img[src='']
{
    display: none;
}
.p-index-news__item-body
{
    flex-grow: 1;
}
.p-index-news__item-title
{
    font-size: max(1.4rem, 13px);

    display: -webkit-box;
    overflow: hidden;

    word-break: break-all;

    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
@media only screen and (min-width: 960px)
{
    .p-index-news__item-title
    {
        font-size: max(2.2rem, 18px);
    }
}
.p-index-news__item-text
{
    display: -webkit-box;
    overflow: hidden;

    margin-top: .8rem;

    word-break: break-all;

    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
@media only screen and (min-width: 960px)
{
    .p-index-news__item-text
    {
        margin-top: 1rem;
    }
}
.p-index-news__item-date
{
    font-size: max(1rem, 10px);
    line-height: 1.4;

    display: block;

    margin-top: 1rem;

    text-align: right;

    color: #666;
}
@media only screen and (min-width: 960px)
{
    .p-index-news__item-date
    {
        font-size: max(1.4rem, 12px);

        margin-right: calc((2rem + 1em) * -1);
    }
}
.p-index-news__button
{
    margin: 2rem auto 0;

    background: var(--color-sub01);
}
@media only screen and (min-width: 960px)
{
    .p-index-news__button
    {
        margin-top: 3rem;
    }
}
.p-index-news__line
{
    margin-top: 2rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-news__line
    {
        display: flex;

        margin-top: 3rem;

        justify-content: center;
        align-items: center;
        -moz-column-gap: 1.5rem;
             column-gap: 1.5rem;
    }
}
.p-index-news__line-title
{
    font-size: max(1.4rem, 13px);

    text-align: center;
}
@media only screen and (min-width: 960px)
{
    .p-index-news__line-title
    {
        font-size: max(1.8rem, 16px);
    }
}
.p-index-news__line-button
{
    display: flex;

    width: 25rem;
    height: 4.5rem;
    margin: 1rem auto 0;

    background: #06c755;

    align-items: center;
    justify-content: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-news__line-button
    {
        display: none;
    }
}
.p-index-news__line-icon
{
    width: 2.2rem;
}
.p-index-news__line-qrcode
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .p-index-news__line-qrcode
    {
        display: block;
    }
    .p-index-news__line-qrcode img
    {
        width: 8.4rem;
    }
}

.p-index-pickup
{
    padding: 4rem 0;
}
.p-index-pickup:first-child
{
    padding-top: 2rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-pickup:first-child
    {
        padding-top: 4rem;
    }
}
.p-index-pickup__list
{
    position: relative;

    overflow: visible;

    max-width: 27.5rem;
    margin: 2rem auto 0;
}
@media only screen and (max-width: 959px) and (min-width: 560px)
{
    .p-index-pickup__list
    {
        max-width: 80%;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-pickup__list
    {
        max-width: 680px;
        margin-top: 3rem;
    }
}
.p-index-pickup__list.is-slider-disabled
{
    max-width: 100%;
}
@media only screen and (min-width: 960px)
{
    .p-index-pickup__list.is-slider-disabled
    {
        max-width: 800px;
    }
}
.p-index-pickup__list .swiper-wrapper
{
    align-items: stretch !important;
}
.p-index-pickup__list .swiper-slide
{
    height: auto;
}
.p-index-pickup__item a
{
    display: flex;
    flex-direction: column;

    height: 100%;
}
.p-index-pickup__item-image
{
    width: 100%;

    background: #eee;

    aspect-ratio: 680/383;
}
.p-index-pickup__item-image img
{
    width: 100%;
    height: 100%;

    -o-object-fit: contain;
       object-fit: contain;
}
.p-index-pickup__item-caption
{
    font-size: max(1.4rem, 12px);
    font-weight: 400;

    margin-top: 1.5rem;
    padding-bottom: .6rem;

    transition: .35s;
    text-align: center;

    opacity: 0;
    border-bottom: 1px solid #666;

    flex-grow: 1;
}
@media only screen and (min-width: 960px)
{
    .p-index-pickup__item-caption
    {
        font-size: max(2rem, 18px);
        font-weight: 700;

        margin-top: 2.5rem;
        padding-bottom: 1rem;
    }
}
.swiper-slide-active .p-index-pickup__item-caption
{
    opacity: 1;
}
.is-slider-disabled .p-index-pickup__item-caption
{
    opacity: 1;
}
.p-index-pickup__arrow
{
    position: absolute;
    z-index: 1;
    top: 7.7rem;
    right: 0;
    left: 0;

    display: flex;

    transform: translateY(-50%);
    pointer-events: none;

    justify-content: space-between;
}
@media only screen and (max-width: 959px) and (min-width: 560px)
{
    .p-index-pickup__arrow
    {
        top: 13.4rem;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-pickup__arrow
    {
        top: 192px;
    }
}
.is-slider-disabled .p-index-pickup__arrow
{
    display: none;
}
.p-index-pickup__prev,
.p-index-pickup__next
{
    display: grid;

    width: 3rem;

    cursor: pointer;
    pointer-events: auto;

    place-content: center;
    aspect-ratio: 1;
}
@media only screen and (max-width: 959px) and (min-width: 560px)
{
    .p-index-pickup__prev,
    .p-index-pickup__next
    {
        width: 4rem;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-pickup__prev,
    .p-index-pickup__next
    {
        width: 4.5rem;
    }
}
.p-index-pickup__prev
{
    transform: translateX(-50%) scale(-1, 1);

    background: url(../images/common/icon_slide-arrow.svg) center/contain no-repeat;
}
.p-index-pickup__next
{
    transform: translateX(50%);

    background: url(../images/common/icon_slide-arrow.svg) center/contain no-repeat;
}
.p-index-pickup__pagination
{
    margin-top: 1rem;

    text-align: center;

    --swiper-pagination-color: #00a0e9;
}
.p-index-pickup__pagination .swiper-pagination
{
    position: relative;

    display: inline-flex;

    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-pickup__pagination .swiper-pagination
    {
        -moz-column-gap: 1.2rem;
             column-gap: 1.2rem;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-pickup__pagination .swiper-pagination-bullet
    {
        width: max(1rem, 8px);
        height: max(1rem, 8px);
    }
}
.is-slider-disabled .p-index-pickup__pagination
{
    display: none;
}
.p-index-pickup__sns
{
    margin-top: 3rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-pickup__sns
    {
        display: flex;

        align-items: center;
        justify-content: center;
        -moz-column-gap: 3rem;
             column-gap: 3rem;
    }
}
.p-index-pickup__sns-title
{
    font-size: max(1.4rem, 13px);

    text-align: center;
}
@media only screen and (min-width: 960px)
{
    .p-index-pickup__sns-title
    {
        font-size: max(1.8rem, 16px);
    }
}
.p-index-pickup__sns-list
{
    display: flex;

    margin-top: 1.5rem;

    justify-content: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-pickup__sns-list
    {
        margin-top: 0;

        -moz-column-gap: 3rem;
             column-gap: 3rem;
    }
}
.p-index-pickup__sns-button
{
    font-size: max(1.5rem, 13px);
    font-weight: 700;
    line-height: 1.2;

    display: grid;

    width: 14rem;
    height: 4.5rem;

    text-align: center;

    color: #fff;
    border-radius: .6rem;
    background: var(--color-main);

    place-content: center;
}
@media only screen and (min-width: 960px)
{
    .p-index-pickup__sns-button
    {
        font-size: max(2.4rem, 20px);

        width: 34rem;
        height: 5rem;
    }
}
.p-index-pickup__sns-button--x
{
    background: #000;
}
.p-index-pickup__sns-button--insta
{
    background: #da58a9;
}
.p-index-pickup__sns-button:hover
{
    color: #fff;
}

.p-index-recommend
{
    padding: 2rem 0;

    background: var(--color-sub02);
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend
    {
        width: 50rem;
        padding: 4rem 0;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__container
    {
        display: flex;
        flex-direction: column;

        height: 100%;
        padding: 0;
    }
}
.p-index-recommend__list
{
    overflow: visible;

    max-width: 27.5rem;
    margin: 2rem auto 0;
}
@media only screen and (max-width: 959px) and (min-width: 560px)
{
    .p-index-recommend__list
    {
        max-width: 100%;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__list
    {
        width: 100%;
        max-width: 100%;
        margin-top: 3rem;
        margin-bottom: 3rem;
    }
}
.p-index-recommend__list.is-slider-disabled
{
    max-width: 100%;
}
.p-index-recommend__list .swiper-wrapper
{
    align-items: stretch !important;
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__list .swiper-wrapper
    {
        flex-direction: column;

        gap: 3rem 2.5rem;
    }
}
.p-index-recommend__list .swiper-slide
{
    height: auto;
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__item
    {
        border: 1px solid #c0c6c9;
        background: #fff;
    }
    .p-index-recommend__item.is-pc-hide
    {
        display: none;
    }
}
.p-index-recommend__item a
{
    display: flex;
    flex-direction: column;

    height: 100%;
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__item a
    {
        display: block;
    }
}
.p-index-recommend__item-head
{
    display: none;
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__item-head
    {
        font-size: max(2rem, 16px);
        font-weight: 700;
        line-height: 1.2;

        display: flex;

        padding: 1.4rem 2rem;

        color: #0087e6;
        background: #f0efeb;
    }
    .is-check .p-index-recommend__item-head
    {
        position: relative;

        padding-left: 16.6rem;
    }
    .is-check .p-index-recommend__item-head::before
    {
        font-weight: 700;

        position: absolute;
        top: 0;
        left: 0;

        display: grid;

        width: 14.6rem;
        height: 100%;

        content: 'CHECK!';

        color: #fff;
        background: var(--color-sub01);

        place-content: center;
    }
}
.p-index-recommend__item-body
{
    display: flex;
    flex-direction: column;

    height: 100%;

    flex-grow: 1;
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__item-body
    {
        flex-direction: row;

        height: auto;
    }
}
.p-index-recommend__item-image
{
    position: relative;

    width: 100%;

    background: #fff;

    aspect-ratio: 326/165;
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__item-image
    {
        width: 65.46%;

        flex-shrink: 0;
    }
}
.p-index-recommend__item-image img
{
    width: 100%;
    height: 100%;

    -o-object-fit: contain;
       object-fit: contain;
}
.p-index-recommend__item-title
{
    margin-top: 1.5rem;
    padding-bottom: .6rem;

    border-bottom: 1px solid #666;

    flex-grow: 1;
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__item-title
    {
        display: grid;

        margin-top: 0;
        padding: 1rem 2rem 1rem 3rem;

        color: #0087e6;
        border-bottom: none;
        background: #fff;

        align-content: center;
    }
}
.p-index-recommend__item-title-text
{
    font-size: max(1.4rem, 12px);
    font-weight: 400;

    text-align: center;
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__item-title-text
    {
        font-size: max(2rem, 16px);

        text-align: left;
    }
}
.p-index-recommend__item-sp-date
{
    display: block;
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__item-sp-date
    {
        display: none;
    }
}
.p-index-recommend__arrow
{
    position: absolute;
    z-index: 1;
    top: 7rem;
    right: 0;
    left: 0;

    display: flex;

    transform: translateY(-50%);
    pointer-events: none;

    justify-content: space-between;
}
.is-slider-disabled .p-index-recommend__arrow
{
    display: none;
}
@media only screen and (max-width: 959px) and (min-width: 560px)
{
    .p-index-recommend__arrow
    {
        top: 7.6rem;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__arrow
    {
        display: none;
    }
}
.p-index-recommend__prev,
.p-index-recommend__next
{
    display: grid;

    width: 3rem;

    cursor: pointer;
    pointer-events: auto;

    place-content: center;
    aspect-ratio: 3/2.6;
}
@media only screen and (max-width: 959px) and (min-width: 560px)
{
    .p-index-recommend__prev,
    .p-index-recommend__next
    {
        width: 4rem;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__prev,
    .p-index-recommend__next
    {
        display: none;
    }
}
.p-index-recommend__prev
{
    transform: translateX(-50%) scale(-1, 1);

    background: url(../images/common/icon_slide-arrow.svg) center/contain no-repeat;
}
.p-index-recommend__next
{
    transform: translateX(50%);

    background: url(../images/common/icon_slide-arrow.svg) center/contain no-repeat;
}
.p-index-recommend__pagination
{
    margin-top: 1rem;

    text-align: center;

    --swiper-pagination-color: #00a0e9;
}
.p-index-recommend__pagination .swiper-pagination
{
    position: relative;

    display: inline-flex;

    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__pagination
    {
        display: none;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__pager
    {
        margin-top: auto;
    }
}
.p-index-recommend__button
{
    margin: 2rem auto 0;
}
@media only screen and (min-width: 960px)
{
    .p-index-recommend__button
    {
        margin-top: 4rem;
    }
}

.p-index-share
{
    padding: 4rem 0;
}
@media only screen and (min-width: 960px)
{
    .p-index-share__title
    {
        font-size: max(2.8rem, 24px);
    }
}
.p-index-share__title span
{
    font-size: max(2.1rem, 16px);
}
@media only screen and (min-width: 960px)
{
    .p-index-share__title span
    {
        font-size: max(2.6rem, 22px);
    }
}
.p-index-share__main
{
    margin-top: 2rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-share__main
    {
        max-width: 680px;
        margin: 5rem auto 0;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-share__image
    {
        text-align: center;
    }
}
.p-index-share__youtube-button
{
    font-weight: 700;
    line-height: 1.2;

    display: flex;

    width: 25rem;
    height: max(4.5rem, 38px);
    margin: 2rem auto 0;

    text-align: center;

    color: #fff;
    border-radius: .6rem;
    background: #f00;

    align-items: center;
    justify-content: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
}
@media only screen and (max-width: 959px) and (min-width: 560px)
{
    .p-index-share__youtube-button
    {
        width: max(32rem, 300px);
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-share__youtube-button
    {
        font-size: max(1.8rem, 16px);

        width: max(42rem, 380px);
        margin-top: 3rem;
        margin-right: 0;
    }
}
.p-index-share__youtube-button::after
{
    display: block;

    width: .8em;

    content: '';

    background: #fff;

    flex-shrink: 0;
    aspect-ratio: 1/1.2;
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
            clip-path: polygon(0 0, 0 100%, 100% 50%);
}
.p-index-share__youtube-button:hover
{
    color: #fff;
}
.p-index-share__segment
{
    position: relative;

    margin-top: 4rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-share__segment
    {
        margin-top: 3rem;
        padding: 3rem 10rem 0;
    }
}
@media only screen and (min-width: 960px)
{
    .p-index-share__segment-box
    {
        padding: 3rem 8px;

        background: #fff;
    }
}
.p-index-share__segment-title
{
    font-size: max(1.9rem, 16px);
    font-weight: 400;

    text-align: center;
}
@media only screen and (min-width: 960px)
{
    .p-index-share__segment-title
    {
        font-size: max(3.4rem, 26px);
        font-weight: 700;
    }
}
.p-index-share__segment-title .sub
{
    font-size: max(1.2rem, 10px);

    display: block;

    font-feature-settings: normal;
}
@media only screen and (min-width: 960px)
{
    .p-index-share__segment-title .sub
    {
        font-size: max(2rem, 16px);
        font-weight: 400;
    }
}
.p-index-share__segment-list
{
    position: relative;

    margin-top: 1.5rem;

    border-top: 1px solid #c0c6c9;
}
@media only screen and (min-width: 960px)
{
    .p-index-share__segment-list
    {
        margin-top: 2.6rem;
        padding-bottom: 0;
    }
}
.p-index-share__segment-item
{
    border-bottom: 1px solid #c0c6c9;
}
.p-index-share__segment-button
{
    margin: 2rem auto 0;
}
@media only screen and (min-width: 960px)
{
    .p-index-share__segment-button
    {
        margin-top: 3rem;
    }
}
.p-index-share__sns
{
    display: flex;

    margin-top: 2rem;

    align-items: center;
    justify-content: center;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-share__sns
    {
        margin-top: 3rem;

        -moz-column-gap: 3rem;
             column-gap: 3rem;
    }
}
.p-index-share__sns-title
{
    font-size: max(1.4rem, 13px);
    line-height: 1.4;

    text-align: center;

    font-feature-settings: normal;
}
@media only screen and (min-width: 960px)
{
    .p-index-share__sns-title
    {
        font-size: max(1.8rem, 16px);
    }
}
.p-index-share__sns-list
{
    display: flex;

    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-share__sns-list
    {
        -moz-column-gap: 3rem;
             column-gap: 3rem;
    }
}
.p-index-share__sns-list li
{
    width: 4.5rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-share__sns-list li
    {
        width: 5.2rem;
    }
}
.p-index-share__sns-list img
{
    width: 100%;
}

.p-index-vision
{
    padding: 4rem 0;
}
@media only screen and (min-width: 960px)
{
    .p-index-vision
    {
        background: var(--color-sub02);
    }
}
.p-index-vision__list
{
    display: grid;

    margin-top: 2rem;

    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    gap: 1.5rem;
}
@media only screen and (min-width: 960px)
{
    .p-index-vision__list
    {
        max-width: 980px;
        margin: 3rem auto 0;

        grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
        gap: 3rem 4.5rem;
    }
}
.p-index-vision__item a
{
    display: block;

    border: 1px solid #c0c6c9;

    aspect-ratio: 1;
}
.p-index-vision__item img
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.p-segment
{
    padding: max(1rem, 10px) 0;
}
.p-segment__head
{
    display: flex;

    cursor: pointer;

    align-items: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    padding-inline: 1rem;
}
@media only screen and (min-width: 960px)
{
    .p-segment__head
    {
        -moz-column-gap: 2.6rem;
             column-gap: 2.6rem;
        padding-inline: 2rem;
    }
}
.p-segment__head::after
{
    display: block;

    width: 1.4rem;
    height: 1.2rem;
    margin-left: auto;

    content: '';
    transition: transform .3s;

    background: #92d3ea;

    flex-shrink: 0;
    -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
            clip-path: polygon(100% 0, 0 0, 50% 100%);
}
@media only screen and (min-width: 960px)
{
    .p-segment__head::after
    {
        width: 2.2rem;
        height: 2.2rem;
    }
}
.p-segment__head.is-active::after
{
    transform: rotate(180deg);
}
.p-segment__head-logo
{
    display: flex;

    width: 9.8rem;
    padding-right: .8rem;

    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}
@media only screen and (min-width: 960px)
{
    .p-segment__head-logo
    {
        width: 16.2rem;
        height: 8rem;
        padding-right: 0;
    }
}
.p-segment__head-logo img
{
    width: 100%;
    height: 100%;
    max-height: 6rem;

    -o-object-fit: contain;
       object-fit: contain;
}
@media only screen and (min-width: 960px)
{
    .p-segment__head-logo img
    {
        max-height: 8rem;
    }
}
.p-segment__head-main
{
    display: flex;

    flex-grow: 1;
    align-items: center;
    -moz-column-gap: .8rem;
         column-gap: .8rem;
}
@media only screen and (min-width: 960px)
{
    .p-segment__head-main
    {
        -moz-column-gap: 1.8rem;
             column-gap: 1.8rem;
    }
}
.p-segment__dow
{
    font-size: max(1.6rem, 14px);
    font-weight: 700;

    min-width: 3rem;
    padding: .4em;

    text-align: center;

    color: #fff;
    background: #00a7eb;
}
@media only screen and (min-width: 960px)
{
    .p-segment__dow
    {
        font-size: max(3rem, 26px);

        padding: .085em .315em;
    }
}
.p-segment__dow--pt1
{
    background: var(--color-sub01);
}
.p-segment__title
{
    line-height: 1.4;
}
@media only screen and (min-width: 960px)
{
    .p-segment__title
    {
        font-size: max(2rem, 18px);
    }
}
.p-segment__title .time
{
    font-size: max(1rem, 10px);

    display: block;
}
@media only screen and (min-width: 960px)
{
    .p-segment__title .time
    {
        font-size: max(1.6rem, 13px);

        display: inline-block;

        margin-right: 1rem;
    }
}
.p-segment__body
{
    display: flex;
    display: none;

    padding-top: 1.5rem;
    padding-left: 1rem;

    align-items: flex-start;
    flex-wrap: wrap;
    -moz-column-gap: 1.8rem;
         column-gap: 1.8rem;
}
@media only screen and (min-width: 960px)
{
    .p-segment__body
    {
        padding-top: 2rem;

        -moz-column-gap: 2.6rem;
             column-gap: 2.6rem;
        padding-inline: 2rem 6rem;
    }
}
.p-segment__thumbnail
{
    width: 9rem;

    flex-shrink: 0;
    aspect-ratio: 162/106;
}
@media only screen and (min-width: 960px)
{
    .p-segment__thumbnail
    {
        width: 16.2rem;
    }
}
.p-segment__text
{
    width: calc(100% - 10.8rem);
}
@media only screen and (min-width: 960px)
{
    .p-segment__text
    {
        width: calc(100% - 18.8rem);
    }
}
.p-segment__link
{
    display: inline-flex;

    margin: 1rem 0 0 auto;
    padding: 0 .1em .2em;

    border-bottom: 1px solid #c0c6c9;

    align-items: center;
    -moz-column-gap: .6rem;
         column-gap: .6rem;
}
.p-segment__link::after
{
    display: block;

    width: .7em;

    content: '';

    background: #92d3ea;

    flex-shrink: 0;
    aspect-ratio: 1/1.2;
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
            clip-path: polygon(0 0, 0 100%, 100% 50%);
}

.u-text-xs
{
    font-size: 1rem;
}

.u-text-sm
{
    font-size: 1.2rem;
}

.u-text-base
{
    font-size: 1.4rem;
}

.u-text-lg
{
    font-size: 1.6rem;
}

.u-text-xl
{
    font-size: 1.8rem;
}

.u-text-2xl
{
    font-size: 2.2rem;
}

.u-text-3xl
{
    font-size: 2.8rem;
}

.u-text-4xl
{
    font-size: 3.4rem;
}

.u-text-5xl
{
    font-size: 4.6rem;
}

.u-text-6xl
{
    font-size: 6.2rem;
}

.u-italic
{
    font-style: italic;
}

.u-not-italic
{
    font-style: normal;
}

.u-font-light
{
    font-weight: 300;
}

.u-font-normal
{
    font-weight: 400;
}

.u-font-medium
{
    font-weight: 500;
}

.u-font-semibold
{
    font-weight: 600;
}

.u-font-bold
{
    font-weight: 700;
}

.u-text-left
{
    text-align: left;
}

.u-text-center
{
    text-align: center;
}

.u-text-right
{
    text-align: right;
}

.u-text-justify
{
    text-align: justify;
}

.u-text-transparent
{
    color: transparent;
}

.u-text-current
{
    color: currentColor;
}

.u-text-black
{
    color: #222;
}

.u-text-white
{
    color: #fff;
}

.u-text-gray
{
    color: #888;
}

.u-text-red
{
    color: #c00;
}

.u-text-blue
{
    color: #00c;
}

.u-bg-black
{
    background-color: #222;
}

.u-bg-white
{
    background-color: #fff;
}

.u-bg-gray-100
{
    background-color: #f4f4f4;
}

.u-bg-gray-200
{
    background-color: #e8e8e8;
}

.u-bg-gray-300
{
    background-color: #d2d2d2;
}

.u-bg-gray-400
{
    background-color: #bcbcbc;
}

.u-bg-gray-500
{
    background-color: #a6a6a6;
}

.u-bg-gray-600
{
    background-color: #909090;
}

.u-bg-gray-700
{
    background-color: #7a7a7a;
}

.u-bg-gray-800
{
    background-color: #646464;
}

.u-bg-gray-900
{
    background-color: #383838;
}

.u-bg-red-100
{
    background-color: #fff5f5;
}

.u-bg-red-200
{
    background-color: #fed7d7;
}

.u-bg-red-300
{
    background-color: #feb2b2;
}

.u-bg-red-400
{
    background-color: #fc8181;
}

.u-bg-red-500
{
    background-color: #f56565;
}

.u-bg-red-600
{
    background-color: #e53e3e;
}

.u-bg-red-700
{
    background-color: #c53030;
}

.u-bg-red-800
{
    background-color: #9b2c2c;
}

.u-bg-red-900
{
    background-color: #742a2a;
}

.u-underline
{
    text-decoration: underline;
}

.u-line-through
{
    text-decoration: line-through;
}

.u-no-underline
{
    text-decoration: none;
}

.u-align-baseline
{
    vertical-align: baseline;
}

.u-align-top
{
    vertical-align: top;
}

.u-align-middle
{
    vertical-align: middle;
}

.u-align-bottom
{
    vertical-align: bottom;
}

.u-align-text-top
{
    vertical-align: text-top;
}

.u-align-text-bottom
{
    vertical-align: text-bottom;
}

.u-opacity-0
{
    opacity: 0;
}

.u-opacity-25
{
    opacity: .25;
}

.u-opacity-50
{
    opacity: .5;
}

.u-opacity-75
{
    opacity: .75;
}

.u-opacity-100
{
    opacity: 1;
}
