﻿@charset "UTF-8";

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

  kansaï yamamoto collaboration | Celvoke Website

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

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

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

@media (min-width: 1400px) {
  html {
    font-size: 62.5%
  }
}

/* ========================================================
             * CV限定 header footer　設定 *
========================================================= */

#FooterWrap {
  position: relative;
  background-color: #ffffff;
  z-index: 0;
}

@media (min-width: 769px) {

  .header_inner {
    width: 100vw;
    max-width: 110rem;
  }

  #HeaderWrap {
    overflow-x: clip;
  }

  .nav-global,
  .header_utiliry {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.5rem 0;
    width: 71%;
  }

  #header_img_slider {
    margin: 0;
  }

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

  .wrapTop,
  .wrapBottom {
    width: 100%;
  }

  #footer {
    background-color: #ffffff;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1100px) {
  header {
    width: 100%;
    min-width: 100%;
  }

  .header_inner {
    margin: 0;
    padding-left: 2rem;
    max-width: 100vw;
  }

  #header_img_slider li img {
    width: 100%;
  }

  footer {
    min-width: 100%;
  }

  .footer_inner {
    flex-wrap: wrap;
    width: 100%;
  }
}

/* ========================================================
                      * root *
========================================================= */
:root {
  --rate: 42rem / 750;
  --color-lp_font: #000000;
  --color-lp_bg: #fff;
  --color-lp_main: #e90a11;
  --color-lp_white: #fff;
  --color-lp_black: #000000;
  --color-lp_gray:#dddddd;
  --color-lp_gray02:#757575;
  --font-jp: "europa", "Noto Sans JP", sans-serif;
  --font-en: "liebling", sans-serif;
}

#Wrap {
  width: 100%;
}

#share {
  z-index: 111 !important;
  transition: all 0.6s 0.3s;
}

@media screen and (max-width: 768px) {
  #share.move {
    translate: 0 calc(-186 * (var(--rate)));
  }
}


/* ========================================================
                      * lp_contents *
========================================================= */
.lp_contents {
  box-sizing: border-box;
  font-feature-settings: "pkna";
  line-height: 1.5;
  letter-spacing: .09em;
  text-align: center;
  width: 100%;
  height: 100%;
  font-family: var(--font-jp);
  font-weight: 400;
  overflow-x: clip;
  color: var(--color-lp_font);
}

@media (min-width: 769px) {
  .lp_contents {
    position: relative;
    width: 100%;
    max-width: 100vw;
    height: 100%;
  }
}

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

.lp_contents img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.lp_contents a {
  width: 100%;
  height: 100%;
  display: inline-block;
}

.lp_contents a:hover {
  opacity: 1;
}

.lp_contents_inner {
  position: relative;
  overflow: clip;
  background: var(--color-lp_white);
}

.lp_contents a,
.lp_contents .btn_accordion {
  -webkit-tap-highlight-color: transparent;
  /* iOS Safari用 */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  /* Android Chrome用 */
}

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

@media (min-width: 769px) {
  .lp_contents .grid_area {
    display: grid;
    /* grid-template-columns: 1fr calc(100vw * 0.3) 1fr; */
    grid-template-columns: 1fr 42rem 1fr;
    width: 100%;
    height: 100%;
    margin: 0 auto;
  }

  .lp_contents .grid_area .fixed_nav {
    position: -webkit-sticky;
    position: sticky;
    display: grid;
    place-items: center;
    pointer-events: all;
    height: 100vh;
  }

  .lp_contents .grid_area .fixed_left {
    top: 0;
    grid-column: 1;
    -webkit-clip-path: border-box;
    clip-path: border-box;
  }

  .lp_contents .grid_area .fixed_right {
    top: 0;
    grid-column: 3;
    -webkit-clip-path: border-box;
    clip-path: border-box;
  }

  .lp_contents .fixed_left_inner .logo {
    width: 34rem;
    text-align: center;
  }

  .lp_contents .fixed_left_inner .date {
    font-size: 1.2rem;
    margin-top: 6rem;
  }
}

