/* //////////////////////////////////////////////////

Title : style.scss
For   : page/feature/atelier/250725_official/

Created       : 2025-07-18
Last Modified : 2025-07-18

==========================================

Content

////////////////////////////////////////////////// */
/**
 * variables, layouts
 */
#em250725official {
  --color-dark: #000;
  --color-dim: #999;
  --color-white: #fff;
  --color-theme-deep: #521c0d;
  --color-theme-pale: rgba(200, 170, 170, .3);
  --color-theme-light: rgba(244, 231, 225, .5);
  --font-en-sans: "pragmatica", sans-serif;
  --font-en-serif: "ambroise-std", serif;
  --font-en-primary: var(--font-en-sans);
  --font-en-heading: var(--font-en-serif);
  --zindex-behind: -1;
  --zindex-base: 1;
  --zindex-overlay: 10;
  --zindex-float: 20;
  --container-fluid: 100%;
}

/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  #em250725official {
    --reference-value: 100vw / 750;
    --rate: var(--reference-value);
  }
  #em250725official .is-hidden-small {
    display: none !important;
  }
  #footer_emmi {
    padding-top: 0 !important;
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  #em250725official {
    --reference-value: .1rem;
    --rate: 100cqi / 750;
  }
  #em250725official .is-hidden-large {
    display: none !important;
  }
  body,
.main-area {
    overflow: initial;
  }
}
/**
 * common
 */
.lp-emmi {
  font-family: var(--font-en);
}
.lp-emmi img,
.lp-emmi picture {
  display: var(--display, block);
}
.lp-emmi img,
.lp-emmi video,
.lp-emmi svg {
  width: 100%;
  height: auto;
}
.lp-emmi iframe {
  width: 100%;
  height: 100%;
}
.lp-emmi a {
  display: var(--display, inline-block);
}
.lp-emmi a:has(img) {
  --display: block;
}
.lp-emmi a.swiper-wrapper {
  --display: flex;
}
.lp-emmi * {
  box-sizing: border-box;
}
.lp-emmi button {
  padding: 0;
  background: inherit;
  border: none;
  outline: none;
}

.carouselPager {
  --swiper-pagination-bullet-horizontal-gap: 0;
  --swiper-pagination-bottom: auto;
  --swiper-pagination-top: var(--carousel-pager-top);
  position: var(--carousel-pager-position, relative);
  right: var(--carousel-pager-right, );
  left: var(--carousel-pager-left, initial) !important;
  display: flex;
  -moz-column-gap: calc(18 * var(--rate));
       column-gap: calc(18 * var(--rate));
  width: -webkit-fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  -webkit-margin-before: calc(20 * var(--rate));
          margin-block-start: calc(20 * var(--rate));
  z-index: var(--zindex-float);
}
.carouselPager__dots,
.carouselPager .swiper-pagination-bullet {
  --swiper-pagination-bullet-border-radius: 0;
  border: none;
  position: relative;
  display: block;
  width: calc(80 * var(--rate));
  height: calc(5 * var(--rate));
  padding: 0;
  outline: none;
  background: none;
  opacity: 1;
  background-color: var(--color-dim);
}
.carouselPager__dots::after,
.carouselPager .swiper-pagination-bullet::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: var(--color-dark);
}
.carouselPager__dots-active::after,
.carouselPager .swiper-pagination-bullet-active::after {
  -webkit-animation: progress 2.5s ease-in-out forwards;
          animation: progress 2.5s ease-in-out forwards;
}

/* --- for small viewport --- */
/* --- for large viewport --- */
/**
 * layout
 */
.lp-emmi__contents-container {
  container-type: inline-size;
  container-name: container;
  -webkit-padding-after: calc(100 * var(--rate));
          padding-block-end: calc(100 * var(--rate));
}
.lp-emmi__contents-shell + .lp-emmi__contents-shell {
  -webkit-padding-before: calc(180 * var(--rate));
          padding-block-start: calc(180 * var(--rate));
}

