@media print and (min-width: 751px), screen and (min-width: 751px) {
    .pc-hide {
        display: none !important;
    }
}
@media print and (max-width: 750px), screen and (max-width: 750px) {
    .sp-hide {
        display: none !important;
    }
}
@media print and (min-width: 1025px), screen and (min-width: 1025px) {
    .tb-over {
        display: none !important;
    }
}
@media print and (max-width: 1024px), screen and (max-width: 1024px) {
    .tb-hide {
        display: none !important;
    }
}

/* ---------------------------------------------
*   focus
--------------------------------------------- */
*:focus {
    outline: 2px solid #ED9513; /* フォーカス時の枠線の色と太さを設定 */
}

/* ---------------------------------------------
*   overlay
--------------------------------------------- */
@media screen and (min-width: 751px) {
    body.is-menu-opened::after{
        content: '';
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, 0.6);
        /* background-color:  red; */
        z-index: 999;
    }
}

/* ---------------------------------------------
*   js-menu-target
--------------------------------------------- */
.js-menu-target {
    scrollbar-width: none;
    display: grid;
    grid-template-rows: 0fr;
    padding-inline: 1em;
    transition: grid-template-rows .4s, visibility .4s;
    visibility: hidden;
}
.js-menu-target.is-menu-opened {
    grid-template-rows: 1fr;
    visibility: visible;
}
.js-menu-target::-webkit-scrollbar {
    display: none;
}

/*  js-acc-multi-target
--------------------------------------------- */
.js-acc-multi-target {
    display: none;
}
.js-acc-multi-target.is-acc-open {
    display: block;
}

/* ---------------------------------------------
*   l-header
--------------------------------------------- */
/*  reset.css
--------------------------------------------- */
.l-header,
.l-gnav-wrap {
    box-sizing: border-box;
    color: #333333;
    font-size: 16px;
    font-family: "Noto Sans JP", sans-serif !important;
    -webkit-text-size-adjust: 100%;
    line-height: 1.5;
}
@media screen and (max-width: 750px) {
    .l-header,
    .l-gnav-wrap {
        font-size: 1rem;
        line-height: 1.5;
    }
}
.l-header *, .l-header *::before, .l-header *::after,
.l-gnav-wrap *,
.l-gnav-wrap *::before,
.l-gnav-wrap *::after {
    box-sizing: border-box;
}
.l-header a,
.l-gnav-wrap a {
    text-decoration: none;
    cursor: pointer;
}
.l-header a:hover, .l-header a:active, .l-header a:focus,
.l-gnav-wrap a:hover,
.l-gnav-wrap a:active,
.l-gnav-wrap a:focus {
    text-decoration: none;
}
.l-header a:focus, .l-header a:focus-visible,
.l-gnav-wrap a:focus,
.l-gnav-wrap a:focus-visible {
    outline-offset: -1px;
}
.l-header button,
.l-gnav-wrap button {
    font-family: "Noto Sans JP", sans-serif;
}
.l-header a img,
.l-header button img,
.l-gnav-wrap a img,
.l-gnav-wrap button img {
    border: none;
}
.l-header button,
.l-gnav-wrap button {
    border: none;
}
.l-header img,
.l-gnav-wrap img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
.l-header div, .l-header span, .l-header applet,
.l-header h1, .l-header h2, .l-header h3, .l-header h4, .l-header h5, .l-header h6, .l-header p, .l-header blockquote, .l-header pre,
.l-header a, .l-header abbr, .l-header acronym, .l-header address, .l-header big, .l-header cite, .l-header code,
.l-header del, .l-header dfn, .l-header em, .l-header img, .l-header ins, .l-header kbd, .l-header q, .l-header s, .l-header samp,
.l-header small, .l-header strike, .l-header strong, .l-header tt, .l-header var,
.l-header b, .l-header u, .l-header i, .l-header center,
.l-header dl, .l-header dt, .l-header dd, .l-header ol, .l-header ul, .l-header li,
.l-header fieldset, .l-header form, .l-header label, .l-header legend,
.l-header table, .l-header caption, .l-header tbody, .l-header tfoot, .l-header thead, .l-header tr, .l-header th, .l-header td,
.l-header article, .l-header aside, .l-header canvas, .l-header details, .l-header embed,
.l-header figure, .l-header figcaption, .l-header footer, .l-header header, .l-header hgroup,
.l-header menu, .l-header nav, .l-header output, .l-header ruby, .l-header section, .l-header summary,
.l-header time, .l-header mark, .l-header audio, .l-header video, .l-header hr,
.l-gnav-wrap div,
.l-gnav-wrap span,
.l-gnav-wrap applet,
.l-gnav-wrap h1,
.l-gnav-wrap h2,
.l-gnav-wrap h3,
.l-gnav-wrap h4,
.l-gnav-wrap h5,
.l-gnav-wrap h6,
.l-gnav-wrap p,
.l-gnav-wrap blockquote,
.l-gnav-wrap pre,
.l-gnav-wrap a,
.l-gnav-wrap abbr,
.l-gnav-wrap acronym,
.l-gnav-wrap address,
.l-gnav-wrap big,
.l-gnav-wrap cite,
.l-gnav-wrap code,
.l-gnav-wrap del,
.l-gnav-wrap dfn,
.l-gnav-wrap em,
.l-gnav-wrap img,
.l-gnav-wrap ins,
.l-gnav-wrap kbd,
.l-gnav-wrap q,
.l-gnav-wrap s,
.l-gnav-wrap samp,
.l-gnav-wrap small,
.l-gnav-wrap strike,
.l-gnav-wrap strong,
.l-gnav-wrap tt,
.l-gnav-wrap var,
.l-gnav-wrap b,
.l-gnav-wrap u,
.l-gnav-wrap i,
.l-gnav-wrap center,
.l-gnav-wrap dl,
.l-gnav-wrap dt,
.l-gnav-wrap dd,
.l-gnav-wrap ol,
.l-gnav-wrap ul,
.l-gnav-wrap li,
.l-gnav-wrap fieldset,
.l-gnav-wrap form,
.l-gnav-wrap label,
.l-gnav-wrap legend,
.l-gnav-wrap table,
.l-gnav-wrap caption,
.l-gnav-wrap tbody,
.l-gnav-wrap tfoot,
.l-gnav-wrap thead,
.l-gnav-wrap tr,
.l-gnav-wrap th,
.l-gnav-wrap td,
.l-gnav-wrap article,
.l-gnav-wrap aside,
.l-gnav-wrap canvas,
.l-gnav-wrap details,
.l-gnav-wrap embed,
.l-gnav-wrap figure,
.l-gnav-wrap figcaption,
.l-gnav-wrap footer,
.l-gnav-wrap header,
.l-gnav-wrap hgroup,
.l-gnav-wrap menu,
.l-gnav-wrap nav,
.l-gnav-wrap output,
.l-gnav-wrap ruby,
.l-gnav-wrap section,
.l-gnav-wrap summary,
.l-gnav-wrap time,
.l-gnav-wrap mark,
.l-gnav-wrap audio,
.l-gnav-wrap video,
.l-gnav-wrap hr {
    border: 0;
}
.l-header ol, .l-header ul,
.l-gnav-wrap ol,
.l-gnav-wrap ul {
    list-style: none;
}
.l-header table,
.l-gnav-wrap table {
    border-collapse: collapse;
    border-spacing: 0;
}
.l-header caption, .l-header th, .l-header td,
.l-gnav-wrap caption,
.l-gnav-wrap th,
.l-gnav-wrap td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}
.l-header q, .l-header blockquote,
.l-gnav-wrap q,
.l-gnav-wrap blockquote {
    quotes: none;
}
.l-header q:before, .l-header q:after, .l-header blockquote:before, .l-header blockquote:after,
.l-gnav-wrap q:before,
.l-gnav-wrap q:after,
.l-gnav-wrap blockquote:before,
.l-gnav-wrap blockquote:after {
    content: "";
    content: none;
    clear: both;
}
.l-header a img,
.l-gnav-wrap a img {
    border: none;
}
.l-header .visually-hidden,
.l-gnav-wrap .visually-hidden {
    display: none;
}

