@charset "UTF-8";
body {
  animation: loading 2s; }

@keyframes loading {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.fs-l-main {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%; }

.fs-l-page {
  margin-top: 80px; }
  @media (min-width: 670px) {
    .fs-l-page {
      margin-top: 55px;
      font-size: 14px; } }

img {
  width: 100%;
  vertical-align: bottom; }

.c-sp {
  display: block; }
  @media (min-width: 1000px) {
    .c-sp {
      display: none; } }

.c-375 {
  display: block; }
  @media (min-width: 376px) {
    .c-375 {
      display: none; } }

.c-390 {
  display: block; }
  @media (min-width: 391px) {
    .c-390 {
      display: none; } }

.c-414 {
  display: block; }
  @media (min-width: 415px) {
    .c-414 {
      display: none; } }

.c-pc {
  display: none; }
  @media (min-width: 1000px) {
    .c-pc {
      display: block; } }

.c-ttlArea {
  margin-left: 7.5%;
  margin-bottom: 5px; }
  @media (min-width: 670px) {
    .c-ttlArea {
      margin-left: 0; } }
  .c-ttlArea .c-ttl {
    font-family: "scotch-display-condensed", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 24px; }
  .c-ttlArea .c-ttlDeco {
    font-family: "scotch-display-condensed", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 10px; }

.c-txt {
  font-family: foYuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  line-height: 1.8;
  width: 90%;
  margin-inline: auto; }

.l-container {
  display: flex;
  flex-direction: column; }
  @media (min-width: 670px) {
    .l-container {
      flex-direction: row;
      justify-content: space-between; } }

.l-mainWrap {
  display: flex;
  flex-direction: column; }
  @media (min-width: 1000px) {
    .l-mainWrap {
      flex-direction: row;
      width: 66%;
      justify-content: space-between; } }

.l-mv {
  width: 100%; }
  @media (min-width: 1000px) {
    .l-mv {
      height: 90vh;
      width: 570px;
      max-width: 600px;
      position: sticky;
      top: 95px;
      align-self: flex-start;
      margin-bottom: 0;
      margin-bottom: 0;
      background: #F8F7F2;
      border: solid 15px #06133c; } }
  .l-mv .l-mv_inner {
    position: relative; }
    @media (min-width: 1000px) {
      .l-mv .l-mv_inner {
        width: 570px;
        margin: -15px 0 0 -15px; } }
  .l-mv .p-mv_logo {
    position: absolute;
    width: 80%;
    top: 47%;
    left: 10%;
    clip-path: inset(0 100% 0 0);
    /* 右側を全部切る */
    animation: reveal 1.2s ease-out forwards;
    animation-delay: 2s; }
    @media (min-width: 1000px) {
      .l-mv .p-mv_logo {
        width: 440px;
        top: 44%;
        left: 9%; } }
@keyframes reveal {
  to {
    clip-path: inset(0 0 0 0);
    /* 全表示 */ } }
@media (min-width: 670px) {
  .l-wrapper {
    width: 470px; } }
.l-wrapper .c-txt {
  text-align: center;
  margin-top: 70px; }
@media (min-width: 670px) {
  .l-wrapper .u-first {
    margin-top: 150px; } }
.l-wrapper .p-splineup {
  margin: 40px auto 70px;
  width: 100%; }
  .l-wrapper .p-splineup .c-ttlArea {
    text-align: center;
    margin-left: 0; }
  .l-wrapper .p-splineup .p-splineupInner {
    display: flex;
    gap: 10px;
    width: 100%;
    margin-top: 15px;
    overflow-x: scroll; }
    .l-wrapper .p-splineup .p-splineupInner div {
      width: 35%;
      flex-shrink: 0; }
.l-wrapper .u-uppercase {
  text-transform: uppercase; }
.l-wrapper #item1, .l-wrapper #item2, .l-wrapper #item3, .l-wrapper #item4, .l-wrapper #item5 {
  margin-bottom: 100px;
  padding-top: 30px;
  margin-top: -30px; }
  @media (min-width: 670px) {
    .l-wrapper #item1, .l-wrapper #item2, .l-wrapper #item3, .l-wrapper #item4, .l-wrapper #item5 {
      margin-top: -150px;
      padding-top: 150px; } }
.l-wrapper #item1 {
  padding-top: 60px; }
  @media (min-width: 670px) {
    .l-wrapper #item1 {
      margin-top: -80px;
      padding-top: 160px; } }
