/**
 * https://www.his-j.com/common/header-footer/css/common.css
 *
 * ハイドレーションエラー回避の為に腹持ちする。https://github.com/his-technology/travellers-mypage-front/issues/89
 */
.header-new *,
.header-new *::before,
.header-new *::after,
.footer-new *,
.footer-new *::before,
.footer-new *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  line-height: 1.5;
  letter-spacing: 0;
}

@media print {
  .header-new *,
  .footer-new * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

.header-new :where([hidden]:not([hidden='until-found'])),
.footer-new :where([hidden]:not([hidden='until-found'])) {
  display: none !important;
}

body :where(#header-new, #footer-new) {
  font-family: system-ui, sans-serif;
}

.header-new :where(div),
.footer-new :where(div) {
  position: unset;
}

.header-new :where(input, button, textarea, select),
.footer-new :where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

.header-new :where(textarea),
.footer-new :where(textarea) {
  resize: vertical;
  resize: block;
}

.header-new
  :where(button, label, select, summary, [role='button'], [role='option']),
.footer-new
  :where(button, label, select, summary, [role='button'], [role='option']) {
  cursor: pointer;
}

.header-new :where(:disabled),
.footer-new :where(:disabled) {
  cursor: not-allowed;
}

.header-new :where(label:has(> input:disabled), label:has(+ input:disabled)),
.footer-new :where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

.header-new :where(button),
.footer-new :where(button) {
  border-style: solid;
}

.header-new :where(a),
.footer-new :where(a) {
  text-underline-offset: 0.2ex;
}

.header-new :where(ul, ol),
.footer-new :where(ul, ol) {
  list-style: none;
}

.header-new :where(img, svg, video, canvas, audio, iframe, embed, object),
.footer-new :where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

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

.header-new :where(p, h1, h2, h3, h4, h5, h6),
.footer-new :where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

.header-new :where(h1, h2, h3),
.footer-new :where(h1, h2, h3) {
  line-height: calc(1em + 8px);
}

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

.header-new :where(:focus-visible),
.footer-new :where(:focus-visible) {
  outline: 2px solid var(--focus-color, Highlight) !important;
  outline-offset: 2px;
}

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

@media screen and (max-width: 767px) {
  .header-new .pc-only,
  .footer-new .pc-only {
    display: none !important;
  }
}

@media print, screen and (min-width: 768px) {
  .header-new .sp-only,
  .footer-new .sp-only {
    display: none !important;
  }
}

:where(#header-new, #footer-new) :lang(ja),
:where(#header-new, #footer-new)
  :not(:lang(en), :lang(zh-cmn-Hans), :lang(zh-cmn-Hant)) {
  font-family: 'Noto Sans JP', sans-serif;
}

:where(#header-new, #footer-new) :lang(en) {
  font-family: 'Noto Sans', sans-serif;
}

:where(#header-new, #footer-new) :lang(zh-cmn-Hans) {
  font-family: 'Noto Sans SC', sans-serif;
}

:where(#header-new, #footer-new) :lang(zh-cmn-Hant) {
  font-family: 'Noto Sans TC', sans-serif;
}

.header-new :where(a, button, input, select),
.footer-new :where(a, button, input, select) {
  color: #2c2a29;
  cursor: pointer;
}

#header-new,
#footer-new {
  background-color: #fff;
}

#header-new {
  padding: 0;
  position: relative;
  width: auto;
  height: auto;
  top: auto;
  left: auto;
  z-index: unset;
  transition: inherit;
}

.header-new a,
.footer-new a {
  text-decoration: none;
}

.header-new a:visited,
.footer-new a:visited,
.header-new a:link,
.footer-new a:link {
  color: inherit;
}

.header-new button,
.footer-new button {
  width: auto;
}

.header-new button:hover,
.footer-new button:hover,
.header-new button:focus,
.footer-new button:focus {
  background-color: unset;
  outline: none;
}

.header-new a:hover,
.footer-new a:hover {
  opacity: 1;
}

.header-new :where(button, input, select, textarea),
.footer-new :where(button, input, select, textarea) {
  font-family: inherit;
  font-size: 100%;
  background: #ffffff;
  padding: 0;
  border: none;
  outline: none;
}

#header-tmp {
  display: none;
}

#site-copy,
#site_copy,
.site-copy {
  display: none;
}

.header-new h2:after,
.footer-new h2:after,
.header-new div:after,
.footer-new div:after {
  content: none !important;
}
.header-new h2,
.footer-new h2 {
  width: auto;
  height: auto;
  margin: 0;
  background-color: transparent;
  position: relative;
}
.header-new h3,
.footer-new h3 {
  background: transparent;
  border-bottom: none;
  width: auto;
}
.header-new path,
.footer-new path {
  transition: all 0.3s;
}

/**
 * https://www.his-j.com/common/header-footer/css/normal.css
 *
 * ハイドレーションエラー回避の為に腹持ちする。https://github.com/his-technology/travellers-mypage-front/issues/89
 */
@charset "UTF-8";
@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) and (max-width: 1024px) {
  .tab-only {
    display: none !important;
  }
}
@media print, screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}
@media (max-width: 374px) {
  .sm-none {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  #header-area-normal {
    min-height: 77px;
  }
  #header-area-full {
    min-height: 130px;
  }
}
@media print, screen and (min-width: 768px) {
  #header-area-normal {
    min-height: 70px;
  }
  #header-area-full {
    min-height: 139px;
  }
}

/*-------------------------
  ヘッダー
-------------------------*/
/* header__inner
-------------------------*/
.header__inner {
  background-color: #ffffff;
  padding: 0 !important;
}
.header__inner.is-opened {
  box-shadow: 0px 2px 6px #00000029;
  position: relative;
  z-index: 10000002;
}

