@charset "UTF-8";

:root {
  --font-jp: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "Open Sans", "メイリオ", sans-serif;
  --font-en: pragmatica, sans-serif;
}

/* //////////////////////////////////////////////////

Title : style.scss
For   : page/preorder/2024/ss2nd/atelier/

Created       : 2024-03-02
Last Modified : 2024-03-02

==========================================

Content

////////////////////////////////////////////////// */
img,
a,
picture {
  display: block;
}

img {
  width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}

.main-area.lp {
  opacity: 0;
}

/* ========== main layout */
@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  #footer_emmi {
    margin-top: 0;
  }

  .sp-only {
    display: none !important;
  }
}

/* ========== hero */
.hero {
  text-align: center;
  font-family: var(--font-jp);
  line-height: 2;
}

.hero__leadMsg span {
  font-size: calc(23* (100vw /750));
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 2.1;
}

@media screen and (max-width: 767px) {
  .hero {
    -webkit-padding-after: calc(87* (100vw /750));
    padding-block-end: calc(87* (100vw /750));
  }

  .hero h3 {
    width: calc(425 * (100vw /750));
    margin: calc(80* (100vw /750)) auto 0;
  }

  .hero__leadMsg {
    font-size: calc(24* (100vw /750));
    margin-top: calc(52* (100vw /750));
    letter-spacing: 0.025em;
  }
}

@media screen and (min-width: 768px) {
  .hero {
    -webkit-padding-after: 5.8rem;
    padding-block-end: 5.8rem;
    margin-top: 7.9rem;
    line-height: 2.133;
  }

  .hero h3 {
    width: 26.9rem;
    margin: 6.5rem auto 0;
  }

  .hero__leadMsg {
    -webkit-margin-before: 3.3rem;
    margin-block-start: 3.3rem;
    font-size: 1.4rem;
    letter-spacing: 0.025em;
  }

  .hero__leadMsg span {
    font-size: 1.3rem;
    line-height: 2.28;
  }
}

/* ========== main panel */
.mainPanel__shell {
  display: grid;
}

.mainPanel__col {
  position: relative;
}

.mainPanel__priceList {
  font-family: var(--font-en);
  font-weight: 400;
  letter-spacing: 0.05em;
}

.mainPanel__priceList .notes {
  display: inline-block;
  font-family: var(--font-jp);
}

.mainPanel__priceList .no-link {
  display: block;
}

@media screen and (max-width: 767px) {
  .mainPanel__shell {
    grid-template-columns: repeat(2, calc(368* (100vw /750)));
    gap: calc(14* (100vw /750));
  }

  .mainPanel__shell .mainPanel__col a {
    pointer-events: none;
  }

  .mainPanel__shell .mainPanel__col--thumb .mainPanel__priceList,
  .mainPanel__shell .mainPanel__col--thumb .mainPanel__icons {
    display: none;
  }

  .mainPanel__thumbItem {
    max-width: calc(368* (100vw /750));
  }

  .mainPanel__col--thumb.--big {
    grid-column: span 2;
  }

  .mainPanel__col--thumb.--big .mainPanel__thumbItem {
    max-width: calc(750* (100vw /750));
  }


  .mainPanel__priceList {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: calc(15* (100vw /750));
    column-gap: calc(15* (100vw /750));
    font-size: calc(24* (100vw /750));
    line-height: 1.8181818182;
  }

  .mainPanel__priceList .notes {
    -webkit-padding-before: 0.75em;
    padding-block-start: 0.75em;
    font-size: 9px;
    line-height: 2;
  }
}

