@charset "utf-8";
@font-face {
  font-family: 'Material Symbols Rounded';
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url(/tyo/common/font/MaterialSymbolsRounded.woff2) format('woff2');
}
:root {
  --default-color-blue1: #152646;
  --default-color-blue2: #11234c;
  --default-color-gold: #a98b13;
  --default-color-red: #ae0e0e;
  --default-font-size-pc: 16px;
  --default-font-size-sp: calc(24vw / 7.5);
  --default-font-size: min(var(--default-font-size-sp), var(--default-font-size-pc));
  --default-font-lh: 1.5;
  --default-font-lh2: 1.8;
  --default-width-sp-val: 654;
  --default-width-pc-val: 992;
  --default-width-sp: (654vw / 7.5);
  --default-width-pc: 992px;
  --default-width: min(var(--default-width-sp), var(--default-width-pc));
  --default-width2: min(100%, var(--default-width-pc));
  --default-bg-width-pc: max(100%, 1920px);
  --default-ff-icon: "Material Symbols Rounded";
  --default-ico-arrow-r: "\e5e1";
  --default-ico-blank: "\e89e";
  --default-hover-speed: .3s;
  --default-hover-opacity: .75;
  --default-hover-transition-opacity: opacity var(--default-hover-speed);
  --default-hover-transition-background: background var(--default-hover-speed);
  --default-hover-transition-color: color var(--default-hover-speed);
  --default-animation-loop: linear infinite;
  --gnavi-h: min((60vw / 7.5), 46px);
  --hisnav-h: 77px;
  --breadcrumb-h: 34px;
}
@media (width > 767px) {
  --hisnav-h: 69px;
}
.material-symbols-rounded {
  font-family: var(--default-ff-icon);
  font-weight: normal;
  font-style: normal;
  font-size: 1em;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}