.l-wrapper .c-mainArea {
  width: 100%;
  margin-bottom: 30px;
  margin-top: 15px; }
  .l-wrapper .c-mainArea .c-mainArea_img {
    margin-bottom: 15px; }
  .l-wrapper .c-mainArea .c-txt {
    margin-top: 20px; }
.l-wrapper .c-credit {
  text-align: center; }
  .l-wrapper .c-credit .c-credit_name {
    font-family: foYuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"; }
.l-wrapper .c-credit_price {
  font-family: "scotch-display-condensed", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.8; }
  .l-wrapper .c-credit_price span {
    text-decoration: underline;
    underline-offset: 2px; }
.l-wrapper .p-btnArea {
  width: 90%;
  margin: -20px auto 50px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 20px; }
.l-wrapper .p-btn {
  border: 1px solid #000;
  padding: 20px; }

@media (min-width: 670px) {
  .l-sideItem {
    height: 90vh;
    position: sticky;
    top: 95px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 450px;
    background: #F8F7F2; } }
.l-sideItem .p-swipe {
  font-family: "scotch-display-condensed", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 10px;
  text-align: center; }
.l-sideItem .p-pcLineup {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 30px;
  justify-content: center; }
  .l-sideItem .p-pcLineup div {
    width: calc(25%); }

.c-tab {
  background: #F8F7F2;
  border-radius: 20px;
  width: 92%;
  margin-inline: auto; }
  .c-tab .c-scene {
    font-family: foYuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 24px;
    margin-bottom: 10px; }
    .c-tab .c-scene span {
      font-family: "scotch-display-condensed", sans-serif;
      font-weight: 500;
      font-style: normal;
      font-size: 16px; }
  .c-tab .c-stylingItem {
    font-family: "scotch-display-condensed", sans-serif;
    font-weight: 500;
    font-style: normal;
    position: relative;
    text-align: center;
    margin-top: 20px;
    line-height: 1.8; }
    .c-tab .c-stylingItem::after {
      width: 100%;
      height: 1px;
      content: '';
      position: absolute;
      bottom: -15px;
      background: #000;
      left: 0; }
    .c-tab .c-stylingItem .c-stylingItem_ttl {
      position: relative;
      font-size: 16px; }
      .c-tab .c-stylingItem .c-stylingItem_ttl::before {
        width: 30%;
        height: 1px;
        content: '';
        position: absolute;
        right: 0px;
        background: #000;
        top: 12px; }
      .c-tab .c-stylingItem .c-stylingItem_ttl::after {
        width: 30%;
        height: 1px;
        content: '';
        position: absolute;
        left: 0px;
        background: #000;
        top: 12px; }
  .c-tab .c-tab_list {
    display: flex;
    align-items: stretch;
    margin-bottom: 0;
    padding-left: 0;
    justify-content: space-between; }
    .c-tab .c-tab_list li {
      list-style: none;
      width: calc(20%);
      /* 5つ均等に配置 */
      min-width: auto; }
  .c-tab .c-tab_menu {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    text-align: center;
    text-decoration: none;
    outline: 0;
    padding: 0.2em 0.5em 0.6em;
    border-bottom: 0;
    box-sizing: border-box;
    cursor: pointer;
    transition-property: background;
    transition-duration: 0.3s;
    border-radius: 20px; }
    .c-tab .c-tab_menu[aria-expanded="true"] {
      color: #fff;
      background: #000000;
      border-radius: 20px; }
  .c-tab .c-tab_menu__main {
    flex-grow: 1;
    font-family: foYuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    text-align: center; }
    .c-tab .c-tab_menu__main small {
      font-family: "scotch-display-condensed", sans-serif;
      font-weight: 500;
      font-style: normal;
      font-size: 8px; }
  .c-tab .c-tab_body {
    display: none;
    padding: 15px 7% 40px; }
    .c-tab .c-tab_body.u-block {
      display: block; }

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 8px;
  top: auto !important;
  left: auto !important;
  width: 50px !important;
  right: 0 !important; }

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #000 !important; }

.swiper-pagination-bullet {
  width: 6px !important;
  height: 6px !important;
  display: inline-block;
  border-radius: 0 !important;
  background: #000 !important;
  opacity: .2; }

.c-bar {
  width: 0;
  height: 1px;
  background: #000;
  transition: width 1s ease-out; }
  .c-bar.is-active {
    width: 100%; }

.fadeIn {
  opacity: 0;
  transition: 2s; }

.fadeIn.is-show {
  opacity: 1; }
