@charset "UTF-8";

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

Title : LP CSS

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


/* ========================================================
                      * Layout style *
========================================================= */

:root {
  --rate: 46.8rem / 780;
  --color-main: #a66357;
  --color-bg: #f8f0f2;
  --font-en: "presti-display", serif;
}

html {
  overflow-y: scroll !important;
  font-size: 62.5%;
  background: var(--color-bg);
}

main {
  max-width: 100vw;
}

footer {
  position: relative;
  z-index: 2;
  margin-top: 0;
}


#share {
  display: none !important;
}

/* ===================
  LP Contents
=================== */

.lp_contents {
  margin: 0 auto;
  padding: 0;
  font-size: calc(24 * (var(--rate)));
  letter-spacing: 0.125em;
  line-height: 2.4;
  font-weight: 400;
  font-style: normal;
  text-align: justify;
  font-feature-settings: "palt";
}

#FooterWrap {
  position: relative;
  z-index: 2;
}

#footer {
  margin-top: 0;
}

.lp_contents *,
.lp_contents *:before,
.lp_contents *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.lp_contents ul,
.lp_contents li {
  list-style: none;
}

.lp_contents a:hover {
  opacity: 1;
}

.lp_contents img {
  max-width: 100%;
}

.lp_contents a,
.lp_contents a:before,
.lp_contents a:after {
  transition: opacity .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  color .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  background-color .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  background-image .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  border-color .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  text-shadow .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  text-weight .3s cubic-bezier(0.51, 0.21, 0.41, 1);
}

.lp_contents h1 {
  padding: 0;
}

/* ===================
  　　 General
=================== */

.lp_contents .txt_center {
  text-align: center;
}

.lp_contents .txt_bold {
  font-weight: bold;
}

.lp_contents .txt_en {
  font-family: "garamond-premier-pro", serif;
  letter-spacing: 0.08em;
}

.lp_contents .txt_mincho {
  font-family: 'Noto Serif JP', serif;
}

.lp_contents a {
  color: inherit;
}

/* ===================
  　　　Animation
=================== */

/* -- keyframes -- */

@keyframes opa0 {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes opa1 {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes opa2 {
  0% {
    opacity: 0;
    translate: 0 5svh;
  }

  100% {
    opacity: 1;
    translate: 0 0;
  }
}

.ef {
  opacity: 0;
}

.ef.effect {
  animation: opa1 2s cubic-bezier(0.51, 0.21, 0.41, 1) 0s 1 forwards;
}

.ef.effect_2 {
  animation: opa2 2s cubic-bezier(0.51, 0.21, 0.41, 1) 0s 1 forwards;
}

.right_area li {
  cursor: pointer;
}

.right_area .effect_2:nth-of-type(1) {
  animation-delay: 0s;
}
.right_area .effect_2:nth-of-type(2) {
  animation-delay: .3s;
}
.right_area .effect_2:nth-of-type(3) {
  animation-delay: .6s;
}


/* ===================
     Text Setting
=================== */

.txt_cont {
  text-align: center;
  line-height: 1.7;
}

/* ===================
  Button Setting
=================== */

.btn_wrap {
  text-align: center;
}

/* ===================
  scroll
=================== */

#lp_contents .scroll {
  position: fixed;
  bottom: 0;
  z-index: 100;
  transition: 1s;
  transform:translateY(100%);
}

#lp_contents .scroll.hide {
  transform:translateY(0);
}

#lp_contents .nav_list ul {
  display: flex;
  width: calc(785 * (var(--rate)));
  height: calc(90 * (var(--rate)));
  background: var(--color-bg);
  font-family: var(--font-en);
  border-top: #a66357 solid calc(3 * (var(--rate)));
}

#lp_contents .nav_list li {
  flex: 1;
}

#lp_contents .nav_list li:nth-of-type(2) {
  position: relative;
  z-index: 1;
  border-left: #a66357 dotted calc(2 * (var(--rate)));
  border-right: #a66357 dotted calc(2 * (var(--rate)));
}
/* 
#lp_contents .nav_list li:nth-of-type(2)::before {
  position: absolute;
  content: "";
  width: calc(3 * (var(--rate)));
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  border: #a66357 dotted calc(3 * (var(--rate)));
} */

#lp_contents .nav_list a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: calc(10 * (var(--rate)));
  align-items: center;
  justify-content: center;
  color: #a66357;
}

#lp_contents .nav_list li:first-child a {
  background: none;
}