.lp_contents .ankerlink_wrap {
  background-color: var(--color-lp_white);
}

.lp_contents .ankerlink_wrap ul {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
}

.lp_contents .ankerlink_wrap li {
  position: relative;
  width: 27rem;
  height: 6rem;
  background: url(../img/nav_bg.png) no-repeat center;
}

.lp_contents .ankerlink_wrap li a {
  display: flex;
}

.lp_contents .ankerlink_wrap li a .nav_inner {
  width: 24rem;
  margin: 0 0 0 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.lp_contents .ankerlink_wrap li .img {
  width: 5rem;
}

.lp_contents .ankerlink_wrap li .category {
  display: block;
  width: 11.5rem;
  margin-top: 0.7rem;
  margin-left: -2.2rem;
  font-size: 1.5rem;
  font-family: var(--font-en);
  font-weight: 300;
  text-align: center;
  color: var(--color-lp_white);
  text-transform: uppercase;
}

.lp_contents .ankerlink_wrap li:last-of-type .category {
  margin-left: 7rem;
}

.lp_contents .ankerlink_wrap li .arrow {
  display: flex;
  width: 1.46rem;
}

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

@media (max-width: 768px) {
  .lp_contents .sp_only {
    display: block;
  }
  .lp_contents .pc_only {
    display: none;
  }

  .lp_contents .nav_wrap {
    position: fixed;
    bottom: 0;
    display: block;
    /* translate: 0 100%; */
    transition: translate .5s;
    z-index: 100;
    width: 100%;
  }

  .lp_contents .nav_wrap.js-scrollStatus {
    transform: translateY(100%);
    transition: all 0.6s 0.3s;
  }

  .lp_contents .nav_wrap.js-scrollStatus.scrolled-up.scrolled-up {
    transition: all 0.6s 0.3s;
    visibility: visible;
    transform: translateY(0);
    z-index: 100;
  }
  
  .lp_contents .ankerlink_wrap ul {
    flex-direction: row;
    justify-content: center;
    gap: 0;
    background: url(../img/nav_bg_sp.png) no-repeat center;
    background-size: cover;
  }
  
  .lp_contents .ankerlink_wrap li {
    position: relative;
    width: 25%;
    height: calc(212 * (var(--rate)));
    background: none;
    border-right: calc(2 * (var(--rate))) var(--color-lp_white) solid;
  }

  .lp_contents .ankerlink_wrap li:last-of-type {
    border-right: none;
  }

  .lp_contents .ankerlink_wrap li a {
    display: flex;
  }
  
  .lp_contents .ankerlink_wrap li a .nav_inner {
    width: 100%;
    margin: calc(21 * (var(--rate))) 0 0 0;
    flex-direction: column;
    justify-content: unset;
    align-items: center;
  }
  
  .lp_contents .ankerlink_wrap li .img {
    width: calc(102 * (var(--rate)));
  }
  
  .lp_contents .ankerlink_wrap li .category {
    width: 100%;
    margin-top: calc(10 * (var(--rate)));
    margin-left: 0;
    font-size: calc(24 * (var(--rate)));
    line-height: 1.4;
  }
  
  .lp_contents .ankerlink_wrap li:last-of-type .category {
    margin-left: 0;
    margin-top: calc(50 * (var(--rate)));
  }
  
  .lp_contents .ankerlink_wrap li .arrow{
    width: calc(25 * (var(--rate)));
    margin-top: calc(13 * (var(--rate)));
  }

  .lp_contents .ankerlink_wrap li:last-of-type .arrow {
    margin-top: calc(41 * (var(--rate)));
  }
}

/* ========================================================
                      * 共通  *
========================================================= */

.lp_contents .sec_ttl {
  font-family: var(--font-en);
  font-size: calc(66 * (var(--rate)));
  text-transform: uppercase;
  color: var(--color-lp_main);
  font-weight: 400;
}

.lp_contents .btn_buy {
  margin: calc(62 * (var(--rate))) auto 0;
  width: calc(200 * (var(--rate)));
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: calc(2 * (var(--rate))) var(--color-lp_black) solid ;
}

.lp_contents .btn_buy a {
  position: relative;
  padding-bottom: calc(15 * (var(--rate)));
}

.lp_contents .btn_buy a span {
  display: block;
  font-size: calc(30 * (var(--rate)));
  text-align: left;
  white-space: nowrap;
}

.lp_contents .btn_buy a::after {
  content: "";
  background: url(../img/icon_bag.svg) no-repeat center / 100%;
  width: calc(34 * (var(--rate)));
  height: calc(35 * (var(--rate)));
  position: absolute;
  top: calc(2 * (var(--rate)));
  right: calc(4 * (var(--rate)));
}

/* ========================================================
                      * sec_mv  *
========================================================= */

.lp_contents .sec_mv .mv_block {
  position: relative;
}

.lp_contents .sec_mv .lead_area {
  padding: calc(195 * (var(--rate))) 0 calc(190 * (var(--rate)));
  background-color: var(--color-lp_black);
}

.lp_contents .sec_mv .lead_area p {
  color: var(--color-lp_white);
  font-weight: 300;
}

.lp_contents .sec_mv .lead_collab_name {
  font-family: var(--font-en);
  font-size: calc(28 * (var(--rate)));
}

.lp_contents .sec_mv .lead_ttl {
  font-size: calc(48 * (var(--rate)));
  margin-top: calc(16 * (var(--rate)));
  line-height: calc(84/48);
}

.lp_contents .sec_mv .lead_txt {
  font-size: calc(30 * (var(--rate)));
  margin-top: calc(74 * (var(--rate)));
  line-height: calc(52.5 / 30);
}

/* ========================================================
                      * sec_product  *
========================================================= */

.lp_contents .sec_product {
  margin-top: calc(197 * (var(--rate)));
}

.lp_contents .product_blk {
  padding-bottom: calc(200 * (var(--rate)));
}

.lp_contents .sec_product .slide_wrap {
  position: relative;
  width: calc(750 * (var(--rate)));
  height: calc(937 * (var(--rate)));
  overflow: hidden;
}

.lp_contents .visual_slide li {
  display: flex;
}

.lp_contents .sec_product .product_modal_btn {
  position: relative;
  width: calc(750 * (var(--rate)));
  margin: calc(80 * (var(--rate))) auto 0;
}

.lp_contents .sec_product .plus {
  position: absolute;
  display: block;
  bottom: 0;
  right: calc(40 * (var(--rate)));
  width: calc(54 * (var(--rate)));
  height: calc(54 * (var(--rate)));
  background: url(../img/icon_plus.svg) no-repeat;
  background-size: 100%;
}

.lp_contents .sec_product .product_category {
  margin-top: calc(70 * (var(--rate)));
  font-size: calc(30 * (var(--rate)));
  text-transform: uppercase;
  font-family: var(--font-en);
  color: var(--color-lp_main);
  font-weight: 400;
}

.lp_contents .sec_product .product_name a {
  margin-top: calc(18 * (var(--rate)));
  font-size: calc(36 * (var(--rate)));
  line-height: 1.75;
}

.lp_contents .sec_product .product_credit {
  display: flex;
  margin-top: calc(10 * (var(--rate)));
  margin-left: calc(188 * (var(--rate)));
  gap: calc(30 * (var(--rate)));
  align-items: center;
}

.lp_contents .sec_product .label {
  display: block;
  width: calc(116 * (var(--rate)));
  height: calc(38 * (var(--rate)));
  font-size: calc(24 * (var(--rate)));
  font-family: var(--font-en);
  font-weight: 300;
  position: relative;
  color: var(--color-lp_white);
  background-color: var(--color-lp_black);
}

.lp_contents .sec_product .price {
  font-size: calc(28 * (var(--rate)));
  line-height: calc(57/28);
}

.lp_contents .sec_product .product_description {
  margin-top: calc(60 * (var(--rate)));
  font-size: calc(30 * (var(--rate)));
  line-height: calc(52.5/30);
}

.lp_contents .sec_product .btn_buy {
  margin: calc(62 * (var(--rate))) auto 0;
}

.lp_contents .product_lip .product_credit {
  margin-left: calc(48 * (var(--rate)));
}

.lp_contents .product_innercare .product_credit {
  margin-left: calc(100 * (var(--rate)));
}

.lp_contents .product_blk.product_innercare {
  padding-bottom: calc(185 * (var(--rate)));
}

/* ========================================================
                      * sec_look  *
========================================================= */

.lp_contents .sec_look {
  padding-top: calc(200 * (var(--rate))) 0 calc(200 * (var(--rate)));
}

.lp_contents .sec_look .look02 {
  margin-top: calc(100 * (var(--rate)));
}

.lp_contents .sec_look .look_slider_wrap {
  margin-top: calc(20 * (var(--rate)));
}

.lp_contents .look_slider img {
  width: calc(750 * (var(--rate)));
}

.lp_contents .look_item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: calc(80 * (var(--rate))) auto 0;
  width: calc(450 * (var(--rate)));
  gap: calc(20 * (var(--rate)));
  margin-top: calc(80 * (var(--rate)));
}

