@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,500;1,500&display=swap');
/*@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@700&family=Spectral:ital,wght@0,500;1,500&display=swap');*//*Josefinの利用ナシへ*/
/* 「ディズニークルーズLP」レスポンシブ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: '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: 'Spectral';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/tyo/common/font/Spectral-500.woff) format('woff');
}*/
@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');
}
/*★ リセット ★*/
.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;
}
.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-color-main: #2E0F6E;
  --default-color-pink: #E87498;
  --default-color-blue: #279DBE;
  --default-color-blue2: #E3EFF8;
  --default-color-green: #59B4BC;
  --default-color-gray: #737373;
  --default-font-size-pc: 16px;
  --default-font-size-sp: calc(13vw / 3.75);
  --default-font-size: min(var(--default-font-size-sp), var(--default-font-size-pc));
  --default-font-size2-pc: 18px;
  --default-font-size2-sp: calc(15vw / 3.75);
  --default-font-size2: min(var(--default-font-size2-sp), var(--default-font-size2-pc));
  --default-font-size3: min((12vw / 3.75), 13px);
  --default-font-size4: min((20vw / 3.75), 32px);
  --default-font-lh: 1.5;
  --default-font-lh2: 1.8;
  --default-width-sp-val: 336;
  --default-width-pc-val: 1104;
  --default-width-sp: (336vw / 3.75);
  --default-width-pc: 1104px;
  --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-en: "Spectral", serif;
  --default-ff-en2: "Josefin Sans", sans-serif;
  --default-ff-icon: "Material Symbols Rounded";
  --default-ico-arrow-r: "\e5e1";
  --default-ico-blank: "\e89e";
  --default-hover-speed: .3s;
  --default-hover-opacity: .8;
  --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-shadow: 0px 0px 8px rgba(0, 0, 0, .25);
}
.main {
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--default-font-size);
  color: var(--default-color-main);
  line-height: var(--default-font-lh);
  padding-bottom: 0 !important;
  a[class*="link"] {
    color: inherit;
  }
}
.is-inline-block {
  display: inline-block;
}
.is-indent-1, .section [class*="notes--item"] {
  text-indent: -1em;
  padding-left: 1em;
}
.contents__wrapper {
  width: var(--default-width);
  margin: auto;
}
.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;
}
.main .base-button .base-button__link {
  --btn-color: var(--default-color-blue);
  display: grid;
  grid-template-columns: 1fr max-content;
  align-items: center;
  gap: .75em;
  padding: .45em min((8vw / 3.75), 12px) .55em;
  color: var(--btn-fc, var(--btn-color));
  font-size: var(--btn-fs, 14px);
  line-height: 1.2;
  text-align: center;
  font-weight: 900;
  border-radius: 4px;
  overflow: hidden;
  border: 2px solid var(--btn-color);
  background: var(--btn-bg, #fff);
  .is-color-pink & {
    --btn-color: var(--default-color-pink);
  }
  .is-height-small & {
    --btn-fs: min((12vw / 3.75), 14px);
    padding: .3em min((8vw / 3.75), 16px) .4em;
    border-width: min((1vw / 3.75), 2px);
  }
  &[target="_blank"] {
    --btn-icon: "\e89e";
  }
  &[href^="#"] {
    gap: .5em;
    &::after {
      transform: rotate(90deg) translateX(.075em);
    }
  }
  &::after {
    content: var(--btn-icon, "\e5e1");
    font-family: var(--default-ff-icon);
    font-size: 1em;
    line-height: 1;
  }
  .is-type-portal & {
    grid-template-columns: max-content 1fr max-content;
    &::before {
      content: "\e6ca";
      font-family: var(--default-ff-icon);
      font-size: 1.25em;
      line-height: 1;
      font-weight: normal;
      transform: translateY(.05em);
    }
  }
}
.main .base-text-link {
  color: var(--default-color-blue);
  text-decoration: none;
}
/*slider*/
.main {
  .splide {
    --slider-main-bg: var(--default-color-main);
  }
  .splide__arrow {
    background: none;
    border-radius: 0;
    opacity: 1 !important;
    height: max-content;
    transform: translateY(max((-25vw / 3.75), -28px)); /*splide__paginationの高さ分マイナス*/
    &:disabled {
      opacity: 0;
      cursor: default;
    }
    svg {
      fill: var(--slider-main-bg);
      width: 80%;
      height: auto;
    }
  }
  .splide__arrow--prev {
    left: 0;
    justify-content: start;
  }
  .splide__arrow--next {
    right: 0;
    justify-content: end;
  }
  .splide__pagination {
    --slider-pagination-size: 12px;
    height: min((25vw / 3.75), 28px);
    position: static;
    gap: var(--slider-pagination-size);
    align-items: end;
    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, #D9D9D9);
    border-radius: 50%;
    &.is-active {
      --slider-pagination-bg: var(--default-color-green);
      transform: scale(1);
    }
  }
}
/*------------------------------------------------*/
/*★ ＝＝ pageArea ＝＝ ★*/
#pageArea {
  width: 100%;
  height: 100%;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  position: relative;
  &::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100lvh;
    background: url("../images/mv_bg.webp") no-repeat 0 0 / cover;
  }
  > [id*="Area"] {
    position: relative;
  }
  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
