@charset "UTF-8";
/* ---------------------------------------------
*   base
--------------------------------------------- */
/* ---------------------------------------------
*   Custom Properties
--------------------------------------------- */
:root {
    --shared-design-width: 1400;
    --shared-contents-width: 1275;
    --shared-contents-side-padding: 62;
    --shared-minwidth: 320;
    --shared-fixed-header-height: 100;
    --shared-root-fz: 16;
    --shared-line-height: 1.5;
    --shared-hover-transform-ratio: 1.02;
    --shared-hover-opacity-ratio: 0.8;
    --shared-hover-duration: .3s;
    --shared-color-base-1: #000;
    --shared-color-base-1-rgb: 0, 0, 0;
    --shared-color-black-1: #333333;
    --shared-color-black-1-rgb: 51, 51, 51;
    --shared-color-white-1: #fff;
    --shared-color-white-1-rgb: 255, 255, 255;
    --shared-color-gray-1: #4D4D4D;
    --shared-color-gray-1-rgb: 77, 77, 77;
    --shared-color-gray-2: #EFEFEF;
    --shared-color-gray-2-rgb: 239, 239, 239;
    --shared-color-gray-3: #B3B3B3;
    --shared-color-gray-3-rgb: 179, 179, 179;
    --shared-color-gray-4: #6D6D6D;
    --shared-color-gray-4-rgb: 109, 109, 109;
    --shared-color-gray-5: #D9D9D9;
    --shared-color-gray-5-rgb: 217, 217, 217;
    --shared-color-red-1: #B6001A;
    --shared-color-red-1-rgb: 182, 0, 26;
    --shared-ff-root:  メイリオ ,Meiryo, ヒラギノ角ゴ Pro W3 , Hiragino Kaku Gothic Pro , ＭＳ Ｐゴシック ,Arial,Helvetica,sans-serif;
}
@media screen and (max-width: 767px) {
    :root {
        --shared-design-width: 390;
        --shared-contents-width: 358;
        --shared-contents-side-padding: 16;
        --shared-minwidth: 320;
        --shared-fixed-header-height: 100;
        --shared-root-fz: 16;
        --shared-line-height: 1.5;
    }
}

/* ---------------------------------------------
*   Universal selector
--------------------------------------------- */
header,
footer {
    box-sizing: border-box;
    color: var(--shared-color-base-1);
    font-size: calc(var(--shared-root-fz) * 1px);
    line-height: var(--shared-line-height);
    font-family: var(--shared-ff-root);
    -webkit-text-size-adjust: 100%;
    min-width: calc(var(--shared-minwidth) * 1px);
    /* ---------------------------------------------
    *   base reset style
    --------------------------------------------- */
    /* ---------------------------------------------
    *   form parts reset style
    --------------------------------------------- */
}
@media screen and (max-width: 767px) {
    header,
    footer {
        font-size: calc(var(--shared-root-fz) / var(--shared-design-width) * 100vw);
    }
}
header *, header *::before, header *::after,
footer *,
footer *::before,
footer *::after {
    box-sizing: border-box;
}
header a,
footer a {
    text-decoration: none;
    cursor: pointer;
}
header a:focus, header a:focus-visible,
footer a:focus,
footer a:focus-visible {
    outline-offset: -1px;
}
header button,
footer button {
    font-family: var(--shared-ff-root);
}
header a img,
header button img,
footer a img,
footer button img {
    border: none;
}
header button,
footer button {
    border: none;
}
header img,
footer img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
header div, header span, header applet,
header h1, header h2, header h3, header h4, header h5, header h6, header p, header blockquote, header pre,
header a, header abbr, header acronym, header address, header big, header cite, header code,
header del, header dfn, header em, header img, header ins, header kbd, header q, header s, header samp,
header small, header strike, header strong, header tt, header var,
header b, header u, header i, header center,
header dl, header dt, header dd, header ol, header ul, header li,
header fieldset, header form, header label, header legend,
header table, header caption, header tbody, header tfoot, header thead, header tr, header th, header td,
header article, header aside, header canvas, header details, header embed,
header figure, header figcaption, header footer, header header, header hgroup,
header menu, header nav, header output, header ruby, header section, header summary,
header time, header mark, header audio, header video, header hr,
footer div,
footer span,
footer applet,
footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6,
footer p,
footer blockquote,
footer pre,
footer a,
footer abbr,
footer acronym,
footer address,
footer big,
footer cite,
footer code,
footer del,
footer dfn,
footer em,
footer img,
footer ins,
footer kbd,
footer q,
footer s,
footer samp,
footer small,
footer strike,
footer strong,
footer tt,
footer var,
footer b,
footer u,
footer i,
footer center,
footer dl,
footer dt,
footer dd,
footer ol,
footer ul,
footer li,
footer fieldset,
footer form,
footer label,
footer legend,
footer table,
footer caption,
footer tbody,
footer tfoot,
footer thead,
footer tr,
footer th,
footer td,
footer article,
footer aside,
footer canvas,
footer details,
footer embed,
footer figure,
footer figcaption,
footer footer,
footer header,
footer hgroup,
footer menu,
footer nav,
footer output,
footer ruby,
footer section,
footer summary,
footer time,
footer mark,
footer audio,
footer video,
footer hr {
    border: 0;
}
header ol, header ul,
footer ol,
footer ul {
    list-style: none;
}
header table,
footer table {
    border-collapse: collapse;
    border-spacing: 0;
}
header caption, header th, header td,
footer caption,
footer th,
footer td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}
header q, header blockquote,
footer q,
footer blockquote {
    quotes: none;
}
header q:before, header q:after, header blockquote:before, header blockquote:after,
footer q:before,
footer q:after,
footer blockquote:before,
footer blockquote:after {
    content: "";
    content: none;
    clear: both;
}
header a img,
footer a img {
    border: none;
}
header div, header span, header applet, header object, header iframe,
header h1, header h2, header h3, header h4, header h5, header h6, header p, header blockquote, header pre,
header a, header abbr, header acronym, header address, header big, header cite, header code,
header del, header dfn, header em, header img, header ins, header kbd, header q, header s, header samp,
header small, header strike, header strong, header tt, header var,
header b, header u, header i, header center,
header dl, header dt, header dd, header ol, header ul, header li,
header fieldset, header form, header label, header legend,
header table, header caption, header tbody, header tfoot, header thead, header tr, header th, header td,
header article, header aside, header canvas, header details, header embed,
header figure, header figcaption, header footer, header header, header hgroup,
header menu, header nav, header output, header ruby, header section, header summary,
header time, header mark, header audio, header video, header hr,
footer div,
footer span,
footer applet,
footer object,
footer iframe,
footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6,
footer p,
footer blockquote,
footer pre,
footer a,
footer abbr,
footer acronym,
footer address,
footer big,
footer cite,
footer code,
footer del,
footer dfn,
footer em,
footer img,
footer ins,
footer kbd,
footer q,
footer s,
footer samp,
footer small,
footer strike,
footer strong,
footer tt,
footer var,
footer b,
footer u,
footer i,
footer center,
footer dl,
footer dt,
footer dd,
footer ol,
footer ul,
footer li,
footer fieldset,
footer form,
footer label,
footer legend,
footer table,
footer caption,
footer tbody,
footer tfoot,
footer thead,
footer tr,
footer th,
footer td,
footer article,
footer aside,
footer canvas,
footer details,
footer embed,
footer figure,
footer figcaption,
footer footer,
footer header,
footer hgroup,
footer menu,
footer nav,
footer output,
footer ruby,
footer section,
footer summary,
footer time,
footer mark,
footer audio,
footer video,
footer hr {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
}
header ol, header ul,
footer ol,
footer ul {
    list-style: none;
}
header table,
footer table {
    border-collapse: collapse;
    border-spacing: 0;
}
header caption, header th, header td,
footer caption,
footer th,
footer td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}
header q, header blockquote,
footer q,
footer blockquote {
    quotes: none;
}
header q:before, header q:after, header blockquote:before, header blockquote:after,
footer q:before,
footer q:after,
footer blockquote:before,
footer blockquote:after {
    content: "";
    content: none;
    clear: both;
}
header a img,
footer a img {
    border: none;
}
header article, header aside, header details, header figcaption, header figure, header footer, header header, header hgroup, header main, header menu, header nav, header section, header summary,
footer article,
footer aside,
footer details,
footer figcaption,
footer figure,
footer footer,
footer header,
footer hgroup,
footer main,
footer menu,
footer nav,
footer section,
footer summary {
    display: block;
}
header input, header button, header textarea, header select,
footer input,
footer button,
footer textarea,
footer select {
    margin: 0;
    padding: 0;
    border: none;
    box-shadow: none;
    border-radius: 0;
    background: none;
    text-indent: 0.01px;
    text-overflow: "";
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    font-family: var(--ff-root);
}
header button,
footer button {
    touch-action: manipulation;
    cursor: pointer;
}
header textarea,
footer textarea {
    display: block;
    overflow: auto;
    resize: none;
}
header select,
footer select {
    cursor: pointer;
}
header select::-ms-expand,
footer select::-ms-expand {
    display: none;
}

