@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.woff) format('woff');
}*/
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/tyo/common/font/NotoSansJP-900.woff) format('woff');
}
/**/
/*★ リセット ★*/
.main div:not([class])::after {
  content: none;
}
.main a {
  text-decoration: none;
}
.main .is-em {
  font-weight: bold;
}
#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;
}
.headfoot-is-pc :is(#breadcrumbArea, .breadcrumb__contents) {
  height: auto;
  min-height: 28px;
  overflow: auto;
  .breadcrumb {
    width: max-content;
    min-width: 100%;
  }
  .breadcrumb__inner {
    overflow-x: inherit;
  }
}
.is-device-pc .breadcrumb {
  width: auto;
  margin: 0;
  overflow: hidden;
}
.goTop__link {
  display: none;
}
/*------------------------------------------------*/
/*★ ページスタイル設定 ★*/
#hisApp {
  position: relative;
}
:root {
  --default-max-height: 100lvh;
  --default-color-black: #000;
  --default-color-red: #e90000;
  --default-color-red2: #e71f19;
  --default-color-bg: #101010;
  --default-font-size-pc-val: 16;
  --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-width-sp-val: 700;
  --default-width-pc-val: 992;
  --default-width-sp: (710vw / 7.5);
  --default-width-pc: 1100px;
  --default-width: min(var(--default-width-sp), var(--default-width-pc));
  --default-bg-width-pc: max(100%, 1920px);
  --default-hover-speed: .3s;
  --default-hover-opacity: .75;
  --default-hover-transition-opacity: opacity var(--default-hover-speed);
  --default-hover-transition-bg: background var(--default-hover-speed);
  --default-hover-transition-color: color var(--default-hover-speed);
  --default-hover-transition-transform: transform var(--default-hover-speed);
  /*以下不要なもの削除*/
  --default--image-icon-right-white: url("/cmn/icon/icon_arrow_right_white.svg");
  --default--image-icon-down-white: url("/cmn/icon/icon_arrow_down_white.svg");
  --default--image-icon-launch-white: url("/cmn/icon/icon_launch_white.svg");
  --default--image-icon-right-black: url("/cmn/icon/icon_arrow_right_black.svg");
  --default--image-icon-down-black: url("/cmn/icon/icon_arrow_down_black.svg");
  --default--image-icon-launch-black: url("/cmn/icon/icon_launch_black.svg");
  --default-icon-right-white: var(--default--image-icon-right-white) no-repeat center center / cover;
}
.is-pc .js-accordion-button-pc, .is-sp .js-accordion-button-sp, .js-toggleControl:not([class*="active"]) {
  cursor: pointer;
}
:is(.is-pc .js-accordion-button-pc, .is-sp .js-accordion-button-sp) + * {
  display: none;
}
body.is-lock {
  overflow: hidden;
}
#main {
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--default-font-size);
  color: var(--default-color-black);
  line-height: calc(26 / var(--default-font-size-pc-val));
  overflow: hidden;
  padding-bottom: 0 !important;
}
@media(width < 681px) {
  .is-dsp-pc {
    display: none !important;
  }
}
@media(width >=681px) {
  .is-dsp-sp {
    display: none !important;
  }
}
.is-inline-block {
  display: inline-block;
}
.is-indent-1, .section [class*="notes--item"] {
  text-indent: -1em;
  padding-left: 1em;
}
.is-pr-half {
  padding-right: .5em;
}
.toggle__contents:not([class*="--active"]) {
  display: none;
}
.js-open-trigger {
  cursor: pointer;
  position: relative;
}
.js-open-target {
  display: none;
}
.section__inner, .contents__wrapper {
  width: var(--default-width);
  margin: auto;
  position: relative;
}
:is([class*="__link"], [class*="--link"]) {
  color: inherit;
}
/*button*/
.button-base {
  display: flex;
  justify-content: center;
}
.button-base__link {
  --bg: var(--base-bg-color);
  --base-bg-color: #ec9e00;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .5em;
  background: var(--bg);
  min-width: min((500vw / 7.5), 520px);
  min-height: min((85vw / 7.5), 40px);
  padding: .2em min((45vw / 7.5), 40px) .3em;
  font-size: min((26vw / 7.5), 16px);
  line-height: 1.3;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  position: relative;
  text-align: center;
  height: 100%;
  border-radius: 500px;
  &::after {
    content: "";
    width: 1em;
    height: 2em;
    background: var(--default-icon-right-white);
    margin-left: .15em;
  }
  &[href^="#"]::after {
    transform: rotate(90deg);
  }
  &[target="_blank"]:not([href^="#"])::after {
    height: 1em;
    background-image: var(--default--image-icon-launch-white);
  }
}
.button-base__text {
  flex: 1;
}
/*text-link */
.text-link-base {
  text-align: right;
}
.is-sp .text-link-base {
  margin-top: calc(10vw / 7.5);
}
.is-sp .button-base + .text-link-base {
  margin-top: calc(20vw / 7.5);
}
.is-pc .text-link-base {
  margin-top: 10px;
}
.text-link-base__link {
  color: inherit;
  text-decoration: none;
}
.text-link-base__link::after {
  content: "";
  width: 1.5em;
  height: .7em;
  background: var(--default-icon-right-black);
  display: inline-block;
}
/*base-text-link*/
.base-text-link {
  color: var(--textlink-color, inherit);
  text-decoration: none;
  display: inline-block;
  background: url(/cmn/icon/icon_arrow_right_black.svg) no-repeat 0 center / 1.5em;
  padding-left: 1.5em;
}
/*search-button・未調整*/
.search-button {
  position: fixed;
  --posi: min((6vw / 7.5), 10px);
  top: var(--posi);
  right: var(--posi);
  z-index: 10;
  transition: var(--default-hover-transition-transform);
  &.is-over, &:not(.is-fixed) {
    transform: translateX(120%);
  }
}
.search-button__image {
  display: block;
  width: min((220vw / 7.5), 216px);
  aspect-ratio: 216 / 161;
}
/*------------------------------------------------*/
/*★ ＝＝ headerArea ＝＝ ★*/
/*#headerArea {
  &::before {
    background: var(--mv-bg-next, url("../images/mv_photo_02_sp.webp")) no-repeat center center / cover;
  }
  &::after {
    background: var(--mv-bg-now, url("../images/mv_photo_01_sp.webp")) no-repeat center center / cover;
  }
}*/
#mv {
  position: relative;
}
#mv-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.mv-photo {
  inset: 0;
  position: absolute;
  animation: var(--animation-name, mv-slide) 16s var(--mv-bg-delay, 0s) infinite;
  opacity: 0;
  z-index: 1;
  &.is-num-1 {
    --mv-bg-sp: url("../images/mv_photo_01_sp.webp");
    --mv-bg-pc: url("../images/mv_photo_01_pc.webp");
  }
  &.is-num-2 {
    --mv-bg-sp: url("../images/mv_photo_02_sp.webp");
    --mv-bg-pc: url("../images/mv_photo_02_pc.webp");
    --mv-bg-delay: 4s;
  }
  &.is-num-3 {
    --mv-bg-sp: url("../images/mv_photo_03_sp.webp");
    --mv-bg-pc: url("../images/mv_photo_03_pc.webp");
    --mv-bg-delay: 8s;
  }
  &.is-num-4 {
    --mv-bg-sp: url("../images/mv_photo_04_sp.webp");
    --mv-bg-pc: url("../images/mv_photo_04_pc.webp");
    --mv-bg-delay: 12s;
  }
  --mv-bg: var(--mv-bg-sp);
  @media (width >=981px) {
    --mv-bg: var(--mv-bg-pc);
  }
  background: var(--mv-bg) no-repeat center center / cover;
}
@keyframes mv-slide {
  0% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  40% {
    opacity: 0;
    z-index: 2;
  }
  100% {
    opacity: 0;
  }
}
#mv-contents {
  position: relative;
  z-index: 5;
}
.mv__inner {
  position: relative;
  width: min(var(--default-width-sp), 992px);
  margin: auto;
  font-weight: 900;
  letter-spacing: .05em;
}
/*mv-content*/
.mv-content {
  height: var(--mv-size-h, min((900vw / 7.5), 600px));
  display: grid;
  align-content: space-between;
  justify-items: center;
  padding: min((165vw / 7.5), 77px) 0 min((50vw / 7.5), 65px);
  @media (width >=981px) {
    --mv-size-h: 600px;
  }
}
.mv-content__title--logo {
  width: 100%;
  height: min((183vw / 7.5), 173px);
  object-fit: contain;
}
.mv-content__title--portal {
  background: #fff;
  width: max-content;
  min-width: min((300vw / 7.5), 270px);
  margin: min((23vw / 7.5), 24px) auto 0;
  font-size: min((30vw / 7.5), 22px);
  line-height: 1.2;
  color: #806c4d;
  text-align: center;
  padding: .25em .75em .45em;
}
.mv-content__lead {
  text-align: center;
  color: #fff;
  font-size: min((26vw / 7.5), 22px);
  line-height: calc(38 / 22);
  text-shadow: 0px 0px min((10vw / 7.5), 10px) rgba(0, 0, 0, 0.4);
  padding: 0 1em;
}
/*mv-portal*/
.mv-portal {
  width: max-content;
  min-width: min((280vw / 7.5), 180px);
  position: absolute;
  top: 0;
  left: 0;
  font-size: min((22vw / 7.5), 14px);
  line-height: 1.2;
  letter-spacing: 1px;
  --radius: min((16vw / 7.5), 16px);
  --portal-color-main: #ea9d18;
  --portal-color-active: #ffeed1;
}
.mv-portal__title {
  background: var(--portal-color-main);
  color: #fff;
  font-size: min((28vw / 7.5), 18px);
  border: min((2vw / 7.5), 2px) solid #fff;
  border-top: none;
  border-radius: 0 0 var(--radius) var(--radius);
  padding: .25em min((24vw / 7.5), 14px) .45em min((30vw / 7.5), 20px);
  cursor: pointer;
}
.mv-portal__title--text {
  display: flex;
  align-items: center;
  gap: min((22vw / 7.5), 14px);
}
.mv-portal__title--icon {
  position: relative;
}
.mv-portal__title--icon--border {
  display: block;
  background: #fff;
  width: min((22vw / 7.5), 14px);
  height: min((4vw / 7.5), 2px);
  transition: transform .4s;
  &:nth-child(2) {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(90deg);
    .is-open & {
      transform: rotate(0);
    }
  }
}
.mv-portal__list {
  background: #fff;
  color: var(--portal-color-main);
  text-align: center;
  border-radius: var(--radius);
  padding: min((27vw / 7.5), 17px) min((22vw / 7.5), 15px);
  margin-top: min((16vw / 7.5), 16px);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .15);
}
.mv-portal__list--item:not(:first-child) {
  margin-top: min((14vw / 7.5), 8px);
}
.mv-portal__list--link {
  display: block;
  padding: .3em .5em .35em;
  background: var(--bg);
  &.is-active {
    --bg: var(--portal-color-active);
  }
}
/*------------------------------------------------*/
/*★ ＝＝ mainArea ＝＝ ★*/
#mainArea {
  .section {
    padding-top: min((80vw / 7.5), 80px);
    + .section {
      margin-top: min((20vw / 7.5), 35px);
    }
    &:empty {
      display: none;
    }
  }
}
.section-title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .6em;
  font-size: min((40vw / 7.5), 40px);
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: .15em;
  font-feature-settings: "palt";
  margin-bottom: var(--sec-ttl-mb, min((50vw / 7.5), 36px));
  &::before, &::after {
    content: "";
    height: 1.25em;
    width: min((2vw / 7.5), 2px);
    background: currentColor;
    transform: rotate(45deg)
  }
  &::before {
    transform: rotate(-45deg);
    margin-right: .2em;
  }
}
.section-subtitle {
  font-size: min((24vw / 7.5), 24px);
  line-height: calc(38 /24);
  font-weight: 900;
  letter-spacing: .15em;
  text-align: center;
  display: grid;
  justify-content: center;
  align-content: center;
}
.section-subtitle__text {
  font-size: min((50vw / 7.5), 50px);
  line-height: 1.2;
}
/*point*/
.point__lineup {
  display: grid;
  width: calc(640vw / 7.5);
  margin: auto;
  gap: min((28vw / 7.5), 31px);
  @media(width >=861px) {
    width: min(90%, 992px);
    grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  }
}
.point__lineup--item {
  background: #806c4d;
  color: #fff;
  border-radius: min((16vw / 7.5), 16px);
  padding: min((28vw / 7.5), 20px) min((26vw / 7.5), 14px);
}
.point__lineup--item--title {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: min((28vw / 7.5), 14px);
  margin-bottom: min((20vw / 7.5), 24px);
}
.point__lineup--item--title--icon {
  height: min((108vw / 7.5), 72px);
  width: auto;
  object-fit: contain;
}
.point__lineup--item--title--text {
  font-size: min((34vw / 7.5), 22px);
  font-weight: 900;
  line-height: calc(50 / 34);
  .is-normal {
    padding-right: .25em;
  }
  .is-strong {
    display: inline-block;
    font-size: min((44vw / 7.5), 28px);
  }
  @media(width <=560px) {
    .is-strong {
      display: block;
    }
  }
}
.point__lineup--item--text {
  font-size: min((24vw / 7.5), 16px);
  line-height: calc(36 / 24);
}
/*------------------------------------------------*/
/*★ ＝＝ footerArea ＝＝ ★*/
/*reco-banner*/
#reco-banner {
  background: #fff; /*#f3f3f3*/
}
.reco-banner__list {
  width: var(--reco-size, min((650vw / 7.5), 460px));
  margin: auto;
  display: grid;
  grid-template-columns: var(--reco-col, repeat(2, 1fr));
  gap: var(--reco-gap, min((30vw / 7.5), 20px));
  padding: min((70vw / 7.5), 44px) 0;
  @media (width >=861px) {
    --reco-size: min(95%, 898px);
    --reco-col: repeat(4, 1fr);
    --reco-gap: calc((30 / 898) * 100%);
  }
}
.reco-banner__link {
  display: block;
  border: var(--reco-bc, transparent) min((4vw / 7.5), 4px) solid;
}
/*★ ＝＝ searchArea（検索ボックスのレイアウト切り替えタイミングで変更） ＝＝ ★*/
/*search*/
#searchArea {
  padding-bottom: min((50vw / 7.5), 60px);
  @media (width >=861px) {
    padding: 60px 0;
    background: url("../images/search_photo_pc.webp") no-repeat center top / var(--default-bg-width-pc);
  }
}
/*------------------------------------------------*/
/*★ ＝＝ hover ＝＝ ★*/
@media (hover : hover) and (pointer : fine) {
  /*button*/
  .mv-portal__list--link {
    &:hover {
      --bg: var(--portal-color-active);
    }
  }
  /*button*/
  .button-base__link {
    &:hover {
      --bg: color-mix(in srgb, var(--base-bg-color), transparent);
    }
  }
  /*reco-banner*/
  .reco-banner__link {
    &:hover {
      --reco-bc: #001d7f;
    }
  }
}