/*  l-header
--------------------------------------------- */
.l-header {
    position: relative;
    z-index: 1000;
    background-color: #fff;
}
@media screen and (max-width: 1024px) {
    .l-header {
        position: sticky;
        top: 0;
        width: 100%;
        height: 60px;
    }
}
.l-header__container {
    height: 100%;
}

/*  l-header-container-pc
--------------------------------------------- */
.l-header-container-pc {
    padding-inline: 50px;
    max-width: 1280px;
    margin: 0 auto;
}
@media screen and (max-width: 1180px) {
    .l-header-container-pc {
        padding-inline: 10px;
    }
}
@media screen and (max-width: 1024px) {
    .l-header-container-pc {
        padding-inline: 0;
    }
}

/*  l-header-container-sp
--------------------------------------------- */
@media screen and (max-width: 1024px) {
    .l-header-container-sp {
        padding-inline: 50px;
        margin: 0 auto;
    }
}
@media screen and (max-width: 750px) {
    .l-header-container-sp {
        padding-inline: 10px;
    }
}

/* ---------------------------------------------
*   l-header-top
--------------------------------------------- */
.l-header-top {
    display: flex;
    width: 100%;
    height: 70px;
}
@media screen and (max-width: 1024px) {
    .l-header-top {
        display: block;
        height: 100%;
    }
}
.l-header-top__logos {
    padding-inline: 10px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5px;
    width: 100%;
}
@media screen and (max-width: 1024px) {
    .l-header-top__logos {
        padding-inline: 50px;
        height: 100%;
        border-bottom: 1px solid #DFDFDF;
    }
}
@media screen and (max-width: 750px) {
    .l-header-top__logos {
        padding-inline: 10px;
    }
}
.l-header-top__logo {
    height: 100%;
    width: 206px;
    margin-bottom: 0;
    border: none;
    background: initial;
    padding-inline: 10px 0;
}
@media screen and (max-width: 1024px) {
    .l-header-top__logo {
        width: 146px;
    }
}
.l-header-top__logo--top {
    display: none;
}
.top .l-header-top__logo--top {
    display: block;
}
.top .l-header-top__logo--under {
    display: none;
}

.l-header-top__logo-link {
    display: flex;
    width: 100%;
    height: 100%;
}

@media screen and (min-width: 1025px) {
    .l-header-top__logo-link--top,.l-header-top__logo--under{
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .l-header-top__logo-link {
        transition: opacity 300ms;
    }
    .l-header-top__logo-link:hover {
        opacity: 0.7;
    }
}
.l-header-top__subs {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 30px;
}
.l-header-top__langs {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 40px;
}
.l-header-top__langs-item--current {
    position: relative;
}
.l-header-top__langs-item--current::before {
    content: "/";
    position: absolute;
    top: 50%;
    right: -25px;
    color: #707070;
    transform: translate(0, -50%);
    pointer-events: none;
}
.l-header-top__langs-link {
    color: #707070;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    display: block;
    position: relative;
    background-color: #FFFFFF;
    border-radius: 50%;
    height: 25px;
    width: 25px;
    text-align: center;
    left: 3px;
    transition: all .2s;
}
.l-header-top__langs-link--circle-jp {
    color: #0072BC;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    display: block;
    position: relative;
    background-color: #FFFFFF;
    border-radius: 50%;
    height: 25px;
    width: 25px;
    text-align: center;
    left: 3px;
    transition: all .2s;
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    /*
    .l-header-top__langs-link {
        transition: opacity 300ms;
    }
    .l-header-top__langs-link:hover {
        opacity: 0.7;
    }*/
    .l-header-top__langs-link--circle-jp:hover {
        display: block;
        position: relative;
        color: #FFFFFF;
        background-color: #0072BC;
        border-radius: 50%;
        height: 25px;
        width: 25px;
        text-align: center;
        left: 3px;
    }
    .l-header-top__langs-link--circle-en:hover {
        display: block;
        color: #FFFFFF;
        position: relative;
        background-color: #707070;
        border-radius: 50%;
        height: 25px;
        width: 25px;
        text-align: center;
        left: 3px;
    }
}
.l-header-top__langs-link--current {
    color: #0072BC;
}
.l-header-top__side {
    padding-inline: 10px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 26px;
    width: 472px;
    background-color: #f0f3f7;
    flex-shrink: 0;
}
@media screen and (max-width: 1024px) {
    .l-header-top__side {
        padding: 10px 0;
        padding-inline: 50px;
        justify-content: space-between;
        width: 100%;
        gap: 5px;
    }
}
@media screen and (max-width: 750px) {
    .l-header-top__side {
        padding-inline: 10px;
    }
}
.l-header-top__side::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    display: block;
    width: 40%;
    height: 70px;
    background-color: #f0f3f7;
}
@media screen and (max-width: 1024px) {
    .l-header-top__side::before {
        content: none;
    }
}
.l-header-top__txt {
    position: relative;
    display: block;
    color: #0072BC;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.875;
    text-align: center;
    transform: translateY(-3px);
}
.l-header-top__txt-st {
    display: block;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: -4px;
}
@media screen and (max-width: 750px) {
    .l-header-top__txt-st {
        white-space: nowrap;
        margin-bottom: 0;
    }
}