@media screen and (min-width: 768px) {
  .mainPanel__shell {
    grid-template-columns: repeat(3, 40rem);
    grid-template-rows: repeat(auto-fill, 57.5rem);
    width: 123rem;
    gap: 1.5rem;
    margin-inline: auto;
  }

  .mainPanel__col--thumb.--big {
    grid-area: span 2 / span 2;
  }

  .mainPanel__col:hover .mainPanel__thumb::after {
    opacity: 1;
    visibility: visible;
  }

  .mainPanel__thumb {
    position: relative;
  }

  .mainPanel__col--thumb {
    height: fit-content;
  }

  .mainPanel__thumb a:hover {
    opacity: 1;
  }

  /* .mainPanel__thumb::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.6);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.3s;
    z-index: 10;
  } */

  .mainPanel__priceList {
    position: absolute;
    bottom: 1.1rem;
    left: 2rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin: auto;
    font-size: 1.4rem;
    line-height: 1.8571428571;
    z-index: 11;
    color: #fff;
    text-shadow: 0 0 1rem rgba(0, 0, 0, 0.25);
    /* opacity: 0; */
    /* visibility: hidden; */
  }

  .mainPanel__priceList a {
    width: fit-content;
  }

  /* .mainPanel__col .mainPanel__priceList {
    -webkit-clip-path: inset(100% 0 0 0);
    clip-path: inset(100% 0 0 0);
    transition-duration: 0.5s;
  }

  .mainPanel__col.js-credit-show .mainPanel__priceList {
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  } */
  .mainPanel__col .mainPanel__priceList {
    opacity: 0;
    transform: translateY(20px);
    transition-duration: 0.5s;
    -webkit-clip-path: inset(100% 0 0 0);
    clip-path: inset(100% 0 0 0);
  }

  .mainPanel__col:hover .mainPanel__priceList {
    opacity: 1;
    transform: translateY(0);
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
  }

  .mainPanel__priceList .notes {
    -webkit-padding-before: 1em;
    padding-block-start: 1em;
    font-size: 10px;
    line-height: 2.2;
  }

  .mainPanel__col--thumb.--thumb05 {
    grid-row: 2 /span 2;
  }

  .mainPanel__col--thumb.--thumb07 {
    grid-column: 2;
  }

  .mainPanel__col--thumb.--thumb08 {
    grid-area: 4/1;
  }

  .mainPanel__col--thumb.--thumb10 {
    grid-row: 5 / span 2;
    grid-column: 2 / span 2;
  }

  .mainPanel__col--thumb.--thumb07 {
    grid-column: 2;
  }

  .mainPanel__col--thumb.--thumb08 {
    grid-area: 4/1;
  }

  .mainPanel__col--thumb.--thumb16 {
    grid-area: 8 / 3;
  }

  .mainPanel__col--thumb.--thumb17 {
    grid-area: 8 / 1;
  }

  .mainPanel__col--thumb.--thumb18 {
    grid-area: 8 / 2;
  }

  .mainPanel__col--thumb.--thumb19 {
    grid-area: 9 / 2;
  }

  .mainPanel__col--thumb.--thumb20 {
    grid-area: 9 / 3;
  }

  .mainPanel__col--thumb.--thumb21 {
    grid-area: 9 / 1;
  }

  .mainPanel__col--thumb.--thumb23 {
    grid-row: 10 / span 2;
    grid-column: 2 / span 2;
  }

  .mainPanel__col--thumb.--thumb28 {
    grid-area: 13 / 1;
  }

  .mainPanel__col--thumb.--thumb34 {
    grid-row: 14 / span 2;
    grid-column: 1 / span 2;
  }

  .mainPanel__col--thumb.--thumb37 {
    grid-area: 17 / 1;
  }

  .mainPanel__col--thumb.--thumb46 {
    grid-area: 21 / 3;
  }

  .mainPanel__col--thumb.--thumb48 {
    grid-row: 21 / span 2;
  }

  .mainPanel__col--thumb.--thumb50-a {
    grid-area: 24 / 1;
  }

  .mainPanel__col--thumb.--thumb50-b {
    grid-area: 23 / 1;
  }

  .mainPanel__col--thumb.--thumb53-b {
    grid-area: 25 / 1;
  }

  .mainPanel__col--thumb.--thumb54 {
    grid-area: 27 / 1;
  }

  .mainPanel__col--thumb.--thumb55 {
    grid-row: 24 / span 2;
    grid-column: 2 / span 2;
  }

}










/* ===============================================
* button *
=============================================== */
.lpEmmi__button {
  display: grid;
  place-items: center;
  margin-inline: auto;
  border: 1px solid #000;
  font-family: var(--font-en);
  font-weight: 400;
  letter-spacing: 0.025em;
}

@media screen and (max-width: 767px) {
  .lpEmmi__button {
    width: 190px;
    height: 36px;
    -webkit-margin-before: 65px;
    margin-block-start: 65px;
    font-size: 14px;
  }
}

@media screen and (min-width: 768px) {
  .lpEmmi__button {
    width: 240px;
    height: 40px;
    -webkit-margin-before: 110px;
    margin-block-start: 110px;
    font-size: 18px;
  }
}














