@charset "UTF-8";
/*
 ======== CONTENTS =======================================
   Site Name: グローバルヘッダー
   2025.3.24
 =========================================================
*/
.global-header {
  position: relative;
  z-index: 9999;
  font-family: "メイリオ", meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", arial, helvetica, sans-serif;
  line-height: 1.6875;
  color: #000;
  word-wrap: break-word;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}
.global-header div,
.global-header dl,
.global-header dt,
.global-header dd,
.global-header ul,
.global-header ul li,
.global-header h1,
.global-header h2,
.global-header h3,
.global-header h4,
.global-header h5,
.global-header h6,
.global-header pre,
.global-header form,
.global-header fieldset,
.global-header input,
.global-header textarea,
.global-header p,
.global-header blockquote,
.global-header th,
.global-header td {
  line-height: 1.6875;
}
.global-header li {
  display: list-item;
}
.global-header strong {
  font-weight: normal;
  color: #fff;
}
.global-header a {
  color: #000;
  text-decoration: none;
}
.global-header a[href^="tel:"]:hover {
  color: #000;
}
@media (min-width: 768px) {
  .global-header a[href^="tel:"] {
    text-decoration: none;
    cursor: text;
  }
}
.global-header a:link, .global-header a:visited {
  color: inherit;
  text-decoration: inherit;
}
.global-header * {
  line-height: inherit;
}
.global-header .u-hidden {
  display: none !important;
  visibility: hidden;
}
@media (max-width: 767.98px) {
  .global-header .u-hidden-sm {
    display: none !important;
    visibility: hidden;
  }
}
.global-header .u-hidden-up-sm {
  display: none !important;
  visibility: hidden;
}
@media (max-width: 767.98px) {
  .global-header .u-hidden-down-sm {
    display: none !important;
    visibility: hidden;
  }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .global-header .u-hidden-md {
    display: none !important;
    visibility: hidden;
  }
}
@media (min-width: 768px) {
  .global-header .u-hidden-up-md {
    display: none !important;
    visibility: hidden;
  }
}
@media (max-width: 1023.98px) {
  .global-header .u-hidden-down-md {
    display: none !important;
    visibility: hidden;
  }
}
@media (min-width: 1024px) {
  .global-header .u-hidden-lg {
    display: none !important;
    visibility: hidden;
  }
}
@media (min-width: 1024px) {
  .global-header .u-hidden-up-lg {
    display: none !important;
    visibility: hidden;
  }
}
.global-header .u-hidden-down-lg {
  display: none !important;
  visibility: hidden;
}
@media (min-width: 1280px) {
  .global-header .u-hidden-xl {
    display: none !important;
    visibility: hidden;
  }
}
.global-header .u-visuallyhidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
}
.global-header .u-visuallyhidden.focusable:active,
.global-header .u-visuallyhidden.focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
.global-header .u-invisible {
  visibility: hidden;
}
.global-header #SupportNaviSearch span {
  line-height: normal;
}

.global-header-sp__logo {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 60px;
  padding: 17.5px 15px;
  font-size: 1rem;
  font-weight: bold;
  background-color: #f2f2f2;
}
.global-header-sp__logo a {
  line-height: 0;
}
@media screen and (min-width: 768px) {
  .global-header-sp__logo {
    display: none;
  }
}