/* ---------------------------------------------
*   l-header-btn
--------------------------------------------- */
/*  l-header-btn-wrap
--------------------------------------------- */
.l-header-btn-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

/*  l-header-btn
--------------------------------------------- */
.l-header-btn {
    position: relative;
    width: 100%;
    gap: 5px;
    border-radius: 999px;
    overflow: hidden;
    cursor: pointer;
}
.l-header-btn-trans-1 {
    width: 100%;
    gap: 5px;
    overflow: hidden;
    cursor: pointer;
    color: #FFFFFF;
    font-size: 16px;
    font-weight: bold;
    background: transparent;
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 999px;
    outline: none;
    transition: ease .2s;
}
.l-header-btn-trans-1 a{
    color: #FFFFFF;
    overflow: visible;
}
.l-header-btn-trans-1::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  color: #0072BC;
  background: #FFFFFF;
  border-radius: 999px;
  transform-origin: left top;
  transform: scaleX(0);
  transition: transform ease .3s;
}
.l-header-btn-trans-1:hover {
    color: #0072BC;
    border: none;
    background-color: transparent;
}
.l-header-btn-trans-1:hover a{
    color: #0072BC;
}
.l-header-btn-trans-1:hover::before {
  transform-origin: left top;
  transform: scaleX(1);
}
.l-header-btn-trans-2 {
    width: 100%;
    gap: 5px;
    overflow: hidden;
    cursor: pointer;
    color: #0072BC;
    font-size: 16px;
    font-weight: bold;
    background: transparent;
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 999px;
    outline: none;
    transition: ease .2s;
}
.l-header-btn-trans-2::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  color: #FFFFFF;
  background: #0072BC;
  border-radius: 999px;
  transform-origin: left top;
  transform: scaleX(0);
  transition: transform ease .3s;
}
.l-header-btn-trans-2:hover {
    color: #FFFFFF;
    border: none;
    background-color: transparent;
}
.l-header-btn-trans-2:hover::before {
  transform-origin: left top;
  transform: scaleX(1);
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .l-header-btn {
        position: relative;
    }
    .l-header-btn::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, 0.2);
        opacity: 0;
        transition: opacity 300ms;
        z-index: 2;
    }
    .l-header-btn:hover::before {
        opacity: 1;
    }
    .l-header-btn-trans-1 {
        position: relative;
    }
    .l-header-btn-trans-2 {
        position: relative;
    }
}
.l-header-btn__inner {
    padding: 10px 9px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #0072BC !important;
    border-radius: 999px;
}
.l-header-btn__inner-1 {
    padding: 12px 11px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    border-radius: 999px;
    flex-grow: 1;
}
.l-header-btn__inner-2 {
    padding: 10px 9px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #0072BC !important;
    border-radius: 999px;
    flex-grow: 1;
}
@media screen and (max-width: 385px) {
    .l-header-btn__inner {
        padding-left: 5px;
    }
    .l-header-btn__inner-1 {
        padding-left: 5px;
    }
}
.l-header-btn__txt {
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
}
.l-header-btn__txt-1 {
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    z-index: 3;
}
.l-header-btn__icon {
    position: absolute;
    top: 46%;
    right: 11px;
    display: flex;
    width: 11px;
    aspect-ratio: 1/1;
    transform: translateY(-50%);
}
.l-header-btn__icon-1-br {
    position: absolute;
    top: 46%;
    right: 11px;
    display: flex;
    width: 11px;
    aspect-ratio: 1/1;
    transform: translateY(-50%);
    z-index: 3;
}
.l-header-btn__link--pc .l-header-btn__icon-1-br,
.l-header-btn__link--sp .l-header-btn__icon-1-br {
    position: absolute;
    top: 46%;
    right: -55px;
    display: flex;
    width: 11px;
    aspect-ratio: 1/1;
    transform: translateY(-50%);
    z-index: 3;
}
.l-header-btn__icon-1-wh {
    position: absolute;
    top: 46%;
    right: 11px;
    display: flex;
    width: 11px;
    aspect-ratio: 1/1;
    transform: translateY(-50%);
    z-index: 3;
}
.windows .l-header-btn__icon {
    top: 48%;
}
.windows .l-header-btn__icon-1-br {
    top: 48%;
}
.windows .l-header-btn__icon-1-wh {
    top: 48%;
}