#lp_contents .nav_list .nav_img {
  width: calc(60 * (var(--rate)));
}

#lp_contents .nav_list .nav_txt {
  padding: calc(4 * (var(--rate))) 0 0;
  font-size: calc(34 * (var(--rate)));
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--color-main);
}


/* ===================
  　　　intro
=================== */

.intro_section {
  padding: calc(60 * (var(--rate))) 0 calc(120 * (var(--rate)));
  text-align: center;
}

.intro_section .intro_txt {
  padding: calc(88 * (var(--rate))) 0 calc(148 * (var(--rate)));
  font-size: calc(26 * (var(--rate)));
  line-height: 2.2;
  text-align: center;
}

.intro_section .nav_look {
  font-family: var(--font-en);
}

.intro_section .nav_look ul {
  display: flex;
  justify-content: center;
  gap: calc(30 * (var(--rate)));
  font-size: calc(40 * (var(--rate)));
}

.intro_section .nav_look li {
  width: calc(180 * (var(--rate)));
  text-align: center;
}

/* animation setting */
.intro_section .nav_look li {
  cursor: pointer;
  translate: 0 5svh;
  transition: translate 1.8s ease, opacity 1.8s ease;
  opacity: 0;
}

.intro_section .nav_look li:nth-of-type(1) {
  transition-delay: 0s;
}

.intro_section .nav_look li:nth-of-type(2) {
  transition-delay: .3s;
}

.intro_section .nav_look li:nth-of-type(3) {
  transition-delay: .6s;
}


.intro_section .nav_look li.effect {
  opacity: 1;
  translate: 0 0;
}
/* //animation setting */

.intro_section .nav_look img {
  margin-bottom: calc(22 * (var(--rate)));
}

.intro_section .nav_look a {
  display: block;
  padding-bottom: calc(30 * (var(--rate)));
  background: url(../img/icn_arw.svg) no-repeat bottom center;
  background-size: calc(30 * (var(--rate)));
}

/* ===================
  　　　look
=================== */

.look_section {
  padding: calc(90 * (var(--rate))) 0 calc(200 * (var(--rate)));
  text-align: center;
}

.look_section .bg_inner {
  position: relative;
  background: url(../img/bg_line_repeat.svg) repeat-y;
  background-size: 100%;
  margin: auto auto calc(150 * (var(--rate)));
  padding: 0 calc(20 * (var(--rate)));
}

.look_section .bg_inner::before,
.look_section .bg_inner::after {
  position: absolute;
  left: 0;
  width: 100%;
  height: calc(36 * (var(--rate)));
  background-image: url(../img/bg_line.svg);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100%;
  background-color: var(--color-bg);
  content: "";
}

.look_section .bg_inner::before {
  top: 0;
}

.look_section .bg_inner::after {
  bottom: 0;
  transform: rotate(180deg);
}

.look_section .ttl_section {
  position: relative;
  top: calc(-10 * (var(--rate)));
  z-index: 2;
  display: inline-block;
  margin-top: calc(-40 * (var(--rate)));
  margin-bottom: calc(60 * (var(--rate)));
  padding: 0 calc(25 * (var(--rate)));
  background-color: var(--color-bg);
  font-size: calc(35 * (var(--rate)));
  font-family: var(--font-en);
  text-align: center;
  color: var(--color-main);
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0;
}

.look_section .ttl_catch {
  margin-bottom: calc(60 * (var(--rate)));
  font-size: calc(40 * (var(--rate)));
  font-family: 'Noto Serif JP', serif;
  color: var(--color-main);
  font-weight: 600;
}

.look_section .look_intro__img {
  width: calc(600 * (var(--rate)));
  margin: auto;
  margin-bottom: calc(55 * (var(--rate)));
}

.look_section .look_intro__txt {
  width: calc(600 * (var(--rate)));
  margin: auto;
  margin-bottom: calc(100 * (var(--rate)));
  font-size: calc(24 * (var(--rate)));
  text-align: justify;
  line-height: 2.2;
}

.look_section .howto_area .howto_ttl {
  position: relative;
  margin-bottom: calc(25 * (var(--rate)));
  font-size: calc(70 * (var(--rate)));
  font-family: var(--font-en);
  color: var(--color-main);
}

.look_section .howto_area .howto_ttl span {
  position: relative;
  z-index: 1;
  display: inline-block;
  background-color: var(--color-bg);
  padding: 0 calc(30 * (var(--rate)));
  line-height: 1;
  font-weight: normal;
  letter-spacing: 0;
}

