@charset "utf-8";
/* 「果てしなきスカーレット」レスポンシブCSS ベース */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/tyo/common/font/NotoSansJP-500.woff2) format('woff2');
}
@font-face {
  font-family: 'Shippori Mincho';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/tyo/common/font/shippori-mincho-v17-japanese_latin-500.woff2) format('woff2');
}
@font-face {
  font-family: 'Shippori Mincho';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/tyo/common/font/shippori-mincho-v17-japanese_latin-700.woff2) format('woff2');
}
/*★ リセット ★*/
.main div:not([class])::after {
  content: none;
}
.main a {
  text-decoration: none;
}
#footer, #topbuttonApp, #searchArea {
  position: relative;
  z-index: 1;
}
#footer {
  background: #fff;
  padding-top: 40px;
}
#footer .footer {
  margin-top: 0 !important;
}
.breadcrumb__inner {
  width: min(100%, 1024px);
  margin: auto;
  letter-spacing: 0 !important;
}
.is-device-pc :is(#breadcrumbArea, .breadcrumb__contents) {
  height: auto;
  min-height: 28px;
  overflow: auto;
}
.is-device-pc .breadcrumb {
  width: auto;
  margin: 0;
  overflow: hidden;
}
.goTop__link {
  display: none;
}
.goTop__img--pc {
  --gobtn-size: 90px;
  width: var(--gobtn-size);
  height: var(--gobtn-size);
}
.goTop__img--sp {
  --gobtn-size: min((160vw / 7.5), 80px);
  width: var(--gobtn-size);
  height: var(--gobtn-size);
}
/*------------------------------------------------*/
/*★ ページスタイル設定 ★*/
#hisApp {
  position: relative;
  overflow: hidden;
}
:root {
  --default-max-height: 100lvh;
  --default-color-main: #000;
  --default-color-blue: #0a3956;
  --default-color-red: #c21c09;
  --default-color-light-gray: #ebebeb;
  --default-ff-gothic: "Noto Sans JP", sans-serif;
  --default-ff-mincho-shippori: "Shippori Mincho", sans-serif;
  --default-font-size-pc-val: 14;
  --default-font-size-pc: 14px;
  --default-font-size-sp: calc(24vw / 7.5);
  --default-font-size: min(var(--default-font-size-sp), var(--default-font-size-pc));
  --default-width-sp-val: 690;
  --default-width-pc-val: 992;
  --default-width-sp: (690vw / 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-bg-setting: no-repeat center center / cover;
  --default-icon-arw-r: url(../images/icon_arrow_right.svg);
  --default-icon-blank: url(../images/icon_blank.svg);
  --default-icon-close: url(../images/icon_close.svg);
  --default-hover-speed: .3s;
  --default-hover-opacity: .5;
  --default-hover-transition-opacity: opacity var(--default-hover-speed);
}
.main {
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--default-font-size);
  color: var(--default-color-main);
  line-height: calc(34 / var(--default-font-size-sp-val));
  padding-bottom: 0 !important;
}
.is-inline-block {
  display: inline-block;
}
.is-indent-1, .section [class*="notes--item"] {
  text-indent: -1em;
  padding-left: 1em;
}
.section__inner, .contents__wrapper {
  width: var(--default-width);
  margin: auto;
  position: relative;
}
:where([class*="__link"], [class*="--link"]) {
  color: inherit;
  /*&[target="_blank"] {
    --btn-icon: var(--default-icon-blank);
  }
  &[href^="#"]::after {
    transform: rotate(90deg);
  }
  &::after {
    content: "";
    width: 1em;
    height: 1em;
    mask-image: var(--btn-icon, var(--default-icon-arw-r));
    mask-repeat: no-repeat;
    mask-size: cover;
    background: currentColor;
  }*/
}
.main .base-text-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .3em;
}
@media(width < 681px) {
  .is-dsp-pc {
    display: none !important;
  }
}
@media(width >=681px) {
  .is-dsp-sp {
    display: none !important;
  }
}
/*base__button*/
.base__button {
  .base__button--item--link {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid;
    border-radius: 500px;
    width: max-content;
    min-width: min((520vw / 7.5), 333px);
    min-height: min((66vw / 7.5), 57px);
    font-size: min((24vw / 7.5), 18px);
    line-height: 1.2;
    font-weight: bold;
    padding: 0 calc(60em / 24) .2em;
    margin: auto;
    position: relative;
    &::after {
      content: "";
      width: 1em;
      height: 1em;
      mask-image: var(--btn-icon, var(--default-icon-arw-r));
      mask-repeat: no-repeat;
      mask-size: cover;
      background: currentColor;
      position: absolute;
      right: 1em;
    }
    &[target="_blank"] {
      --btn-icon: var(--default-icon-blank);
    }
    &[href^="#"]::after {
      transform: rotate(90deg);
    }
  }
}

/*banner*/
.banner {
  display: flex;
  justify-content: center;
  align-items: center;
}
.banner__link {
  display: block;
  background: #fff;
}
.banner__item {
  display: block;
  width: min((710vw / 7.5), 500px);
  &.is-size-736 {
    width: min((590vw / 7.5), 400px);
  }
  @media(width >=861px) {
    width: min(100%, 992px);
  }
}
/*------------------------------------------------*/
/*★ ＝＝ hover ＝＝ ★*/
@media (hover : hover) and (pointer : fine) {
  .main .base-text-link {
    &:hover {
      text-decoration: none;
    }
  }
}