@charset "utf-8";
/* 「香港特集」レスポンシブ ベースCSS */
/*------------------------------------------------*/
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/tyo/common/font/NotoSerifJP-400.woff2) format('woff2');
}
@font-face {
  font-family: 'DotGothic16';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/tyo/common/font/DotGothic16-400.woff2) format('woff2');
}
@font-face {
  font-family: 'RocknRoll One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/tyo/common/font/RocknRollOne-400.woff2) format('woff2');
}
/*★ リセット ★*/
.main div:not([class])::after {
  content: none;
}
.main a {
  text-decoration: none;
}
.main figure {
  margin: 0;
}
.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;
}
.goTop__img--pc, .goTop__img--sp {
  --gobtn-size: min((120vw / 7.5), 80px);
  width: var(--gobtn-size);
  height: var(--gobtn-size);
}
/*------------------------------------------------*/
/*★ ページスタイル設定 ★*/
#hisApp {
  position: relative;
  overflow: hidden;
}
:root {
  --default-max-height: 100lvh;
  --default-color-bg: #fff;
  --default-color-black: #000;
  --default-color-red: #e90000;
  --default-color-orange: #ff5400;
  --default-color-green: #42caa5;
  --default-color-pink: #eb6877;
  --default-color-purple: #2a0d66;
  --default-color-light-purple: #d5c0fc;
  --default-color-yellow: #ffff00;
  --default-color-yellow-svg: invert(86%) sepia(67%) saturate(5565%) hue-rotate(2deg) brightness(106%) contrast(110%);
  --default-color-white-svg: invert(100%) sepia(12%) saturate(7500%) hue-rotate(200deg) brightness(117%) contrast(111%);
  --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: 680;
  --default-width-pc-val: 992;
  --default-width-sp: (680vw / 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-min: "Noto Serif JP", serif;
  --default-ff-gothic: "Noto Sans JP", sans-serif;
  --default-ff-gothic-dot: "DotGothic16", sans-serif;
  --default-ff-gothic-rockn: "RocknRoll One", sans-serif;
  --default-ff-icon: "Material Symbols Rounded";
  --default-icon-arw-r: "\e5e1";
  --default-icon-blank: "\e89e";
  --default-icon-close: "\e5cd";
  --default-text-shadow: 0 5px 0 #000, 1px 1px 0 #000, -1px 1px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000;
  --default-border: min((2vw / 7.5), 2px) solid #000;
  --default-shadow-size: min((5vw / 7.5), 5px);
  --default-shadow: var(--default-shadow-size) var(--default-shadow-size) 0px 0px #000;
  --default-hover-move-tate-size: max((-10vw / 7.5), -20px);
  --default-hover-speed: .3s;
  --default-hover-opacity: .75;
  --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: var(--default-ff-gothic);
  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";
  word-break: break-all;
  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, var(--default-color-pink));
  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;
    font-weight: 500;
  }
  &[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((100vw / 7.5), 100px);
}
.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: var(--btn-fc, inherit);
  font-size: var(--btn-fs, var(--default-font-size));
  line-height: 1.2;
  font-weight: bold;
  text-align: center;
  /*letter-spacing: .05em;*/
  width: 100%;
  height: 100%;
  max-width: var(--btn-w, min((500vw / 7.5), 340px));
  min-width: var(--btn-min-w);
  min-height: var(--btn-h, min((74vw / 7.5), 50px));
  padding: .3em .75em .4em;
  background: var(--btn-bg, #fff);
  border-radius: min((15vw / 7.5), 15px);
  border: var(--default-border);
  box-shadow: var(--default-shadow);
  .base-button__text {
    padding-left: calc(var(--btn-gap) * 2);
  }
  .is-bg-pink & {
    --btn-fc: #fff;
    --btn-bg: linear-gradient(to right, #ff0863 0%, #d300c5 100%);
  }
  .is-bg-purple & {
    --btn-fc: #fff;
    --btn-bg: linear-gradient(to right, #7776ff 0%, #ae2cf1 100%);
  }
}
.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;
  }
}
/*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: 540px;
}
.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*/
.main {
  .splide__arrow {
    background: none;
    border-radius: 0;
    height: auto;
    width: var(--slider-arrow-size, min((22vw / 7.5), 22px));
    transition: var(--default-hover-transition);
    &:disabled {
      opacity: 0;
      cursor: default;
    }
    svg {
      width: 100%;
      height: 100%;
    }
  }
  .splide__arrow--prev {
    left: 0;
  }
  .splide__arrow--next {
    right: 0;
  }
  .splide__pagination {
    bottom: 0;
    gap: var(--slider-pagination-gap, min((12vw / 7.5), 12px));
    li {
      line-height: 0;
    }
  }
  .splide__pagination__page {
    opacity: 1;
    margin: 0;
    width: var(--slider-pagination-size-w, auto);
    height: var(--slider-pagination-size-h, min((15vw / 7.5), 15px));
    aspect-ratio: 1;
    background: var(--slider-pagination-bg, #fff);
    border-radius: var(--slider-pagination-radius, 50%);
    &.is-active {
      --slider-pagination-size-w: var(--slider-pagination-size-w-active);
      --slider-pagination-size-h: var(--slider-pagination-size-h-active, min((18vw / 7.5), 18px));
      --slider-pagination-bg: var(--slider-pagination-bg-active, var(--default-color-green));
      --slider-pagination-radius: var(--slider-pagination-radius-active);
      transform: scale(1);
    }
  }
}
/*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-banner {
    background: #fff;
    .base-banner__link {
      transition: var(--default-hover-transition);
      &:hover {
        opacity: var(--default-hover-opacity);
      }
    }
  }
  .base-text-link__link {
    position: relative;
    &:hover {
      &::before {
        content: "";
        bottom: 0;
        position: absolute;
        width: 100%;
        height: 1px;
        background: currentColor;
      }
    }
  }
  :is(.base-button__link, .base-small-button__link) {
    &:hover {
      --btn-bg: var(--default-color-green);
      .is-bg-pink & {
        --btn-bg: #eb5e55;
      }
      .is-bg-purple & {
        --btn-bg: #c794ea;
      }
    }
  }
}