.lp_contents .look02 .look_item {
  width: calc(680 * (var(--rate)));
}

.lp_contents .look_item li {
  width: calc(210 * (var(--rate)));
  margin: 0;
}

.lp_contents .look_item li img{
  width: calc(170 * (var(--rate)));
  margin: 0 auto;
}

.lp_contents .look_item_name {
  width: calc(210 * (var(--rate)));
  margin:calc(33 * (var(--rate))) auto 0;
  font-size: calc(20 * (var(--rate)));
  line-height: 2;
}

.lp_contents .look_step {
  width: calc(630 * (var(--rate)));
  margin: calc(60 * (var(--rate))) auto 0;
}

.lp_contents .look_step li {
  font-size: calc(24 * (var(--rate)));
  line-height: 1.75;
  text-align: justify;
  white-space: nowrap;
}

.lp_contents .accordion {
  position: relative;
  margin-top: calc(160 * (var(--rate)));
}

.lp_contents .accordion_wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .8s;
}

.lp_contents .open > .accordion_wrap {
  grid-template-rows: 1fr;
}

.lp_contents .accordion_inner {
  position: relative;
  padding-bottom: calc(170 * (var(--rate)));
  min-height: calc(600 * (var(--rate)));
  overflow: hidden;
}

.lp_contents .accordion_inner::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(210 * (var(--rate)));
  background: linear-gradient(transparent, var(--color-lp_white));
  content: "";
  z-index: 3;
}