.look_section .howto_area .howto_ttl::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--color-main);
  transform: translateY(-50%);
  margin-top: calc(-5 * (var(--rate)));
  content: "";
}

/* -- HOWTO：アイテム一覧 -- */

.howto_list {
  display: flex;
  flex-direction: column;
  gap: calc(20 * (var(--rate)));
  width: fit-content;
  margin: auto auto calc(80 * (var(--rate)));
  font-size: calc(24 * (var(--rate)));
}

/* animation setting */
.howto_list li {
  cursor: pointer;
  translate: 0 5svh;
  transition: translate 1.8s ease, opacity 1.8s ease;
  opacity: 0;
}

.howto_list li:nth-of-type(1) {}

.howto_list li:nth-of-type(2) {
  transition-delay: 0.3s;
}

.howto_list li:nth-of-type(3) {
  transition-delay: 0.6s;
}

.howto_list li:nth-of-type(4) {
  transition-delay: 0.9s;
}

.howto_list li:nth-of-type(5) {
  transition-delay: 1.2s;
}

.howto_list li:nth-of-type(6) {
  transition-delay: 1.5s;
}

.howto_list li.effect {
  opacity: 1;
  translate: 0 0;
}
/* //animation setting */

.howto_list li a {
  display: flex;
  gap: calc(30 * (var(--rate)));
  align-items: center;
  line-height: 1.8;
}

.howto_list .howto_img {
  width: calc(160 * (var(--rate)));
}

.howto_list .howto_name {
  text-align: center;
}

#look1 .howto_list li:nth-of-type(2) .howto_name {
  margin-left: calc(50 * (var(--rate)));
}

#look2 .howto_list li:nth-of-type(3) .howto_name {
  margin-left: calc(52 * (var(--rate)));
}

#look2 .howto_list li:nth-of-type(4) .howto_name {
  margin-left: calc(47 * (var(--rate)));
}

#look3 .howto_list li:nth-of-type(2) .howto_name {
  margin-left: calc(30 * (var(--rate)));
}

#look3 .howto_list li:nth-of-type(3) .howto_name {
  margin-left: calc(18 * (var(--rate)));
}

/* -- HOWTO：メイク -- */

.howto_make {
  position: relative;
  padding: calc(100 * (var(--rate))) calc(40 * (var(--rate))) calc(125 * (var(--rate)));
}

.howto_make::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(640 * (var(--rate)));
  height: calc(10 * (var(--rate)));
  margin: auto;
  background: url(../img/line.png) no-repeat top center;
  background-size: 100%;
  content: "";
}

.howto_make__img {
  width: calc(590 * (var(--rate)));
  margin: auto;
  margin-bottom: calc(66 * (var(--rate)));
}

.howto_make__img li {
  display: none;
}

.howto_make__img li:first-child,
.howto_make__img li.slick-slide {
  display: block;
}

.howto_make__txt,
.howto_make__txt2 {
  padding: 0 calc(40 * (var(--rate)));
  font-size: calc(24 * (var(--rate)));
  text-align: justify;
}

.howto_make__txt li {
  position: relative;
  line-height: 2.2;
  transition: opacity .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  color .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  background-color .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  background-image .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  border-color .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  text-shadow .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  text-weight .3s cubic-bezier(0.51, 0.21, 0.41, 1);
}

.howto_make__txt li::before {
  opacity: 0;
  transition: opacity .3s cubic-bezier(0.51, 0.21, 0.41, 1);
  position: absolute;
  top: calc(18 * (var(--rate)));
  left: calc(-30 * (var(--rate)));
  width: calc(20 * (var(--rate)));
  height: calc(20 * (var(--rate)));
  background: url(../img/icn_active.svg) no-repeat;
  background-size: 100%;
  content: "";
}

.howto_make__txt li.active {
  color: var(--color-main);
}

.howto_make__txt li.active::before {
  opacity: 1;
}

.howto_make__txt2 {
  line-height: 2.2;
}

.acc_cont {
  position: relative;
  overflow: hidden;
  transition: max-height 0.4s ease;
  max-height: calc(300 * (var(--rate)));
}

.acc_cont.is-open {
  max-height: calc(1200 * (var(--rate)));
}

.acc_cont::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.acc_cont.is-open::before {
  opacity: 0;
  z-index: -1;
}