/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .lp-emmi__contents-container {
    -webkit-padding-before: calc(140 * var(--rate));
            padding-block-start: calc(140 * var(--rate));
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .lp-emmi__contents-container {
    -webkit-padding-before: calc(93 * var(--reference-value));
            padding-block-start: calc(93 * var(--reference-value));
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .lp-emmi__container {
    display: grid;
    grid-template-columns: repeat(2, 50vw);
    justify-content: center;
  }
  .lp-emmi__contents-container {
    max-width: calc(500px + 100 * var(--reference-value) * 2);
    width: 100%;
    margin-inline: auto;
    padding-inline: calc(100 * var(--reference-value));
    opacity: 0;
    -webkit-animation: fade-in 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 3.5s forwards;
            animation: fade-in 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 3.5s forwards;
  }
}
/**
 * hero
 */
.lp-emmi__hero {
  container-type: inline-size;
  container-name: container;
}
.lp-emmi__hero-container {
  position: relative;
  aspect-ratio: 750/900;
}
.lp-emmi__hero-container::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: calc(710 * var(--rate));
  height: calc(860 * var(--rate));
  margin: auto;
  background-color: var(--color-theme-pale);
  z-index: var(--zindex-behind);
}
.lp-emmi__hero-visual {
  position: absolute;
}
.lp-emmi__hero-visual:nth-child(1) {
  top: 0;
  right: calc(45 * var(--rate));
  width: calc(360 * var(--rate));
}
.lp-emmi__hero-visual:nth-child(2) {
  top: calc(145 * var(--rate));
  left: 0;
  width: calc(290 * var(--rate));
}
.lp-emmi__hero-visual:nth-child(3) {
  bottom: calc(85 * var(--rate));
  right: 0;
  width: calc(190 * var(--rate));
}
.lp-emmi__hero-visual:nth-child(4) {
  bottom: 0;
  right: calc(200 * var(--rate));
  width: calc(190 * var(--rate));
}
.lp-emmi__hero-title {
  position: absolute;
  left: calc(40 * var(--rate));
  bottom: calc(59 * var(--rate));
  color: var(--color-theme-deep);
}
.lp-emmi__hero-title > span {
  display: block;
}
.lp-emmi__hero-title--primary {
  font-size: calc(92 * var(--rate));
  line-height: calc(94 * var(--rate));
  font-family: var(--font-en-heading);
  letter-spacing: -0.005em;
  font-weight: 700;
}
.lp-emmi__hero-title--secondary {
  -webkit-margin-before: calc(16 * var(--rate));
          margin-block-start: calc(16 * var(--rate));
  -webkit-padding-start: calc(5 * var(--rate));
          padding-inline-start: calc(5 * var(--rate));
  font-size: calc(26 * var(--rate));
  line-height: calc(30 * var(--rate));
  font-family: var(--font-en-primary);
  letter-spacing: 0.025em;
  font-weight: 300;
}
.lp-emmi__hero-title--secondary span {
  font-size: calc(20 * var(--rate));
}

/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .lp-emmi__hero {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    max-width: 83.3333333333vh;
    width: 100%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    max-height: 100vh;
    margin-inline: auto;
  }
}
/**
 * main contents
 */
/* ========== common */
.lp-emmi__contents-block, .lp-emmi__contents-cell, .lp-emmi__contents-images {
  position: relative;
}
.lp-emmi__heading {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto;
  z-index: var(--zindex-float);
  pointer-events: none;
}
.lp-emmi__prices {
  position: var(--position, relative);
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 0.75em;
       column-gap: 0.75em;
  font-size: calc(22 * var(--rate));
  line-height: 1.8181818182;
  font-family: var(--font-en-primary);
  font-weight: 300;
  letter-spacing: 0.05em;
  z-index: var(--zindex-overlay);
}