.global-nav {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 100;
  display: none;
  height: calc(100vh - 10.6666666667vw);
  margin-top: 10.6666666667vw;
  pointer-events: none;
  visibility: hidden;
  background-color: #f2f2f2;
  opacity: 0;
  -webkit-transition: opacity 0.12s cubic-bezier(0.47, 0, 0.745, 0.715), visibility 0.12s cubic-bezier(0.47, 0, 0.745, 0.715), -webkit-transform 0.11s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: opacity 0.12s cubic-bezier(0.47, 0, 0.745, 0.715), visibility 0.12s cubic-bezier(0.47, 0, 0.745, 0.715), -webkit-transform 0.11s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: transform 0.11s cubic-bezier(0.895, 0.03, 0.685, 0.22), opacity 0.12s cubic-bezier(0.47, 0, 0.745, 0.715), visibility 0.12s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: transform 0.11s cubic-bezier(0.895, 0.03, 0.685, 0.22), opacity 0.12s cubic-bezier(0.47, 0, 0.745, 0.715), visibility 0.12s cubic-bezier(0.47, 0, 0.745, 0.715), -webkit-transform 0.11s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
@media screen and (min-width: 768px) {
  .global-nav {
    position: relative;
    display: block;
    height: auto;
    margin-top: auto;
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@media screen and (max-width: 767px) {
  .global-nav.is-show {
    height: calc(100vh - 10.6666666667vw);
    overflow-y: scroll;
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
    -webkit-transition: opacity 0.1s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0.1s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 0.18s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: opacity 0.1s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0.1s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 0.18s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 0.18s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.1s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0.1s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: transform 0.18s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.1s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0.1s cubic-bezier(0.39, 0.575, 0.565, 1), -webkit-transform 0.18s cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.global-nav a strong {
  font-weight: normal;
  color: #fff;
}

h2.global-nav__logo {
  display: none;
}
@media screen and (min-width: 768px) {
  h2.global-nav__logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: auto;
    height: 100%;
    padding: 16px 0 16px 10px;
    margin: 0 10px 0 0;
    background: none;
  }
}
h2.global-nav__logo img {
  min-width: 130px;
}

@media screen and (min-width: 768px) {
  .global-nav__logo-main {
    padding: 0;
    background: none;
    -webkit-transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  }
  .global-nav__logo-main:hover {
    opacity: 0.7;
  }
}

.global-nav__logo-sub {
  display: none;
}
@media screen and (min-width: 768px) {
  .global-nav__logo-sub {
    display: block;
    font-size: 1rem;
    font-weight: normal;
    line-height: 1.5;
    text-align: center;
    white-space: nowrap;
    -webkit-transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  }
  .global-nav__logo-sub:hover, .global-nav__logo-sub:active {
    color: #000;
    text-decoration: none;
    background: none;
    opacity: 0.5;
  }
  .global-nav__logo-sub:visited, .global-nav__logo-sub:link {
    color: #000;
    text-decoration: none;
    background: none;
  }
}

.global-nav__languge,
.global-nav__contact,
.global-nav__link {
  position: relative;
  display: block;
  width: 100%;
  padding: 4.2666666667vw 10.6666666667vw 4.2666666667vw 4vw;
  font-size: 3.4666666667vw;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .global-nav__languge,
  .global-nav__contact,
  .global-nav__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: auto;
    height: 100%;
    padding: 15px 17px;
    font-size: 0.8125rem;
    text-align: center;
    -webkit-transition: background-color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: background-color 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
  }
}
.global-nav__languge.Current, .Current .global-nav__languge, .global-nav__languge.is-open,
.global-nav__contact.Current,
.Current .global-nav__contact,
.global-nav__contact.is-open,
.global-nav__link.Current,
.Current .global-nav__link,
.global-nav__link.is-open {
  color: #fff;
  background-color: #a2201b;
}
@media screen and (min-width: 768px) {
  .global-nav__item:last-child .global-nav__languge,
  .global-nav__item:last-child .global-nav__contact,
  .global-nav__item:last-child .global-nav__link {
    color: #fff;
    background-color: #000;
  }
}
.global-nav__languge[href]::after,
.global-nav__contact[href]::after,
.global-nav__link[href]::after {
  position: absolute;
  inset: 0 4.8vw 0 auto;
  width: 2.6666666667vw;
  height: 2.6666666667vw;
  margin: auto;
  content: "";
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media screen and (min-width: 768px) {
  .global-nav__languge[href]::after,
  .global-nav__contact[href]::after,
  .global-nav__link[href]::after {
    display: none;
  }
}
.global-nav__languge.Current[href]::after, .Current .global-nav__languge[href]::after, .global-nav__languge.is-open[href]::after,
.global-nav__contact.Current[href]::after,
.Current .global-nav__contact[href]::after,
.global-nav__contact.is-open[href]::after,
.global-nav__link.Current[href]::after,
.Current .global-nav__link[href]::after,
.global-nav__link.is-open[href]::after {
  border-color: #fff;
}
@media screen and (min-width: 768px) {
  .global-nav__languge.Current[href]::after, .Current .global-nav__languge[href]::after, .global-nav__languge.is-open[href]::after,
  .global-nav__contact.Current[href]::after,
  .Current .global-nav__contact[href]::after,
  .global-nav__contact.is-open[href]::after,
  .global-nav__link.Current[href]::after,
  .Current .global-nav__link[href]::after,
  .global-nav__link.is-open[href]::after {
    position: absolute;
    inset: auto 0 0 0;
    display: block;
    width: 0;
    height: 0;
    margin: auto;
    content: "";
    background-color: transparent;
    border-color: transparent transparent #fff;
    border-style: solid;
    border-width: 0 8px 9px;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
.global-nav__languge[type=button]::before, .global-nav__languge[type=button]::after,
.global-nav__contact[type=button]::before,
.global-nav__contact[type=button]::after,
.global-nav__link[type=button]::before,
.global-nav__link[type=button]::after {
  position: absolute;
  inset: 0 3.4666666667vw 0 auto;
  width: 4.2666666667vw;
  height: 2px;
  margin: auto;
  content: "";
  background-color: #666;
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media screen and (min-width: 768px) {
  .global-nav__languge[type=button]::before, .global-nav__languge[type=button]::after,
  .global-nav__contact[type=button]::before,
  .global-nav__contact[type=button]::after,
  .global-nav__link[type=button]::before,
  .global-nav__link[type=button]::after {
    display: none;
  }
}
.global-nav__languge[type=button]::after,
.global-nav__contact[type=button]::after,
.global-nav__link[type=button]::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.global-nav__languge[type=button].is-open::before,
.global-nav__contact[type=button].is-open::before,
.global-nav__link[type=button].is-open::before {
  opacity: 0;
}
.global-nav__languge[type=button].is-open::after,
.global-nav__contact[type=button].is-open::after,
.global-nav__link[type=button].is-open::after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}
.global-nav__languge.Current[type=button]::before, .global-nav__languge.Current[type=button]::after, .Current .global-nav__languge[type=button]::before, .Current .global-nav__languge[type=button]::after, .global-nav__languge.is-open[type=button]::before, .global-nav__languge.is-open[type=button]::after,
.global-nav__contact.Current[type=button]::before,
.global-nav__contact.Current[type=button]::after,
.Current .global-nav__contact[type=button]::before,
.Current .global-nav__contact[type=button]::after,
.global-nav__contact.is-open[type=button]::before,
.global-nav__contact.is-open[type=button]::after,
.global-nav__link.Current[type=button]::before,
.global-nav__link.Current[type=button]::after,
.Current .global-nav__link[type=button]::before,
.Current .global-nav__link[type=button]::after,
.global-nav__link.is-open[type=button]::before,
.global-nav__link.is-open[type=button]::after {
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .global-nav__languge.Current[type=button]::after, .Current .global-nav__languge[type=button]::after, .global-nav__languge.is-open[type=button]::after,
  .global-nav__contact.Current[type=button]::after,
  .Current .global-nav__contact[type=button]::after,
  .global-nav__contact.is-open[type=button]::after,
  .global-nav__link.Current[type=button]::after,
  .Current .global-nav__link[type=button]::after,
  .global-nav__link.is-open[type=button]::after {
    position: absolute;
    inset: auto 0 0 0;
    display: block;
    width: 0;
    height: 0;
    margin: auto;
    content: "";
    background-color: transparent;
    border-color: transparent transparent #fff;
    border-style: solid;
    border-width: 0 8px 9px;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
@media screen and (min-width: 768px) {
  .global-nav__languge:hover, .global-nav__item:last-child .global-nav__languge:hover, .global-nav__languge.is-open,
  .global-nav__contact:hover,
  .global-nav__item:last-child .global-nav__contact:hover,
  .global-nav__contact.is-open,
  .global-nav__link:hover,
  .global-nav__item:last-child .global-nav__link:hover,
  .global-nav__link.is-open {
    color: #fff;
    background-color: #666;
    -webkit-transition: background-color 0.22s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: background-color 0.22s cubic-bezier(0.39, 0.575, 0.565, 1);
  }
}

@media screen and (min-width: 768px) {
  .global-nav__link {
    padding: 19px 10px;
  }
}
@media screen and (min-width: 767px) {
  .global-nav__link {
    padding: 19px 8px;
  }
}
.global-nav__link strong {
  font-weight: normal;
  color: #fff;
}

.global-nav__sp {
  border-top: 1px solid #ddd;
}
@media screen and (min-width: 768px) {
  .global-nav__sp {
    display: none;
  }
}

.mega-menu {
  color: #fff;
}
@media screen and (min-width: 768px) {
  .mega-menu {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 100;
    min-height: 226px;
    padding: 22px 45px;
    pointer-events: none;
    visibility: hidden;
    background-color: #666;
    opacity: 0;
    -webkit-transition: opacity 0.15s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0.15s linear;
    transition: opacity 0.15s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0.15s linear;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
@media screen and (min-width: 768px) {
  .mega-menu.is-show {
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
    -webkit-transition: opacity 0.22s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0.22s linear;
    transition: opacity 0.22s cubic-bezier(0.39, 0.575, 0.565, 1), visibility 0.22s linear;
  }
}
.mega-menu[aria-hidden] {
  display: none;
}
@media screen and (min-width: 768px) {
  .mega-menu[aria-hidden] {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .mega-menu__outer {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(20%, 1fr));
    grid-gap: 40px;
    max-width: 1275px;
    margin: 0 auto;
  }
}

.mega-menu__heading {
  position: relative;
  padding: 4.2666666667vw 10.6666666667vw 4.2666666667vw 19.2vw;
  font-size: 3.4666666667vw;
  font-weight: normal;
  color: #000;
  background-color: transparent;
}
.mega-menu__heading + .mega-menu__list .mega-menu__link {
  padding: 4.2666666667vw 10.6666666667vw 4.2666666667vw 27.2vw;
}
.mega-menu__heading.is-open {
  color: #fff;
  background-color: #801411;
}
.mega-menu__heading.is-open::before, .mega-menu__heading.is-open::after {
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .mega-menu__heading {
    padding: 0;
    font-size: 1rem;
    font-weight: bold;
    color: #fff;
  }
  .mega-menu__heading + .mega-menu__list .mega-menu__link {
    padding: 0;
    padding-right: 16px;
  }
}
.mega-menu__heading::before, .mega-menu__heading::after {
  position: absolute;
  inset: 0 3.4666666667vw 0 auto;
  width: 4.2666666667vw;
  height: 2px;
  margin: auto;
  content: "";
  background-color: #666;
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media screen and (min-width: 768px) {
  .mega-menu__heading::before, .mega-menu__heading::after {
    display: none;
  }
}
.mega-menu__heading::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.mega-menu__heading.is-open::before {
  opacity: 0;
}
.mega-menu__heading.is-open::after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

@media screen and (min-width: 768px) {
  .mega-menu__list {
    margin-top: 4px;
  }
}
.mega-menu__list[aria-hidden] {
  display: none;
}
@media screen and (min-width: 768px) {
  .mega-menu__list[aria-hidden] {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .mega-menu__item {
    line-height: 1.5;
  }
}

a.mega-menu__link {
  position: relative;
  display: block;
  padding: 4.5333333333vw 10.6666666667vw 3.4666666667vw 19.2vw;
  font-size: 3.2vw;
  -webkit-transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: color 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}
a.mega-menu__link.mega-menu__link--target::after {
  inset: -0.8vw 4.8vw 0 auto;
  width: 4vw;
  height: 3.4666666667vw;
  background-image: url(/r23res/image/common/icon_blank_white.svg);
  background-repeat: no-repeat;
  background-size: contain;
  border: none;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
@media (min-width: 768px) {
  a.mega-menu__link.mega-menu__link--target::after {
    inset: -3px 0 0 auto;
    width: 15px;
    height: 13px;
  }
}
a.mega-menu__link::after {
  position: absolute;
  inset: 0 4.8vw 0 auto;
  width: 2.6666666667vw;
  height: 2.6666666667vw;
  margin: auto;
  content: "";
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media screen and (min-width: 768px) {
  a.mega-menu__link::after {
    inset: 0 0 0 auto;
    width: 8px;
    height: 8px;
    border-color: #fff;
    border-width: 1px;
    -webkit-transition: -webkit-transform 0.08s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: -webkit-transform 0.08s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 0.08s cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: transform 0.08s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.08s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
}
@media screen and (min-width: 768px) {
  a.mega-menu__link {
    display: inline-block;
    padding: 0;
    padding-right: 16px;
    font-size: 0.75rem;
    color: #fff;
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  a.mega-menu__link:hover {
    text-decoration: underline;
  }
}
a.mega-menu__link.is-current::before {
  display: block;
}
a.mega-menu__link.Current {
  color: #fff;
  background-color: #801411;
}
a.mega-menu__link.Current::after, a.mega-menu__link.Current::before {
  border-color: #fff;
}