.acc_cont::before {
  background: linear-gradient(180deg, rgba(248, 240, 242, 0) 0%, rgba(248, 240, 242, 1) 80%, rgba(248, 240, 242, 1) 100%);
}

.acc .acc_btn {
  display: block;
  height: calc(74 * (var(--rate)));
  margin: auto;
  font-size: calc(30 * (var(--rate)));
  background: url(../img/icn_acc.svg) 50% 100% no-repeat;
  background-size: calc(30 * (var(--rate)));
  color: var(--color-main);
  cursor: pointer;
}

.acc .acc_close {
  height: calc(50 * (var(--rate)));
  margin: calc(80 * (var(--rate))) auto 0;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 6px;
  font-size: calc(30 * (var(--rate)));
  cursor: pointer;
  color: var(--color-main);
}

/* ---- LOOK FASHION ---- */

.look_fashion {
  padding: 0 0 calc(260 * (var(--rate)));
  background: url(../img/bg_fashion.svg) no-repeat center calc(122 * (var(--rate)));
  background-size: 100%;
}

.look_fashion .look_fashion__img {
  width: calc(625 * (var(--rate)));
  margin: auto auto calc(50 * (var(--rate)));
}

.look_fashion .look_fashion__name {
  margin-bottom: calc(30 * (var(--rate)));
  font-size: calc(26 * (var(--rate)));
}

.look_fashion .look_fashion__price {
  font-size: calc(20 * (var(--rate)));
  text-underline-offset: 2px;
}



/* ---- LOOK RECOMMENDED ---- */

.look_recommended {
  margin-bottom: 0;
}

.look_recommended .look_recommended__ttl {
  position: relative;
  margin-bottom: calc(70 * (var(--rate)));
  font-size: calc(70 * (var(--rate)));
  font-family: var(--font-en);
  color: var(--color-main);
}

.look_recommended .look_recommended__ttl span {
  position: relative;
  z-index: 1;
  display: inline-block;
  background-color: var(--color-bg);
  padding: 0 calc(30 * (var(--rate)));
  line-height: 1;
  font-weight: normal;
  letter-spacing: 0;
}

.look_recommended .look_recommended__ttl::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--color-main);
  transform: translateY(-50%);
  margin-top: calc(-5 * (var(--rate)));
  content: "";
}

.look_recommended .look_recommended__slider {
  margin-bottom: 0;
  padding: 0 0 calc(62 * (var(--rate)));
}

.look_recommended .look_recommended__slider > li,
.look_recommended .look_recommended__slider .slick-slide {
  overflow: hidden;
  background: rgba(255, 255, 255, 0.7);
  margin: 0 calc(15 * (var(--rate)));
  border-radius: calc(30 * (var(--rate)));
}

.look_recommended .look_recommended__slider .slick-slide > a {
  display: block;
}

.look_recommended .look_recommended__slider .recommended_catch {
  padding: calc(60 * (var(--rate))) 0 calc(40 * (var(--rate)));
  font-size: calc(26 * (var(--rate)));
  line-height: 2.4;
}

.look_recommended .look_recommended__slider .recommended_img {
  width: calc(240 * (var(--rate)));
  margin: auto auto calc(30 * (var(--rate)));
}

.look_recommended .look_recommended__slider .recommended_img.icn_img {
  position: relative;
  left: calc(-20 * (var(--rate)));
  width: calc(280 * (var(--rate)));
}

.look_recommended .look_recommended__slider .recommended_name {
  margin: auto auto calc(40 * (var(--rate)));
  font-size: calc(24 * (var(--rate)));
  line-height: 2;
}

.look_recommended .look_recommended__slider .recommended_btn {
  width: calc(200 * (var(--rate)));
  margin: auto auto calc(60 * (var(--rate)));
  line-height: 2;
}

.look_recommended__slider .slick-dots {
  bottom: 0;
  display: flex;
  justify-content: center;
  gap: calc(40 * (var(--rate)));
}

.look_recommended__slider .slick-dots li {
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}

.look_recommended__slider .slick-dots li button {
  transition: opacity .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  color .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  background-color .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  background-image .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  border-color .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  text-shadow .3s cubic-bezier(0.51, 0.21, 0.41, 1),
  text-weight .3s cubic-bezier(0.51, 0.21, 0.41, 1);
  width: calc(12 * (var(--rate)));
  height: calc(12 * (var(--rate)));
  margin: 0;
  padding: 0;
  background-color: #d2b1ab;
  border-radius: 100%;
}