/* ========== shells */
.lp-emmi__contents-shell {
  position: relative;
}
.lp-emmi__contents-shell--look-01 .lp-emmi__contents-block:nth-child(1) {
  -webkit-padding-start: calc(210 * var(--rate));
          padding-inline-start: calc(210 * var(--rate));
}
.lp-emmi__contents-shell--look-01 .lp-emmi__contents-block:nth-child(2) {
  -webkit-margin-before: calc(20 * var(--rate));
          margin-block-start: calc(20 * var(--rate));
  -webkit-padding-end: calc(150 * var(--rate));
          padding-inline-end: calc(150 * var(--rate));
}
.lp-emmi__contents-shell--look-01 .lp-emmi__contents-block:nth-child(2) .carouselPager {
  -webkit-margin-start: calc(20 * var(--rate));
          margin-inline-start: calc(20 * var(--rate));
}
.lp-emmi__contents-shell--look-01 .lp-emmi__contents-block:nth-child(3) {
  -webkit-margin-before: calc(100 * var(--rate));
          margin-block-start: calc(100 * var(--rate));
  padding-inline: calc(135 * var(--rate));
}
.lp-emmi__contents-shell--look-01 .lp-emmi__heading {
  -webkit-padding-before: calc(17 * var(--rate));
          padding-block-start: calc(17 * var(--rate));
  width: calc(238 * var(--rate));
}
.lp-emmi__contents-shell--look-01 .lp-emmi__prices {
  --position: absolute;
  flex-direction: column;
  bottom: calc(57 * var(--rate));
  right: calc(30 * var(--rate));
}
.lp-emmi__contents-shell--look-02 {
  --color-heading: var(--color-theme-deep);
}
.lp-emmi__contents-shell--look-02 .lp-emmi__contents-block:nth-child(1) .carouselPager {
  margin-inline: auto;
}
.lp-emmi__contents-shell--look-02 .lp-emmi__contents-block:nth-child(2) {
  -webkit-margin-before: calc(112 * var(--rate));
          margin-block-start: calc(112 * var(--rate));
  -webkit-padding-start: calc(95 * var(--rate));
          padding-inline-start: calc(95 * var(--rate));
  -webkit-padding-end: calc(60 * var(--rate));
          padding-inline-end: calc(60 * var(--rate));
}
.lp-emmi__contents-shell--look-02 .lp-emmi__contents-block:nth-child(3) {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-margin-before: calc(158 * var(--rate));
          margin-block-start: calc(158 * var(--rate));
  background-color: var(--color-theme-light);
}
.lp-emmi__contents-shell--look-02 .lp-emmi__contents-block:nth-child(3) > *:nth-child(1) {
  grid-column: 2;
  grid-row: 1;
}
.lp-emmi__contents-shell--look-02 .lp-emmi__contents-block:nth-child(3) > *:nth-child(2) {
  grid-column: 1;
  grid-row: 1;
}
.lp-emmi__contents-shell--look-02 .lp-emmi__contents-block:nth-child(3) > *:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}
.lp-emmi__contents-shell--look-02 .lp-emmi__contents-block:nth-child(3) > *:nth-child(4) {
  grid-column: 1;
  grid-row: 3;
}
.lp-emmi__contents-shell--look-02 .lp-emmi__contents-block:nth-child(3) > *:nth-child(5) {
  grid-column: 2;
  grid-row: 3;
}
.lp-emmi__contents-shell--look-02 .lp-emmi__contents-block:nth-child(3) > *:nth-child(5) .slide-in {
  transition-delay: 2s !important;
}
.lp-emmi__contents-shell--look-02 .lp-emmi__contents-block:nth-child(3) > *:nth-child(6) {
  grid-column: 1;
  grid-row: 2;
  padding-block: calc(21 * var(--rate));
  padding-inline: calc(17 * var(--rate));
}
.lp-emmi__contents-shell--look-02 .lp-emmi__heading {
  -webkit-padding-before: calc(10 * var(--rate));
          padding-block-start: calc(10 * var(--rate));
  padding-inline: calc(22.5 * var(--rate));
}
.lp-emmi__contents-shell--look-02 .lp-emmi__prices {
  -webkit-margin-before: calc(38 * var(--rate));
          margin-block-start: calc(38 * var(--rate));
  justify-content: center;
}
.lp-emmi__contents-shell--look-03 .lp-emmi__contents-block:nth-child(1) {
  padding-inline: calc(60 * var(--rate));
}
.lp-emmi__contents-shell--look-03 .lp-emmi__contents-block:nth-child(2) {
  -webkit-margin-before: calc(20 * var(--rate));
          margin-block-start: calc(20 * var(--rate));
  padding-inline: calc(115 * var(--rate));
}
.lp-emmi__contents-shell--look-03 .lp-emmi__heading {
  -webkit-padding-after: calc(15 * var(--rate));
          padding-block-end: calc(15 * var(--rate));
  padding-inline: calc(95 * var(--rate));
}
.lp-emmi__contents-shell--look-03 .lp-emmi__heading span {
  display: block;
  margin-inline: auto;
}
.lp-emmi__contents-shell--look-03 .lp-emmi__heading span:nth-child(1) {
  width: calc(306 * var(--rate));
}
.lp-emmi__contents-shell--look-03 .lp-emmi__heading span:nth-child(2) {
  width: calc(63 * var(--rate));
  -webkit-margin-before: calc(25 * var(--rate));
          margin-block-start: calc(25 * var(--rate));
}
.lp-emmi__contents-shell--look-03 .lp-emmi__heading span:nth-child(3) {
  width: calc(328 * var(--rate));
  -webkit-margin-before: calc(25 * var(--rate));
          margin-block-start: calc(25 * var(--rate));
}
.lp-emmi__contents-shell--look-03 .lp-emmi__prices {
  -webkit-margin-before: calc(30 * var(--rate));
          margin-block-start: calc(30 * var(--rate));
  justify-content: center;
}
.lp-emmi__contents-shell--look-04 .lp-emmi__contents-block:nth-child(1) {
  -webkit-padding-end: calc(135 * var(--rate));
          padding-inline-end: calc(135 * var(--rate));
}
.lp-emmi__contents-shell--look-04 .lp-emmi__contents-block:nth-child(2) {
  -webkit-margin-before: calc(120 * var(--rate));
          margin-block-start: calc(120 * var(--rate));
  padding-inline: calc(25 * var(--rate));
}
.lp-emmi__contents-shell--look-04 .lp-emmi__contents-block:nth-child(2) .carouselPager {
  margin-inline: auto;
}
.lp-emmi__contents-shell--look-04 .lp-emmi__contents-block:nth-child(3) {
  -webkit-margin-before: calc(92 * var(--rate));
          margin-block-start: calc(92 * var(--rate));
  padding-inline: calc(115 * var(--rate));
}
.lp-emmi__contents-shell--look-04 .lp-emmi__heading {
  -webkit-padding-before: calc(16 * var(--rate));
          padding-block-start: calc(16 * var(--rate));
  padding-inline: calc(68 * var(--rate));
}
.lp-emmi__contents-shell--look-04 .lp-emmi__prices {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  -webkit-margin-before: calc(38 * var(--rate));
          margin-block-start: calc(38 * var(--rate));
}
.lp-emmi__contents-shell--look-05::before {
  content: "";
  position: absolute;
  bottom: calc(80 * var(--rate));
  left: 0;
  width: calc(660 * var(--rate));
  height: calc(1495 * var(--rate));
  background-color: var(--color-theme-light);
  z-index: var(--zindex-behind);
}
.lp-emmi__contents-shell--look-05 .lp-emmi__contents-block:nth-child(1) {
  -webkit-padding-start: calc(53 * var(--rate));
          padding-inline-start: calc(53 * var(--rate));
  -webkit-padding-end: calc(50 * var(--rate));
          padding-inline-end: calc(50 * var(--rate));
}
.lp-emmi__contents-shell--look-05 .lp-emmi__contents-block:nth-child(2) {
  -webkit-margin-before: calc(140 * var(--rate));
          margin-block-start: calc(140 * var(--rate));
}
.lp-emmi__contents-shell--look-05 .lp-emmi__contents-block:nth-child(2) .carouselPager {
  margin-inline: auto;
}
.lp-emmi__contents-shell--look-05 .lp-emmi__contents-block:nth-child(3) {
  -webkit-margin-before: calc(110 * var(--rate));
          margin-block-start: calc(110 * var(--rate));
  -webkit-padding-end: calc(247 * var(--rate));
          padding-inline-end: calc(247 * var(--rate));
}
.lp-emmi__contents-shell--look-05 .lp-emmi__contents-block:nth-child(4) {
  -webkit-margin-before: calc(20 * var(--rate));
          margin-block-start: calc(20 * var(--rate));
  -webkit-padding-start: calc(120 * var(--rate));
          padding-inline-start: calc(120 * var(--rate));
}
.lp-emmi__contents-shell--look-05 .lp-emmi__prices {
  -webkit-margin-before: calc(38 * var(--rate));
          margin-block-start: calc(38 * var(--rate));
  justify-content: center;
  /* --- for small viewport --- */
}
.lp-emmi__contents-shell--look-05 .lp-emmi__prices + .lp-emmi__prices {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}
@media screen and (max-width: 767px) {
  .lp-emmi__contents-shell--look-05 .lp-emmi__prices {
    -webkit-padding-start: calc(103 * var(--rate));
            padding-inline-start: calc(103 * var(--rate));
    -webkit-padding-end: calc(120 * var(--rate));
            padding-inline-end: calc(120 * var(--rate));
  }
}