/* ===============================================
* modal *
=============================================== */
@media screen and (max-width: 767px) {
  body {
    position: relative;
  }

  body.is-filtered {
    overflow: hidden;
  }

  body.is-filtered::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: rgba(255, 255, 255, 0.6); */
    z-index: 1;
  }

  .modal__bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99998;
    background: rgba(255, 255, 255, 0.6);
  }

  .modal__container {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-45%);
    opacity: 0;
    visibility: hidden;
    transition: all 1s ease-in-out;
    z-index: 99999;
  }

  .modal__container.is-show {
    opacity: 1;
    visibility: visible;
  }

  .modal__container .mainPanel__priceList {
    -webkit-margin-before: calc(30* (100vw /750));
    margin-block-start: calc(30* (100vw /750));
  }

  .modal__container .swiper-button-prev,
  .modal__container .swiper-button-next {
    --space: 12.5;
    width: calc(15px + var(--space) * 1px * 2);
    height: calc(30px + var(--space) * 1px * 2);
    background-size: 15px;
    background-repeat: no-repeat;
    background-position: center center;
    top: calc(var(--modal-image-height) / 2.05);
    z-index: 10;
  }

  .modal__container .swiper-button-prev::after,
  .modal__container .swiper-button-next::after {
    content: "";
    display: none;
  }

  .modal__container .swiper-button-prev {
    left: calc(-65* (100vw /750));
    background-image: url(../images/vector/arrow-prev.svg);
  }

  .modal__container .swiper-button-next {
    right: calc(-65* (100vw /750));
    background-image: url(../images/vector/arrow-next.svg);
  }

  .modal__body {
    width: calc(640* (100vw /750));
    max-height: calc(100svh - 120px + 40px);
    overflow-y: auto;
  }

  .mainPanel__col--thumb .mainPanel__thumbItem a,
  .mainPanel__col--thumb .mainPanel__thumbItem span {
    position: relative;
    display: block;
  }

  .mainPanel__col--thumb .mainPanel__thumbItem a::before,
  .mainPanel__col--thumb .mainPanel__thumbItem span::before {
    content: "";
    position: absolute;
    z-index: 2;
    background: url(../images/vector/modal-open.svg) center/contain no-repeat;
    width: calc(40* (100vw /750));
    height: calc(40* (100vw /750));
    left: calc(10* (100vw /750));
    bottom: calc(10* (100vw /750));
  }

  .mainPanel__col--thumb.--big .mainPanel__thumbItem a .big--modalImg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
  }

  .modal__container .modal__card>a,
  .modal__container.is-show .modal__card>a {
    position: relative;
  }

  .modal__container .big--modalImg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    z-index: 2;
    transition: opacity 2s;
  }

  .modal__container.is-show .big--modalImg {
    opacity: 1;
  }
}


/* ===============================================
* mainFooter *
=============================================== */
.mainFooter .icon-wrap {
  width: calc(410* (100vw /750));
  margin: calc(180* (100vw /750)) auto 0;
}

.mainFooter .info-wrap {
  width: calc(700* (100vw /750));
  margin: calc(140* (100vw /750)) auto 0;
}

.mainFooter .staffcredit {
  font-family: var(--font-en);
  font-weight: 300;
  letter-spacing: 0.05em;
  font-size: calc(22* (100vw /750));
  line-height: 2.1818181818;
  text-align: center;
  margin-top: calc(130* (100vw /750));
}

.mainFooter .lp--foot-btn {
  width: calc(440*(100vw / 750));
  margin: calc(130*(100vw / 750)) auto calc(100* (100vw /750));
}

@media screen and (min-width: 768px) {
  .mainFooter .icon-wrap {
    width: 26.7rem;
    margin: 16rem auto 0;
  }

  .mainFooter .info-wrap {
    width: 60rem;
    margin: 11.9rem auto 0;
  }

  .mainFooter .staffcredit {
    font-size: 1.3rem;
    line-height: 2;
    margin-top: 9rem;
  }

  .mainFooter .lp--foot-btn {
    width: 28rem;
    margin: 10rem auto 15rem;
  }
}

/* ===============================================
* youtube *
=============================================== */
.youtubeWrap h3 {
  width: calc(175* (100vw /750));
  margin: calc(140* (100vw /750)) auto 0;
}

@media screen and (max-width: 767px) {
  .youtubeWrap {
    width: calc(700 * (100vw / 750));
    margin: auto;
  }

  .youtubeWrap .youtubeWrap__inner {
    margin-top: calc(38* (100vw / 750));
  }

  .block10Wrap__youtubeWrap iframe {
    width: calc(700 * (100vw / 750));
    height: calc(394 * (100vw / 750));
  }
}

@media screen and (min-width: 768px) {
  .youtubeWrap {
    width: 64rem;
    margin: auto;
  }

  .youtubeWrap h3 {
    width: 10rem;
    margin-top: 12rem;
  }

  .youtubeWrap .youtubeWrap__inner {
    margin-top: 2.5rem;
  }

  .block10Wrap__youtubeWrap iframe,
  .block10Wrap__youtubeWrap video {
    width: 64rem;
    height: 36rem;
  }
}

/* ===============================================
* フェードインアニメーション *
=============================================== */
.js-fadeIn {
  opacity: 0;
  /* will-change: opacity; */
  -webkit-transition: ease-in, opacity 2.5s, -webkit-transform 1s;
  transition: ease-in, opacity 2.5s, -webkit-transform 1s;
}

.js-fadeIn.js-scrollIn {
  opacity: 1;
}

@media (max-width: 1400px) and (min-width: 768px) {
  html {
    font-size: calc(10 * (100vw / 1400));
  }
}