.look_recommended__slider .slick-dots .slick-active button {
  background-color: var(--color-main);
}

.look_recommended__slider .slick-dots li button::before {
  display: none;
}



/* ---- CHECK ALL ITEMS ---- */

.chcek_all_items {
  position: relative;
  margin-top: calc(40 * (var(--rate)));
  padding: calc(260 * (var(--rate))) 0 calc(240 * (var(--rate)));
}

/* スクロールダウンの位置 */
.scroll_anime {
  position: absolute;
  right: 50%;
  top: calc(200 * (var(--rate)));
  writing-mode: vertical-rl;
}
/* 線のアニメーション部分 */
.scroll_anime::before {
  animation: scroll_anime 2.4s infinite;
  background-color: var(--color-main);
  bottom: 0;
  content: "";
  height: calc(200 * (var(--rate)));
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}
/* 線のアニメーション */
@keyframes scroll_anime {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

.chcek_all_items .btn_chcek_all {
  position: relative;
  width: calc(608 * (var(--rate)));
  margin: auto;
  padding: 0 0 calc(30 * (var(--rate)));
  text-align: center;
}

.chcek_all_items .btn_chcek_all::before {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: calc(8 * (var(--rate)));
  background: url(../img/check_all_btn_line.svg) no-repeat left;
  background-size: calc(600 * (var(--rate)));
  transform: translateX(-50%);
  content: "";
}

@keyframes border_anim {
  0%{
    width: 0%;
  }
  100%{
    width: 100%;
  }
}

.chcek_all_items .btn_chcek_all img {
   width: calc(531 * (var(--rate)));
  margin: auto;
}

.chcek_all_items .btn_chcek_all.effect::before {
  animation: border_anim 1.8s ease forwards 0.5s;
}


/*=======================================
                    PC
========================================*/

@media screen and (min-width: 769px) {

  #Wrap,
  .wrapBottom,
  .wrapTop,
  #Contents {
    width: 100%;
  }

  .lp_contents {
    overflow: hidden;
  }

  .sp_only {
    display: none;
  }

  #lp_contents .lp_inner{
    position: relative;
    z-index: 3;
    width: 46.8rem;
    margin: auto;
  }


  #lp_contents .full_area{
    position: fixed;
    top: 0;
    bottom: 0;
    margin: auto;

    width: calc(calc(100% - 46.8rem) / 2);

    padding: 3rem;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #lp_contents .left_area{
    left: 0;
    order: 1;
  }

  #lp_contents .left_area img{
    width: min(390px, calc(390 * (100vw / 1400)));
    margin-top: 5.5rem;
  }

  #lp_contents .right_area{
    right: 0;
    order: 3;
  }

  #lp_contents .right_area .nav_list ul{
    background-color: transparent;
    width: 33rem;
    border-top: none;
  }

  #lp_contents .right_area .nav_list li{
    border-width: 0;
  }

  #lp_contents .right_area .nav_list a{
    gap: 1rem;
  }

  #lp_contents .right_area .nav_list .nav_img{
    width: 6rem;
  }

  #lp_contents .right_area .nav_list .nav_txt{
    font-size: 2rem;
    letter-spacing: 0;
    color: var(--color-lp_font);
    font-weight: 400;
  }

  #lp_contents .right_area .nav_list .nav_txt:after{
    content: '';
    display: block;
    width: 1.6rem;
    height: 0.6rem;
    background-image: url(../img/nav_arrow.svg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    margin: 0.8rem auto 0;
  }

  .archive_area {
    position: relative;
    z-index: 2;
  }
}



/*=======================================
               Responsive
========================================*/

@media screen and (max-width: 1400px){
  html {
    font-size: calc(10 * (100vw / 1400));
  }
}

/*=======================================
                    SP
========================================*/


/* only SP */

@media only screen and (max-width: 768px) {
  .pc_only {
    display: none;
  }

  html {
    font-size: calc(10 * (100vw / 468));
  }

  .page-share-btn {
    height: 0;
  }

  #share {
    z-index: 100 !important;
  }

  #FooterWrap {
    margin-top: -3rem;
  }

  #lp_contents {}
  #lp_contents .sp_only { display: block; }
  #lp_contents .pc_only { display: none; }

  #lp_contents a:hover { opacity: 1 }


  /* ===================
    LP Contents
  =================== */
  .lp_contents {
    overflow: visible;
  }


}