/* ========== footer */
.lp-emmi__footer {
  -webkit-margin-before: calc(120 * var(--rate));
          margin-block-start: calc(120 * var(--rate));
}
.lp-emmi__footer-button {
  --display: grid;
  place-items: center;
  width: calc(580 * var(--rate));
  height: calc(130 * var(--rate));
  margin-inline: auto;
  border: calc(2 * var(--rate)) solid var(--color-theme-deep);
  font-size: calc(66 * var(--rate));
  font-family: var(--font-en-heading);
  font-weight: 400;
  color: var(--color-theme-deep);
  letter-spacing: 0.035em;
}
.lp-emmi__footer-credit {
  -webkit-margin-before: calc(88 * var(--rate));
          margin-block-start: calc(88 * var(--rate));
  font-family: var(--font-en-primary);
  font-weight: 300;
  font-size: calc(22 * var(--rate));
  line-height: 2.1818181818;
  letter-spacing: 0.05em;
  text-align: center;
}

/**
 * animation
 */
.anim-fade-in {
  opacity: 0;
}
.anim-fade-in.is-show {
  -webkit-animation: fade-in 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
          animation: fade-in 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  -webkit-animation-delay: var(--animation-delay, 0);
          animation-delay: var(--animation-delay, 0);
}

.anim-fade-blur {
  opacity: 0;
}
.anim-fade-blur.is-show {
  -webkit-animation: fade-blur 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
          animation: fade-blur 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.lp-emmi__hero .anim-fade-blur {
  -webkit-animation: fade-blur 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
          animation: fade-blur 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.anim-fade-in-order {
  opacity: 0;
}
.anim-fade-in-order.slide-in {
  transform: translateY(50%);
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.anim-fade-in-order .slide-in {
  transform: translateY(50%);
  transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  opacity: 0;
}

.js-animation-trigger.is-show .anim-fade-in-order {
  -webkit-animation: fade-in 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
          animation: fade-in 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
.js-animation-trigger.is-show .anim-fade-in-order:nth-child(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  transition-delay: 0s;
}
.js-animation-trigger.is-show .anim-fade-in-order:nth-child(2) {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  transition-delay: 0.5s;
}
.js-animation-trigger.is-show .anim-fade-in-order:nth-child(3) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  transition-delay: 1s;
}
.js-animation-trigger.is-show .anim-fade-in-order:nth-child(4) {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
  transition-delay: 1.5s;
}
.js-animation-trigger.is-show .anim-fade-in-order:nth-child(5) {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
  transition-delay: 2s;
}
.js-animation-trigger.is-show .anim-fade-in-order.slide-in {
  transform: translateY(0);
}
.js-animation-trigger.is-show .anim-fade-in-order .slide-in {
  transform: translateY(0);
  opacity: 1;
}
.js-animation-trigger.is-show .anim-fade-in-order .slide-in:nth-child(1) {
  transition-delay: 0s;
}
.js-animation-trigger.is-show .anim-fade-in-order .slide-in:nth-child(2) {
  transition-delay: 0.5s;
}
.js-animation-trigger.is-show .anim-fade-in-order .slide-in:nth-child(3) {
  transition-delay: 1s;
}
.js-animation-trigger.is-show .anim-fade-in-order .slide-in:nth-child(4) {
  transition-delay: 1.5s;
}
.js-animation-trigger.is-show .anim-fade-in-order .slide-in:nth-child(5) {
  transition-delay: 2s;
}
.js-animation-trigger.is-show .anim-fade-in-order.lp-emmi__hero-title .slide-in:nth-child(1) {
  transition-delay: 2s;
}
.js-animation-trigger.is-show .anim-fade-in-order.lp-emmi__hero-title .slide-in:nth-child(2) {
  transition-delay: 2.5s;
}
.js-animation-trigger.is-show .anim-fade-in-order.lp-emmi__hero-title .slide-in:nth-child(3) {
  transition-delay: 3s;
}

/**
 * @keyframes
 */
@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fade-blur {
  0% {
    filter: blur(10px);
    transform: scale(1.02);
    opacity: 0;
  }
  100% {
    filter: blur(0);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes fade-blur {
  0% {
    filter: blur(10px);
    transform: scale(1.02);
    opacity: 0;
  }
  100% {
    filter: blur(0);
    transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes progress {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
@keyframes progress {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
/*# sourceMappingURL=style.css.map */