.lp_contents .open .accordion_inner::before {
  background: transparent;
}

.lp_contents .accordion_btn_area {
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  bottom: calc(0 * (var(--rate)));
  z-index: 5;
}

.lp_contents .accordion_btn {
  position: relative;
  width: calc(750 * (var(--rate)));
  margin: 0 auto;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  text-transform: uppercase;
}

.lp_contents .accordion_btn span {
  position: absolute;
  left: 50%;
  bottom: calc(60 * (var(--rate)));
  transform: translateX(-50%);
  font-family: var(--font-en);
  font-family: var(--font_eng);
  font-size: calc(30 * (var(--rate)));
}

.lp_contents .open .accordion_btn span {
  bottom: calc(0 * (var(--rate)));
}

.lp_contents .accordion_btn .to_open:before,
.lp_contents .accordion_btn .to_close:before {
  position: absolute;
  top: calc(80 * (var(--rate)));
  left: 50%;
  display: block;
  width: calc(47 * (var(--rate)));
  height: calc(24 * (var(--rate)));
  background: url(../img/icon_howto_arrow.svg) no-repeat;
  background-size: contain;
  transform: translateX(-50%) rotate(0deg);
  content: "";
}

.lp_contents .open .accordion_btn .to_close:before {
  top: calc(-60 * (var(--rate)));
  transform: translateX(-50%) rotate(180deg);
}