/*------------------------------------------------*/
/*★ リセット ★*/
.main {
  div:not([class])::after {
    content: none;
  }
  a {
    text-decoration: none;
  }
  .is-em {
    font-weight: bold;
  }
}
#topbuttonApp, #searchArea {
  position: relative;
  z-index: 1;
}
.ui-static-breadcrumb {
  min-height: var(--breadcrumb-h);
}
/*------------------------------------------------*/
/*★ ページスタイル設定 ★*/
#hisApp {
  position: relative;
  overflow: hidden;
}
.main {
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--default-font-size);
  color: var(--ui-static-black);
  line-height: var(--default-font-lh);
  padding-bottom: 0 !important;
  a[class*="link"]:not([class*="base-button"]) {
    color: inherit;
  }
}
.is-inline-block {
  display: inline-block;
}
.is-indent-1, .section [class*="notes--item"] {
  text-indent: -1em;
  padding-left: 1em;
}
.is-sp .is-dsp-pc, .is-pc .is-dsp-sp {
  display: none !important;
}
.js-accordion-button {
  cursor: pointer;
  + * {
    display: none;
  }
}
.js-toggleControl:not([class*="active"]) {
  cursor: pointer;
}
/*.float-button*/
.float-button {
  color: #fff;
  position: fixed;
  top: min((80vw / 7.5), 80px);
  right: 14px;
  translate: var(--floatbtn-posi-x, 200%) 0;
  transition: translate .7s;
  z-index: 10;
  &.is-fixed:not(.is-over) {
    --floatbtn-posi-x: 0
  }
}
.float-button__link {
  --size: min((150vw / 7.5), 146px);
  width: var(--size);
  height: var(--size);
  font-size: min((24vw / 7.5), 26px);
  line-height: calc(30 / 26);
  font-weight: bold;
  text-align: center;
  border: min((6vw / 7.5), 6px) solid;
  border-radius: 100%;
  background: #0c112e;
  display: grid;
  justify-items: center;
  align-items: center;
  position: relative;
  box-shadow: min((3vw / 7.5), 3px) min((3vw / 7.5), 3px) 0px 0px rgba(0, 0, 0, .5);
  &::before {
    content: "";
    width: 100%;
    height: 100%;
    background: url("../images/float_button_bg.webp") no-repeat center center / cover;
    opacity: var(--floatbtn-opacity, 1);
    position: absolute;
    top: 0;
    left: 0;
  }
  &::after {
    content: var(--default-ico-arrow-r);
    font-family: var(--default-ff-icon);
    font-size: .75em;
    line-height: 1;
    height: 1em;
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% -50%;
    rotate: 90deg;
  }
  .float-button__text {
    position: relative;
    z-index: 1;
  }
}
/*.base-button*/
.base-button {
  &.is-bg-white {
    --btn-fc: var(--default-color-blue1);
    --btn-bg: #fff;
    --btn-bc: var(--default-color-blue1);
  }
  &.is-type-B {
    --btn-size-h: min((90vw / 7.5), 46px);
    --btn-fs: min((28vw / 7.5), 16px);
    --btn-size-w: min((560vw / 7.5), 560px);
    .is-pc & {
      --btn-size-w: 300px;
    }
  }
  .ui-static-button {
    &, &:not(.active):not(:disabled):active, &:focus, &.active, &.focused {
      background: var(--btn-bg, var(--default-color-gold));
      border-color: var(--btn-bc, #fff);
      color: var(--btn-fc, #fff);
      font-size: var(--btn-fs, min((28vw / 7.5), 22px));
      font-weight: bold;
      line-height: 1.2;
      text-align: center;
      padding: .2em var(--btn-pr, min((22vw / 7.5), 22px)) .3em var(--btn-pl, min((35vw / 7.5), 35px));
      height: var(--btn-size-h, min((90vw / 7.5), 80px));
      min-width: var(--btn-size-w, min((600vw / 7.5), 500px));
      border-radius: min((10vw / 7.5), 10px);
      display: grid;
      align-items: center;
      gap: .25em;
      margin: auto;
      &:has(.ui-static-icon) {
        grid-template-columns: 1fr auto;
      }
      .ui-static-icon {
        --wght: 400;
        color: inherit;
        font-size: 1.5em;
        line-height: .5;
        position: static;
        transform: translateY(.05em);
        .is-type-blank & {
          font-size: 1em;
        }
      }
      .base-button:not(.is-type-B) & {
        grid-template-columns: auto 1fr;
        &:has(.ui-static-icon) {
          grid-template-columns: auto 1fr auto;
        }
        &::before {
          content: "";
          background: var(--btn-snow-bg, currentColor);
          mask: url("../images/link_kazari.svg") no-repeat center center / contain;
          width: min((32vw / 7.5), 29px);
          height: min((38vw / 7.5), 34px);
        }
      }
    }
  }
}
/*.base-textlink*/
.base-textlink {
  .ui-static-link {
    display: inline-block;
  }
  .base-textlink__texts {
    display: flex;
    align-items: center;
    gap: .25em;
    color: var(--default-color-red);
    font-size: var(--default-font-size);
    line-height: 1.2;
    .ui-static-icon {
      --wght: 400;
      color: inherit !important;
      font-size: 1.5em;
      transform: translateY(.05em);
      .is-type-blank & {
        font-size: 1em;
      }
    }
  }
}
/*slider*/
#pageApp {
  .splide {
    --slider-pagination-bg: var(--default-color-purple);
    --slider-pagination-size: min((14vw / 7.5), 10px);
    padding-bottom: var(--slider-yohaku-btm, min((50vw / 7.5), 32px));
  }
  .splide:not(:has(.splide__pagination li:nth-child(2))) {
    --slider-yohaku-btm: 0;
    .splide__list {
      justify-content: center;
    }
    .splide__pagination {
      display: none;
    }
  }
  .is-sp & {
    .splide:not(:has(.splide__pagination li: nth-child(2))) {
      --slider-yohaku-btm: 0;
      .splide__list {
        justify-content: center;
      }
      .splide__pagination {
        display: none;
      }
    }
  }
  .is-pc & {
    --slider-yohaku-btm: 32px;
    .splide__arrow {
      transform: translateY(calc(-50% - (var(--slider-yohaku-btm) / 2)));
    }
  }
  .splide__track {
    overflow: visible;
  }
  .splide__list {
    gap: var(--slider-gap);
  }
  .splide__slide {
    width: var(--slider-item-w);
  }
  .splide__arrow {
    --slider-arrow-size: 50px;
    --slider-arrow-icon-size: 40%;
    background: var(--default-color-gold);
    width: var(--slider-arrow-size);
    height: var(--slider-arrow-size);
    opacity: 1;
    transition: opacity .1s;
    &:disabled {
      opacity: 0;
      cursor: default;
    }
    svg {
      fill: #fff;
      width: var(--slider-arrow-icon-size);
      height: var(--slider-arrow-icon-size);
    }
  }
  .splide__arrow--prev {
    left: 0;
  }
  .splide__arrow--next {
    right: 0;
  }
  .splide__pagination {
    bottom: 0;
    gap: var(--slider-pagination-size);
    display: flex;
    li {
      line-height: 0;
    }
  }
  .splide__pagination__page {
    opacity: 1;
    margin: 0;
    width: var(--slider-pagination-size);
    height: var(--slider-pagination-size);
    aspect-ratio: 1;
    background: var(--slider-pagination-bg, #ded8c2);
    border-radius: 50%;
    &.is-active {
      --slider-pagination-size: min((19vw / 7.5), 13px);
      --slider-pagination-bg: var(--default-color-gold);
      transform: scale(1);
    }
  }
}
/*------------------------------------------------*/
/*★ ＝＝ hover ＝＝ ★*/
@media (hover : hover) and (pointer : fine) {
  .float-button__link {
    &::before {
      transition: var(--default-hover-transition-opacity);
    }
    &:hover {
      --floatbtn-opacity: .4;
    }
  }
  .base-button {
    &:not(.is-type-B) {
      .ui-static-button {
        &, &:not(.active):not(:disabled):active, &:focus, &.active, &.focused {
          transition: var(--default-hover-transition-color), var(--default-hover-transition-background);
          &:hover {
            --btn-fc: #fff;
            --btn-bg: var(--default-color-red);
          }
        }
      }
    }
    &.is-type-B {
      .ui-static-button {
        transition: var(--default-hover-transition-opacity);
        &:hover {
          opacity: var(--default-hover-opacity);
        }
      }
    }
  }
  .base-textlink__link {
    &:hover {
      .base-textlink__text {
        text-decoration: underline;
        text-underline-offset: .2em;
      }
    }
  }
  .reco-banner__link {
    transition: var(--default-hover-transition-opacity);
    &:hover {
      opacity: var(--default-hover-opacity);
    }
  }
}