@charset "utf-8";
/* 「一人旅」レスポンシブ ベースCSS */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/tyo/common/font/NotoSansJP-900.woff2) format('woff2');
}
/*@font-face {
  font-family: 'Noto Sans JP Variable';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/tyo/common/font/NotoSansJP-Variable.woff2) format('woff2');
}*/
/*★ リセット ★*/
.main div:not([class])::after {
  content: none;
}
.main a {
  text-decoration: none;
}
.main .is-em {
  font-weight: bold;
}
#topbuttonApp, #searchArea {
  position: relative;
  z-index: 1;
}
.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;
}
/*------------------------------------------------*/
/*★ ページスタイル設定 ★*/
#hisApp {
  position: relative;
  overflow: hidden;
}
:root {
  --default-max-height: 100lvh;
  --default-color-bg: #f7f6f1;
  --default-color-black: #000;
  --default-color-gray: #939dad;
  --default-color-red: #e90000;
  --default-color-yellow: #ffff00;
  --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: 686;
  --default-width-pc-val: 992;
  --default-width-sp: (686vw / 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-ff-icon: "Material Symbols Rounded";
  --default-fw-b: 900;
  --default-icon-arw-r: "\e5e1";
  --default-icon-blank: "\e89e";
  --default-hover-speed: .3s;
  --default-hover-opacity: .85;
  --default-hover-transition: opacity var(--default-hover-speed);
  --default-hover-transition2: background var(--default-hover-speed);
  --default-hover-transition3: color var(--default-hover-speed);
  --default-hover-transition4: transform var(--default-hover-speed);
  /**/
  --animation-speed: .4s;
  --animation-loop: linear infinite;
  --animation-obitext: dsp-obitext 0.8s cubic-bezier(.25, 1, .5, 1) forwards;
}
.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;
}
.main {
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--default-font-size);
  color: var(--default-color-black);
  line-height: calc(34 / var(--default-font-size-sp-val));
  font-feature-settings: "palt";
  letter-spacing: 1px;
  padding-bottom: 0 !important;
}
.is-pc .is-dsp-sp, .is-sp .is-dsp-pc {
  display: none !important;
}
.is-font-small, .is-sp .is-font-small-sp, .is-pc .is-font-small-pc {
  font-size: .8em;
}
.is-font-big {
  font-size: 1.5em;
  line-height: 1;
}
.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;
}
.js-modal-button, .js-accordion-button {
  cursor: pointer;
}
.js-accordion-button + * {
  display: none;
}
.section__inner, .contents__wrapper {
  width: var(--default-width);
  margin: auto;
  position: relative;
}
:where([class*="__link"], [class*="--link"]) {
  color: inherit;
}
/*is-lock*/
html:has(.is-lock) {
  overflow: hidden !important;
}
.is-lock .js-modal-body {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100lvh;
  background: rgba(5, 38, 58, .7);
  opacity: .8;
}
.js-modal-button {
  cursor: pointer;
}
.js-modal-target, .js-modal-item {
  display: none;
}
/*button＋text-link*/
.base-text-link__link {
  color: var(--textlink-color, inherit);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0 .25em;
}
.base-button__link, .base-small-button__link, .base-text-link__link {
  &::after {
    content: var(--icon, var(--default-icon-arw-r));
    font-family: var(--default-ff-icon);
    line-height: .9;
  }
  &[href^="#"]::after {
    transform: rotate(90deg);
    margin-top: .25em;
  }
  &[target="_blank"]::after {
    --icon: var(--default-icon-blank);
  }
}
.base-button__wrapper, .base-button, .base-small-button {
  --btn-yohaku-ue: min((50vw / 7.5), 40px);
}
.base-button, .base-small-button {
  display: grid;
  justify-items: center;
  &:not(:first-child):not(.is-mt-0) {
    margin-top: var(--btn-yohaku-ue)
  }
}
:is(.base-button__link, .base-small-button__link) {
  --btn-gap: .5em;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0 var(--btn-gap);
  align-items: center;
  color: #fff;
  font-size: var(--btn-fs, min((26vw / 7.5), 16px));
  line-height: 1.2;
  font-weight: 500;
  text-align: center;
  letter-spacing: .05em;
  width: 100%;
  height: 100%;
  max-width: var(--btn-w, min((520vw / 7.5), 340px));
  min-width: var(--btn-min-w);
  min-height: var(--btn-h, min((80vw / 7.5), 50px));
  padding: .3em .75em .4em;
  border-radius: 500px;
  background: var(--btn-bg, #ff7800);
  .base-button__text {
    padding-left: calc(var(--btn-gap) * 2);
  }
}
.base-button__wrapper {
  display: grid;
  --btn-gap-tate-max: 28px;
  --btn-gap: min((20vw / 7.5), var(--btn-gap-tate-max));
  gap: var(--btn-gap);
  .is-pc & {
    --btn-gap: calc((24 / 704) * 100%);
    grid-template-columns: repeat(auto-fit, calc((100% - var(--btn-gap)) / 2));
    justify-content: center;
    grid-row-gap: var(--btn-gap-tate-max);
  }
  &:not(:first-child) {
    margin-top: var(--btn-yohaku-ue)
  }
  .base-button, .base-small-button {
    margin-top: 0 !important;
  }
}
.is-pc .base-button__wrapper:not(:has(:is(.base-button, .base-small-button):only-child)) {
  max-width: 704px;
}
.is-pc .base-button__wrapper:has(:is(.base-button, .base-small-button):only-child) {
  grid-template-columns: auto;
  :is(.base-button__link, .base-small-button__link) {
    --btn-min-w: 600px;
  }
}
/*base-banner*/
.banner_wrapper {
  display: grid;
  justify-items: center;
  gap: var(--gap, min((30vw / 7.5), 15px));
  width: min(var(--default-width-sp), 960px);
  margin: var(--yohaku-top, 0) auto var(--yohaku-btm, 0);
}
.is-pc .banner_wrapper {
  --gap: 11px;
  grid-template-columns: repeat(2, 1fr);
}
.is-pc .banner_wrapper .base-banner.is-column-1 {
  grid-column: span 2;
}
.is-sp .banner_wrapper .base-banner {
  max-width: 400px;
}
.product__title + .banner_wrapper {
  --yohaku-btm: min((50vw / 7.5), 25px);
}
.product__list--contents ~ .banner_wrapper {
  --yohaku-top: min((60vw / 7.5), 30px);
}
.base-banner__link {
  background: #fff;
}
/*slider*/
.swiper:has(.swiper-scrollbar:not(.swiper-scrollbar-lock)) {
  padding-bottom: min((63vw / 7.5), 30px);
  --swiper-scrollbar-bottom: 0;
  --swiper-scrollbar-bg-color: #e5e5e5;
  --swiper-scrollbar-drag-bg-color: #b5b5b5;
  --swiper-scrollbar-size: min((20vw / 7.5), 11px);
}
[class*="text-runner"] .swiper-wrapper {
  transition-timing-function: linear;
  .text__runner--item {
    width: max-content;
  }
}
.swiper-slide {
  height: auto;
}
#pageApp .swiper-scrollbar {
  width: min((500vw / 7.5), 500px);
  margin: auto;
  left: 0;
  right: 0;
}
/*
.is-slider-contents {
  position: relative;
  --swiper-navigation-size: min((40vw / 7.5), 25px);
  --swiper-navigation-color: #000;
  --swiper-navigation-sides-offset: -30px;
}
.swiper-accessories {
  --swiper-pagination-bottom: 0;
  --swiper-scrollbar-bottom: 0;
}
.swiper-accessories :is(.swiper-pagination, .swiper-scrollbar) {
  position: relative;
}
.swiper-accessories .swiper-scrollbar {
  margin-top: var(--swiper-pagination-yohaku-ue, min((16vw / 7.5), 14px));
}
.swiper-accessories .swiper-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: var(--swiper-pagination-yohaku-ue, min((40vw / 7.5), 25px));
}
.swiper-accessories [class*="swiper-button-"]:not([tabindex]) {
  display: none;
}
.swiper-accessories [class*="swiper-button-"] {
  transform: var(--default-hover-transition);
}
.swiper-accessories [class*="swiper-button-"].swiper-button-disabled {
  opacity: 0;
}
.swiper-accessories [class*="swiper-button-"]::before, .swiper-accessories [class*="swiper-button-"]::after {
  font-weight: bold;
}
.slider__arrow {
  --posi: 0;
  --size: min((60vw / 7.5), 60px);
  background: var(--default-icon-arrow-right-black);
  width: var(--size);
  height: var(--size);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 1;
  cursor: pointer;
  transition: var(--default-hover-transition);
}
.slider__arrow.is-prev {
  left: var(--posi);
  transform: rotate(180deg);
}
.slider__arrow.is-next {
  right: var(--posi);
}*/
/*fixed-navi*/
[class*="-navi__wrapper"].is-fixed-navi {
  width: 100%;
  position: fixed;
  top: -300px;
  left: 0;
  z-index: 100;
  transition: top .6s ease-out;
}
[class*="-navi__wrapper"].is-fixed-navi.is-fixed-active {
  top: 0;
}
/*------------------------------------------------*/
/*★ ＝＝ hover ＝＝ ★*/
@media (hover : hover) and (pointer : fine) {
  .base-button__link, .base-small-button__link {
    transition: var(--default-hover-transition);
    &:hover {
      opacity: var(--default-hover-opacity);
    }
  }
}