/* header-main
-------------------------*/
.header-main {
  border-bottom: 1px solid #e9ecf2;
  width: 100%;
  background-color: #fff;
}
.header__inner.is-opened .header-main {
  border-bottom: none;
}
@media print, screen and (min-width: 768px) and (max-width: 1024px) {
  .header-main {
    padding: 10px 8px;
  }
}
@media screen and (max-width: 767px) {
  .header-main {
    padding: 5px 8px 8px;
    position: relative;
  }
}
.header-main__inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .header-main__inner {
    margin: 0 auto;
    padding: 10px 16px 10px 20px;
    justify-content: space-between;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1024px) {
  .header-main__inner {
    padding: 0;
  }
}
.header-main__col {
  display: flex;
  align-items: center;
}
.header-main__col:nth-of-type(2) {
  padding-left: 16px;
}
@media print, screen and (min-width: 768px) {
  .header-main__col:nth-of-type(1) {
    flex-grow: 1;
    max-width: calc(100% - 412px);
  }
  [lang='en'] .header-main__col:nth-of-type(1) {
    max-width: calc(100% - 556px);
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1024px) {
  .header-main__col:nth-of-type(1) {
    max-width: none;
  }
}
@media screen and (max-width: 767px) {
  .header-main__col:nth-of-type(1) {
    display: contents;
  }
  .header-main__col:nth-of-type(2) {
    padding-left: 0;
    margin-left: auto;
  }
}
@media print, screen and (min-width: 768px) {
  .header-main__heading {
    order: 3;
    margin-left: 8px;
    white-space: nowrap;
    overflow-x: auto;
    flex-grow: 1;
    scrollbar-width: thin;
  }
}
@media screen and (max-width: 767px) {
  .header-main__heading {
    width: 100%;
    margin-right: 137.5px;
    padding-bottom: 4px;
    white-space: nowrap;
    overflow-x: auto;
    min-height: 22px;
  }
  [lang='en'] .header-main__heading {
    margin-right: 160.5px;
  }
}
@media print, screen and (min-width: 768px) {
  .header-main__logo {
    order: 1;
  }
}
@media print, screen and (min-width: 768px) {
  .header-main__area {
    order: 2;
    margin-left: 16px;
  }
}
@media screen and (max-width: 767px) {
  .header-main__area {
    margin-left: 10px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1024px) {
  .header-main__col:nth-of-type(1) {
    display: grid;
    grid-template-areas:
      'logo area'
      'logo heading';
    grid-template-rows: auto 1fr;
    grid-template-columns: 118px minmax(auto, 1fr);
    gap: 4px 8px;
    flex: 1;
  }
  .header-main__heading {
    grid-area: heading;
    margin-left: 0;
    align-self: flex-start;
  }
  .header-main__logo {
    grid-area: logo;
  }
  .header-main__area {
    grid-area: area;
    margin-left: 0;
  }
}
.header-main__absolute {
  display: inline-flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .header-main__absolute {
    position: absolute;
    top: 5px;
    right: 8px;
  }
}
@media print, screen and (min-width: 768px) {
  .header-main__corporate + .header-main__language {
    margin-left: 16px;
  }
}
@media screen and (max-width: 767px) {
  .header-main__corporate + .header-main__language {
    margin-left: 4px;
  }
}
@media print, screen and (min-width: 768px) {
  .header-main__store {
    margin-left: 16px;
  }
}
@media screen and (max-width: 767px) {
  .header-main__store {
    margin-left: 8px;
  }
}
@media print, screen and (min-width: 768px) {
  .header-main__member {
    margin-left: 40px;
  }
}
@media screen and (max-width: 767px) {
  .header-main__member {
    margin-left: 8px;
  }
}
.header-main__menu-button {
  order: 8;
}
@media print, screen and (min-width: 768px) {
  .header-main__menu-button {
    margin-left: 16px;
  }
}
@media screen and (max-width: 767px) {
  .header-main__menu-button {
    margin-left: 8px;
  }
}

@media print {
  .header-main__col:nth-of-type(2) {
    display: none;
  }
}

/* header-heading
-------------------------*/
.header-heading {
  font-weight: normal;
  color: #697180;
  font-size: 12px;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .header-heading {
    display: inline-flex;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1024px) {
  .header-heading {
    display: inline-flex;
    font-size: 10px;
  }
}

@media screen and (max-width: 767px) {
  .header-heading {
    display: block;
  }
}

/* header-main-logo
-------------------------*/
.header-main-logo {
  display: inline-flex;
  flex-shrink: 0;
}
@media print, screen and (min-width: 768px) {
  .header-main-logo {
    width: 94px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1024px) {
  .header-main-logo {
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .header-main-logo {
    width: 82px;
    padding-left: 2px;
  }
}

/* header-new-area
-------------------------*/
.header-new-area {
  display: inline-flex;
  position: relative;
  overflow: visible;
  flex-shrink: 0;
}
[lang='en'] .header-new-area {
  flex-shrink: unset;
}
.header-new-area__heading {
  display: none;
  align-items: center;
  font-weight: bold;
  color: #2c2a29;
  cursor: pointer;
  transition: color 0.3s;
  line-height: 1.3;
  text-align: left;
}
.header-new-area__heading.is-visible {
  display: inline-flex;
}
.header-new-area__heading > span {
  display: none;
  pointer-events: none;
  font-weight: bold;
}
.header-new-area__heading > span.is-visible {
  display: block;
}
@media print, screen and (min-width: 768px) {
  .header-new-area__heading {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .header-new-area__heading {
    font-size: 12px;
  }
}
.header-new-area__icon {
  margin-top: 2px;
  pointer-events: none;
}
@media (hover: hover) {
  .header-new-area__heading:hover {
    color: #10069f;
  }
  .header-new-area__heading:hover .header-new-area__icon path {
    fill: #10069f;
  }
}
@media print, screen and (min-width: 768px) {
  .header-new-area__list-wrapper {
    top: calc(1.5em * 1.444);
    right: auto;
    left: 0;
    width: -moz-fit-content;
    width: fit-content;
  }
  .header-new-area__list-title {
    display: none;
  }
  .header-new-area__icon {
    margin-left: 4px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1024px) {
  .header-new-area__list-wrapper {
    right: auto;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .header-new-area {
    position: static;
  }
  .header-new-area__list-wrapper.header-popup {
    position: absolute;
    top: 76px;
    padding: 16px 20px 40px;
    border-radius: 0;
    width: 100%;
  }
  .header-new-area__list-title {
    font-size: 18px;
    margin-bottom: 16px !important;
    font-weight: bold;
    text-align: left;
    color: #2c2a29;
  }
  .header-new-area__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 17px;
  }
  .header-new-area__list .header-popup__link {
    padding: 0;
    width: 42.4vw;
    max-width: 159px;
  }
  .header-new-area__icon {
    margin-left: 2px;
  }
}

/* header-corporate
-------------------------*/
.header-corporate {
  display: inline-flex;
  position: relative;
  overflow: visible;
}
.header-new a.header-corporate__heading {
  font-weight: normal;
  text-align: center;
  color: #697180;
  cursor: pointer;
  transition: color 0.3s;
}
@media print, screen and (min-width: 768px) {
  .header-new a.header-corporate__heading {
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    line-height: 16px;
  }
}
@media screen and (max-width: 767px) {
  .header-new a.header-corporate__heading {
    justify-content: center;
    font-size: 10px;
    line-height: 1;
    padding: 2px 8px;
    border: 1px solid #c0c5cc;
    border-radius: 4px;
    letter-spacing: -0.05em;
  }
}
.header-corporate__icon {
  margin-right: 4px;
}
@media (hover: hover) {
  .header-new a.header-corporate__heading:hover {
    color: #10069f;
  }
  .header-new a.header-corporate__heading:hover .header-corporate__icon path {
    fill: #10069f;
  }
}
@media print, screen and (min-width: 768px) {
  .header-corporate__list {
    top: calc(1.5em * 1.428);
  }
}
@media screen and (max-width: 767px) {
  .header-corporate__list {
    top: calc(1.5em * 1.3);
  }
}

/* header-language
-------------------------*/
.header-language {
  display: inline-flex;
  position: relative;
  overflow: visible;
}
.header-language__heading {
  display: inline-flex;
  align-items: center;
  font-weight: normal;
  color: #697180;
  cursor: pointer;
  transition: color 0.3s;
}
@media print, screen and (min-width: 768px) {
  .header-language__heading {
    font-size: 14px;
    line-height: 16px;
    padding-bottom: 2px !important;
  }
}
@media screen and (max-width: 767px) {
  .header-language__heading {
    justify-content: center;
    min-width: 50px;
    font-size: 10px;
    line-height: 1;
    padding: 1px 8px 3px 6px !important;
    border: 1px solid #c0c5cc !important;
    border-radius: 4px;
    letter-spacing: -0.05em;
  }
}
.header-language__icon {
  margin-top: 2px;
  margin-right: 4px;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .header-language__icon svg {
    width: 8px;
    height: 8px;
  }
  .header-language__icon path {
    fill: #697180;
  }
}
@media (hover: hover) {
  .header-language__heading:hover {
    color: #10069f;
  }
  .header-language__heading:hover .header-language__icon path {
    fill: #10069f;
  }
}
@media print, screen and (min-width: 768px) {
  .header-language__list {
    top: calc(1.5em * 1.428);
  }
}
@media screen and (max-width: 767px) {
  .header-language__list {
    top: calc(1.5em * 1.5);
  }
}

.header-new .header-language__link {
  cursor: pointer;
  color: #2c2a29 !important;
}
.header-new .header-language__link .header__nav-popup-note {
  font-size: 12px;
  display: block;
}
.header-new .header__nav-popup--language .header__nav-popup-item > * {
  padding: 8px 24px !important;
}

/* WOVN適用時のスタイル */
.header-new .header__nav-popup--language .header__nav-popup-item.selected {
  background: #fff;
  background-size: auto;
}
.header-new
  .header__nav-popup--language
  .header__nav-popup-item.selected
  .header-language__link {
  font-weight: bold;
  pointer-events: none;
}
.header-new
  .header__nav-popup--language
  .header__nav-popup-item.selected
  .header-language__link.header-gnav-links__link {
  font-weight: normal;
}

/* header-store
-------------------------*/
.header-store {
  display: inline-flex;
  position: relative;
  overflow: visible;
}
.header-store__heading {
  font-weight: normal;
  text-align: center;
  color: #697180;
  cursor: pointer;
  transition: color 0.3s;
}
@media print, screen and (min-width: 768px) {
  .header-store__heading {
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    line-height: 16px;
  }
}
@media screen and (max-width: 767px) {
  .header-store__heading {
    font-size: 10px;
    line-height: 1.3;
  }
}
.header-store__icon {
  display: flex;
  justify-content: center;
  margin-top: 2px;
  margin-right: 4px;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .header-store__icon {
    margin: 2px auto;
  }
  .header-store__icon svg {
    width: 24px;
    height: 24px;
  }
}
@media (hover: hover) {
  .header-store__heading:hover {
    color: #10069f;
  }
  .header-store__heading:hover .header-store__icon path {
    fill: #10069f;
  }
}
@media print, screen and (min-width: 768px) {
  .header-store__list {
    top: calc(1.5em * 1.428);
  }
}
@media screen and (max-width: 767px) {
  .header-store__list {
    top: calc(1.5em * 1.3);
  }
}

/* header-member
-------------------------*/
.header-member {
  display: inline-flex;
  position: relative;
  overflow: visible;
}
.header-new a.header-member__heading {
  display: inline-block;
  cursor: pointer;
  transition: color 0.3s;
}
@media print, screen and (min-width: 768px) {
  .header-new a.header-member__heading {
    font-size: 12px;
    line-height: 1;
    color: #2c2a29;
    font-weight: bold;
  }
}
@media screen and (max-width: 767px) {
  .header-new a.header-member__heading {
    font-size: 10px;
    line-height: 1.3;
    color: #697180;
  }
}
.header-member__icon {
  display: flex;
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  .header-member__icon {
    margin-bottom: 4px;
  }
}
@media screen and (max-width: 767px) {
  .header-member__icon {
    margin: 2px auto;
  }
  .header-member__icon svg {
    width: 24px;
    height: 24px;
  }
  .header-member__icon path {
    fill: #acb5bf;
  }
}
@media (hover: hover) {
  .header-new a.header-member__heading:hover {
    color: #10069f;
  }
  .header-new a.header-member__heading:hover .header-member__icon path {
    fill: #10069f;
  }
}
@media print, screen and (min-width: 768px) {
  .header-new a.header-member__heading::before {
    width: 32px;
    height: 32px;
    background-color: #697180;
  }
}
@media screen and (max-width: 767px) {
  .header-new a.header-member__heading::before {
    width: 24px;
    height: 24px;
    background-color: #acb5bf;
  }
}
@media print, screen and (min-width: 768px) {
  .header-member__list {
    top: calc(1.5em * 1.428 + 34px);
  }
}
@media screen and (max-width: 767px) {
  .header-member__list {
    top: calc(1.5em * 1.5);
  }
}

/* header-popup
-------------------------*/
.header-menu-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #697180;
  cursor: pointer;
  line-height: 1;
}
.header-menu-button span {
  transition: color 0.3s;
}
@media print, screen and (min-width: 768px) {
  .header-menu-button {
    min-width: 56px;
  }
  .header-menu-button span {
    font-size: 12px;
    line-height: 1;
    font-weight: bold;
    color: #2c2a29;
  }
}
@media screen and (max-width: 767px) {
  .header-menu-button {
    min-width: 40px;
  }
  .header-menu-button span {
    font-size: 10px;
    line-height: 1.3;
  }
}
.header-menu-button__icon {
  display: flex;
  justify-content: center;
  line-height: 1;
}
.header-menu-button__icon.close {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .header-menu-button__icon {
    margin-bottom: 4px;
  }
}
@media screen and (max-width: 767px) {
  .header-menu-button__icon.open {
    margin-top: -2px;
    margin-bottom: -2px;
  }
  .header-menu-button__icon.open path {
    fill: #697180;
  }
  .header-menu-button__icon.close svg {
    width: 28px;
    height: 28px;
  }
}
@media (hover: hover) {
  .header-menu-button:hover span {
    color: #10069f;
  }
  .header-menu-button:hover .header-menu-button__icon.open path {
    fill: #10069f;
  }
}
.header-menu-button.is-opened {
  color: #10069f;
}
.header-menu-button.is-opened .header-menu-button__icon.open {
  display: none;
}
.header-menu-button.is-opened .header-menu-button__icon.close {
  display: flex;
}
.header-menu-button.is-opened .header-menu-button__icon.close svg {
  background-color: #10069f;
  transition: all 0.3s;
}
@media (hover: hover) {
  .header-menu-button.is-opened:hover {
    color: #140d77;
  }
  .header-menu-button.is-opened:hover .header-menu-button__icon.close svg {
    background-color: #140d77;
  }
}

/* header-popup
-------------------------*/
.header-popup {
  display: none;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0px 3px 6px #00000029;
  z-index: 10000003;
  position: absolute;
  right: 0;
  padding: 8px 0;
}
.header-popup.is-visible {
  display: inline-block !important;
}
.header-popup__link {
  display: block;
  font-size: 14px;
  color: #2c2a29;
  white-space: nowrap;
  transition: background-color 0.3s;
  padding: 8px 24px;
}
@media (hover: hover) {
  .header-popup__link:hover {
    background-color: #c2e4fa !important;
  }
}
.header-popup__link.is-current {
  font-weight: bold;
  pointer-events: none;
}

/* header-nav
-------------------------*/
.header-nav {
  -ms-overflow-style: none;
  scrollbar-width: none;
  box-shadow: 0px 4px 6px -3px #00000029;
  position: relative;
  z-index: 2;
}
.header-nav::-webkit-scrollbar {
  display: none;
}
.header-nav.is-invisible {
  opacity: 0;
  visibility: hidden;
}
.header__inner.is-opened .header-nav {
  display: none;
}
.header-nav__inner {
  display: flex;
  align-items: center;
  width: 100%;
  overflow-x: auto;
}
@media print, screen and (min-width: 768px) {
  .header-nav__inner {
    padding: 16px 48px;
    margin: 0 auto;
    justify-content: center;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1024px) {
  .header-nav__inner {
    padding: 16px 20px;
    justify-content: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .header-nav__inner {
    padding: 8px;
  }
}
.header-nav__heading,
.header-nav__list,
.header-nav__more-button {
  flex-shrink: 0;
}
.header-nav__heading + .header-nav__list {
  margin-left: 16px;
}
.header-nav__list + .header-nav__heading {
  margin-left: 32px;
}
.header-nav__more-button {
  margin-left: 32px;
}

/* header-nav-heading
-------------------------*/
.header-nav-heading {
  display: inline-flex;
}
.header-new a.header-nav-heading__link {
  display: inline-flex;
  font-weight: bold;
  font-size: 12px;
  line-height: 1.5;
  color: #2c2a29;
  padding: 8px 8px 9px;
  border: 1px solid #c0c5cc;
  transition:
    color 0.3s,
    border-color 0.3s;
}
@media (hover: hover) {
  .header-new a.header-nav-heading__link--overseas:hover {
    color: #163bbf;
    border-color: #163bbf;
  }
  .header-new a.header-nav-heading__link--domestic:hover {
    color: #008552;
    border-color: #008552;
  }
}

/* header-nav-list
-------------------------*/
.header-nav-list {
  display: flex;
  align-items: center;
  gap: 16px;
}
.header-new a.header-nav-list__link {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  font-size: 12px;
  line-height: 1.5;
  color: #2c2a29;
  position: relative;
  transition: color 0.3s;
}
@media (hover: hover) {
  .header-nav-list__item--overseas .header-nav-list__link:hover {
    color: #163bbf;
  }
  .header-nav-list__item--overseas
    .header-nav-list__link:hover
    .header-nav-list__icon
    path {
    fill: #163bbf;
  }
  .header-nav-list__item--domestic .header-nav-list__link:hover {
    color: #008552;
  }
  .header-nav-list__item--domestic
    .header-nav-list__link:hover
    .header-nav-list__icon
    path {
    fill: #008552;
  }
}

/* header-more-button
-------------------------*/
.header-new button.header-more-button {
  display: inline-flex;
  font-size: 12px;
  line-height: 1;
  color: #2c2a29;
  background-color: #ffffff;
  padding: 6.5px 16px;
  border: 1px solid #939dad;
  border-radius: 9999px;
  transition:
    color 0.3s,
    background-color 0.3s,
    border 0.3s;
}
@media (hover: hover) {
  .header-new button.header-more-button:hover {
    color: #140d77;
    background-color: #f0f7ff;
    border-color: transparent;
  }
}
.header-new button.header-more-button.is-disabled {
  color: #939dad;
  background-color: #e9ecf2;
  border-color: #c0c5cc;
}
.header-new button.header-more-button.is-current {
  color: #ffffff;
  background-color: #697180;
  border-color: transparent;
}

/* header-global-nav
-------------------------*/
.header-new nav.header-global-nav {
  display: none;
  width: 100%;
  height: calc(100vh - var(--header-height));
  height: calc(100dvh - var(--header-height));
  background: #ffffff;
  border: none;
  position: absolute;
  left: 0;
  z-index: 10000001;
  overflow-y: hidden;
}
.header-new nav.header-global-nav.is-fixed {
  position: fixed;
  top: var(--header-height);
}
/* header-gnav-container
-------------------------*/
.header-gnav-container {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  overscroll-behavior-y: contain;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.header-gnav-container::-webkit-scrollbar {
  display: none;
}

/* header-gnav
-------------------------*/
.header-gnav {
  width: 100%;
  height: 100%;
  background-color: #ffffff;
}

@media screen and (max-width: 767px) {
  .header-gnav {
    display: block;
  }

  .header-gnav[data-device='pc'] {
    display: none;
  }
}

@media print, screen and (min-width: 768px) {
  .header-gnav {
    display: flex;
    flex-direction: column;
  }

  .header-gnav[data-device='sp'] {
    display: none;
  }
}

/* header-gnav-head
-------------------------*/
@media print, screen and (min-width: 768px) {
  .header-gnav-head {
    padding: 32px 48px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1024px) {
  .header-gnav-head {
    padding: 32px 20px;
  }
}
@media screen and (max-width: 767px) {
  .header-gnav-head {
    background-color: #f5f7fa;
    padding: 16px 0;
  }
}
.header-gnav-head__inner {
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  .header-gnav-head__inner {
    display: flex;
    gap: 16px;
    max-width: 1280px;
    width: 100%;
    padding: 0 20px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1024px) {
  .header-gnav-head__inner {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .header-gnav-head__inner {
    width: calc(335 / 375 * 100%);
  }
}
.header-gnav-head__col {
  width: calc(100% / 5);
}
.header-gnav-head__heading--language {
  padding-top: 24px;
  border-top: 1px solid #c0c5cc;
  margin-top: 24px;
}
.header-gnav-head__heading--language.header-gnav-heading {
  font-size: 14px !important;
  border-top: 1px solid #c0c5cc;
  margin-top: 24px;
}
.header-gnav-head__heading + .header-gnav-head__links,
.header-gnav-head__heading + .header-gnav-head__sub-heading {
  margin-top: 16px;
}
.header-gnav-head__heading.header-gnav-head__heading--language
  + .header-gnav-head__links {
  margin-top: 8px;
}
@media print, screen and (min-width: 768px) {
  .header-gnav-head__links + .header-gnav-head__heading {
    margin-top: 32px;
  }
  .header-gnav-head__links + .header-gnav-head__sub-heading {
    margin-top: 16px;
  }
}

/* header-gnav-body
-------------------------*/
@media screen and (max-width: 767px) {
  .header-gnav-body {
    padding-top: 24px;
  }
}
@media screen and (max-width: 767px) {
  .header-gnav-body__inner {
    padding: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .header-gnav-body__links {
    margin-top: 8px;
  }
}
@media screen and (max-width: 767px) {
  .header-gnav-body__pulldown {
    margin-top: 16px;
  }
  .header-gnav-body__pulldown + .header-gnav-body__heading {
    margin-top: 32px !important;
  }
}

/* header-gnav-heading
-------------------------*/
.header-gnav-heading {
  font-weight: bold;
  color: #2c2a29;
  line-height: 1.3;
  text-align: left;
  border: none;
}
@media print, screen and (min-width: 768px) {
  .header-gnav-heading {
    font-size: 20px !important;
  }
}
@media screen and (max-width: 767px) {
  .header-gnav-heading {
    font-size: 16px !important;
    margin: 0 !important;
  }
}
.header-gnav-heading span {
  font-size: inherit;
  font-weight: inherit;
  position: unset;
}
.header-new a.header-gnav-heading__link {
  display: flex;
  align-items: center;
  color: #2c2a29;
  transition: color 0.3s;
  cursor: pointer;
}
.header-gnav-heading__icon {
  margin-left: 8px;
}
@media (hover: hover) {
  .header-new a.header-gnav-heading__link:hover {
    color: #140d77;
  }
  .header-new
    a.header-gnav-heading__link:hover
    .header-gnav-heading__icon
    path {
    fill: #140d77;
  }
}

/* header-gnav-sub-heading
-------------------------*/
.header-gnav-sub-heading {
  font-weight: bold;
  font-size: 14px;
  color: #2c2a29;
  text-align: left;
}

/* header-gnav-links
-------------------------*/
@media print, screen and (min-width: 768px) {
  .header-gnav-links {
    display: block;
    margin-top: 8px;
  }
}
@media screen and (max-width: 767px) {
  .header-gnav-links {
    display: flex;
    justify-content: space-between;
    gap: 4px;
    width: 100%;
  }
}
@media print, screen and (min-width: 768px) {
  .header-gnav-links__item + .header-gnav-links__item {
    margin-top: 8px;
  }
}
@media screen and (max-width: 767px) {
  .header-gnav-links__item {
    display: flex;
    width: calc(80 / 335 * 100%);
  }
}
.header-new a.header-gnav-links__link {
  transition: color 0.3s;
}
.header-new a.header-gnav-links__link.is-blank {
  display: flex;
  align-items: center;
}
@media print, screen and (min-width: 768px) {
  .header-new a.header-gnav-links__link {
    display: block;
    font-size: 14px;
    line-height: 20px;
    color: #2c2a29;
  }
}
@media screen and (max-width: 767px) {
  .header-new a.header-gnav-links__link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    text-align: center;
    min-height: 80px;
    background-color: #f5f7fa;
    border-radius: 8px;
    position: relative;
  }
  .header-new a.header-gnav-links__link span {
    color: #2c2a29;
    font-size: 12px;
    line-height: 1.3;
  }
  .header-gnav-links__icon {
    margin-bottom: 4px;
  }
  .header-gnav-links--overseas
    .header-gnav-links__link
    .header-gnav-links__icon
    path {
    fill: #4094f8;
  }
  .header-gnav-links--domestic
    .header-gnav-links__link
    .header-gnav-links__icon
    path {
    fill: #2ea307;
  }
}
@media (hover: hover) {
  .header-gnav-links__link:hover {
    color: #140d77;
    -webkit-text-decoration: 1px underline #140d77;
            text-decoration: 1px underline #140d77;
  }
  .header-gnav-links__link:hover.is-blank::after {
    background-color: #140d77;
  }
}
.header-gnav-links__link.is-current {
  color: #939dad !important;
  pointer-events: none;
}

/* header-gnav-foot
-------------------------*/
.header-gnav-foot {
  background-color: #f5f7fa;
  padding: 9px 0;
  margin-top: auto;
}

.header-gnav-foot__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

/* header-gnav-list
-------------------------*/
@media screen and (max-width: 767px) {
  .header-gnav-list {
    margin-top: 35px;
  }
}
@media screen and (max-width: 767px) {
  .header-gnav-list__item {
    border-top: 1px solid #c0c5cc;
  }
}

/* header-search
-------------------------*/
.header-search {
  display: inline-flex;
  align-items: center;
  height: 50px;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .header-search {
    width: 100%;
  }
}
.header-search__label {
  display: block;
  width: 268px;
  height: 100%;
  font-size: 14px;
  line-height: 1.5;
  border-style: solid;
  border-width: 1px 0 1px 1px;
  border-color: #939dad;
  border-radius: 8px 0 0 8px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .header-search__label {
    width: 100%;
  }
}
.header-new input.header-search__input {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  padding: 16px 8px !important;
  border: none;
  border-radius: 0;
  text-indent: 0;
  cursor: auto;
}
.header-search__input::-moz-placeholder {
  color: #939dad;
}
.header-search__input::placeholder {
  color: #939dad;
}
.header-new button.header-search__button {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  height: 100%;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.3;
  color: #ffffff;
  background-color: #10069f !important;
  padding: 15px 12px 17px !important;
  transition: 0.3s;
}
.header-search__icon {
  margin-right: 4px;
  margin-top: 2px;
}
@media (hover: hover) {
  .header-new button.header-search__button:hover {
    background-color: #140d77 !important;
  }
}

/* otherService
-------------------------*/
.otherService {
  display: block;
  width: 100%;
}
.otherService__heading {
  font-weight: bold;
  color: #2c2a29;
  text-align: left;
  border: none;
}
.otherService__icon {
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .otherService__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 16px !important;
    line-height: 1.5;
    padding: 16px 20px;
    cursor: pointer;
    position: relative;
    transition: color 0.3s;
    margin: 0 !important;
  }
  .otherService__heading.is-opened .otherService__icon {
    transform: rotate(180deg);
  }
}
.otherService__contents {
  display: none;
}
.otherService__sub-heading {
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
  color: #2c2a29;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .otherService__sub-heading {
    padding: 8px 20px;
  }
}
@media screen and (max-width: 767px) {
  .otherService__links {
    background-color: #f5f7fa;
  }
}
.header-new a.otherService__link {
  display: block;
  color: #2c2a29;
  transition: color 0.3s;
}
.header-new a.otherService__link.is-blank {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .header-new a.otherService__link {
    padding: 12px 40px;
    font-size: 14px;
  }
}
@media (hover: hover) {
  .header-new a.otherService__link:hover {
    color: #140d77;
  }
}

/* store
-------------------------*/
@media screen and (max-width: 767px) {
  .store {
    display: flex;
    align-items: center;
    gap: 1em;
    width: 100%;
    padding: 15px 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .store__heading {
    font-size: 14px !important;
    line-height: 1.5;
    border: none;
    margin: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .store__heading {
    width: 50%;
    font-weight: bold;
    font-size: 16px !important;
    line-height: 1.5;
    text-align: left;
    border: none;
    margin: 0 !important;
  }
}
.header-new a.store__link {
  color: #2c2a29;
  transition: color 0.3s;
}
@media (hover: hover) {
  .header-new a.store__link:hover {
    color: #140d77;
  }
}

/* corporate
-------------------------*/
.corporate {
  font-weight: bold;
  border: none;
}
@media print, screen and (min-width: 768px) {
  .corporate {
    font-size: 20px;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  .corporate {
    font-size: 16px !important;
    line-height: 1.5;
    padding: 15px 20px;
    text-align: left;
    margin: 0 !important;
  }
}
@media print, screen and (min-width: 768px) {
  .header-new a.corporate__link {
    display: flex;
    color: #2c2a29;
    align-items: center;
    transition: color 0.3s;
  }
}
@media (hover: hover) {
  .header-new a.corporate__link:hover {
    color: #140d77;
  }
  .header-new a.corporate__link:hover::after {
    background-color: #140d77;
  }
}
@media screen and (max-width: 767px) {
  .header-new a.corporate__link {
    display: inline-flex;
    color: #2c2a29;
  }
}

/* language
-------------------------*/
@media screen and (max-width: 767px) {
  .language {
    display: flex;
    align-items: center;
    gap: 24px;
    width: 100%;
    padding: 15px 20px;
  }
}
@media screen and (max-width: 767px) {
  .language__heading {
    font-size: 14px !important;
    font-weight: bold;
    line-height: 1.5;
    color: #2c2a29;
    border: none;
    margin: 0 auto !important;
  }
}
@media screen and (max-width: 767px) {
  .language__list {
    display: flex;
    align-items: center;
    gap: 24px;
    width: 100%;
    font-size: 12px;
    line-height: 1.5;
  }
}
.header-new a.language__link {
  display: inline-flex;
  color: #2c2a29;
  transition: color 0.3s;
}
@media (hover: hover) {
  .header-new a.language__link:hover {
    color: #140d77;
  }
}
.header-new a.language__link.is-current {
  color: #939dad;
  pointer-events: none;
}

/* header-other-links
-------------------------*/
.header-other-links {
  display: flex;
  align-items: center;
  font-size: 12px;
  line-height: 16px;
  color: #2c2a29;
}
@media print, screen and (min-width: 768px) {
  .header-other-links {
    margin-left: 32px;
  }
}
@media screen and (max-width: 767px) {
  .header-other-links {
    justify-content: center;
    padding: 8px 20px;
  }
}
.header-other-links__item {
  display: flex;
  align-items: center;
}
.header-other-links__item + .header-other-links__item::before {
  content: '';
  display: inline-flex;
  width: 1px;
  height: 16px;
  background-color: #c0c5cc;
  margin: 0 16px;
}
.header-other-links__link {
  color: #2c2a29;
  transition: color 0.3s;
}
@media (hover: hover) {
  .header-other-links__link:hover {
    color: #140d77;
    text-decoration: underline;
  }
}

/* header-pulldown
-------------------------*/
.header-pulldown {
  display: block;
  border: 1px solid #c0c5cc;
  border-radius: 8px;
  overflow: hidden;
  font-size: 14px;
  line-height: 1.5;
}
.header-new button.header-pulldown__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  text-align: left;
  line-height: 1.5;
  padding: 8px 8px 8px 16px !important;
  position: relative;
}
.header-pulldown__icon {
  transition: all 0.3s;
}
.header-new button.header-pulldown__button.is-opened .header-pulldown__icon {
  transform: rotate(180deg);
}
.header-pulldown__links {
  display: none;
  background-color: #f5f7fa;
  padding: 4px 0;
}
.header-new a.header-pulldown__link {
  display: block;
  color: #2c2a29;
  padding: 8px 15px;
}
@media screen and (max-width: 767px) {
  .header-pulldown__link--top {
    display: flex;
    align-items: center;
    font-size: 16px;
    color: #697180;
  }
}

/*-------------------------
  フッター
-------------------------*/
/* footer
-------------------------*/
.footer-new {
  width: auto;
  background-color: #fff;
  position: relative;
}

.footer__body {
  background-color: #f5f7fa;
}

@media print, screen and (min-width: 768px) {
  .footer__body {
    padding: 0 48px;
  }
}

/* footer-main-logo
-------------------------*/
.footer-top-button {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  box-shadow: 0px 2px 6px #00000026;
  background-color: #ffffff;
  position: relative;
  transition: background-color 0.3s;
}

@media screen and (max-width: 767px) {
  .footer-top-button {
    width: 44px;
    height: 44px;
    background-size: 18px 10px;
  }
  .footer-top-button__icon svg {
    width: 24px;
    height: 24px;
  }
}

@media print, screen and (min-width: 768px) {
  .footer-top-button {
    width: 24px;
    height: 24px;
    background-size: 10px 6px;
  }

  .footer-top-button::before {
    content: 'ページトップ';
    font-size: 14px;
    color: #697180;
    text-decoration: none;
    padding-right: 8px;
    position: absolute;
    left: -92px;
    top: 4px;
    transition: -webkit-text-decoration 0.3s;
    transition: text-decoration 0.3s;
    transition: text-decoration 0.3s, -webkit-text-decoration 0.3s;
  }
}

@media (hover: hover) {
  .footer-top-button:hover {
    background-color: #eff7ff;
  }
  .footer-top-button:hover::before {
    text-decoration: underline;
  }
  .footer-top-button:hover .footer-top-button__icon {
    fill: #140d77;
  }
}

/* footer-main-logo
-------------------------*/
.footer-main-logo__link {
  display: block;
  transition: opacity 0.3s;
}

@media screen and (min-width: 768px) {
  .footer-main-logo__link {
    width: 101.8px;
  }
}

@media print, screen and (max-width: 767px) {
  .footer-main-logo__link {
    width: 127px;
    margin: 0 auto;
  }
}

@media (hover: hover) {
  .footer-main-logo__link:hover {
    opacity: 0.9;
  }
}

/* footer-nav-item
-------------------------*/
.footer-nav-item__heading {
  font-size: 14px !important;
  line-height: 1.5;
  font-weight: bold;
  color: #2c2a29;
  text-align: left;
  border: none;
  margin: 0 !important;
}
.footer-nav-item__list {
  margin-top: 8px;
}

/* footer-nav-list
-------------------------*/
.footer-nav-list__item {
  font-size: 12px;
  line-height: 1.5;
}

.footer-new a.footer-nav-list__link {
  color: #2c2a29;
  text-decoration: none;
  transition: -webkit-text-decoration 0.3s;
  transition: text-decoration 0.3s;
  transition: text-decoration 0.3s, -webkit-text-decoration 0.3s;
}

@media screen and (min-width: 768px) {
  .footer-nav-list__item + .footer-nav-list__item {
    margin-top: 8px;
  }
}

@media print, screen and (max-width: 767px) {
  .footer-nav-list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }
}

@media (hover: hover) {
  .footer-new a.footer-nav-list__link:hover {
    text-decoration: underline;
  }
}

/* footer-confirmation
-------------------------*/
.footer-confirmation__heading {
  color: #2c2a29;
  font-weight: bold;
  text-align: center;
  border: none;
}

.footer-confirmation__buttons {
  margin: 16px auto 0;
}

@media screen and (max-width: 767px) {
  .footer-confirmation__heading {
    font-size: 16px !important;
  }
}

@media print, screen and (min-width: 768px) {
  .footer-confirmation__heading {
    font-size: 20px !important;
  }
}

/* footer-buttons
-------------------------*/
.footer-buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer-buttons__item {
  max-width: 256px;
}

.footer-buttons__item + .footer-buttons__item {
  margin-top: 16px;
}

/* footer-head
-------------------------*/
.footer__head {
  border-top: 1px solid #c0c5cc;
}
.footer-head__inner {
  display: flex;
  position: relative;
}

.footer-head__top-button {
  position: absolute;
}

.footer-new nav.footer-head__nav {
  display: flex;
  background: #fff;
  border-bottom: none;
}

@media screen and (min-width: 768px) {
  .footer__head {
    padding: 16px 48px 64px;
  }

  .footer-head__inner {
    justify-content: space-between;
    max-width: 1104px;
    padding-top: 40px;
    margin: 0 auto;
  }

  .footer-head__top-button {
    top: 0;
    right: 0;
  }

  .footer-head__logo {
    width: calc((170 / 1100) * 100%);
  }

  .footer-new nav.footer-head__nav {
    width: calc((560 / 1100) * 100%);
    order: 1;
    margin-left: auto;
  }

  .footer-head__nav-item {
    width: calc(100% / 3);
    border-right: 1px solid #c0c5cc;
    padding: 0 20px;
  }

  .footer-head__confirmation {
    width: calc((370 / 1100) * 100%);
    order: 2;
    padding-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .footer-head__inner {
    width: 100%;
    flex-direction: column;
    padding: 40px 20px;
  }

  .footer-head__top-button {
    top: 16px;
    right: 20px;
  }

  .footer-head__logo {
    width: 100%;
    order: 0;
  }

  .footer-new nav.footer-head__nav {
    flex-direction: column;
    border-top: 1px solid #c0c5cc;
    margin-top: 45px;
  }

  .footer-head__nav-item {
    margin-top: 24px;
  }

  .footer-head__confirmation {
    width: 100%;
    margin-top: 40px;
  }
}

@media print {
  .footer__head {
    display: none;
  }
}

/* footer-body
-------------------------*/
@media screen and (min-width: 768px) {
  .footer-body {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .footer-body__inner {
    max-width: 1104px;
    margin: 0 auto;
  }

  .footer-body__item + .footer-body__item {
    margin-top: 64px;
  }
}

@media screen and (max-width: 767px) {
  .footer-category {
    border-top: 1px solid #c0c5cc;
  }
}

@media print {
  .footer-body {
    display: none;
  }
}

/* footer-category
-------------------------*/
.footer-category--links {
  display: flex;
  flex-wrap: wrap;
}

.footer-category__large-heading {
  color: #2c2a29;
  border: none;
}

.footer-category-large-heading__link {
  display: block;
  color: #2c2a29;
  transition: opacity 0.3s;
}

@media (hover: hover) {
  .footer-category-large-heading__link:hover,
  .footer-category-large-heading__sp-link:hover {
    text-decoration: underline;
  }
}

@media print, screen and (min-width: 768px) {
  .footer-category--links {
    -moz-column-gap: 24px;
         column-gap: 24px;
    row-gap: 20px;
  }

  .footer-category__contents {
    display: block !important;
    margin-top: 24px;
  }

  .footer-category__large-heading {
    display: inline-flex;
    font-size: 26px;
    font-weight: normal;
  }

  .footer-category-large-heading__sp {
    display: none;
  }

  .footer-category-large-heading__link {
    position: relative;
    font-weight: normal;
  }
}

@media screen and (max-width: 767px) {
  .footer-category__contents {
    display: none;
    width: 100%;
    background-color: #ffffff;
    margin-top: 0;
  }

  .footer-category__large-heading {
    font-size: 16px !important;
    line-height: 1.5;
    padding: 16px 20px;
    font-weight: bold;
    text-align: left;
    margin: 0 !important;
  }

  .footer-category:not(.footer-category--links)
    .footer-category__large-heading {
    cursor: pointer;
    position: relative;
    transition: color 0.3s;
  }

  .footer-category-large-heading__sp {
    display: block;
    font-size: 14px;
    padding: 8px 20px;
  }
  .footer-new a.footer-category-large-heading__sp-link {
    color: #2c2a29;
  }

  .footer-category:not(.footer-category--links)
    .footer-category__accordion
    .footer-category-large-heading__link {
    pointer-events: none;
  }

  .footer-category--links .footer-category__large-heading {
    width: 50%;
  }
  .footer-category--links .footer-category-large-heading:nth-child(2n + 1) {
    border-top: 1px solid #c0c5cc;
    margin-top: -1px;
  }
  .footer-category--links .footer-category-large-heading:nth-child(2n) {
    border-bottom: 1px solid #c0c5cc;
  }
  .footer-category--links .footer-category-large-heading:first-child,
  .footer-category--links
    .footer-category-large-heading:nth-child(2n):last-child {
    border: 0;
  }
  .footer-category--links .footer-category-large-heading__link {
    display: inline-block;
  }

  @media (hover: hover) {
    .footer-category-large-heading:hover {
      color: #140d77;
    }
    .footer-category__large-heading:hover.footer-category__large-heading::before {
      background-color: #140d77;
    }
    .footer-category:not(.footer-category--links)
      .footer-category__large-heading:hover
      .footer-category-large-heading__link {
      color: #140d77;
    }
  }
}

/* footer-category-heading
-------------------------*/
.footer-category-heading {
  font-size: 14px;
  font-weight: bold;
  color: #2c2a29;
  text-align: left;
}
.footer-category-heading__link {
  color: #2c2a29;
}
.footer-new a.footer-category-heading__sp-link {
  color: #2c2a29;
}

@media (hover: hover) {
  .footer-category-heading__link:hover,
  .footer-new a.footer-category-heading__sp-link:hover {
    text-decoration: underline;
  }
}

@media print, screen and (min-width: 768px) {
  .footer-category-heading + .footer-body-nav {
    margin-top: 16px;
  }

  .footer-category-heading + .footer-body-nav--full {
    margin-top: 8px;
  }
  .footer-category-heading__sp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .footer-category-heading {
    position: relative;
    border-top: 1px solid #c0c5cc;
    padding: 16px 20px;
    cursor: pointer;
    transition: color 0.3s;
    font-size: 16px;
  }
  .footer-category-heading__sp {
    display: block;
    font-size: 14px;
    padding-bottom: 16px;
  }
  .footer-category-heading__link {
    pointer-events: none;
  }

  @media (hover: hover) {
    .footer-category-heading:hover {
      color: #140d77;
    }

    .footer-category-heading:hover::before {
      background-color: #140d77;
    }
  }
}

/* footer-body-nav
-------------------------*/
.footer-body-nav__row {
  display: flex;
  align-items: baseline;
}

.footer-body-nav__row + .footer-body-nav__row {
  margin-top: 16px;
}

.footer-body-nav__heading {
  width: 72px;
  font-size: 12px;
  color: #2c2a29;
  font-weight: bold;
}

.footer-body-nav__heading + .footer-body-nav__list {
  margin-left: 24px;
}

.footer-body-nav__list {
  width: calc(100% - 96px);
  display: flex;
  flex-wrap: wrap;
}

.footer-body-nav--full .footer-body-nav__list {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .footer-body-nav {
    display: block !important;
  }

  .footer-body-nav--full + .footer-body-nav--full {
    margin-top: 32px;
  }

  .footer-body-nav + .footer-category-heading {
    margin-top: 40px;
  }

  .footer-body-nav__list {
    align-items: center;
  }
}

@media screen and (max-width: 767px) {
  .footer-body-nav[id] {
    display: none;
  }
  .footer-body-nav {
    padding: 8px 20px 17px;
  }
  .footer-body-nav + .footer-body-nav {
    border-top: 1px solid #c0c5cc;
    padding-top: 17px;
  }
}

/* footer-body-nav-list
-------------------------*/
.footer-body-nav-list__item {
  font-size: 0;
}

.footer-body-nav-list__item:not(:last-of-type) {
  position: relative;
}

.footer-body-nav-list__item:not(:last-of-type)::after {
  content: '';
  width: 1px;
  height: 16px;
  background-color: #c0c5cc;
  position: absolute;
  top: 0;
  right: 0;
}

.footer-new a.footer-body-nav-list__link {
  display: inline-block;
  font-size: 12px;
  color: #2c2a29;
  line-height: 16px;
  transition: -webkit-text-decoration 0.3s;
  transition: text-decoration 0.3s;
  transition: text-decoration 0.3s, -webkit-text-decoration 0.3s;
}

@media (hover: hover) {
  .footer-new a.footer-body-nav-list__link:hover {
    text-decoration: underline;
  }
}

.footer-body-nav-list--pickup .footer-body-nav-list__item {
  padding-right: 0px;
}

.footer-body-nav-list--pickup .footer-body-nav-list__item::after {
  content: none;
}

.footer-body-nav-list--pickup .footer-new a.footer-body-nav-list__link {
  font-size: 14px;
}

@media print, screen and (min-width: 768px) {
  .footer-body-nav-list {
    gap: 8px;
  }
  .footer-body-nav-list__item:not(:last-of-type) {
    padding-right: 8px;
  }

  .footer-body-nav-list--pickup {
    -moz-column-gap: 24px;
         column-gap: 24px;
    row-gap: 16px;
  }
}
@media screen and (max-width: 767px) {
  .footer-body-nav-list {
    gap: 16px;
  }
  .footer-body-nav-list__item:not(:last-of-type) {
    padding-right: 16px;
  }

  .footer-body-nav-list--pickup {
    flex-direction: column;
    row-gap: 23px;
  }
}

/* footer-foot
-------------------------*/
.footer-foot {
  padding: 24px 48px;
}

.footer-foot__inner {
  display: flex;
  width: 100%;
}

.footer-foot__copyright {
  font-size: 10px;
  color: #697180;
}

@media print, screen and (min-width: 768px) {
  .footer-foot__inner {
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: center;
    max-width: 1104px;
    margin: 0 auto;
  }

  .footer-foot__logos {
    margin-left: 1em;
  }
}

@media screen and (max-width: 767px) {
  .footer-foot__inner {
    flex-direction: column;
  }

  .footer-foot__copyright {
    text-align: center;
    margin-top: 16px;
  }
}

@media print {
  .footer-foot {
    padding: 24px;
    border-top: 1px solid #c0c5cc;
  }
}

/* footer-foot-logos
-------------------------*/
.footer-foot-logos {
  display: flex;
}

.footer-foot-logos__item {
  display: block;
  width: 60px;
  height: 60px;
}

@media (hover: hover) {
  .footer-foot-logos__item:hover {
    opacity: 0.8;
  }
}

.footer-foot-logos__item + .footer-foot-logos__item {
  margin-left: 16px;
}

@media screen and (max-width: 767px) {
  .footer-foot-logos {
    justify-content: center;
  }
}

/* footer-foot-logos
-------------------------*/
.footer-pill-button {
  width: 100%;
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  text-decoration: none;
  background-color: #10069f;
  padding: 10px 16px;
  border-radius: 100px;
  transition: background-color 0.3s;
}

.footer-pill-button__text {
  font-size: 16px;
  font-weight: bold;
  color: #ffffff;
}

.footer-pill-button__text span {
  font-size: 12px;
  color: #fff !important;
}

@media (hover: hover) {
  .footer-pill-button:hover {
    background-color: #140d77;
  }
}

/* footer-pulldown
-------------------------*/
.footer-pulldown {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media print, screen and (min-width: 768px) {
  .footer-pulldown__icon {
    display: none;
  }
  .footer-category-large-heading__link .footer-pulldown__icon {
    display: block;
    transform: rotate(-90deg);
    margin-top: 4px;
    margin-left: 8px;
  }
}
@media screen and (max-width: 767px) {
  .footer-pulldown__icon {
    transition: all 0.3s;
  }
  .footer-category__large-heading.is-opened .footer-pulldown__icon,
  .footer-category-heading.is-opened .footer-pulldown__icon {
    transform: rotate(180deg);
  }
}

html{font-size:16px;line-height:1.5;font-family:"Noto Sans JP",sans-serif;container-type:inline-size}body{margin:0}#site-copy{display:none;visibility:hidden}