.l-header-btn--br {
    background-color: #0072BC;
}
.l-header-btn--br .l-header-btn__txt {
    color: #fff;
}
.l-header-btn--br .l-header-btn__icon img {
    filter: invert(100%) sepia(0%) saturate(7441%) hue-rotate(88deg) brightness(106%) contrast(99%);
}
.l-header-btn--br .l-header-btn__icon-1-br img {
    filter: invert(100%) sepia(0%) saturate(7441%) hue-rotate(88deg) brightness(106%) contrast(99%);
}
.l-header-btn-trans-1:hover .l-header-btn__icon-1-br img {
    filter: invert(29%) sepia(97%) saturate(5096%) hue-rotate(189deg) brightness(95%) contrast(101%);
}
.l-header-btn--wh {
    background-color: #fff;
}
.l-header-btn--wh .l-header-btn__txt {
    color: #0072BC;
}
.l-header-btn--wh .l-header-btn__icon img {
    filter: invert(29%) sepia(97%) saturate(5096%) hue-rotate(189deg) brightness(95%) contrast(101%);
}
.l-header-btn--wh .l-header-btn__icon-1-wh img {
    filter: invert(29%) sepia(97%) saturate(5096%) hue-rotate(189deg) brightness(95%) contrast(101%);
}
.l-header-btn-trans-2:hover .l-header-btn__icon-1-wh img {
    filter: invert(100%) sepia(0%) saturate(7441%) hue-rotate(88deg) brightness(106%) contrast(99%);
}
.l-header-btn--small {
    width: 128px;
}
@media screen and (max-width: 1024px) {
    .l-header-btn--small {
        width: 124px;
    }
}
@media screen and (max-width: 385px) {
    .l-header-btn--small {
        width: 115px;
    }
}
.l-header-btn--midi {
    width: 164px;
}
.l-header-btn--large {
    width: 208px;
}
.l-header-btn--bxsh {
    box-shadow: 2px 2px 8px rgba(14, 53, 127, 0.5);
}

/* ---------------------------------------------
*   l-header-search
--------------------------------------------- */
/*  l-header-search-wrap
--------------------------------------------- */
@media screen and (max-width: 1024px) {
    .l-header-search-wrap {
        padding: 20px 0;
        background-color: #F7F7F7;
    }
}

/*  l-header-search
--------------------------------------------- */
.l-header-search {
    position: relative;
    width: 148px;
    height: 27px;
}
@media screen and (max-width: 1024px) {
    .l-header-search {
        width: 100%;
        height: 44px;
    }
}
.l-header-search__input {
    padding-inline: 0.9em 2em;
    width: 100%;
    height: 100%;
    /* color: #333333; */
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 400;
    box-sizing: border-box;
    border: 1px solid #0072bc;
    border-radius: 999px;
    transition: all .3s;
}
.l-header-search__input::-webkit-input-placeholder,
.l-header-search__input:-moz-placeholder,
.l-header-search__input::-moz-placeholder,
.l-header-search__input:-ms-input-placeholder,
.l-header-search__input::placeholder {
    cololr: rgba(0, 0, 0, 0);
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    /*
    .l-header-search__input {
        transition: opacity 300ms;
    }
    .l-header-search__input:hover {
        opacity: 0.7;
    }*/
    .l-header-search__input:hover {
        color: #707070;
        box-shadow: 0 0px 3px rgb(0 114 188), 0 0 4px 1px rgb(0 114 188);
        border-color: transparent;
    }
}
@media screen and (max-width: 1024px) {
    .l-header-search__input {
        font-size: 14px;
    }
}
.l-header-search__input::-moz-placeholder {
    color: #707070;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 400;
}
.l-header-search__input::placeholder {
    color: #707070;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: 400;
}
@media screen and (max-width: 1024px) {
    .l-header-search__input::-moz-placeholder {
        font-size: 14px;
    }
    .l-header-search__input::placeholder {
        font-size: 14px;
    }
}
.l-header-search__submit-btn {
    position: absolute;
    top: 50%;
    right: 0.9em;
    display: flex;
    width: 13px;
    aspect-ratio: 1/1;
    transform: translateY(-50%);
    background: inherit;
    cursor: pointer;
    border: none;
}
@media screen and (max-width: 1024px) {
    .l-header-search__submit-btn {
        right: 20px;
    }
}
.l-header-search__submit-btn img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    filter: invert(39%) sepia(81%) saturate(6728%) hue-rotate(188deg) brightness(92%) contrast(103%);
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .l-header-search__submit-btn:hover {
        text-decoration: underline !important;
    }
}

/* ---------------------------------------------
*   l-gnav
--------------------------------------------- */
/*  l-gnav-wrap
--------------------------------------------- */
.l-gnav-wrap {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 84px;
    margin: 0 auto;
    background-color: #fff;
    border-top: 1px solid #DFDFDF;
    border-bottom: 1px solid #DFDFDF;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.05);
}
.l-gnav-wrap__container {
    padding-inline: 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}
@media screen and (max-width: 1180px) {
    .l-gnav-wrap__container {
        padding-inline: 20px;
    }
}

/*  l-gnav
--------------------------------------------- */
.l-gnav {
    height: 100%;
}
@media screen and (min-width: 1025px) {
    .l-gnav {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 20px;
    }
}
.l-gnav__lv1 {
    height: 100%;
}
.l-gnav__lv1-list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 7.6271186441%;
    height: 100%;
}
.is-scroll-menu .l-gnav__lv1-list {
    gap: 30px;
}