/*------------------------------------------------*/
/*★ ＝＝ headerArea ＝＝ ★*/
#headerArea {
  position: relative;
}
/*mv*/
.mv__inner {
  padding-top: min((17vw / 3.75), 35px);
}
.mv__logo {
  width: var(--wrapper-size, 100%);
  margin: auto;
  background: url("../images/mv_photo.png") no-repeat center bottom/ var(--mv-photo-size-w);
  .is-sp & {
    --mv-photo-size-w: calc((280 / 375) * 100%);
    --mv-logo-size-w: calc((379 / 375) * 100%);
    --mv-logo-size-h-pt: calc((200 / 375) * 100%);
    margin-left: calc((-10 / 375) * 100%);
    padding-bottom: calc((189 / 375) * 100%);
  }
  .is-pc & {
    --yohaku: 53px;
    --mv-photo-size-w: calc((423 / 1210) * 100%);
    --mv-logo-size-w: calc((741 / 1210) * 100%);
    --mv-logo-size-h-pt: calc((391 / 1210) * 100%);
    --wrapper-size: min(100%, calc(var(--default-width-pc) + (var(--yohaku) * 2)));
    padding-right: var(--yohaku);
    background-position: right var(--yohaku) center;
  }
}
.mv__logo--image {
  width: var(--mv-logo-size-w, 100%);
  height: 0;
  padding-top: var(--mv-logo-size-h-pt, 0);
  position: relative;
}
.mv__logo--image--item {
  position: absolute;
  top: 0;
  left: 0;
}
.mv__lead {
  width: var(--default-width);
  margin: auto;
  margin-top: min((19vw / 3.75), 15px);
  font-size: var(--default-font-size2);
  line-height: var(--default-font-lh2);
  font-weight: 900;
  .is-pc & {
    text-align: center;
  }
}
/*------------------------------------------------*/
/*★ ＝＝ mainArea ＝＝ ★*/
/*.section-nav*/
#section-nav {
  width: var(--default-width);
  margin: min((40vw / 3.75), 55px) auto 0;
  .section-nav__lineup {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    .is-pc & {
      justify-content: center;
    }
  }
  .section-nav__lineup--item--link {
    display: flex;
    align-items: center;
    gap: .5em;
    color: var(--sec-nav-fc, inherit);
    background: var(--sec-nav-bg, #fff);
    border: 2px solid var(--default-color-main);
    border-radius: 4px;
    font-weight: 900;
    font-size: min(var(--default-font-size-sp), 14px);
    line-height: 1.2;
    padding: .4em .5em .5em;
    .is-pc & {
      padding: .8em 1em .9em;
    }
    &::after {
      content: var(--default-ico-arrow-r);
      font-family: var(--default-ff-icon);
      width: .8em;
    }
    &[href^="#"]::after {
      transform: rotate(90deg);
    }
  }
}
/*section*/
.section {
  margin-top: var(--sec-yohaku, min((65vw / 3.75), 78px));
  + .section {
    --sec-yohaku: min((100vw / 3.75), 120px);
  }
  &#point {
    padding-top: var(--sec-yohaku);
    margin-top: 0;
  }
}
.section__inner {
  padding: 64px 0;
  box-shadow: var(--default-shadow);
  #point & {
    padding: 0;
    box-shadow: none;
  }
}
#ship {
  &, ~ .section {
    .section__content {
      background: #fff;
    }
    .section__inner {
      padding: 0;
      box-shadow: none;
    }
    .section__detail {
      width: var(--default-width);
      margin: auto;
    }
  }
  .section__content {
    padding-top: min((64vw / 3.75), 80px);
    padding-bottom: min((40vw / 3.75), 60px);
  }
  ~ .section {
    margin-top: 0;
    .section__content {
      padding: min((40vw / 3.75), 60px) 0;
    }
    &:last-child .section__content {
      padding-bottom: min((80vw / 3.75), 120px);
    }
  }
}
.section__inner {
  width: var(--default-width2);
  margin: auto;
  background: var(--sec-bg, #fff);
  #point & {
    --sec-bg: transparent;
    --sec-ttl-bg: url("../images/ttl_kazari_y.png");
    --sec-ttl-h: min((72vw / 3.75), 130px);
    --sec-ttl-w: min((336vw / 3.75), 651px);
  }
}
.section__title {
  display: grid;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: min((24vw / 3.75), 40px);
  line-height: calc(32 / 24);
  font-weight: 900;
  width: 100%;
  min-height: var(--sec-ttl-h, min((72vw / 3.75), 120px));
  background: var(--sec-ttl-bg, url("../images/ttl_kazari.png")) no-repeat center center / var(--sec-ttl-w, min((336vw / 3.75), 643px));
  margin-bottom: var(--sec-ttl-mb, min((24vw / 3.75), 64px));
  #point & {
    --sec-ttl-mb: min((24vw / 3.75), 40px);
  }
  #spend & {
    --sec-ttl-mb: min((46vw / 3.75), 64px);
  }
}
.section__lead {
  font-size: var(--default-font-size2);
  line-height: var(--default-font-lh2);
  font-weight: 500;
  margin-top: min((46vw / 3.75), 64px);
  .is-fw-b {
    font-weight: 900;
  }
}
.section__detail {
  width: min(var(--default-width-sp), 1024px);
  margin: auto;
  #point & {
    width: var(--default-width);
  }
}
/*type*/
#type {
  .section__lead {
    margin-bottom: min((24vw / 3.75), 34px);
  }
  .is-pc & {
    --type-inner-w: calc((1000 / 1064) * 100%);
    .section__detail {
      width: min(var(--default-width-sp), 1064px)
    }
    .section__lead, .type__lineup--track {
      width: var(--type-inner-w);
      margin-left: auto;
      margin-right: auto;
    }
  }
}
/*point*/
.point__lineup {
  display: grid;
  gap: min((36vw / 3.75), 24px);
  --point-label-posi: max((-4vw / 3.75), -8px);
  .is-pc & {
    --point-label: url("../images/icon_ankor_point_pc.png");
    --point-label-posi-x: min((4vw / 3.75), 8px);
    grid-template-columns: repeat(2, 1fr);
  }
}
.point__lineup--item {
  display: grid;
  align-items: start;
  background: #fff;
  border: 1px solid #2C2A29;
  box-shadow: var(--default-shadow);
  padding: 16px;
  padding-top: 0;
}
.point__lineup--item--texts {
  padding-top: min((11vw / 3.75), 18px);
  padding-left: min(((70 / 304) * 100%), 102px);
  min-height: min((135vw / 3.75), 214px);
  position: relative;
  .is-pc & {
    padding-left: calc((152 / 506) * 100%);
    &::before {
      width: calc((128 / 506) * 100%);
      padding-top: calc((174 / 506) * 100%);
      margin-top: calc((-7 / 506) * 100%);
      margin-left: calc((8 / 506) * 100%);
    }
  }
  &::before {
    content: "";
    width: min(((62 / 304) * 100%), 90px);
    height: 0;
    padding-top: min(((130 / 304) * 100%), 189px);
    background: var(--point-label, url("../images/icon_ankor_point_sp.png")) no-repeat center top / contain;
    position: absolute;
    top: 0;
    left: 0;
    margin-top: max(((-3 / 304) * 100%), -4px);
    margin-left: max(((-4 / 304) * 100%), -6px);
  }
}
.point__lineup--item--title {
  font-size: min((20vw / 3.75), 24px);
  line-height: calc(26 / 20);
  font-weight: 900;
  margin-bottom: min((8vw / 3.75), 12px);
}
.point__lineup--item--photo {
  width: 100%;
  height: 0;
  padding-top: calc((330 / 500) * 100%);
  position: relative;
  margin-top: min((7vw / 3.75), 14px);
  align-self: end;
}
.point__lineup--item--photo--image {
  position: absolute;
  top: 0;
  left: 0;
}
.point__lineup--item--button {
  margin-top: 8px;
  display: grid;
  justify-items: end;
}
/*facility*/
.facility {
  &#facility-entertainment {
    --theme-bg: #9A7FC6;
  }
  &#facility-facility {
    --theme-bg: #E28A6F;
  }
  &#facility-dining {
    --theme-bg: #CD78A3;
  }
  &:not(:first-child) {
    padding-top: 60px;
    margin-top: 60px;
    border-top: 2px dashed var(--theme-bg);
  }
}
.facility__title {
  display: grid;
  justify-items: center;
  gap: min((16vw / 3.75), 24px);
  text-align: center;
  margin-bottom: min((40vw / 3.75), 64px);
}
.facility__title--en {
  font-family: var(--default-ff-en);
  font-style: italic;
  font-size: min((32vw / 3.75), 50px);
  color: var(--theme-bg, inherit);
  line-height: .7;
}
.facility__title--kazari {
  display: flex;
  gap: min((16vw / 3.75), 20px);
}
.facility__title--kazari--item {
  height: min((9vw / 3.75), 11px);
  aspect-ratio: 1;
  background: var(--theme-bg);
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}
.facility__title--jp {
  font-size: var(--default-font-size4);
  font-weight: 900;
  line-height: calc(24 / 20);
}
.facility__detail {
  display: grid;
  gap: 24px;
  .is-pc & {
    grid-template-columns: calc((450 / 1024) * 100%) 1fr;
  }
  font-size: var(--default-font-size2);
  line-height: var(--default-font-lh2);
  font-weight: 500;
  &:not(:last-child) {
    margin-bottom: 56px;
  }
}
.facility__detail--photo {
  height: 0;
  padding-top: calc((297 / 450) * 100%);
  position: relative;
}
.facility__detail--photo--image {
  position: absolute;
  top: 0;
  left: 0;
}
.facility__more {
  display: grid;
  --gap: 16px;
  --col-num: 2;
  grid-template-columns: repeat(auto-fit, calc((100% - var(--gap) * (var(--col-num) - 1)) / var(--col-num)));
  justify-content: center;
  gap: var(--gap);
  .is-pc & {
    --gap: 24px;
    --col-num: 4;
  }
}
.facility__more--item {
  display: grid;
  align-content: start;
}
.facility__more--item--title {
  font-size: min((16vw / 3.75), var(--default-font-size2-pc));
  font-weight: 900;
  margin: .5em 0 .15em;
}
.facility__more--item--notes {
  font-size: var(--default-font-size3);
  color: var(--default-color-gray);
  margin-top: 1em;
}
.facility__more--item--photo {
  order: -1;
  height: 0;
  padding-top: calc((157 / 238) * 100%);
  position: relative;
}
.facility__more--item--photo--image {
  position: absolute;
  top: 0;
  left: 0;
}
/*spend*/
.spend-nav {
  margin-bottom: 56px;
}
.spend-nav__list {
  display: flex;
  justify-content: center;
  gap: min((12vw / 3.75), 30px);
}
.spend-nav__list--item {
  display: grid;
  align-items: center;
  text-align: center;
  font-weight: 900;
  font-size: min((18vw / 3.75), 32px);
  line-height: calc(22 / 18);
  color: var(--item-fc, inherit);
  border-radius: 8px;
  background: var(--item-bg, #fff);
  border: 2px solid var(--default-color-main);
  padding: min((4vw / 3.75), 10px) 12px min((6vw / 3.75), 12px);
  .is-sp & {
    .is-inline-block {
      display: block;
    }
  }
  .is-pc & {
    flex: 1;
    max-width: 294px;
  }
  &[class*="active"] {
    --item-bg: var(--default-color-main);
    --item-fc: #fff;
    position: relative;
    &::after {
      content: "";
      display: inline-block;
      background: var(--item-bg);
      width: min((14vw / 3.75), 22px);
      height: min((14vw / 3.75), 19px);
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
      transform: translateY(calc(100% - 2px));
    }
  }
}
.spend-block__title {
  --spend-title-color: #9BBDE4;
  display: grid;
  justify-items: center;
  text-align: center;
  margin-bottom: 30px;
}
.spend-block__title--en {
  font-family: var(--default-ff-en);
  font-style: italic;
  font-size: min((32vw / 3.75), 50px);
  color: var(--spend-title-color);
  line-height: .7;
}
.spend-block__title--kazari {
  display: flex;
  gap: min((16vw / 3.75), 20px);
  margin: min((15vw / 3.75), 20px) 0 min((12vw / 3.75), 15px);
}
.spend-block__title--kazari--item {
  height: min((9vw / 3.75), 11px);
  aspect-ratio: 1;
  background: var(--spend-title-color);
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}
.spend-block__title--jp {
  font-size: var(--default-font-size4);
  font-weight: 900;
  line-height: 1.2;
}
.spend-block__lead {
  font-size: var(--default-font-size2);
  line-height: var(--default-font-lh2);
  font-weight: 500;
  margin-bottom: min((58vw / 3.75), 74px);
}
.spend-block__lineup {
  position: relative;
  --spend-block-time-line-h: calc(100% - 20px);
  --spend-block-time-line-w: calc((4 / 336) * 100%);
  --spend-block-time-line-posi: calc((36 / 336) * 100%);
  .is-pc & {
    --spend-block-time-line-h: calc(100% - 40px);
    --spend-block-time-line-w: calc((6 / 1024) * 100%);
    --spend-block-time-line-posi: calc((73 / 1024) * 100%);
  }
  &::before {
    content: "";
    display: block;
    height: var(--spend-block-time-line-h);
    width: var(--spend-block-time-line-w);
    background: #C3CEDB;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    margin-left: var(--spend-block-time-line-posi)
  }
}
.spend-block__lineup--item {
  display: grid;
  grid-template-columns: var(--spend-block-time-size) 1fr;
  position: relative;
  &:not(:first-child) {
    margin-top: 60px;
  }
  .is-sp & {
    --spend-block-time-size: calc((92 / 336) * 100%);
  }
  .is-pc & {
    --spend-block-time-size: calc((190 / 1024) * 100%);
    .spend-block__lineup--item--detail {
      grid-template-columns: calc((258 / 832) * 100%) 1fr;
    }
  }
  &.is-type-morning {
    --spend-block-time-label-bg: #E3C054;
  }
  &.is-type-lunch {
    --spend-block-time-label-bg: #E28A6F;
  }
  &.is-type-afternoon {
    --spend-block-time-label-bg: #59B4BC;
  }
  &.is-type-evening {
    --spend-block-time-label-bg: #648DBD;
  }
  &.is-type-dinner {
    --spend-block-time-label-bg: #9A7FC6;
  }
  &.is-type-night {
    --spend-block-time-label-bg: #CD78A3;
  }
}
.spend-block__lineup--item:last-child .spend-block__lineup--item--time--wrapper {
  position: relative;
  &::after {
    content: "";
    display: block;
    width: 100%;
    height: calc(100% - 15px);
    background: #fff;
    position: absolute;
    bottom: 0;
  }
}
.spend-block__lineup--item--time {
  position: relative;
  z-index: 1;
  color: var(--spend-block-time-label-bg);
  font-weight: 900;
  line-height: 1;
  --spend-block-time-label-fs-en: min((10vw / 3.75), 20px);
  --spend-block-time-label-fs-text: min((16vw / 3.75), 32px);
  --spend-block-time-label-fs-text2: min((14vw / 3.75), 28px);
  .is-pc & {
    --spend-block-time-label-fs-en: min((14vw / 8.61), 20px);
    --spend-block-time-label-fs-text: min((20vw / 8.61), 32px);
    --spend-block-time-label-fs-text2: var(--spend-block-time-label-fs-text);
  }
}
.spend-block__lineup--item--time.is-type-label {
  display: block;
  width: calc((150 / 190) * 100%);
  .is-pc & {
    margin-top: calc((10 / 190) * 100%);
  }
  .spend-block__lineup--item--time--inner {
    display: block;
    padding-top: 100%;
    position: relative;
  }
  .spend-block__lineup--item--time--texts {
    display: block;
    border: min((2vw / 3.75), 4px) solid;
    border-radius: 100%;
    text-align: center;
    padding: min((2.5vw / 3.75), 5px);
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .spend-block__lineup--item--time--texts--inner {
    display: grid;
    align-content: center;
    width: 100%;
    height: 100%;
    border: min((.5vw / 3.75), 1px) solid;
    border-radius: 100%;
  }
  .spend-block__lineup--item--time--jp {
    margin-bottom: .2em;
    font-size: var(--spend-block-time-label-fs-en); /*確認*/
  }
  .spend-block__lineup--item--time--en { /*英語利用不可となったため、「.spend-block__lineup--item--time--en」→「.spend-block__lineup--item--time--jp」へ*/
    font-weight: bold;
    font-family: var(--default-ff-en2);
    font-size: var(--spend-block-time-label-fs-en);
  }
  .spend-block__lineup--item--time--text {
    font-size: var(--spend-block-time-label-fs-text);
    &::before {
      content: "";
      display: block;
      width: calc((80 / 130) * 100%);
      height: 1px;
      background: currentColor;
      margin: min((4vw / 3.75), 6px) auto;
    }
  }
}
.spend-block__lineup--item--time.is-type-text {
  display: grid;
  grid-template-columns: var(--spend-block-time-text-dot-w) max-content;
  align-items: center;
  gap: min((4vw / 3.75), 8px);
  .is-sp & {
    --spend-block-time-text-dot-w: calc((16 / 63) * 100%);
    --spend-block-time-text-dot-posi: .05em;
    margin-left: calc((29 / 92) * 100%);
  }
  .is-pc & {
    --spend-block-time-text-dot-w: calc((20 / 124) * 100%);
    --spend-block-time-text-dot-posi: .15em;
    margin-top: calc((70 / 190) * 100%);
    margin-left: calc((66 / 190) * 100%);
  }
  &::before {
    content: "";
    width: 100%;
    aspect-ratio: 1;
    background: currentColor;
    border-radius: 100%;
    transform: translateY(var(--spend-block-time-text-dot-posi));
  }
  .spend-block__lineup--item--time--text {
    display: block;
    font-size: var(--spend-block-time-label-fs-text2);
  }
}
.spend-block__lineup--item--detail {
  display: grid;
  font-weight: 500;
  gap: 8px 24px;
}
.spend-block__lineup--item--detail--title {
  font-size: min((16vw / 3.75), 24px);
  line-height: 1.3;
  font-weight: 900;
  margin-bottom: min((6vw / 3.75), 16px);
}
.spend-block__lineup--item--detail--text {
  font-size: min((13vw / 3.75), 18px);
}
.spend-block__lineup--item--detail--notes {
  font-size: var(--default-font-size3);
  color: var(--default-color-gray);
  margin-top: 1em;
}
.spend-block__lineup--item--detail--photo {
  order: -1;
  .is-sp & {
    width: calc((140 / 244) * 100%);
  }
}
.spend-block__lineup--item--detail--photo--inner {
  height: 0;
  padding-top: calc((170 / 258) * 100%);
  position: relative;
}
.spend-block__lineup--item--detail--photo--image {
  position: absolute;
  top: 0;
  left: 0;
}
/*app*/
.app__flow {
  display: grid;
  gap: min((64vw / 3.75), 72px) 0;
  margin-top: min((24vw / 3.75), 64px);
  .is-pc & {
    grid-template-columns: max-content 1fr;
    .app__flow--item {
      grid-template-columns: subgrid;
      grid-column: span 2;
    }
    .app__flow--item--title {
      min-width: 150px;
    }
  }
}
.app__flow--item {
  --item-gap: min((14vw / 3.75), 24px);
  display: grid;
  gap: var(--item-gap);
  position: relative;
  background: var(--item-bg);
  color: #fff;
  border-radius: 8px;
  padding: 20px 24px 22px;
  &#app-flow-before {
    --item-bg: #59B4BC;
  }
  &#app-flow-on {
    --item-bg: #648DBD;
  }
  &#app-flow-after {
    --item-bg: #CD78A3;
  }
  &:not(:last-child)::after {
    content: "";
    width: min((21vw / 3.75), 25px);
    height: min((18vw / 3.75), 24px);
    background: #C3CEDB;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    bottom: max((-26vw / 3.75), -28px);
    left: 0;
    right: 0;
    margin: auto;
    transform: translateY(calc(100% - min((1vw / 3.75), 2px)));
  }
}
.app__flow--item--title {
  font-size: min((20vw / 3.75), 24px);
  font-weight: 900;
}
.app__flow--item--texts {
  --item-border: 2px solid;
  .is-sp & {
    border-top: var(--item-border);
    padding-top: var(--item-gap);
  }
  .is-pc & {
    border-left: var(--item-border);
    padding-left: var(--item-gap);
  }
}
.app__flow--item--subtitle {
  font-size: min((15vw / 3.75), 20px);
  font-weight: 900;
  &:not(:first-child) {
    margin-top: 1em;
  }
}
.app__flow--item--list--item {
  display: grid;
  align-items: baseline;
  gap: .25em;
  grid-template-columns: max-content 1fr;
  &::before {
    content: "";
    width: 1em;
    height: 1em;
    background: currentColor;
    clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
    transform: translateY(.1em);
  }
}
.app__flow--item--notes {
  font-size: var(--default-font-size3);
}
.app__dl {
  background: var(--default-color-blue2);
  text-align: center;
  padding: min((40vw / 3.75), 40px) min((20vw / 3.75), 40px);
  margin-top: min((56vw / 3.75), 96px);
}
.app__dl--title {
  margin-bottom: 64px;
  display: grid;
  gap: 24px;
}
.app__flow--item--text:not(:last-child) {
  margin-bottom: 1em;
}
.app__dl--title--jp {
  font-size: min((18vw / 3.75), 24px);
  font-weight: 900;
}
.app__dl--title--en {
  font-size: var(--default-font-size4);
  font-family: var(--default-ff-en);
  font-weight: 500;
  line-height: .8;
}
.app__dl--lineup {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min((24vw / 3.75), 80px);
}
.app__dl--lineup--item--title {
  font-size: min((18vw / 3.75), 24px);
  line-height: 1;
  font-weight: 900;
  margin-bottom: min((16vw / 3.75), 18px);
}
#app {
  .app__dl--lineup--item--link--qr, .app__dl--lineup--item--link--button--image {
    height: var(--app-dl-link-h);
    width: auto;
    object-fit: contain;
  }
  .app__dl--lineup--item--link--qr {
    --app-dl-link-h: min((100vw / 3.75), 300px);
  }
  .app__dl--lineup--item--link--button--image {
    --app-dl-link-h: min((40vw / 3.75), 60px);
  }
}
.app__dl--notes {
  color: var(--default-color-gray);
  font-size: var(--default-font-size3);
  margin-top: 40px;
}
/*ship*/
.ship__lineup {
  display: grid;
  --gap: 16px;
  --col-num: 2;
  grid-template-columns: repeat(auto-fit, calc((100% - var(--gap) * (var(--col-num) - 1)) / var(--col-num)));
  justify-content: center;
  gap: var(--gap);
  .is-pc & {
    --gap: 32px;
    --col-num: 3;
  }
}
.ship__lineup--item {
  display: grid;
  align-content: start;
}
.ship__lineup--item--title {
  font-weight: 900;
  font-size: min((16vw / 3.75), 24px);
  margin: 10px 0 4px;
  .is-pc & {
    margin: 6px 0;
  }
}
.ship__lineup--item--text {
  font-size: min(var(--default-font-size-sp), var(--default-font-size2-pc));
}
.ship__lineup--item--photo {
  order: -1;
  width: 100%;
  height: 0;
  padding-top: calc((171 / 320) * 100%);
  position: relative;
}
.ship__lineup--item--photo--image {
  position: absolute;
  top: 0;
  left: 0;
}
.ship__lineup--link {
  display: grid;
  justify-items: center;
  margin-top: min((16vw / 3.75), 26px);
  --btn-fs: min((13vw / 3.75), 14px);
}
/*product*/
.product__block:not(:first-child) {
  margin-top: min((64vw / 3.75), 48px);
}
.product__block--title {
  font-size: var(--default-font-size4);
  line-height: 1.2;
  text-align: center;
  font-weight: 900;
  margin-bottom: min((18vw / 3.75), 16px);
}
.product__block--lineup {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}
/*qa*/
.qa__lineup--item {
  font-size: min((14vw / 3.75), var(--default-font-size-pc));
  line-height: calc(24 / 14);
  border: 1px solid var(--default-color-green);
  border-radius: 8px;
  overflow: hidden;
  --yohaku-yoko: min((16vw / 3.75), 24px);
  --qa-text-fs: min((30vw / 3.75), 34px);
  &:not(:first-child) {
    margin-top: 32px;
  }
}
.qa__lineup--item--q, .qa__lineup--item--a--inner {
  display: grid;
  gap: min((16vw / 3.75), 24px);
}
.qa__lineup--item--q {
  --qa-text: "Q.";
  background: var(--default-color-green);
  grid-template-columns: max-content 1fr max-content;
  align-items: baseline;
  color: #fff;
  font-weight: bold;
  padding: min((16vw / 3.75), 20px) var(--yohaku-yoko) min((16vw / 3.75), 27px);
  .is-sp & {
    align-items: start;
  }
  &.is-open {
    --qa-open-icon: "\e15b";
  }
  &::after {
    content: var(--qa-open-icon, "\e145");
    font-family: var(--default-ff-icon);
    font-size: 1.5em;
    line-height: 1;
    font-weight: normal;
    align-self: center;
  }
}
.qa__lineup--item--q--texts {
  .is-sp & {
    min-height: var(--qa-text-fs);
    display: flex;
    align-items: center;
  }
}
.qa__lineup--item--a--inner {
  --qa-text: "A.";
  --qa-text--fc: var(--default-color-green);
  grid-template-columns: max-content 1fr;
  align-items: start;
  font-weight: 500;
  padding: var(--yohaku-yoko);
  .is-pc & {
    padding: min((16vw / 3.75), 18px) min((16vw / 3.75), 24px);
    padding-right: min((40vw / 3.75), 70px);
  }
}
:is(.qa__lineup--item--q, .qa__lineup--item--a--inner)::before {
  content: var(--qa-text);
  font-family: var(--default-ff-en);
  font-style: italic;
  font-weight: 500;
  font-size: var(--qa-text-fs);
  line-height: 1;
  color: var(--qa-text--fc, inherit)
}
.qa__lineup--item--a--notes {
  color: var(--default-color-gray);
  font-size: var(--default-font-size3);
  margin-top: 1.25em;
}
/*------------------------------------------------*/
/*★ ＝＝ footerArea ＝＝ ★*/
#portal {
  background: var(--default-color-blue2);
  padding: min((60vw / 3.75), 64px) 0;
}
.portal__title {
  font-size: var(--default-font-size4);
  line-height: 1.2;
  font-weight: 900;
  margin-bottom: 18px;
}
.portal__lineup {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
/*------------------------------------------------*/
/*★ ＝＝ hover ＝＝ ★*/
@media (hover : hover) and (pointer : fine) {
  .main .base-text-link {
    &:hover {
      text-decoration: underline;
      text-underline-offset: .3em;
    }
  }
  .base-button__link {
    transition: var(--default-hover-transition-color), var(--default-hover-transition-background);
    &:hover {
      --btn-fc: #fff;
      --btn-bg: var(--btn-color);
    }
  }
  .section-nav__lineup--item--link {
    transition: var(--default-hover-transition-color), var(--default-hover-transition-background);
    &:hover {
      --sec-nav-fc: #fff;
      --sec-nav-bg: var(--default-color-main);
    }
  }
  .spend-nav__list--item:not([class*="active"]) {
    transition: var(--default-hover-transition-color), var(--default-hover-transition-background);
    &:hover {
      --item-bg: var(--default-color-main);
      --item-fc: #fff;
    }
  }
}