hr[class^=anchor] {
    display: block;
    width: auto;
    height: 0;
    padding: calc(var(--shared-fixed-header-height) * 1px) 0 0 0;
    border: 0;
    margin: calc(var(--shared-fixed-header-height) * -1px) 0 0 0;
    background: 0;
    pointer-events: none;
}

/*  body
--------------------------------------------- */
body {
    margin: 0;
}

/* ---------------------------------------------
*   layout
--------------------------------------------- */
/* ---------------------------------------------
*   l-wrapper
--------------------------------------------- */
/* ---------------------------------------------
*   l-shared-header
--------------------------------------------- */
.l-shared-header {
    position: fixed;
    z-index: 1003;
    width: 100%;
    background-color: var(--shared-color-white-1);
}
/* ---------------------------------------------
*   l-shared-header-top
--------------------------------------------- */
.l-shared-header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 48px;
    gap: 8px;
}
.l-shared-header-top__logo-link {
    display: flex;
    width: calc(73 / var(--shared-root-fz) * 1rem);
    height: 100%;
    cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
    .l-shared-header-top__logo-link {
        transition: opacity var(--shared-hover-duration);
    }
    .l-shared-header-top__logo-link:hover {
        opacity: var(--shared-hover-opacity-ratio);
    }
}
@media screen and (max-width: 767px) {
    .l-shared-header-top__logo-link {
        width: 73px;
    }
}
.l-shared-header-top__logo-link img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.l-shared-header-top__side-nav {
    height: 100%;
}
.l-shared-header-top__list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 24px;
    height: 100%;
}
@media screen and (max-width: 767px) {
    .l-shared-header-top__list {
        gap: 0;
        margin-right: calc(var(--shared-contents-side-padding) * -1px);
    }
}
.l-shared-header-top__item {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    flex-shrink: 0;
}
@media screen and (max-width: 767px) {
    .l-shared-header-top__item {
        width: 48px;
    }
}
.l-shared-header-top__mail {
    padding: 8px;
    display: block;
    background: url(/shared/jp/images/icon_mail.png) center center no-repeat;
    background-size: 16px 16px;
    cursor: pointer;
}
@media screen and (max-width: 767px) {
    .l-shared-header-top__mail {
        padding: 18px;
        background-size: 18px 18px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-shared-header-top__mail:hover {
        background: url(/shared/jp/images/icon_mail-red.png) center center no-repeat;
        background-size: 16px 16px;
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 767px) {
    .l-shared-header-top__mail:hover {
        background-size: 18px 18px;
    }
}

/* ---------------------------------------------
*   l-shared-header-bottom
--------------------------------------------- */
.l-shared-header-bottom {
    background-color: var(--shared-color-gray-2);
}
.l-shared-header-bottom__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1em;
    min-height: 52px;
    height: auto;
}
@media screen and (min-width: 1025px) {
    .l-shared-header-bottom__container {
        gap: 0px 16px;
        flex-wrap: wrap;
        padding-block: 10px;
    }
}
.l-shared-header-bottom__logo-link {
    display: block;
    font-size: calc(16 / var(--shared-root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.8125;
    color: var(--shared-color-base-1);
}
@media (hover: hover) and (pointer: fine) {
    .l-shared-header-bottom__logo-link {
        transition: opacity var(--shared-hover-duration);
    }
    .l-shared-header-bottom__logo-link:hover {
        opacity: var(--shared-hover-opacity-ratio);
    }
}
@media screen and (max-width: 767px) {
    .l-shared-header-bottom__logo-link {
        font-size: 16px;
    }
}
.l-shared-header-bottom__logo-link-txt:nth-of-type(2) {
    position: relative;
    padding-left: 1.7em;
}
.l-shared-header-bottom__logo-link-txt:nth-of-type(2)::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0.6em;
    display: block;
    width: 1px;
    height: 16px;
    background-color: var(--shared-color-gray-3);
    transform: translateY(-50%);
}

/* ---------------------------------------------
*   l-shared-subnav
--------------------------------------------- */
.l-shared-subnav {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
.l-shared-subnav__trigger {
    position: relative;
    padding: 8px;
    display: block;
    height: 100%;
    cursor: pointer;
}
@media screen and (max-width: 767px) {
    .l-shared-subnav__trigger {
        padding: 18px;
    }
}
.l-shared-subnav__trigger::after {
    content: "";
    position: absolute;
    bottom: 11px;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--shared-color-red-1);
    opacity: 0;
}
@media screen and (max-width: 767px) {
    .l-shared-subnav__trigger::after {
        left: 50%;
        width: 50%;
        transform: translateX(-50%);
    }
}
@media screen and (min-width: 1025px) {
    .is-menu-opened .l-shared-subnav__trigger::after {
        opacity: 1;
    }
}

@media screen and (max-width: 1024px) {
    .l-shared-subnav__trigger.is-menu-opened::after {
        opacity: 1;
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 1024px) {
    .l-shared-subnav__trigger:hover::after {
        opacity: 1;
    }
}
.l-shared-subnav__trigger--search {
    background: url(/shared/jp/images/icon_search.png) center center no-repeat;
    background-size: 16px 16px;
}
@media screen and (max-width: 767px) {
    .l-shared-subnav__trigger--search {
        background-size: 18px 18px;
    }
}
@media screen and (min-width: 1025px) {
    .is-menu-opened .l-shared-subnav__trigger--search {
        background: url(/shared/jp/images/icon_search-red.png) center center no-repeat;
        background-size: 16px 16px;
    }
}

@media screen and (max-width: 1024px) {
    .l-shared-subnav__trigger--search.is-menu-opened {
        background: url(/shared/jp/images/icon_search-red.png) center center no-repeat;
        background-size: 16px 16px;
    }
}
@media screen and (max-width: 767px) {
    .l-shared-subnav__trigger--search.is-menu-opened {
        background-size: 18px 18px;
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 1024px) {
    .l-shared-subnav__trigger--search:hover {
        background: url(/shared/jp/images/icon_search-red.png) center center no-repeat;
        background-size: 16px 16px;
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 767px) {
    .l-shared-subnav__trigger--search:hover {
        background-size: 18px 18px;
    }
}
.l-shared-subnav__trigger--lang {
    background: url(/shared/jp/images/icon_language.png) center center no-repeat;
    background-size: 16px 16px;
}
@media screen and (max-width: 767px) {
    .l-shared-subnav__trigger--lang {
        background-size: 18px 18px;
    }
}
@media screen and (min-width: 1025px) {
    .is-menu-opened .l-shared-subnav__trigger--lang {
        background: url(/shared/jp/images/icon_language-red.png) center center no-repeat;
        background-size: 16px 16px;
    }
}

@media screen and (max-width: 1024px) {
    .l-shared-subnav__trigger--lang.is-menu-opened {
        background: url(/shared/jp/images/icon_language-red.png) center center no-repeat;
        background-size: 16px 16px;
    }
}
@media screen and (max-width: 767px) {
    .l-shared-subnav__trigger--lang.is-menu-opened {
        background-size: 18px 18px;
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 1024px) {
    .l-shared-subnav__trigger--lang:hover {
        background: url(/shared/jp/images/icon_language-red.png) center center no-repeat;
        background-size: 16px 16px;
    }
}
@media screen and (hover: hover) and (pointer: fine) and (max-width: 767px) {
    .l-shared-subnav__trigger--lang:hover {
        background-size: 18px 18px;
    }
}
.l-shared-subnav__target {
    position: fixed;
    top: 48px;
    left: 0;
    right: 0;
    z-index: 1002;
    display: block;
    width: 100vw;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: rgba(0, 0, 0, 0.3);
    overscroll-behavior-y: none;
    overflow-y: auto;
    scrollbar-width: none;
}

/* ---------------------------------------------
*   l-shared-search-form
--------------------------------------------- */
.l-shared-search-form {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1000px;
    width: 100%;
    margin-inline: auto;
}
@media screen and (max-width: 767px) {
    .l-shared-search-form {
        display: block;
        padding-inline: 16px;
    }
}
.l-shared-search-form__term {
    display: block;
    width: 136px;
    flex-shrink: 0;
    font-size: calc(16 / var(--shared-root-fz) * 1rem);
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .l-shared-search-form__term {
        font-size: 16px;
    }
}
.l-shared-search-form__inputs {
    position: relative;
    width: 100%;
    height: 48px;
}
@media screen and (max-width: 767px) {
    .l-shared-search-form__inputs {
        margin-top: 16px;
    }
}
.l-shared-search-form__input {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 12px;
    color: var(--color-base-1);
    font-size: calc(14 / var(--shared-root-fz) * 1rem);
    font-weight: 400;
    border-radius: 4px;
    background-color: var(--shared-color-white-1);
}
@media screen and (max-width: 767px) {
    .l-shared-search-form__input {
        font-size: 16px;
    }
}
.l-shared-search-form__input::-moz-placeholder {
    color: var(--shared-color-gray-4);
}
.l-shared-search-form__input::placeholder {
    color: var(--shared-color-gray-4);
}
.l-shared-search-form__submit-btn {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(56 / var(--shared-root-fz) * 1rem);
    height: 100%;
    color: var(--shared-color-white-1);
    background-color: var(--shared-color-red-1);
    border-radius: 0 4px 4px 0;
}
@media (hover: hover) and (pointer: fine) {
    .l-shared-search-form__submit-btn {
        transition: opacity var(--shared-hover-duration);
    }
    .l-shared-search-form__submit-btn:hover {
        opacity: var(--shared-hover-opacity-ratio);
    }
}
.l-shared-search-form__submit-btn:lang(en) {
    width: calc(64 / var(--shared-root-fz) * 1rem);
}
.l-shared-search-form__submit-btn-txt {
    display: inline-block;
    font-size: calc(16 / var(--shared-root-fz) * 1rem);
    line-height: 1;
}
@media screen and (max-width: 767px) {
    .l-shared-search-form__submit-btn-txt {
        font-size: 16px;
    }
}

/* ---------------------------------------------
*   l-shared-header-menu-button
--------------------------------------------- */
.l-shared-header-menu-button {
    display: none;
    position: relative;
    width: 52px;
    height: 52px;
    background-color: var(--shared-color-gray-1);
    border: 0;
    border-radius: 0;
    margin: 0;
    box-shadow: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    touch-action: manipulation;
    cursor: pointer;
    flex-shrink: 0;
}
@media screen and (max-width: 1024px) {
    .l-shared-header-menu-button {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .l-shared-header-menu-button {
        transition: opacity var(--shared-hover-duration);
    }
    .l-shared-header-menu-button:hover {
        opacity: var(--shared-hover-opacity-ratio);
    }
}
.l-shared-header-menu-button__lines {
    position: relative;
    display: block;
    width: 16px;
    height: 11px;
}
.l-shared-header-menu-button__line {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 0;
    padding-top: 1px;
    background-color: var(--shared-color-white-1);
    transition: 0.3s;
}
.l-shared-header-menu-button__line--top {
    top: 0;
}
.is-menu-opened .l-shared-header-menu-button__line--top {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

.l-shared-header-menu-button__line--center {
    top: 50%;
}
.is-menu-opened .l-shared-header-menu-button__line--center {
    background-color: rgba(0, 0, 0, 0);
}

.l-shared-header-menu-button__line--bottom {
    bottom: 0;
}
.is-menu-opened .l-shared-header-menu-button__line--bottom {
    bottom: 50%;
    width: 100%;
    transform: translateY(50%) rotate(-45deg);
}

/* ---------------------------------------------
*   l-shared-header-menu
--------------------------------------------- */
.l-shared-header-menu {
    height: 100%;
    display: flex;
}
@media screen and (max-width: 1024px) {
    .l-shared-header-menu {
        position: fixed;
        inset: calc(var(--shared-fixed-header-height) * 1px) 0 0;
        display: block;
        background-color: var(--shared-color-white-1);
        overflow-y: auto;
        overscroll-behavior-y: none;
        opacity: 0;
        visibility: hidden;
        scrollbar-width: none;
    }
    .l-shared-header-menu::-webkit-scrollbar {
        display: none;
    }
    .l-shared-header-menu.is-animating {
        transition: opacity 0.3s, visibility 0.3s;
    }
    .l-shared-header-menu.is-menu-opened {
        visibility: visible;
        opacity: 1;
    }
}
@media screen and (max-width: 1024px) {
    .l-shared-header-menu__container {
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 100%;
        box-sizing: border-box;
        background-color: var(--shared-color-white-1);
        scrollbar-width: none;
    }
    .l-shared-header-menu__container::-webkit-scrollbar {
        display: none;
    }
}
.l-shared-header-menu__body {
    overflow-y: auto;
    height: 100%;
}
@media screen and (min-width: 1025px) {
    .l-shared-header-menu__body {
        /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
        -ms-overflow-style: none;
        /*Firefoxへの対応*/
        scrollbar-width: none;
        /*Google Chrome、Safariへの対応*/
    }
    .l-shared-header-menu__body::-webkit-scrollbar {
        display: none;
    }
}

/* ---------------------------------------------
*   l-shared-gnav
--------------------------------------------- */
@media screen and (max-width: 1024px) {
    .l-shared-gnav {
        height: auto;
    }
}
.l-shared-gnav__list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 24px;
    height: 100%;
}
@media screen and (max-width: 1024px) {
    .l-shared-gnav__list {
        display: block;
        width: 100%;
    }
}
@media screen and (min-width: 1025px) {
    .l-shared-gnav__list {
        flex-wrap: wrap;
        /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
        -ms-overflow-style: none;
        /*Firefoxへの対応*/
        scrollbar-width: none;
        /*Google Chrome、Safariへの対応*/
    }
    .l-shared-gnav__list::-webkit-scrollbar {
        display: none;
    }
}
.l-shared-gnav__item {
    flex-shrink: 0;
    height: 100%;
}
.l-shared-gnav__trigger {
    position: relative;
    padding-right: calc(12 / var(--shared-root-fz) * 1rem);
    display: flex;
    align-items: center;
    height: calc(100% + 1px);
    font-size: calc(14 / var(--shared-root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-base-1);
}
@media screen and (max-width: 1024px) {
    .l-shared-gnav__trigger {
        padding-block: 24px;
        padding-right: 24px;
        width: 100%;
        font-size: 16px;
    }
}
.l-shared-gnav__trigger::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    width: 8px;
    aspect-ratio: 1/1;
    background: url(/shared/jp/images/icon_arrow-ltr-red.png) center center no-repeat;
    background-size: 100% auto;
    transform: translateY(-50%) rotate(90deg);
}
@media screen and (max-width: 1024px) {
    .l-shared-gnav__trigger::after {
        display: none;
    }
}
.l-shared-gnav__trigger::before {
    content: "";
    position: absolute;
    bottom: 1px;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    background-color: transparent;
}
@media screen and (max-width: 1024px) {
    .l-shared-gnav__trigger::before {
        background-color: var(--shared-color-gray-5);
    }
}
@media (hover: hover) and (pointer: fine) {
    .l-shared-gnav__trigger::after {
        transition: transform 0.3s;
    }
    .l-shared-gnav__trigger:hover {
        border-color: var(--shared-color-red-1);
        color: var(--shared-color-red-1);
    }
    .l-shared-gnav__trigger:hover::before {
        background-color: var(--shared-color-red-1);
    }
    .l-shared-gnav__trigger:hover::after {
        transform: translateY(-50%) rotate(-90deg);
    }
    .l-shared-gnav__trigger:hover .l-shared-gnav__trigger-ico::before {
        background: url(/shared/jp/images/icon_groups-red.png) center center no-repeat;
        background-size: 100% auto;
    }
}
@media screen and (min-width: 1025px) {
    .is-menu-opened .l-shared-gnav__trigger {
        border-color: var(--shared-color-red-1);
        color: var(--shared-color-red-1);
    }
    .is-menu-opened .l-shared-gnav__trigger::after {
        transition: transform 0.3s;
    }
    .is-menu-opened .l-shared-gnav__trigger::before {
        background-color: var(--shared-color-red-1);
    }
    .is-menu-opened .l-shared-gnav__trigger::after {
        transform: translateY(-50%) rotate(-90deg);
    }
    .is-menu-opened .l-shared-gnav__trigger .l-shared-gnav__trigger-ico::before {
        background: url(/shared/jp/images/icon_groups-red.png) center center no-repeat;
        background-size: 100% auto;
    }
}

.l-shared-gnav__trigger.is-page-current {
    border-color: var(--shared-color-red-1);
    color: var(--shared-color-red-1);
}
.l-shared-gnav__trigger.is-page-current::before {
    background-color: var(--shared-color-red-1);
}
.l-shared-gnav__trigger.is-page-current .l-shared-gnav__trigger-ico::before {
    background: url(/shared/jp/images/icon_groups-red.png) center center no-repeat;
    background-size: 100% auto;
}
@media screen and (max-width: 1024px) {
    .js-acc-scope .l-shared-gnav__trigger {
        width: calc(100% - 64px);
        margin-inline: auto;
    }
}

@media screen and (max-width: 1024px) {
    .js-acc-scope.is-open .l-shared-gnav__trigger .l-shared-gnav__trigger-txt::before {
        opacity: 0;
    }
    .js-acc-scope.is-open .l-shared-gnav__trigger::before {
        opacity: 0;
    }
    .js-acc-scope.is-open .l-shared-gnav__trigger .l-shared-gnav__trigger-ico::before {
        background: url(/shared/jp/images/icon_groups-red.png) center center no-repeat;
        background-size: 100% auto;
    }
}

.l-shared-gnav__trigger--notoggle {
    padding-right: 0;
}
.l-shared-gnav__trigger--notoggle::after {
    display: none;
}
@media screen and (max-width: 1024px) {
    .l-shared-gnav__trigger--notoggle {
        width: calc(100% - 64px);
        margin-inline: auto;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 0.5em;
    }
}
.l-shared-gnav__trigger--notoggle .l-shared-gnav__trigger-txt::before,
.l-shared-gnav__trigger--notoggle .l-shared-gnav__trigger-txt::after {
    display: none;
}
.l-shared-gnav__trigger--notoggle .l-shared-gnav__trigger-icon {
    display: none;
}
@media screen and (max-width: 1024px) {
    .l-shared-gnav__trigger--notoggle .l-shared-gnav__trigger-icon {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-shrink: 0;
        width: 24px;
        border: 1px solid var(--shared-color-red-1);
        border-radius: 50%;
        aspect-ratio: 1/1;
        transform: translateY(-1px);
    }
    .safari .l-shared-gnav__trigger--notoggle .l-shared-gnav__trigger-icon {
        transform: translateY(-2px);
    }
    .firefox .l-shared-gnav__trigger--notoggle .l-shared-gnav__trigger-icon {
        transform: translateY(-2px);
    }
}
.l-shared-gnav__trigger--notoggle .l-shared-gnav__trigger-arrow {
    position: relative;
    display: block;
    flex-shrink: 0;
    width: 8px;
    aspect-ratio: 1/1;
    background: url(/shared/jp/images/icon_arrow-ltr-red.png) center center no-repeat;
    background-size: 100% auto;
}
@media (hover: hover) and (pointer: fine) {
    .l-shared-gnav__trigger--notoggle:hover .l-shared-gnav__trigger-icon {
        background-color: var(--shared-color-red-1);
    }
    .l-shared-gnav__trigger--notoggle:hover .l-shared-gnav__trigger-arrow {
        background: url(/shared/jp/images/icon_arrow-ltr-wh.png) center center no-repeat;
        background-size: 100% auto;
    }
}
@media screen and (max-width: 1024px) {
    .l-shared-gnav__trigger--groups {
        padding-right: 0;
    }
}
.l-shared-gnav__trigger--groups .l-shared-gnav__trigger-txt {
    position: relative;
    padding-left: 20px;
}
@media screen and (max-width: 1024px) {
    .l-shared-gnav__trigger--groups .l-shared-gnav__trigger-txt {
        width: 100%;
        text-align: left;
    }
}
.l-shared-gnav__trigger--groups .l-shared-gnav__trigger-ico {
    position: relative;
}
.l-shared-gnav__trigger--groups .l-shared-gnav__trigger-ico::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -20px;
    display: block;
    width: 16px;
    aspect-ratio: 1/1;
    background: url(/shared/jp/images/icon_groups.png) center center no-repeat;
    background-size: 100% auto;
    transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
    .l-shared-gnav__trigger-txt {
        text-align: left;
    }
    .l-shared-gnav__trigger-txt::before, .l-shared-gnav__trigger-txt::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 12px;
        display: block;
        width: 2px;
        height: 15px;
        background-color: var(--shared-color-red-1);
        transform: translateY(-50%);
    }
    .l-shared-gnav__trigger-txt::after {
        transform: translateY(-50%) rotate(90deg);
    }
}
@media screen and (max-width: 1024px) {
    .is-open .l-shared-gnav__trigger-txt {
        transition: color 0.3s;
        color: var(--shared-color-red-1);
    }
}

.l-shared-gnav__target {
    position: fixed;
    top: calc(var(--shared-fixed-header-height) * 1px);
    left: 0;
    right: 0;
    z-index: 1002;
    display: block;
    width: 100vw;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: rgba(0, 0, 0, 0.3);
    overscroll-behavior-y: none;
    overflow-y: auto;
    scrollbar-width: none;
}
@media screen and (max-width: 1024px) {
    .js-acc-scope .l-shared-gnav__target {
        position: static;
        width: 100%;
        background-color: transparent;
    }
}

/* ---------------------------------------------
*   l-gnav-content
--------------------------------------------- */
.l-gnav-content {
    overflow-y: auto;
    box-sizing: border-box;
    overscroll-behavior-y: none;
    scrollbar-width: none;
    text-align: left;
}
.l-gnav-content__overlay {
    position: relative;
    z-index: 1003;
    pointer-events: auto;
    padding-block: 42px;
    max-height: 100%;
    background-color: var(--shared-color-white-1);
}
.l-gnav-content__overlay--gray {
    padding-block: 32px;
    background-color: var(--shared-color-gray-2);
}
@media screen and (max-width: 1024px) {
    .js-acc-scope .l-gnav-content__overlay {
        padding-block: 0;
    }
}

.l-gnav-content__container {
    overflow-y: scroll;
    scrollbar-width: none;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
@media screen and (max-width: 1024px) {
    .js-acc-scope .l-gnav-content__container {
        padding-inline: 0 !important;
        display: block;
        max-height: none;
    }
}

@media screen and (min-width: 1025px) {
    .l-gnav-content__container:lang(en) {
        align-items: stretch;
    }
}
.l-gnav-content__head {
    padding-right: 1em;
    width: 250px;
    flex-shrink: 0;
    margin-top: 6px;
}
@media screen and (max-width: 1024px) {
    .js-acc-scope .l-gnav-content__head {
        width: calc(100% - 64px);
        margin-top: 0;
        margin-inline: auto;
        margin-bottom: 8px;
    }
}

.l-gnav-content__head .l-shared-gnav-link {
    position: static;
    align-items: center;
}
@media screen and (max-width: 1024px) {
    .l-gnav-content__head .l-shared-gnav-link {
        width: -moz-fit-content;
        width: fit-content;
    }
    .l-gnav-content__head .l-shared-gnav-link::before {
        opacity: 0;
    }
}
@media screen and (min-width: 1025px) {
    .l-gnav-content__head .l-shared-gnav-link:lang(en) {
        height: auto;
    }
}
.l-gnav-content__body {
    padding-left: calc(32 / 1025 * 100%);
    width: 100%;
    border-left: 1px solid var(--shared-color-red-1);
}
@media screen and (max-width: 1024px) {
    .js-acc-scope .l-gnav-content__body {
        padding-top: 25px;
        padding-left: 0;
        padding-inline: 32px !important;
        background-color: var(--shared-color-gray-2);
        border-top: 1px solid var(--shared-color-red-1);
        border-left: 0;
    }
}

.l-gnav-content__ttl {
    display: block;
    font-size: calc(28 / var(--shared-root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.1785714286;
    margin-bottom: 24px;
}
.l-gnav-content--lang .l-gnav-content__overlay {
    padding-block: 53px 32px;
    padding-inline: 32px;
    max-width: 320px;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    right: 73px;
}
@media screen and (max-width: 767px) {
    .l-gnav-content--lang .l-gnav-content__overlay {
        max-width: none;
        width: 100%;
        right: 0;
    }
}
@media screen and (max-width: 767px) {
    .l-gnav-content--lang .l-container {
        padding-inline: 0;
    }
}

/* ---------------------------------------------
*   l-shared-gnav-list
--------------------------------------------- */
.l-shared-gnav-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: calc(24 / 1025 * 100%);
}
@media screen and (max-width: 1024px) {
    .l-shared-gnav-list {
        display: block;
    }
}
.l-shared-gnav-list__item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: calc(312 / 985 * 100%);
}
@media screen and (max-width: 1024px) {
    .l-shared-gnav-list__item {
        width: 100%;
    }
}
@media screen and (min-width: 1025px) {
    .l-shared-gnav-list__item:nth-of-type(n + 4) {
        margin-top: 25px;
    }
}
@media screen and (max-width: 1024px) {
    .l-shared-gnav-list__item:nth-of-type(n + 2) {
        margin-top: 18px;
    }
}
@media screen and (max-width: 1024px) {
    .js-acc-scope .l-shared-gnav-list__item:last-of-type .l-shared-gnav-link::before,
    .js-acc-scope .l-shared-gnav-list__item:last-of-type .l-shared-gnav-link::after {
        opacity: 0;
    }
}

/* ---------------------------------------------
*   l-shared-gnav-link
--------------------------------------------- */
.l-shared-gnav-link {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    padding-bottom: 16px;
    align-items: stretch;
    height: 100%;
    color: var(--shared-color-base-1);
}
.l-shared-gnav-link::before, .l-shared-gnav-link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
}
.l-shared-gnav-link::before {
    background-color: var(--shared-color-gray-3);
}
.l-shared-gnav-link::after {
    transform-origin: top left;
    transform: scale(0, 1);
    transition: transform 0.3s;
    background-color: var(--shared-color-red-1);
}
@media (hover: hover) and (pointer: fine) {
    .l-shared-gnav-link:hover .l-shared-gnav-link__icon {
        background-color: var(--shared-color-red-1);
    }
    .l-shared-gnav-link:hover[target=_blank] .l-shared-gnav-link__icon {
        background-color: transparent;
    }
    .l-shared-gnav-link:hover .l-shared-gnav-link__arrow {
        background: url(/shared/jp/images/icon_arrow-ltr-wh.png) 0 0 no-repeat;
        background-size: 100% auto;
    }
    .l-shared-gnav-link:hover::after {
        transform: scale(1, 1);
    }
}
.l-shared-gnav-link.is-page-current {
    color: var(--shared-color-red-1);
}
.l-shared-gnav-link.is-page-current::after {
    transform: scale(1, 1);
}
.l-shared-gnav-link[target=_blank] .l-shared-gnav-link__icon {
    width: 16px;
    border: none;
    border-radius: initial;
}
@media screen and (max-width: 1024px) {
    .js-acc-scope .l-shared-gnav-link[target=_blank] .l-shared-gnav-link__icon {
        position: relative;
        right: 5px;
    }
}

@media screen and (max-width: 1024px) {
    .js-acc-scope .l-shared-gnav-link {
        padding-bottom: 16px;
    }
}

.l-shared-gnav-link__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    width: 100%;
}
.l-shared-gnav-link__txt {
    display: block;
    font-size: calc(16 / var(--shared-root-fz) * 1rem);
    font-weight: bold;
}
@media screen and (max-width: 1024px) {
    .l-shared-gnav-link__txt {
        font-size: 16px;
    }
}
.l-shared-gnav-link__txt-small {
    padding-left: 0.8em;
    text-indent: -0.8em;
    display: block;
    color: var(--shared-color-gray-1);
    font-size: calc(14 / var(--shared-root-fz) * 1rem);
    font-weight: 400;
}
@media screen and (max-width: 1024px) {
    .l-shared-gnav-link__txt-small {
        font-size: 14px;
    }
}
.l-shared-gnav-link__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: 24px;
    border: 1px solid var(--shared-color-red-1);
    border-radius: 50%;
    aspect-ratio: 1/1;
    flex-shrink: 0;
}
.l-shared-gnav-link__arrow {
    position: relative;
    display: block;
    flex-shrink: 0;
    width: 8px;
    aspect-ratio: 1/1;
    background: url(/shared/jp/images/icon_arrow-ltr-red.png) 0 0 no-repeat;
    background-size: 100% auto;
}
.l-shared-gnav-link--sb {
    justify-content: space-between;
}
.l-shared-gnav-link--right {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
}
.l-shared-gnav-link--left {
    width: -moz-fit-content;
    width: fit-content;
    margin-right: auto;
}
.l-shared-gnav-link--left .l-shared-gnav-link__arrow {
    transform: rotate(180deg);
}

/* ---------------------------------------------
*   l-gnav-close
--------------------------------------------- */
.l-gnav-close {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 1003;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    width: 12px;
    aspect-ratio: 1/1;
}
@media (hover: hover) and (pointer: fine) {
    .l-gnav-close {
        transition: opacity var(--shared-hover-duration);
    }
    .l-gnav-close:hover {
        opacity: var(--shared-hover-opacity-ratio);
    }
}
.l-gnav-close--search {
    right: 62px;
}
@media screen and (max-width: 767px) {
    .l-gnav-close--search {
        right: 18px;
    }
}
@media screen and (max-width: 767px) {
    .edge .l-gnav-close {
        right: 33px;
    }
}

/* ---------------------------------------------
*   l-gnav-lang
--------------------------------------------- */
@media screen and (max-width: 767px) {
    .l-gnav-lang {
        width: 100%;
    }
}
.l-gnav-lang__content + .l-gnav-lang__content {
    margin-top: 70px;
}
.l-gnav-lang__term {
    display: block;
    font-size: calc(22 / var(--shared-root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.3181818182;
}
@media screen and (max-width: 767px) {
    .l-gnav-lang__term {
        font-size: 22px;
    }
}
.l-gnav-lang__desc {
    margin-top: 24px;
}
.l-gnav-lang__item {
    margin-top: 16px;
}

/* ---------------------------------------------
*   l-contents
--------------------------------------------- */
.l-contents {
    position: relative;
}
.top .l-contents {
    padding-top: calc(var(--fixed-header-height) * 1px);
}

/* ---------------------------------------------
*   l-container
--------------------------------------------- */
.l-container {
    padding-inline: calc(var(--shared-contents-side-padding) * 1px);
    max-width: calc(var(--shared-design-width) * 1px);
    width: 100%;
    margin-inline: auto;
}
@media screen and (max-width: 767px) {
    .l-container {
        max-width: none;
    }
}
@media screen and (max-width: 1024px) {
    .l-container--hum {
        padding-inline: calc(var(--shared-contents-side-padding) * 1px) 0;
    }
}

/* ---------------------------------------------
*   l-breadcrumb
--------------------------------------------- */
/* ---------------------------------------------
*   l-shared-footer
--------------------------------------------- */
.l-shared-footer {
    position: relative;
    z-index: 1000;
    background-color: var(--shared-color-gray-1);
    color: var(--shared-color-white-1);
}

/* ---------------------------------------------
*   l-shared-footer-content
--------------------------------------------- */
.l-shared-footer-content {
    padding-block: 40px;
}
.l-shared-footer-content__link {
    position: relative;
    padding-bottom: 8px;
    display: block;
    font-size: calc(18 / var(--shared-root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--shared-color-white-1);
    color: var(--shared-color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .l-shared-footer-content__link {
        transition: opacity var(--shared-hover-duration);
    }
    .l-shared-footer-content__link:hover {
        opacity: var(--shared-hover-opacity-ratio);
    }
}
@media screen and (max-width: 767px) {
    .l-shared-footer-content__link {
        padding-right: 20px;
        padding-bottom: 4px;
        font-size: 18px;
        margin-bottom: 13px;
    }
}
@media screen and (max-width: 767px) {
    .l-shared-footer-content__link::after {
        content: "";
        position: absolute;
        top: 20%;
        right: 0;
        display: block;
        width: 14px;
        aspect-ratio: 1/1;
        background: url(/shared/jp/images/icon_arrow-ltr-wh.png) 0 0 no-repeat;
        background-size: 100% auto;
    }
}
.l-shared-footer-content__link-inner {
    display: block;
    font-size: calc(16 / var(--shared-root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.8125;
    color: var(--shared-color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .l-shared-footer-content__link-inner {
        transition: opacity var(--shared-hover-duration);
    }
    .l-shared-footer-content__link-inner:hover {
        opacity: var(--shared-hover-opacity-ratio);
    }
}
@media screen and (max-width: 767px) {
    .l-shared-footer-content__link-inner {
        font-size: 16px;
    }
}
.l-shared-footer-content__link-inner-txt:nth-of-type(2) {
    position: relative;
    padding-left: 1.7em;
}
.l-shared-footer-content__link-inner-txt:nth-of-type(2)::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0.6em;
    display: block;
    width: 1px;
    height: 16px;
    background-color: var(--shared-color-gray-3);
    transform: translateY(-50%);
}
.l-shared-footer-content__list {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 22px;
}
@media screen and (max-width: 767px) {
    .l-shared-footer-content__list {
        display: block;
    }
}
.l-shared-footer-content__item {
    width: calc(237 / var(--shared-contents-width) * 100%);
    min-width: 200px;
}
@media screen and (max-width: 767px) {
    .l-shared-footer-content__item {
        width: 100%;
        min-width: auto;
    }
}

/* ---------------------------------------------
*   l-shared-footer-acc
--------------------------------------------- */
@media screen and (max-width: 767px) {
    .l-shared-footer-acc {
        border-bottom: 1px solid var(--shared-color-black-1);
    }
}
.l-shared-footer-acc__triger {
    display: block;
    padding-block: 16px;
    border-bottom: 1px solid var(--shared-color-black-1);
    color: var(--shared-color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .l-shared-footer-acc__triger {
        transition: opacity var(--shared-hover-duration);
    }
    .l-shared-footer-acc__triger:hover {
        opacity: var(--shared-hover-opacity-ratio);
    }
}
@media screen and (max-width: 767px) {
    .l-shared-footer-acc__triger {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        text-align: left;
        border: none;
        color: var(--shared-color-white-1);
    }
}
@media screen and (max-width: 767px) {
    .l-shared-footer-acc__triger.js-acc-trigger::before, .l-shared-footer-acc__triger.js-acc-trigger::after {
        content: "";
        position: absolute;
        display: block;
        top: 50%;
        right: 0;
        transform: translate(0, -50%);
        background-color: var(--shared-color-white-1);
    }
}
.l-shared-footer-acc__triger.js-acc-trigger::before {
    width: 13px;
    height: 1px;
}
.l-shared-footer-acc__triger.js-acc-trigger::after {
    width: 1px;
    height: 13px;
    right: 6px;
}
.is-open .l-shared-footer-acc__triger.js-acc-trigger::after {
    height: 0;
}

.l-shared-footer-acc__trigger-txt {
    display: inline-block;
    font-size: calc(16 / var(--shared-root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.375;
}
@media screen and (max-width: 767px) {
    .l-shared-footer-acc__trigger-txt {
        padding-right: 25px;
        font-size: 16px;
    }
}
.l-shared-footer-acc__target {
    margin-top: 16px;
}
@media screen and (max-width: 767px) {
    .l-shared-footer-acc__target {
        margin-top: 0;
    }
}
@media screen and (max-width: 767px) {
    .l-shared-footer-acc__list {
        margin-bottom: 13px;
    }
}
.l-shared-footer-acc__item {
    position: relative;
    padding-left: calc(13 / var(--shared-root-fz) * 1rem);
}
@media screen and (max-width: 767px) {
    .l-shared-footer-acc__item {
        padding-left: 13px;
    }
}
.l-shared-footer-acc__item + .l-shared-footer-acc__item {
    margin-top: calc(5 / var(--shared-root-fz) * 1rem);
}
@media screen and (max-width: 767px) {
    .l-shared-footer-acc__item + .l-shared-footer-acc__item {
        margin-top: 16px;
    }
}
.l-shared-footer-acc__item::before {
    content: "";
    position: absolute;
    top: 0.8rem;
    left: 0;
    display: block;
    width: 5px;
    height: 1px;
    background-color: var(--shared-color-white-1);
}
@media screen and (max-width: 767px) {
    .l-shared-footer-acc__item::before {
        top: 0.6rem;
        width: 4px;
    }
}
@media screen and (max-width: 767px) {
    .l-shared-footer-acc__item .l-shared-link {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
}
@media screen and (max-width: 767px) {
    .l-shared-footer-acc__item:first-of-type {
        padding-left: 0;
    }
}
@media screen and (max-width: 767px) {
    .l-shared-footer-acc__item:first-of-type::before {
        content: none;
    }
}
.l-shared-footer-acc__icon {
    display: inline-flex;
    width: calc(12 / var(--shared-root-fz) * 1rem);
}
@media screen and (max-width: 767px) {
    .l-shared-footer-acc__icon {
        width: 12px;
    }
}
.l-shared-footer-acc__icon img {
    vertical-align: middle;
}

/* ---------------------------------------------
*   l-shared-footer-sns
--------------------------------------------- */
.l-shared-footer-sns {
    padding-block: 24px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 1rem;
}
@media screen and (max-width: 767px) {
    .l-shared-footer-sns {
        padding-block: 17px 24px;
        display: block;
        text-align: center;
    }
}
.l-shared-footer-sns__list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
}
@media screen and (max-width: 767px) {
    .l-shared-footer-sns__list {
        justify-content: center;
        margin-bottom: 24px;
    }
}
.l-shared-footer-sns__item {
    width: 26px;
}
.l-shared-footer-sns__item--linkedin {
    width: 31px;
}
.l-shared-footer-sns__link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}
@media (hover: hover) and (pointer: fine) {
    .l-shared-footer-sns__link {
        transition: opacity var(--shared-hover-duration);
    }
    .l-shared-footer-sns__link:hover {
        opacity: var(--shared-hover-opacity-ratio);
    }
}
.l-shared-footer-sns__link img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

/* ---------------------------------------------
*   l-shared-footer-copyright
--------------------------------------------- */
.l-shared-footer-copyright {
    padding-block: 16px;
    background-color: var(--shared-color-black-1);
}
@media screen and (max-width: 767px) {
    .l-shared-footer-copyright {
        padding-block: 24px 20px;
        text-align: center;
    }
}
.l-shared-footer-copyright__container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 1rem;
}
@media screen and (max-width: 767px) {
    .l-shared-footer-copyright__container {
        display: block;
    }
}
.l-shared-footer-copyright__txt {
    display: block;
    font-size: calc(14 / var(--shared-root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
}
@media screen and (max-width: 767px) {
    .l-shared-footer-copyright__txt {
        font-size: 14px;
        margin-top: 32px;
    }
}

/* ---------------------------------------------
*   l-shared-link
--------------------------------------------- */
/*  l-shared-link-wrap
--------------------------------------------- */
.l-shared-link-wrap {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1rem;
}
@media screen and (max-width: 767px) {
    .l-shared-link-wrap {
        display: block;
    }
}
@media screen and (max-width: 767px) {
    .l-shared-link-wrap__item + .l-shared-link-wrap__item {
        margin-top: 10px;
    }
}

/*  l-shared-link
--------------------------------------------- */
.l-shared-link {
    display: block;
    color: var(--shared-color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .l-shared-link:hover {
        text-decoration: underline;
    }
}
.l-shared-link__txt {
    color: var(--shared-color-white-1);
    display: inline !important;
    font-size: calc(14 / var(--shared-root-fz) * 1rem);
    font-weight: bold;
    line-height: 1.5;
}
@media screen and (max-width: 767px) {
    .l-shared-link__txt {
        font-size: 14px;
    }
}
.l-shared-link__icon {
    display: inline-flex;
    width: calc(8 / var(--shared-root-fz) * 1rem);
}
@media screen and (max-width: 767px) {
    .l-shared-link__icon {
        width: 8px;
    }
}
.l-shared-link__icon img {
    transform: translateY(-1px);
    vertical-align: middle;
}
.l-shared-link[target=_blank] .l-shared-link__icon {
    width: calc(12 / var(--shared-root-fz) * 1rem);
}
@media screen and (max-width: 767px) {
    .l-shared-link[target=_blank] .l-shared-link__icon {
        width: 12px;
    }
}
@media screen and (max-width: 767px) {
    .l-shared-link {
        width: -moz-fit-content;
        width: fit-content;
        margin-inline: auto;
    }
}

/*  .mf_finder_searchBox
--------------------------------------------- */
@media screen and (max-width: 767px) {
    .mf_finder_searchBox {
        margin: 0 !important;
    }
}

/*  mf_finder_searchBox_form
--------------------------------------------- */
.mf_finder_searchBox_form {
    padding: 24px;
    border-radius: 8px;
    background-color: var(--shared-color-gray-2);
}

/* -- .mf_finder_searchBox_items -- */
.mf_finder_searchBox_items {
    padding: 0 !important;
    height: 40px;
    border-radius: 4px;
    overflow: hidden !important;
}

.mf_finder_searchBox_doctype_select {
    color: var(--shared-color-base-1) !important;
    padding: 8px 24px 8px 8px !important;
    height: 100%;
    border: initial !important;
    font-size: 16px !important;
    font-weight: 400;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: initial !important;
    background-color: var(--shared-color-white-1);
}
@media (hover: hover) and (pointer: fine) {
    .mf_finder_searchBox_doctype_select {
        transition: opacity var(--shared-hover-duration);
    }
    .mf_finder_searchBox_doctype_select:hover {
        opacity: var(--shared-hover-opacity-ratio);
    }
}

.mf_finder_searchBox_query_input {
    padding: 8px 17px !important;
    border-left: 1px solid var(--shared-color-gray-2) !important;
    border-top: initial !important;
    border-bottom: initial !important;
    border-right: initial !important;
    background-color: var(--shared-color-white-1) !important;
}

.mf_finder_searchBox_submit {
    padding: 8px 44px !important;
    background-color: var(--shared-color-red-1) !important;
    border-radius: initial !important;
    flex-shrink: 0;
}
@media (hover: hover) and (pointer: fine) {
    .mf_finder_searchBox_submit {
        transition: opacity var(--shared-hover-duration);
    }
    .mf_finder_searchBox_submit:hover {
        opacity: var(--shared-hover-opacity-ratio);
    }
}
@media screen and (max-width: 767px) {
    .mf_finder_searchBox_submit {
        padding: 8px 14px !important;
    }
}

.mf_finder_searchBox_submit:before {
    display: none !important;
}

.mf_finder_searchBox_submit span {
    margin: 0 !important;
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .mf_finder_searchBox_submit span {
        display: block !important;
    }
}

@media screen and (max-width: 767px) {
    .mf_finder_searchBox_links .mf_finder_searchBox_category_links:before, .mf_finder_searchBox_links .mf_finder_searchBox_imgsize_links:before, .mf_finder_searchBox_links .mf_finder_searchBox_pagemax_links:before, .mf_finder_searchBox_links .mf_finder_searchBox_sort_links:before {
        left: 0 !important;
    }
}

/* -- mf_finder_searchBox_sort -- */
.mf_finder_searchBox_category, .mf_finder_searchBox_links .mf_finder_searchBox_pagemax, .mf_finder_searchBox_links .mf_finder_searchBox_sort {
    padding: 16px 0 !important;
    border-bottom: 1px solid var(--shared-color-gray-5) !important;
}

.mf_finder_searchBox_imgsize {
    padding: 16px 0 0 !important;
    border: none !important;
}

.mf_finder_searchBox_sort_links,
.mf_finder_searchBox_pagemax_links,
.mf_finder_searchBox_imgsize_links {
    padding-left: calc(104 / var(--shared-root-fz) * 1rem) !important;
}
@media screen and (max-width: 767px) {
    .mf_finder_searchBox_sort_links,
    .mf_finder_searchBox_pagemax_links,
    .mf_finder_searchBox_imgsize_links {
        padding-left: 40px !important;
    }
}

.mf_finder_searchBox_links:lang(ja) .mf_finder_searchBox_sort_links:after, .mf_finder_searchBox_links:lang(ja-JP) .mf_finder_searchBox_sort_links:after {
    font-size: 12px !important;
}

.mf_finder_searchBox_links .mf_finder_searchBox_category_links div, .mf_finder_searchBox_links .mf_finder_searchBox_imgsize_links div, .mf_finder_searchBox_links .mf_finder_searchBox_pagemax_links div, .mf_finder_searchBox_links .mf_finder_searchBox_sort_links div {
    margin-right: 8px !important;
    line-height: 1 !important;
}

.mf_finder_searchBox_links .mf_finder_searchBox_category_links div a.mf_finder_searchBox_link_current, .mf_finder_searchBox_links .mf_finder_searchBox_imgsize_links div a.mf_finder_searchBox_link_current, .mf_finder_searchBox_links .mf_finder_searchBox_pagemax_links div a.mf_finder_searchBox_link_current, .mf_finder_searchBox_links .mf_finder_searchBox_sort_links div a.mf_finder_searchBox_link_current {
    padding: 8px 6px 6px !important;
    background-color: var(--shared-color-red-1) !important;
    color: var(--shared-color-white-1) !important;
    border-radius: 4px !important;
    line-height: 1 !important;
    pointer-events: none;
}
.mf_finder_searchBox_links .mf_finder_searchBox_category_links div a.mf_finder_searchBox_link_current [aria-current=page]:hover, .mf_finder_searchBox_links .mf_finder_searchBox_imgsize_links div a.mf_finder_searchBox_link_current [aria-current=page]:hover, .mf_finder_searchBox_links .mf_finder_searchBox_pagemax_links div a.mf_finder_searchBox_link_current [aria-current=page]:hover, .mf_finder_searchBox_links .mf_finder_searchBox_sort_links div a.mf_finder_searchBox_link_current [aria-current=page]:hover {
    opacity: 1 !important;
}

@media (hover: hover) and (pointer: fine) {
    .mf_finder_searchBox_links .mf_finder_searchBox_category_links div a, .mf_finder_searchBox_links .mf_finder_searchBox_imgsize_links div a, .mf_finder_searchBox_links .mf_finder_searchBox_pagemax_links div a, .mf_finder_searchBox_links .mf_finder_searchBox_sort_links div a {
        transition: color 0.3s, background-color 0.3s;
    }
    .mf_finder_searchBox_links .mf_finder_searchBox_category_links div a:hover, .mf_finder_searchBox_links .mf_finder_searchBox_imgsize_links div a:hover, .mf_finder_searchBox_links .mf_finder_searchBox_pagemax_links div a:hover, .mf_finder_searchBox_links .mf_finder_searchBox_sort_links div a:hover {
        color: var(--shared-color-white-1) !important;
        background-color: var(--shared-color-red-1) !important;
    }
}

.mf_finder_searchBox_links .mf_finder_searchBox_category_links div a, .mf_finder_searchBox_links .mf_finder_searchBox_imgsize_links div a, .mf_finder_searchBox_links .mf_finder_searchBox_pagemax_links div a, .mf_finder_searchBox_links .mf_finder_searchBox_sort_links div a {
    padding: 8px 6px 6px !important;
    border: 1px solid var(--shared-color-red-1) !important;
    background-color: initial !important;
    color: var(--shared-color-red-1) !important;
    border-radius: 4px !important;
    line-height: 1 !important;
}

/*  mf_finder_spellcheck
--------------------------------------------- */
.mf_finder_spellcheck {
    margin: 8px 0 40px !important;
}

.mf_finder_spellcheck_item:after, .mf_finder_spellcheck_item:before {
    color: var(--color-black-3) !important;
    font-size: 14px !important;
}

.mf_finder_spellcheck_item a {
    color: var(--shared-color-red-1) !important;
    font-size: 14px !important;
    text-decoration: underline;
    margin: 0 0.5em !important;
    text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
    .mf_finder_spellcheck_item a:hover {
        text-decoration: none;
    }
}

/*  mf_finder_organic_header_wrapper
--------------------------------------------- */
.mf_finder_organic_header_wrapper {
    margin: 40px 0 0 !important;
}

.mf_finder_organic_header_wrapper:lang(ja) .mf_finder_query:before, .mf_finder_organic_header_wrapper:lang(ja-JP) .mf_finder_query:before, .mf_finder_organic_header_wrapper:lang(kr) .mf_finder_query:before, .mf_finder_organic_header_wrapper:lang(tr) .mf_finder_query:before, .mf_finder_organic_header_wrapper:lang(zh) .mf_finder_query:before, .mf_finder_organic_header_wrapper:lang(zh-CN) .mf_finder_query:before, .mf_finder_organic_header_wrapper:lang(zh-tw) .mf_finder_query:before,
.mf_finder_organic_header_wrapper:lang(ja) .mf_finder_query:after, .mf_finder_organic_header_wrapper:lang(ja-JP) .mf_finder_query:after, .mf_finder_organic_header_wrapper:lang(kr) .mf_finder_query:after, .mf_finder_organic_header_wrapper:lang(tr) .mf_finder_query:after, .mf_finder_organic_header_wrapper:lang(zh) .mf_finder_query:after, .mf_finder_organic_header_wrapper:lang(zh-CN) .mf_finder_query:after, .mf_finder_organic_header_wrapper:lang(zh-tw) .mf_finder_query:after {
    color: var(--shared-color-base-1) !important;
}

.mf_finder_organic_header_wrapper:lang(ja) .mf_finder_organic_range_from:after, .mf_finder_organic_header_wrapper:lang(ja) .mf_finder_organic_range_from:before, .mf_finder_organic_header_wrapper:lang(ja) .mf_finder_organic_range_to:after, .mf_finder_organic_header_wrapper:lang(ja) .mf_finder_organic_range_to:before, .mf_finder_organic_header_wrapper:lang(ja) .mf_finder_organic_total:after, .mf_finder_organic_header_wrapper:lang(ja) .mf_finder_organic_total:before, .mf_finder_organic_header_wrapper:lang(ja) .mf_finder_query:after, .mf_finder_organic_header_wrapper:lang(ja) .mf_finder_query:before, .mf_finder_organic_header_wrapper:lang(ja-JP) .mf_finder_organic_range_from:after, .mf_finder_organic_header_wrapper:lang(ja-JP) .mf_finder_organic_range_from:before, .mf_finder_organic_header_wrapper:lang(ja-JP) .mf_finder_organic_range_to:after, .mf_finder_organic_header_wrapper:lang(ja-JP) .mf_finder_organic_range_to:before, .mf_finder_organic_header_wrapper:lang(ja-JP) .mf_finder_organic_total:after, .mf_finder_organic_header_wrapper:lang(ja-JP) .mf_finder_organic_total:before, .mf_finder_organic_header_wrapper:lang(ja-JP) .mf_finder_query:after, .mf_finder_organic_header_wrapper:lang(ja-JP) .mf_finder_query:before, .mf_finder_organic_header_wrapper:lang(kr) .mf_finder_organic_range_from:after, .mf_finder_organic_header_wrapper:lang(kr) .mf_finder_organic_range_from:before, .mf_finder_organic_header_wrapper:lang(kr) .mf_finder_organic_range_to:after, .mf_finder_organic_header_wrapper:lang(kr) .mf_finder_organic_range_to:before, .mf_finder_organic_header_wrapper:lang(kr) .mf_finder_organic_total:after, .mf_finder_organic_header_wrapper:lang(kr) .mf_finder_organic_total:before, .mf_finder_organic_header_wrapper:lang(kr) .mf_finder_query:after, .mf_finder_organic_header_wrapper:lang(kr) .mf_finder_query:before, .mf_finder_organic_header_wrapper:lang(tr) .mf_finder_organic_range_from:after, .mf_finder_organic_header_wrapper:lang(tr) .mf_finder_organic_range_from:before, .mf_finder_organic_header_wrapper:lang(tr) .mf_finder_organic_range_to:after, .mf_finder_organic_header_wrapper:lang(tr) .mf_finder_organic_range_to:before, .mf_finder_organic_header_wrapper:lang(tr) .mf_finder_organic_total:after, .mf_finder_organic_header_wrapper:lang(tr) .mf_finder_organic_total:before, .mf_finder_organic_header_wrapper:lang(tr) .mf_finder_query:after, .mf_finder_organic_header_wrapper:lang(tr) .mf_finder_query:before, .mf_finder_organic_header_wrapper:lang(zh) .mf_finder_organic_range_from:after, .mf_finder_organic_header_wrapper:lang(zh) .mf_finder_organic_range_from:before, .mf_finder_organic_header_wrapper:lang(zh) .mf_finder_organic_range_to:after, .mf_finder_organic_header_wrapper:lang(zh) .mf_finder_organic_range_to:before, .mf_finder_organic_header_wrapper:lang(zh) .mf_finder_organic_total:after, .mf_finder_organic_header_wrapper:lang(zh) .mf_finder_organic_total:before, .mf_finder_organic_header_wrapper:lang(zh) .mf_finder_query:after, .mf_finder_organic_header_wrapper:lang(zh) .mf_finder_query:before, .mf_finder_organic_header_wrapper:lang(zh-CN) .mf_finder_organic_range_from:after, .mf_finder_organic_header_wrapper:lang(zh-CN) .mf_finder_organic_range_from:before, .mf_finder_organic_header_wrapper:lang(zh-CN) .mf_finder_organic_range_to:after, .mf_finder_organic_header_wrapper:lang(zh-CN) .mf_finder_organic_range_to:before, .mf_finder_organic_header_wrapper:lang(zh-CN) .mf_finder_organic_total:after, .mf_finder_organic_header_wrapper:lang(zh-CN) .mf_finder_organic_total:before, .mf_finder_organic_header_wrapper:lang(zh-CN) .mf_finder_query:after, .mf_finder_organic_header_wrapper:lang(zh-CN) .mf_finder_query:before, .mf_finder_organic_header_wrapper:lang(zh-tw) .mf_finder_organic_range_from:after, .mf_finder_organic_header_wrapper:lang(zh-tw) .mf_finder_organic_range_from:before, .mf_finder_organic_header_wrapper:lang(zh-tw) .mf_finder_organic_range_to:after, .mf_finder_organic_header_wrapper:lang(zh-tw) .mf_finder_organic_range_to:before, .mf_finder_organic_header_wrapper:lang(zh-tw) .mf_finder_organic_total:after, .mf_finder_organic_header_wrapper:lang(zh-tw) .mf_finder_organic_total:before, .mf_finder_organic_header_wrapper:lang(zh-tw) .mf_finder_query:after, .mf_finder_organic_header_wrapper:lang(zh-tw) .mf_finder_query:before {
    font-size: 12px !important;
}

.mf_finder_query span,
.mf_finder_organic_total span,
.mf_finder_organic_range_from,
.mf_finder_organic_range_to {
    color: var(--shared-color-red-1) !important;
    font-size: 18px !important;
    font-weight: bold !important;
}

.mf_finder_query {
    margin-right: 8px !important;
}

.mf_finder_organic_total:before {
    margin: 0 !important;
}

.mf_finder_organic_header_wrapper:lang(ja) .mf_finder_organic_total:after, .mf_finder_organic_header_wrapper:lang(ja-JP) .mf_finder_organic_total:after, .mf_finder_organic_header_wrapper:lang(kr) .mf_finder_organic_total:after, .mf_finder_organic_header_wrapper:lang(tr) .mf_finder_organic_total:after, .mf_finder_organic_header_wrapper:lang(zh) .mf_finder_organic_total:after, .mf_finder_organic_header_wrapper:lang(zh-CN) .mf_finder_organic_total:after, .mf_finder_organic_header_wrapper:lang(zh-tw) .mf_finder_organic_total:after,
.mf_finder_organic_header_wrapper:lang(ja) .mf_finder_organic_range_to:after, .mf_finder_organic_header_wrapper:lang(ja-JP) .mf_finder_organic_range_to:after, .mf_finder_organic_header_wrapper:lang(kr) .mf_finder_organic_range_to:after, .mf_finder_organic_header_wrapper:lang(tr) .mf_finder_organic_range_to:after, .mf_finder_organic_header_wrapper:lang(zh) .mf_finder_organic_range_to:after, .mf_finder_organic_header_wrapper:lang(zh-CN) .mf_finder_organic_range_to:after, .mf_finder_organic_header_wrapper:lang(zh-tw) .mf_finder_organic_range_to:after,
.mf_finder_organic_range_from:after, .mf_finder_organic_range_from:before, .mf_finder_organic_range_to:after, .mf_finder_organic_range_to:before, .mf_finder_organic_total:after, .mf_finder_organic_total:before, .mf_finder_query:after, .mf_finder_query:before {
    color: var(--shared-color-gray-1) !important;
}

.mf_finder_organic_docs {
    margin-top: 16px !important;
}

.mf_finder_organic_docs > div:first-child {
    border-top: 1px solid var(--shared-color-gray-5) !important;
}

.mf_finder_organic_doc {
    padding: 24px 0 !important;
    border-bottom: 1px solid var(--shared-color-gray-5) !important;
}

.mf_finder_organic_doc_img {
    margin-right: 24px !important;
    margin-bottom: 0 !important;
    aspect-ratio: 200/150 !important;
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.mf_finder_organic_doc_img_wrapper {
    margin-right: 0 !important;
}

.mf_finder_organic_doc_title {
    font-size: 18px !important;
    font-weight: bold !important;
}

.mf_finder_organic_doc_title_wrapper {
    transition: color 0.3s;
}

.mf_finder_organic_doc_title_wrapper:hover {
    color: var(--shared-color-red-1) !important;
    text-decoration: none !important;
}

.mf_finder_organic_doc_title_wrapper {
    color: var(--shared-color-base-1) !important;
    margin-bottom: 8px !important;
}

.mf_finder_organic_doc_body {
    color: var(--shared-color-base-1) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.mf_finder_organic_doc_url {
    color: var(--shared-color-red-1) !important;
    margin-top: 16px !important;
}

.mf_finder_organic_doc_url:after, .mf_finder_organic_doc_url:before {
    padding: 3px 6px 2px !important;
    color: var(--shared-color-white-1) !important;
    font-size: 12px !important;
    background-color: var(--shared-color-red-1) !important;
    border-radius: 2px;
}

.mf_finder_organic_doc_url:hover .mf_finder_organic_doc_url:before {
    text-decoration: none !important;
}

/*  mf_finder_organic_pager
--------------------------------------------- */
.mf_finder_organic_pager {
    margin: 40px 0 0 !important;
}

.mf_finder_pager_items li {
    margin: 0 8px !important;
}

.mf_finder_pager_item_current, .mf_finder_pager_items li a {
    padding: 8px 15px !important;
    border-radius: 4px !important;
    font-size: 16px !important;
}

.mf_finder_pager_item_current {
    color: var(--shared-color-white-1) !important;
    background-color: var(--shared-color-red-1) !important;
}

.mf_finder_pager_items li a {
    background-color: var(--shared-color-white-1) !important;
    color: var(--shared-color-red-1) !important;
    border: 1px solid var(--shared-color-red-1) !important;
}
@media (hover: hover) and (pointer: fine) {
    .mf_finder_pager_items li a {
        transition: color 0.3s, background-color 0.3s;
    }
    .mf_finder_pager_items li a:hover {
        color: var(--shared-color-white-1) !important;
        background-color: var(--shared-color-red-1) !important;
    }
}

/*  mf_finder_logo
--------------------------------------------- */
.mf_finder_logo {
    display: none;
}

/*  .mf_finder_searchBox_form
--------------------------------------------- */
.l-shared-search-form .mf_finder_searchBox_form {
    padding: 0 !important;
}

/* ---------------------------------------------
*   ot-sdk-show-settings
--------------------------------------------- */
#ot-sdk-btn.ot-sdk-show-settings, #ot-sdk-btn.optanon-show-settings {
    background-color: transparent !important;
    padding: 0 !important;
    display: inline !important;
    font-size: calc(14 / var(--shared-root-fz) * 1rem) !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
}
@media screen and (max-width: 767px) {
    #ot-sdk-btn.ot-sdk-show-settings, #ot-sdk-btn.optanon-show-settings {
        font-size: 14px !important;
    }
}

/* ---------------------------------------------
*   アコーディオン
--------------------------------------------- */
@media screen and (max-width: 767px) {
    .js-acc-target {
        --acc-body-height: 0px;
        height: 0;
        overflow: hidden;
    }
    .js-acc-scope.is-close .js-acc-target {
        animation: closeAccAnim 0.5s forwards;
    }
    .js-acc-scope.is-open .js-acc-target {
        animation: openAccAnim 0.5s forwards;
    }
}
@media screen and (max-width: 1024px) {
    header .js-acc-target {
        --acc-body-height: 0px;
        height: 0;
        overflow: hidden;
    }
}

@media screen and (max-width: 1024px) {
    header .js-acc-scope.is-close .js-acc-target {
        animation: closeAccAnim 0.5s forwards;
    }
    header .js-acc-scope.is-open .js-acc-target {
        animation: openAccAnim 0.5s forwards;
    }
}
@keyframes openAccAnim {
    0% {
        height: 0px;
        visibility: hidden;
    }
    99% {
        visibility: visible;
        height: var(--acc-body-height);
    }
    100% {
        height: auto;
    }
}
@keyframes closeAccAnim {
    0% {
        height: var(--acc-body-height);
    }
    99% {
        visibility: visible;
    }
    100% {
        height: 0px;
        visibility: hidden;
    }
}

/* ---------------------------------------------
*   ヘッダー開閉
--------------------------------------------- */
@media screen and (min-width: 1025px) {
    .js-menu-target {
        scrollbar-width: none;
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.4s, visibility 0.4s, background-color 0.4s, opacity 0.4s;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
    }
    .js-menu-target.is-menu-opened {
        grid-template-rows: 1fr;
        visibility: visible;
        opacity: 1;
    }
}

.l-shared-subnav .js-menu-target {
    scrollbar-width: none;
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s, visibility 0.4s, background-color 0.4s, opacity 0.4s;
    visibility: hidden;
    opacity: 0;
}
.l-shared-subnav .js-menu-target.is-menu-opened {
    grid-template-rows: 1fr;
    visibility: visible;
    opacity: 1;
}

@media print and (min-width: 768px), screen and (min-width: 768px) {
    .pc-hide {
        display: none !important;
    }
}
@media print and (max-width: 767px), screen and (max-width: 767px) {
    .sp-hide {
        display: none !important;
    }
}
@media print and (max-width: 1024px), screen and (max-width: 1024px) {
    .tb-hide {
        display: none !important;
    }
}
.visually-hidden {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    width: 1px;
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
}