.l-gnav__lv1-item {
    height: 100%;
    flex-shrink: 0;
}
.l-gnav__lv1-link {
    position: relative;
    padding-right: 20px;
    display: flex;
    align-items: center;
    /* height: 100%; */
    height: calc(100% + 1px);
   color: #0072BC;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    background-color: #fff;
    border-bottom: 1px solid #DFDFDF !important;
}
/* グロナビトリガー下線 */
.l-gnav__lv1-link.is-menu-opened::before {
    transform: scaleX(1);
}
.l-gnav__lv1-link::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 5px;
    background-color: #0072BC;
    transition: transform 0.2s ease;
    transform: scaleX(0);
    transform-origin: right;
}
/* グロナビトリガー矢印 */
.l-gnav__lv1-link::after {
    content: "";
    position: absolute;
    top: 52%;
    right: 0;
    display: block;
    width: 12px;
    aspect-ratio: 12/8;
    -webkit-mask: url(https://www.ntt-finance.co.jp/img/common/arrow-1.svg) 0 0 no-repeat;
            mask: url(https://www.ntt-finance.co.jp/img/common/arrow-1.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: #0072BC;
    transform: translateY(-50%) rotate(180deg);
    transition: transform 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
    .l-gnav__lv1-link:hover::before {
        transition-delay: 0;
        transform-origin: left;
        transform: scaleX(1);
    }
    .l-gnav__lv1-link:hover::after {
        transform: translateY(-50%);
    }
}
.l-gnav__lv2 {
    position: fixed;
    top: 153px;
    /* left: 50%; */
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    z-index: 999;
    width: 100vw;
    /* transform: translateX(-50%); */
    background-color: #F7F7F7;
    overscroll-behavior-y: none;
    overflow-y: auto;
    scrollbar-width: none;
}
.l-gnav__lv2::-webkit-scrollbar {
    display: none;
}
.is-scroll-menu .l-gnav__lv2 {
    top: 84px;
    overflow-y: auto;
}

/*  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::-webkit-scrollbar {
    display: none;
}
.l-gnav-content__overlay {
    padding: 36px 80px 45px;
    max-height: 100%;
}
.l-gnav-content__head {
    position: relative;
    z-index: 1;
    margin-bottom: 25px;
}
.l-gnav-content__main-link {
    position: relative;
    padding: 10px;
    display: block;
    width: 100%;
    background-color: #fff !important;
    border-radius: 4px;
    border: 1px solid #DFDFDF !important;
    text-align: center;
    margin-bottom: 3px;
    overflow: visible;
    /* cursor: pointer !important; */
    pointer-events: all;
}
.l-gnav-content__main-link::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 5px;
    left: 5px;
    width: 100%;
    height: 100%;
    background-color: #DFDFDF !important;
    border-radius: 4px;
}
/* @media (hover: hover) and (pointer: fine) {
    .l-gnav-content__main-link {
        transition: background-color 0.3s;
    }
    .l-gnav-content__main-link .l-gnav-content__main-link-txt {
        transition: color 0.3s;
    }
    .l-gnav-content__main-link .l-gnav-content__main-link-txt::before {
        transition: background-color 0.3s;
    }
    .l-gnav-content__main-link:hover {
        background-color: #0072BC !important;
    }
    .l-gnav-content__main-link:hover .l-gnav-content__main-link-txt {
        color: #fff !important;
    }
    .l-gnav-content__main-link:hover .l-gnav-content__main-link-txt::before {
        background-color: #fff !important;
    }
} */
.l-gnav-content__main-link-txt {
    position: relative;
    color: #0072BC;
    padding-right: 15px;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.3636363636;
}
/* .l-gnav-content__main-link-txt::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -11px;
    display: block;
    width: 10px;
    aspect-ratio: 12/8;
    -webkit-mask: url(https://www.ntt-finance.co.jp/img/common/arrow-1.svg) 0 0 no-repeat;
            mask: url(https://www.ntt-finance.co.jp/img/common/arrow-1.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: #0072BC;
    transform: translateY(-50%) rotate(90deg);
    transition: transform 0.3s;
} */
.l-gnav-content__body {
    max-height: calc(100dvh - 300px);
    overflow-y: scroll;
    scrollbar-width: none;
}
.l-gnav-content__body::-webkit-scrollbar {
    display: none;
}
.l-gnav-content__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 35px 2.3255813953%;
}
.l-gnav-content__list--company {
    gap: 35px 4.4722719141%;
}
.l-gnav-content__item {
    width: 23.2558139535%;
}
.l-gnav-content__item--min {
    width: 17.6207513417%;
}
.l-gnav-content__lv1-term {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.875;
}
.l-gnav-content__lv1-term-link {
    display: block;
    cursor: pointer !important;
    pointer-events: all;
}
.l-gnav-content__lv1-term-link .l-gnav-content__lv1-term-wrap {
    position: relative;
    display: flex;
    height: calc(100% + 1px);
}
.l-gnav-content__lv1-term-link .l-gnav-content__lv1-term-wrap::before {
    content: "";
    position: absolute;
    bottom: 3px;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    background-color: #0072BC;
    transform-origin: left top;
    transform: scaleX(0);
    transition: transform ease .3s;
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .l-gnav-content__lv1-term-link:hover .l-gnav-content__lv1-term-wrap::before {
        transition-delay: 0;
        transform-origin: left top;
        transform: scaleX(1);
    }
    .l-gnav-content__lv1-term-link:hover .l-gnav-content__lv1-term-wrap::after {
        transform: translateY(-50%);
    }
    /*
    .l-gnav-content__lv1-term-link {
        transition: opacity 300ms;
    }
    .l-gnav-content__lv1-term-link:hover {
        opacity: 0.7;
    }*/
}
.l-gnav-content__lv1-term-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    /*
    .l-gnav-content__lv1-term-wrap {
        transition: opacity 300ms;
    }
    .l-gnav-content__lv1-term-wrap:hover {
        opacity: 0.7;
    }*/
}
.l-gnav-content__icon {
    display: flex;
    width: 7px;
    aspect-ratio: 6/9;
    margin-right: 8px;
}
.l-gnav-content__icon img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.l-gnav-content__lv1-desc {
    margin-top: 8px;
}
.l-gnav-content__lv1-img {
    width: 100%;
    border-radius: 4px;
}
.l-gnav-content__lv1-img img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    overflow: hidden;
}
.l-gnav-content__lv1-links {
    display: flex;
    flex-direction: column;
    margin-top: 17px;
}
.l-gnav-content__lv1-link {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    color: #0072BC;
    font-size: 14px;
    font-weight: 400;
    cursor: pointer !important;
    pointer-events: all;
}
.l-gnav-content__lv1-link--ico {
    position: relative;
}
.l-gnav-content__lv1-link--ico::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -19px;
    display: block;
    -webkit-mask: url(https://www.ntt-finance.co.jp/img/common/icon_outlink.svg) 0 0 no-repeat;
            mask: url(https://www.ntt-finance.co.jp/img/common/icon_outlink.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: #0072BC;
    width: 11px;
    aspect-ratio: 1/1;
    transform: translate(0, -50%);
}
.l-gnav-content__lv1-link--ico-1 {
    position: relative;
}
.l-gnav-content__lv1-link--ico-1 img {
    position: absolute;
    top: 50%;
    right: -19px;
    display: block;
    filter: invert(34%) sepia(100%) saturate(600%) hue-rotate(172deg) brightness(85%) contrast(114%);
    width: 11px;
    aspect-ratio: 1/1;
    transform: translate(0, -50%);
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .l-gnav-content__lv1-link:hover {
        text-decoration: underline !important;
    }
}
.l-gnav-content__lv1-link + .l-gnav-content__lv1-link {
    margin-top: 15px;
}

/*  l-gnav-card
--------------------------------------------- */
.l-gnav-card {
    padding: 18px 18px 25px;
    border-radius: 4px;
    background-color: #DFE8F7;
}
.l-gnav-card + .l-gnav-card {
    margin-top: 13px;
}
.l-gnav-card__term {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.625;
}
.l-gnav-card__desc {
    margin-top: 14px;
}
.l-gnav-card__logo {
    max-width: 130px;
    width: 57.7777777778%;
    margin: 19px auto;
}
.l-gnav-card__logo img {
    width: 100%;
}
.l-gnav-card .l-header-btn {
    max-width: 225px;
    margin: 0 auto;
}
.l-gnav-card .l-header-btn-trans-1 {
    max-width: 225px;
    margin: 0 auto;
}
.l-gnav-card .l-header-btn-trans-2 {
    max-width: 225px;
    margin: 0 auto;
}
.l-header-btn__link--pc{
    position: relative;
    z-index: 2;
}
.l-gnav-card .l-header-btn__link--sp {
    pointer-events: all;
}

/*  l-gnav-card-1
--------------------------------------------- */
.l-gnav-card-1 {
    display: block;
    border: 2px solid #cc0033 !important;
    background-color: #FFFFFF;
    padding: 4px 4px 8px 4px;
}

.l-gnav-card-1 + .l-gnav-card {
    margin-top: 13px;
}

.l-gnav-card-1__term {
    text-align: center;
    font-size: 14px;
    line-height: 21px;
    letter-spacing: 0px;
    color: #F7F7F7;
    background: #CC0033 0% 0% no-repeat padding-box;
}

.l-gnav-card-1__desc {
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    text-align: left;
    letter-spacing: 0px;
    color: #333333;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: 6px;
    gap: 6px;
}
@media screen and (max-width: 1024px) {
    .l-gnav-card-1__desc {
        font-size: 14px;
        line-height: 19px;
        margin-top: 4px;
        padding-left: 4px;
    }
}

.l-gnav-card-1__desc-arrow-icon {
    display: contents;
    width: 100%;
}
.l-gnav-card-1__desc-arrow-icon img {
    width: 5px;
    height: 8px;
    filter: invert(281%) sepia(500%) saturate(6000%) hue-rotate(22deg) brightness(68%) contrast(800%);
}
.l-header-gnav-card-1-wrap {
    padding: 0 10px 0 10px;
}
@media screen and (max-width: 1024px) {
    .l-header-gnav-card-1-wrap {
        padding: 10px;
        background-color: #FFFFFF;
    }
}

/*  l-gnav-side
--------------------------------------------- */
.l-gnav-side {
    height: 100%;
    padding-top: 15px;
}
@media screen and (max-width: 1024px) {
    .l-gnav-side {
        padding: 30px 0 33px;
        height: unset;
        margin-top: unset;
    }
}
.l-gnav-side__list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
@media screen and (max-width: 1024px) {
    .l-gnav-side__list {
        justify-content: center;
    }
}
.l-gnav-side__item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    border-left: 1px solid #DFDFDF !important;
}
@media screen and (min-width: 751px) {
    .l-gnav-side__item:last-of-type {
        border-right: 1px solid #DFDFDF;
    }
}
@media screen and (max-width: 1024px) {
    .l-gnav-side__item {
        width: 130px;
        gap: 0;
    }
    .l-header-container-sp .l-gnav-side__item {
        width: 130px;
        gap: 0;
        height: 53px;
    }
    .l-gnav-side__item:first-of-type {
        border-left: none !important;
    }
}
@media screen and (max-width: 400px) {
    .l-gnav-side__item {
        max-width: 130px;
        width: 33%;
    }
}
.l-gnav-side__link {
    width: 100px;
    height: 100%;
    text-align: center;
}
.l-gnav-side__link-gnav-side {
    height: 100%;
}
.l-gnav-side__link-gnav-side li {
    height: 100%;
}
.l-gnav-side__link-gnav-side-link {
    position: relative;
    display: block;
    height: calc(100% + 1px);
    color: #0072BC;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}
.l-header-container-sp .l-gnav-side__item .l-gnav-side__link-gnav-side-link {
    position: relative;
    display: block;
    height: calc(100% + 1px);
    color: #0072BC;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}
.l-gnav-side__link-gnav-side-link::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 5px;
    background-color: #0072BC;
    transition: transform 0.2s ease;
    transform: scaleX(0);
    transform-origin: right;
}
.l-header-container-sp .l-gnav-side__item .l-gnav-side__link-gnav-side-link::before {
    content: "";
    position: absolute;
    bottom: -px;
    left: 0;
    display: block;
    width: 100%;
    height: 5px;
    background-color: #0072BC;
    transition: transform 0.2s ease;
    transform: scaleX(0);
    transform-origin: right;
}
@media (hover: hover) and (pointer: fine) {
    .l-gnav-side__link-gnav-side-link:hover::before {
        transition-delay: 0;
        transform-origin: left;
        transform: scaleX(1);
    }
    .l-header-container-sp .l-gnav-side__item .l-gnav-side__link-gnav-side-link:hover::before {
        transition-delay: 0;
        transform-origin: left;
        transform: scaleX(1);
    }
    .l-gnav-side__link-gnav-side-link:hover::after {
        transform: translateY(-50%);
    }
    .l-header-container-sp .l-gnav-side__item .l-gnav-side__link-gnav-side-link:hover::after {
        transform: translateY(-50%);
    }
}

@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    /*
    .l-gnav-side__link {
        transition: opacity 300ms;
    }
    .l-gnav-side__link:hover {
        opacity: 0.7;
    }*/
}
.is-scroll-menu .l-gnav-side__link {
    width: auto;
    max-width: 100px;
    min-width: 90px;
}