.lp_contents .accordion_btn .to_open,
.lp_contents .open .accordion_btn .to_close {
  display: block;
}

.lp_contents .accordion_btn .to_close,
.lp_contents .open .accordion_btn .to_open {
  display: none;
}

/* ========================================================
                      * sec_campaign  *
========================================================= */
.lp_contents .sec_campaign {
  margin-top: calc(200 * (var(--rate)));
  padding: calc(130 * (var(--rate))) 0;
  background: url(../img/bg_campaign.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.lp_contents .sec_campaign .sec_ttl {
  line-height: calc(92.4/66);
}

.lp_contents .sec_campaign .sec_subttl {
  margin-top: calc(15 * (var(--rate)));
  font-size: calc(24 * (var(--rate)));
}

.lp_contents .campaign_novelty_img {
  margin: calc(70 * (var(--rate))) auto 0;
  width: calc(520 * (var(--rate)));
  border: var(--color-lp_gray) solid calc(2 * (var(--rate)));
}

.lp_contents .campaign_detail {
  margin: calc(70 * (var(--rate))) auto 0;
  font-size: calc(30 * (var(--rate)));
  line-height: 1.75;
}

.lp_contents .campaign_note {
  margin: calc(40 * (var(--rate))) auto 0;
  font-size: calc(20 * (var(--rate)));
  line-height: 1.75;
  color: #757575;
}

/* ========================================================
                      * sec_release  *
========================================================= */
.lp_contents .sec_release {
  padding: calc(192 * (var(--rate))) 0 calc(200 * (var(--rate)));
}

.lp_contents .sec_release .release_table {
  width: calc(670 * (var(--rate)));
  margin: calc(55 * (var(--rate))) auto 0;
  text-align: center;
}

.lp_contents .release_table dt,
.lp_contents .release_table dd {
  position: relative;
  font-size: calc(28 * (var(--rate)));
  padding: calc(40 * (var(--rate))) 0 calc(35 * (var(--rate)));
  background: var(--color-lp_white);
}

.lp_contents .sec_release dl {
  display: flex;
  margin-top: calc(20 * (var(--rate)));
  border: calc(2 * (var(--rate))) solid var(--color-lp_main);
}

.lp_contents .sec_release .release_table dl:nth-of-type(1) {
  margin-top: calc(0 * (var(--rate)));
}

.lp_contents .sec_release .release_table dl:nth-of-type(2) {
  flex-direction: column;
}

.lp_contents .sec_release dt {
  width: 50%;
  border-right: calc(2 * (var(--rate))) solid var(--color-lp_main);
}

.lp_contents .sec_release .release_table dl:nth-of-type(2) dt {
  border: none;
  border-bottom: calc(2 * (var(--rate))) solid var(--color-lp_main);
}

.lp_contents .sec_release dd {
  width: 50%;
  color: var(--color-lp_main);
}

.lp_contents .sec_release .release_table dl:nth-of-type(2) dt,
.lp_contents .sec_release .release_table dl:nth-of-type(2) dd {
  width: 100%;
}

.lp_contents .sec_release .note {
  text-align: center;
  font-size: calc(20 * (var(--rate)));
  line-height: calc(35/20);
  color: #757575;
  margin-top: calc(50 * (var(--rate)));
  letter-spacing: 0.04em;
}

/* ========================================================
                      * sec_message  *
========================================================= */
.lp_contents .sec_message {
  padding: calc(185 * (var(--rate))) 0 calc(190 * (var(--rate)));
  background-color: var(--color-lp_black);
}

.lp_contents .sec_message .message_ttl {
  font-size: calc(30 * (var(--rate)));
  font-family: var(--font-en);
  font-weight: 300;
  color: var(--color-lp_white);
}

.lp_contents .sec_message .message {
  margin-top: calc(65 * (var(--rate)));
  font-size: calc(24 * (var(--rate)));
  line-height: calc(42/24);
  color: var(--color-lp_white);
}

.lp_contents .btn_all_wrap {
  padding: calc(200 * (var(--rate))) 0 calc(200 * (var(--rate)));
}

.lp_contents .btn_all {
  position: relative;
  width: fit-content;
  margin: 0 auto;
}

.lp_contents .btn_all a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(670 * (var(--rate)));
  height: calc(150 * (var(--rate)));
  font-size: calc(30 * (var(--rate)));
  font-family: var(--font-en);
  font-weight: 300;
  color: var(--color-lp_white);
  background: url(../img/btn_bg.png) no-repeat center;
  background-size: 100%;
}

/* ========================================================
                      * modal  *
========================================================= */
.lp_contents .modal{
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10000;
}

.lp_contents .modal__bg{
  background: rgba(0,0,0,0.4);
  height: 100vh;
  position: absolute;
  width: 100%;
}

.lp_contents .modal__content{
  background: #ffffff;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: calc(750 * (var(--rate)));
  overflow-y: scroll;
  height: 100vh;
}

@media (max-width: 769px) {
_::-webkit-full-page-media, _:future, :root .lp_contents .modal__content{
height: 110vh;
}
}

/* PC */
@media (min-width: 769px) {
.lp_contents .modal__content{
  height: 80vh;
}
}

.lp_contents .modal_inner{
  padding: calc(200 * (var(--rate))) 0;
} 

.lp_contents .modal__content .js-modal-close{
  position: sticky;
  width: calc(60 * (var(--rate)));
  height: calc(60 * (var(--rate)));
  top: calc(110 * (var(--rate)));
  right: calc(55 * (var(--rate)));
  float: right;
  cursor: pointer;
  z-index: 999;
}

.lp_contents .modal__content .js-modal-close:before,
.lp_contents .modal__content .js-modal-close:after{
  content: '';
  display: block;
  width: calc(50 * (var(--rate)));
  height: 1px;
  background: var(--color-lp_black);
  transform: rotate(45deg);
  position: absolute;
  top: calc(28 * (var(--rate)));
  right: calc(0 * (var(--rate)));
}

.lp_contents .modal__content .js-modal-close:after{
  transform: rotate(-45deg);
}

.lp_contents .modal_zoom_area {
  position: relative;
  margin: 0 auto;
  width: calc(590 * (var(--rate)));
  height: calc(590 * (var(--rate)));
  border: var(--color-lp_black) solid calc(2 * (var(--rate)));
  overflow: hidden;
}

.lp_contents .modal_zoom_area img {
  margin: 0 auto;
  width: calc(590 * (var(--rate)));
}

.lp_contents .zoom-btn {
  position: absolute;
  bottom: calc(30 * (var(--rate)));
  right: calc(30 * (var(--rate)));
  width: calc(35 * (var(--rate)));
  height: calc(35 * (var(--rate)));
  border: none;
  background-color: transparent;
  background-image: url('../img/icon_zoomin.svg');
  background-size: contain;
  background-repeat: no-repeat;
  cursor: pointer;
  z-index: 100;
}

.lp_contents .zoom-btn.change {
  background-image: url('../img/icon_zoomout.svg');
}


@-webkit-keyframes zoomUp {
  0% {
    transform: scale(1.08);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes zoomUp {
  0% {
    transform: scale(1.08);
  }

  100% {
    transform: scale(1);
  }
}

.lp_contents .modal_item_name {
  margin-top: calc(25 * (var(--rate)));
  font-size: calc(24 * (var(--rate)));
}

.lp_contents .modal_item_detail {
  margin-top: calc(66 * (var(--rate)));
  font-size: calc(24 * (var(--rate)));
  line-height: 1.75;
}

.lp_contents .modal .btn_buy {
  margin: calc(68 * (var(--rate))) auto 0;
  padding: 0 !important;
}

.lp_contents .modal .btn_buy a {
  width: calc(200 * (var(--rate)));
}

@media (min-width: 769px) {
.lp_contents .modal .btn_buy a:after {
top: calc(-4 * (var(--rate)));
}
}

.lp_contents .modal_item_note {
  width: calc(605 * (var(--rate)));
  margin: calc(40 * (var(--rate))) auto 0;
  font-size: calc(20 * (var(--rate)));
  line-height: 1.75;
  color: var(--color-lp_gray02);
  letter-spacing: 0.04em;
}

/* ========================================================
                      * Slick  *
========================================================= */
.lp_contents .slick-slide {
  opacity: 0;
  transition: opacity 1.5s ease;
}

.lp_contents .slick-current {
  opacity: 1;
}

.lp_contents .slick-dotted.slick-slider {
  margin-bottom: 0;
}

.lp_contents .swiper-pagination {
  width: 100%;
}

.lp_contents .slick-dots {
  width: 100%;
  height: 1px;
  font-size: 0;
  position: relative;
  display: flex;
  bottom: 0;
}

@media (min-width: 769px) {
  .lp_contents .slick-dots {
    height: 1px;
  }
}

.lp_contents .slick-dots li {
  width: auto;
  height: 1px;
  margin: 0;
}

.lp_contents .slick-dot {
  cursor: pointer;
  width: 100%;
  height: calc(4 * (var(--rate)));
  position: relative;
  display: inline-block;
  border-radius: 0;
  background-color: rgba(0, 0, 0, 0.2);
  opacity: 1;
}

.lp_contents .slick-dot .bulletInner {
  content: "";
  display: block;
  width: 0%;
  height: calc(4 * (var(--rate)));
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  background-color: var(--color-lp_black);
}

.lp_contents .slick-active .slick-dot .bulletInner {
  animation: progressAnimation 3s linear forwards;
}

@-webkit-keyframes progressAnimation {
  0% {
    width: 0%;
  }

  100% {
    width: 100%;
  }
}

@keyframes progressAnimation {
  0% {
    width: 0%;
  }

  100% {
    width: 100%;
  }
}

.lp_contents .look_slider_wrap .slick-dots {
  width: calc(460 * (var(--rate)));
  margin: calc(20 * (var(--rate))) auto 0;
  gap: calc(20 * (var(--rate)));
}

.lp_contents .look_slider_wrap .slick-dot li {
  position: relative;
  width: calc(140 * (var(--rate)));
  height: calc(140 * (var(--rate)));
}

.lp_contents .look_slider_wrap .slick-dot {
  position: relative;
}

.lp_contents .look_slider_wrap .slick-dot .bulletInner {
  top: auto;
}

.lp_contents .slick-list {
  overflow: unset;
}

/* ========================================================
                  * Fade Animation  *
========================================================= */
.lp_contents .js-fade.ef1 {
  opacity: 0; 
  clip-path: inset(100% 0 0 0); 
  filter: blur(30px) brightness(1.1);
}

.lp_contents .js-fade.ef1.active {
  animation: fadeInPic 0.95s cubic-bezier(0.16, 0.88, 0.25, 1) forwards;
}

@keyframes fadeInPic {
  0% {
    opacity: 0;
    clip-path: inset(100% 0 0 0);
  }
  50% {
    opacity: 1;
    filter: blur(30px) brightness(1.1);
  }
  100% {
    opacity: 1;
    filter: blur(0) brightness(1);
    clip-path: inset(0 0 0 0);
  }
}

.lp_contents .js-fade.ef2 {
  opacity: 0; 
}

.lp_contents .js-fade.ef2.active {
  -webkit-animation: opa1 1.4s cubic-bezier(0.51, 0.21, 0.41, 1) 0.3s 1 forwards;
  animation: opa 1.4s cubic-bezier(0.51, 0.21, 0.41, 1) 0.3s 1 forwards;
}

@-webkit-keyframes opa {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}