@media screen and (max-width: 1024px) {
    .l-gnav-side__link {
        width: 100%;
    }
}
.l-gnav-side__ico {
    display: block;
    width: 28px;
    margin: 0 auto;
}
@media screen and (max-width: 1024px) {
    .l-gnav-side__ico {
        width: 33px;
    }
}
.l-gnav-side__ico--recruit {
    transform: translateX(5px);
}
.l-gnav-side__txt {
    color: #0072BC;
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.7142857143;
    margin-top: 3px;
}
.l-gnav-side__txt--ico {
    position: relative;
}
.l-gnav-side__txt--ico::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -14px;
    display: block;
    -webkit-mask: url(https://www.ntt-finance.co.jp/img/common/icon_outlink.svg) 0 0 no-repeat;
            mask: url(https://www.ntt-finance.co.jp/img/common/icon_outlink.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: #0072BC;
    width: 11px;
    aspect-ratio: 1/1;
    transform: translate(0, -50%);
}

/* ---------------------------------------------
*   l-header-menu
--------------------------------------------- */
@media screen and (max-width: 1024px) {
    .l-header-menu {
        position: fixed;
        inset: 60px 0 0;
        background-color: #F7F7F7;
        overflow-y: auto;
        overscroll-behavior-y: none;
        opacity: 0;
        visibility: hidden;
        scrollbar-width: none;
    }
    .l-header-menu::-webkit-scrollbar {
        display: none;
    }
    .l-header-menu.is-animating {
        transition: opacity 0.3s, visibility 0.3s;
    }
    .is-menu-opened .l-header-menu {
        visibility: visible;
        opacity: 1;
    }
}
@media screen and (max-width: 1024px) {
    .l-header-menu__container {
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: calc(100% + 1px);
        box-sizing: border-box;
        background-color: #F7F7F7;
        scrollbar-width: none;
    }
    .l-header-menu__container::-webkit-scrollbar {
        display: none;
    }
}
.l-header-menu__body {
    overflow-y: auto;
    height: 100%;
}

/* ---------------------------------------------
*   l-header-menu-button
--------------------------------------------- */
/*  l-header-menu-button
--------------------------------------------- */
.l-header-menu-button {
    display: none;
    position: relative;
    padding: 10px;
    border: 0;
    border-radius: 0;
    background: none;
    margin: 0;
    box-shadow: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    touch-action: manipulation;
    cursor: pointer;
}
@media screen and (max-width: 750px) {
    .l-header-menu-button {
        top: -9px;
    }
    .is-menu-opened .l-header-menu-button {
        top: 0;
    }
}
@media screen and (max-width: 1024px) {
    .l-header-menu-button {
        display: block;
    }
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .l-header-menu-button {
        transition: opacity 300ms;
    }
    .l-header-menu-button:hover {
        /* opacity: 0.7; */
        background-color: #0072BC;
    }
    .l-header-menu-button:hover .l-header-menu-button__line--top,
    .l-header-menu-button:hover .l-header-menu-button__line--center,
    .l-header-menu-button:hover .l-header-menu-button__line--bottom{
        background-color: #fff;
    }
}
.l-header-menu-button__lines {
    position: relative;
    display: block;
    width: 20px;
    height: 14px;
}
.l-header-menu-button__lines::before {
    content: "";
    position: absolute;
    bottom: -100%;
    left: 50%;
    color: #0072BC;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: -0.01em;
    line-height: 1.8;
    transform: translate(-50%, 0);
    white-space: nowrap;
}
.is-menu-opened .l-header-menu-button__lines::before {
    content: none;
}

.l-header-menu-button__line {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 0;
    padding-top: 2px;
    background-color: #0072BC;
    transition: 0.3s;
}
.l-header-menu-button__line--top {
    top: 0;
}
.is-menu-opened .l-header-menu-button__line--top {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

.l-header-menu-button__line--center {
    top: 50%;
    margin-top: -1px;
}
.is-menu-opened .l-header-menu-button__line--center {
    background-color: rgba(0, 0, 0, 0) !important;
}

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

.l-header-menu-button__txt {
    position: absolute;
    bottom: -10px;
    left: 50%;
    color: #0072BC;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: -0.01em;
    transform: translateX(-50%);
    white-space: nowrap;
}
.is-menu-opened .l-header-menu-button__txt {
    display: none;
}

/*  l-header-close-button
--------------------------------------------- */
.l-header-close-button {
    display: block;
    width: 100%;
    height: 63px;
    cursor: pointer;
    background-color: #fff;
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    /*
    .l-header-close-button {
        transition: opacity 300ms;
    }
    .l-header-close-button:hover {
        opacity: 0.7;
    }:?

    */
}
.l-header-close-button__txt {
    position: relative;
    color: #333333;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 500;
    padding-right: 20px;
}
.l-header-close-button:hover .l-header-close-button__txt {
    filter: invert(29%) sepia(97%) saturate(5096%) hue-rotate(189deg) brightness(95%) contrast(101%);
}
.l-header-close-button__txt::after {
    content: "";
    position: absolute;
    top: 54.9%;
    right: 0;
    display: block;
    width: 12px;
    aspect-ratio: 1/1;
    background: url(https://www.ntt-finance.co.jp/img/common/icon_close.svg) 0 0 no-repeat;
    background-size: 100% auto;
    transform: translate(0, -50%);
}

/* ---------------------------------------------
*   l-gnav-sp
--------------------------------------------- */
.l-gnav-sp {
    overflow-x: hidden;
}
.l-gnav-sp__lv1-trigger {
    padding: 22px 22px 25px 0;
    background-color: #F7F7F7;
    border-bottom: 1px solid #DFDFDF;
}
.l-gnav-sp__lv1-trigger, .l-gnav-sp__lv2-trigger {
    position: relative;
    display: block;
    width: 100%;
    text-align: left;
    cursor: pointer;
}
.l-gnav-sp__lv1-trigger::before, .l-gnav-sp__lv1-trigger::after, .l-gnav-sp__lv2-trigger::before, .l-gnav-sp__lv2-trigger::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    display: block;
    width: 12px;
    height: 2px;
    background-color: #0072BC;
    transform: translateY(-50%);
    transition: transform 0.3s;
}
.l-gnav-sp__lv1-trigger::after, .l-gnav-sp__lv2-trigger::after {
    transform: translateY(-50%) rotate(90deg);
}
.l-gnav-sp__lv1-trigger.is-acc-open::after, .l-gnav-sp__lv2-trigger.is-acc-open::after {
    content: none;
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .l-gnav-sp__lv1-trigger, .l-gnav-sp__lv2-trigger {
        transition: opacity 300ms;
    }
    /* .l-gnav-sp__lv1-trigger:hover, .l-gnav-sp__lv2-trigger:hover {
        opacity: 0.7;
    } */
}
.l-gnav-sp__lv1-trigger-txt, .l-gnav-sp__lv2-link-txt {
    color: #0072BC;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3333333333;
}
.l-gnav-sp__lv1-target {
    position: relative;
    z-index: 1;
    background-color: #fff;
    padding-top: 11px;
}
.l-gnav-sp__lv1-target::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    display: block;
    width: 100vw;
    height: 100%;
    background-color: #fff;
    transform: translate(-50%, 0);
}
.l-gnav-sp__lv2 {
    padding-bottom: 30px;
}
.l-gnav-sp__lv2-item {
    border-top: 1px solid #DFDFDF;
}
.l-gnav-sp__lv2-item:last-of-type {
    border-bottom: 1px solid #DFDFDF;
}
.l-gnav-sp__lv2-link {
    position: relative;
    padding: 20px 22px 18px 17px;
    display: block;
    background-color: #DFE8F7;
    margin-bottom: 6px;
    font-size: 16px;
    color: #333333;
}
.l-gnav-sp__lv2-link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    display: block;
    width: 12px;
    aspect-ratio: 8/5;
    -webkit-mask: url(https://www.ntt-finance.co.jp/img/common/arrow-1.svg) 0 0 no-repeat;
            mask: url(https://www.ntt-finance.co.jp/img/common/arrow-1.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    background-color: #0072BC;
    transform: translate(0, -50%) rotate(90deg);
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .l-gnav-sp__lv2-link {
        transition: opacity 300ms;
    }
    /* .l-gnav-sp__lv2-link:hover {
        opacity: 0.7;
    } */
}
.l-gnav-sp__lv2-trigger {
    padding: 16px 22px 17px 17px;
    background-color: #fff;
}
.l-gnav-sp__lv2-trigger.is-acc-open {
    background-color: #0072BC;
}
.l-gnav-sp__lv2-trigger.is-acc-open .l-gnav-sp__lv2-trigger-txt {
    color: #fff;
}
.l-gnav-sp__lv2-trigger.is-acc-open::before, .l-gnav-sp__lv2-trigger.is-acc-open::after {
    background-color: #fff;
}
.l-gnav-sp__lv2-trigger-txt {
    color: #0072BC;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.875;
}
.l-gnav-sp__lv2-target {
    padding: 27px 10px 32px;
    background-color: #F7F7F7;
}
.l-gnav-sp__lv3-item + .l-gnav-sp__lv3-item {
    margin-top: 14px;
}
.l-gnav-sp__lv3-link {
    padding: 14px 18px 13px;
    display: block;
    position: relative;
    width: 100%;
    border: 1px solid #DFDFDF;
    border-radius: 4px;
    background-color: #fff;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.05);
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .l-gnav-sp__lv3-link {
        transition: opacity 300ms;
    }
    /* .l-gnav-sp__lv3-link:hover {
        opacity: 0.7;
    } */
}
.l-gnav-sp__lv3-link--ico .l-gnav-sp__lv3-txt {
    position: relative;
    display: block;
}
.l-gnav-sp__lv3-link--ico .l-gnav-sp__lv3-txt::after {
    content: "";
    position: absolute;
    top: 46%;
    right: -20px;
    display: block;
    width: 11px;
    aspect-ratio: 1/1;
    -webkit-mask: url(https://www.ntt-finance.co.jp/img/common/icon_outlink.svg) 0 0 no-repeat;
            mask: url(https://www.ntt-finance.co.jp/img/common/icon_outlink.svg) 0 0 no-repeat;
    -webkit-mask-size: 100% auto;
            mask-size: 100% auto;
    transform: translate(0, -50%);
}
.l-gnav-sp__lv3-link--anchor {
    background-color: #DFE8F7;
}
.l-gnav-sp__lv3-txt {
    color: #0072BC;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 2.1428571429;
}

/* ---------------------------------------------
*   l-gnav-logo
--------------------------------------------- */
.l-gnav-logo {
    padding-top: min(0.234375vw, 3px);
    display: none;
    width: min(13.671875vw, 175px);
}
.is-scroll-menu .l-gnav-logo {
    display: flex;
}

.l-gnav-logo-link{
    width: 100%;
}

.l-gnav-logo img {
    width: 100%;
}
.l-gnav-logo__link {
    display: flex;
    width: 100%;
}
@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
    .l-gnav-logo__link {
        transition: opacity 300ms;
    }
    .l-gnav-logo__link:hover {
        opacity: 0.7;
    }
}

/* ---------------------------------------------
*   skip-btn 
--------------------------------------------- */
.skip-btn a{
    position: absolute;
}
.skip-btn a:not(:focus) {
    width: 1px;
    height: 1px;
    overflow: hidden;
    margin: -1px;
    clip: rect(1px, 1px, 1px, 1px);
}
.skip-btn a:focus {
    top: 10px;
    left: 0;
    z-index: 99999;
    margin: 0;
    height: 50px;
    display: flex;
    align-items: center;
    padding: 0 20px;
    border: 2px solid #0072BC;
    justify-content: center;
    background-color: #fff;
}