﻿@charset "UTF-8";

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

CSS Snidel Beauty Rena Moriya Collaboration

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

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

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

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

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

}

footer {
  position: relative;
  z-index: 10;
  margin-top: 0 !important;
}

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

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

.share-txt {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.share-txt span {
  margin-top: calc(40 * (100vw / 780));
  margin-bottom: calc(40* (100vw / 780));
}

span.result {
  display: none !important;
}

main {
  width: 100%;
  max-width: none;
}

.archive_area {
  position: relative;
}

#lp_contents a:hover {
  opacity: 0.6;
}

#lp_contents .btn_detail a:hover {
  opacity: 1;
}

@media screen and  (max-width:768px) {
#lp_contents a:hover {
  opacity: 1;
}
}

/* ========================================================
                      * root *
========================================================= */
:root {
  --rate: 46.8rem/780;
  --color_white: #fff;
  --color_text: #c3768F;
  --color_bg01:#f4eaea;
  --color_pink:#d79bae;
  --color_lightpink:#ebcdd6;
  --font_mix: 'Lato', 'ryo-gothic-plusn', sans-serif;
  --font_en: "la-mericana", serif;
  --font_jp: fot-tsukumin-pr6n, sans-serif;
}


#Wrap {
  width: 100%;
}

/* ========================================================
                      * lp_contents *
========================================================= */

#lp_contents * {
  box-sizing: border-box;
  font-feature-settings: "palt";
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
}

#lp_contents {
  width: 100%;
  max-width: 46.8rem;
  height: 100%;
  font-family: var(--font_mix);
  font-weight: 400;
  letter-spacing: 0.125em;
  overflow-x: clip;
  background-color: #f3e4e4;
  color: var(--color_text);
  line-height: 2;
  text-align: center;
}

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

#lp_contents .pcOnly {
  display: block;
}

#lp_contents .spOnly {
  display: none;
}

@media (max-width: 769px) {
#lp_contents .pcOnly {
  display: none;
}

#lp_contents .spOnly {
  display: block;
}
}

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

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

#lp_contents h1,
#lp_contents h2,
#lp_contents h3,
#lp_contents h4,
#lp_contents h5 {
  font-weight: 300;
}

#lp_contents .lp_inner {
  position: relative;
  z-index: 1;
  overflow: clip;
  background-color: var(--color_bg01);
  padding-bottom: calc(150 * (var(--rate)));
}

#lp_contents button {
  background: transparent;
  border: none;
}

#lp_contents .lp_inner {
  overflow: clip;
}


/* ========================================================
                      * PC *
========================================================= */
@media screen and (min-width: 768px){

  #lp_contents .grid_area{
    display: grid;
    grid-template-columns: 1fr 46.8rem 1fr;
    width: 100%;
    height: 100%;
    margin: 0 auto;
  }

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

  #lp_contents .left_area {
    top: 0;
    grid-column: 1;
    -webkit-clip-path: border-box;
    clip-path: border-box;
    align-items: center;
  }

  #lp_contents .left_area a {
    width: 34rem;
    margin: 0 auto;
  }

  #lp_contents .lp_inner {
    grid-column: 2;
    width: 46.8rem;
    position: relative;
    z-index: 1;
    margin: 0 auto;
    overflow: clip;
  }

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

  #lp_contents .right_area .nav {
    margin-top: 0;
  }

  #lp_contents .right_area .menu_list {
    display: flex;
    flex-direction: row;
    margin-top: 0rem;
    gap: 3rem;
  }

  #lp_contents .right_area .menu_list li {
    width: auto !important;
  }

  #lp_contents .right_area .menu_list li .nav_img {
    width: 10rem;
    height: 10rem;
  }
  
  #lp_contents .right_area .menu_list li .nav_name {
    margin-top: 1rem;
    font-size:1.2rem;
    font-weight: 300;
    line-height: calc(18/12);
    letter-spacing: 0.025em;
    text-align: center;
  } 
  
  #lp_contents .right_area .menu_list li .nav_arrow {
    width: 2rem;
    height: 2rem;
  }

}


/* ========================================================
                      * 共通設定  *
========================================================= */
#lp_contents h2 {
  line-height: 1;
}

#lp_contents .block {
  position: relative;
  margin-top: calc(120 * (var(--rate)));
  padding: calc(120 * (var(--rate))) 0 0 0;
}

#lp_contents .block:before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  width: calc(780 * (var(--rate)));
  height: calc(700 * (var(--rate)));
  background: url(../img/bg.png) no-repeat;
  background-size: contain;
  content: "";
  z-index: -1;
}

#lp_contents .product_catch {
  font-family: var(--font_jp);
  font-weight: 300;
  font-style: normal;
  font-size: calc(42 * (var(--rate)));
  line-height: calc(84/42);
  letter-spacing: 0.05em;
}

#lp_contents .product_image {
  position: relative;
  width: calc(450 * (var(--rate)));
  margin: calc(40 * (var(--rate))) auto 0;
}

#lp_contents .award {
  position: absolute;
  width: calc(100 * (var(--rate)));
  top: 0;
  right: calc(-115 * (var(--rate)));
}

#lp_contents .product_name {
  margin-top: calc(46 * (var(--rate)));
  font-size: calc(28 * (var(--rate)));
  line-height: calc(56/28);
  letter-spacing: 0.1em;
  color: var(--color_text);
}

#lp_contents .product_price {
  margin-top: calc(13 * (var(--rate)));
  font-size: calc(28 * (var(--rate)));
  line-height: calc(28/28);
  letter-spacing: 0.05em;
}

#lp_contents .btn_detail {
  position: relative;
  margin: calc(60 * (var(--rate))) auto 0;
  width: calc(440 * (var(--rate)));
  height: calc(110 * (var(--rate)));
  border-radius: calc(54.99 * (var(--rate)));
  background-color: var(--color_text);
  z-index: 5;
}

#lp_contents .btn_detail a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: var(--font_en);
  font-size: calc(36 * (var(--rate)));
  font-weight: 500;
  color: var(--color_white);
  letter-spacing: 0.06em;
  line-height: 1;
}

#lp_contents .howto_blk {
  position: relative;
  width: calc(700 * (var(--rate)));
  margin: calc(90 * (var(--rate))) auto 0;
  padding: calc(80 * (var(--rate))) calc(60 * (var(--rate))) calc(50 * (var(--rate)));
  border: var(--color_text) solid calc(2 * (var(--rate)));
}

#lp_contents .howto_title {
  position: absolute;
  top: calc(-60 * (var(--rate)));
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font_jp);
  font-weight: 300;
  font-style: normal;
  font-size: calc(28 * (var(--rate)));
  white-space: nowrap;
  padding: 0 calc(15 * (var(--rate)));
  background-color: var(--color_bg01);
  letter-spacing: 0.05em;
}

#lp_contents .howto_title span {
  display: inline-block;
  font-family: var(--font_en);
  font-size: calc(60 * (var(--rate)));
  margin-left: calc(6 * (var(--rate)));
  margin-right: calc(10 * (var(--rate)));
  letter-spacing: 0;
}

#lp_contents .howto_step {
  display: flex;
  flex-direction: column;
  gap: calc(17 * (var(--rate)));
}

#lp_contents .howto_step li {
  display: flex;
  gap: calc(38 * (var(--rate)));
}

#lp_contents .howto_text {
  font-size: calc(26 * (var(--rate)));
  line-height: calc(50/26);
  letter-spacing: 0.1em;
  text-align: justify;
}

#lp_contents .visual_blk {
  position: relative;
  margin-top: calc(120 * (var(--rate)));
}

#lp_contents .product_name_eng {
  position: absolute;
  left: calc(6 * (var(--rate)));
  top: calc(102 * (var(--rate)));
  width: calc(100 * (var(--rate)));
}

#lp_contents .product_img_sml {
  position: absolute;
  bottom: calc(4 * (var(--rate)));
  right: calc(19 * (var(--rate)));
  width: calc(225 * (var(--rate)));
}

#lp_contents .visual01 {
  position: relative;
  width: calc(770 * (var(--rate)));
  height: calc(1155 * (var(--rate))); 
  margin-left: calc(35 * (var(--rate)));
  overflow: hidden;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 770 1155'%3E%3Crect width='770' height='1155' rx='385' ry='385' fill='%23000'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 770 1155'%3E%3Crect width='770' height='1155' rx='385' ry='385' fill='%23000'/%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

#lp_contents .visual01 img{
  position: absolute;
  display: block;
  width: calc(780 * (var(--rate)));
  height: auto;
  left: calc(-34 * (var(--rate)));
  top: calc(-2 * (var(--rate)));
}

#lp_contents .visual02 {
  position: relative;
  width: calc(720 * (var(--rate)));
  height: calc(504 * (var(--rate)));
  margin-top: calc(100 * (var(--rate))); 
  overflow: hidden;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 504'%3E%3Cpath fill='%23000' d='M0,0h468C607.08,0,720,112.92,720,252h0c0,139.08-112.92,252-252,252H0V0H0Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 504'%3E%3Cpath fill='%23000' d='M0,0h468C607.08,0,720,112.92,720,252h0c0,139.08-112.92,252-252,252H0V0H0Z'/%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

#lp_contents .visual02 img{
  position: absolute;
  display: block;
  width: calc(780 * (var(--rate)));
  height: auto;
  left: calc(0 * (var(--rate)));
  top: calc(0 * (var(--rate)));
}

#lp_contents .comment_blk {
  position: relative;
  padding-top: calc(34 * (var(--rate)));
  background-color: var(--color_white);
}

#lp_contents .comment_blk:before,
#lp_contents .comment_blk:after {
  position: absolute;
  top: calc(-198 * (var(--rate)));
  left: 0;
  right: 0;
  display: block;
  width: calc(780 * (var(--rate)));
  height: calc(200 * (var(--rate)));
  background: url(../img/bg_white.png) no-repeat;
  background-size: contain;
  content: "";
  z-index: -1;
}

#lp_contents .comment_blk:after {
  top: auto;
  bottom: calc(-198 * (var(--rate)));
  transform: scaleY(-1);
  content: "";
}

#lp_contents .comment_title {
  width: calc(510 * (var(--rate)));
  margin-left: calc(68 * (var(--rate)));
}

#lp_contents .comment_blk .accordion{
  margin-top: calc(25 * (var(--rate)));
}

#lp_contents .comment_blk .accordion_inner{
  min-height: calc(195 * (var(--rate)));
}

#lp_contents .comment_blk .accordion_inner::before{
  width: 0;
}

#lp_contents .comment_blk .accordion_btn {
  margin: calc(35 * (var(--rate))) auto 0;
}

#lp_contents .comment_blk .open .accordion_btn {
  margin: calc(75 * (var(--rate))) auto 0;
}

#lp_contents .accordion_comment {
  padding: 0 calc(80 * (var(--rate)));
  margin: 0 auto;
  font-family: var(--font_jp);
  font-weight: 300;
  font-style: normal;
  font-size: calc(26 * (var(--rate)));
  text-decoration: underline;
  text-decoration-color:var(--color_lightpink);
  text-underline-offset:calc(17 * (var(--rate)));
  line-height: calc(65/26);
  letter-spacing: 0.03em;
  text-align: justify;
}

#lp_contents .visual03 {
  position: relative;
  margin-top: calc(150 * (var(--rate)));
  margin-right: calc(90 * (var(--rate)));
  width: calc(690 * (var(--rate)));
  height: calc(920 * (var(--rate)));
  overflow: hidden;
  -webkit-clip-path: inset(0 calc(100% - (690 * var(--rate))) calc(100% - (920 * var(--rate))) 0);
  clip-path: inset(0 calc(100% - (690 * var(--rate))) calc(100% - (920 * var(--rate))) 0);

}

#lp_contents .visual03 img {
  position: absolute;
  display: block;
  width: calc(690 * (var(--rate)));
  height: auto;
  left: calc(0 * (var(--rate)));
  top: calc(0 * (var(--rate)));
}

#lp_contents .visual04 {
  position: relative;
  margin-top: calc(40 * (var(--rate)));
  margin-left: calc(180 * (var(--rate)));
  width: calc(600 * (var(--rate)));
  height: calc(800 * (var(--rate)));
  -webkit-clip-path: inset(0 calc(100% - (600 * var(--rate))) calc(100% - (800 * var(--rate))) 0);
  clip-path: inset(0 calc(100% - (600 * var(--rate))) calc(100% - (800 * var(--rate))) 0);
}

#lp_contents .visual04 img {
  position: absolute;
  display: block;
  width: calc(600 * (var(--rate)));
  height: auto;
  left: calc(0 * (var(--rate)));
  top: calc(0 * (var(--rate)));
}

#lp_contents .product_link {
  margin-top: calc(25 * (var(--rate)));
  font-family: var(--font_en);
  font-size: calc(28 * (var(--rate)));
  letter-spacing: 0.06em;
  text-align: right;
  padding-right: calc(40 * (var(--rate)));
  text-decoration: underline;
  text-underline-offset: calc(3 * (var(--rate)));
  color: var(--color_text);
}


#lp_contents .btn_modal {
  margin: calc(87* (var(--rate))) auto 0;
  width: calc(580 * (var(--rate)));
  height: calc(130 * (var(--rate)));
  background-size: 100%;
  border: var(--color_text) solid calc(2 * (var(--rate)));
  border-radius: calc(65 * (var(--rate)));
}

#lp_contents .btn_modal button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

#lp_contents .btn_modal button:before {
  position: absolute;
  top: 50%;
  right: calc(40 * (var(--rate)));
  display: block;
  width: calc(50 * (var(--rate)));
  height: calc(50 * (var(--rate)));
  background: url(../img/arrow01.svg) no-repeat;
  background-size: contain;
  transform: translateY(-50%) rotate(270deg);
  content: "";
}

#lp_contents .btn_modal button span {
  margin-left: calc(-47 * (var(--rate)));
  font-family: var(--font_en);
  font-size: calc(36 * (var(--rate)));
  letter-spacing: 0.06em;
  color: var(--color_text);
}


/* ========================================================
                      * sec_mv  *
========================================================= */
#lp_contents .sec_mv {
  padding: 0;
}

#lp_contents .mv_blk {
  position: relative;
}

#lp_contents .mv01 {
  position: relative;
  width: calc(840 * (var(--rate)));
  height: calc(1090 * (var(--rate)));
  margin-left: calc(-30 * (var(--rate)));
  overflow: hidden;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 840 1090"><path fill="%23000" d="M0,0h840v670c0,231.96-188.04,420-420,420S0,901.96,0,670V0Z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 840 1090"><path fill="%23000" d="M0,0h840v670c0,231.96-188.04,420-420,420S0,901.96,0,670V0Z"/></svg>');
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}  

#lp_contents .mv01 img {
  position: absolute;
  display: block;
  width: calc(804 * (var(--rate)));
  height: auto;
  left: calc(30 * (var(--rate)));
  top: calc(-113 * (var(--rate)));
}

#lp_contents .mv02 {
  position: absolute;
  width: calc(780 * (var(--rate)));
  height: auto;
  left: 0;
  bottom: calc(-40 * (var(--rate)));
}

#lp_contents .mv_title {
  width: calc(660 * (var(--rate)));
  margin: calc(100 * (var(--rate))) auto 0;
}

#lp_contents .sec_mv .accordion{
  margin: calc(88 * (var(--rate))) auto 0;
}

#lp_contents .sec_mv .accordion_inner{
  min-height: calc(280 * (var(--rate)));
}

#lp_contents .sec_mv .accordion_text{
  margin-top: calc(30 * (var(--rate)));
  font-family: var(--font_jp);
  font-weight: 300;
  font-style: normal;
  font-size: calc(26 * (var(--rate)));
  line-height: calc(52/26);
}

#lp_contents .sec_mv .accordion_inner .accordion_text:nth-of-type(1){
  margin-top: 0;
}

#lp_contents .nav {
  margin-top: calc(113 * (var(--rate)));
}

#lp_contents .menu_list {
  display: flex;
  justify-content: center;
  gap: calc(40 * (var(--rate)));
}

#lp_contents .menu_list li .nav_img {
  width: calc(200 * (var(--rate)));
  height: fit-content;  
  height: intrinsic;
}

#lp_contents .menu_list li .nav_name {
  font-family: var(--font_en);
  font-size: calc(24 * (var(--rate)));
  font-weight: 500;
  line-height: calc(36/24);
  letter-spacing: 0.025em;
  text-align: center;
  color: var(--color_text);
  margin-top:calc(23 * (var(--rate)));
}

#lp_contents .menu_list li .nav_arrow {
  display: block;
  width: calc(40 * (var(--rate)));
  height: calc(40 * (var(--rate)));
  margin: 0 auto;
}

#lp_contents .accordion {
  position: relative;
  z-index: 2;
}

#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;
  min-height: calc(520 * (var(--rate)));
  overflow: hidden;
}

#lp_contents .accordion_inner:before {
  position: absolute;
  bottom: calc(0 * (var(--rate)));
  left: 50%;
  display: block;
  transform: translateX(-50%);
  width: calc(780 * (var(--rate)));
  height: calc(78 * (var(--rate)));
  background: linear-gradient(transparent, var(--color_bg01));
  content: "";
  z-index: 1;
}

#lp_contents .open .accordion_inner:before {
  display: none;
}

#lp_contents .accordion_btn {
  margin: calc(60 * (var(--rate))) auto 0;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  content: "";
}

#lp_contents .accordion_btn span {
  font-family: var(--font_en);
  font-size: calc(26 * (var(--rate)));
  letter-spacing: 0.06em;
  color: var(--color_text);
  white-space: nowrap;
  line-height: 1;
}

#lp_contents .accordion_btn span:before {
  position: absolute;
  bottom: calc(-34 * (var(--rate)));
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: calc(49 * (var(--rate)));
  height: calc(16 * (var(--rate)));
  background: url(../img/arrow02.svg) no-repeat;
  background-size: contain;
  content: "";
}

#lp_contents .open .accordion_btn span:before {
  transform: translateX(-50%) scaleY(-1);
  bottom: calc(46 * (var(--rate)));
}

#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;
}

@media screen and (max-width: 768px){

#lp_contents .fixed_menu_area{
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  height: 100vh;
  padding-top: calc(var(--header-height, 0px) + (100 * var(--rate)));
  padding-right: calc(60 * (var(--rate)));
  padding-bottom: calc(100 * (var(--rate)));
  padding-left: calc(60 * (var(--rate)));
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 100;
  opacity: 0;
  transform: translateX(100%);
  transition: transform 0.5s ease, opacity 0.5s ease;
}


#lp_contents .fixed_menu_area.is-show {
  opacity: 1;
}

#lp_contents .fixed_menu_area.is-visible {
  transform: translateX(0);
}

#lp_contents .menu_tab {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: calc(362* (var(--rate)));
  left: calc(-60* (var(--rate)));
  padding: calc(20* (var(--rate)));
  width: calc(60 * (var(--rate)));
  height: calc(180 * (var(--rate)));
  background: var(--color_pink);
  border-radius: calc(20* (var(--rate))) 0 0 calc(20* (var(--rate)));
  box-sizing: border-box;
}

#lp_contents .menu_tab span{
  font-family: var(--font_en);
  font-weight: 500;
  font-size: calc(30 * (var(--rate)));
  writing-mode: vertical-rl;
  text-orientation: mixed;
  color: var(--color_white);
  line-height: 1;
}

#lp_contents .fixed_menu_area .nav {
  margin-top: calc(-60 * (var(--rate)));
}

#lp_contents .fixed_menu_area .menu_list {
  flex-direction: column;
  gap: calc(60 * (var(--rate)));
}

#lp_contents .fixed_menu_area .menu_list li .nav_img {
  width: calc(160 * (var(--rate)));
}

#lp_contents .fixed_menu_area .menu_list li .nav_name {
  font-size: calc(22 * (var(--rate)));
  line-height: calc(33/22);
  margin-top:calc(20 * (var(--rate)));
  white-space: nowrap;
}
}


/* ========================================================
                * EyeDesignernEX01  *
========================================================= */
#lp_contents .block01 {
  margin-top: calc(80 * (var(--rate)));
}

#lp_contents .limit {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: calc(0 * (var(--rate)));
  right: calc(-130 * (var(--rate)));
  width: calc(130 * (var(--rate)));
  height: calc(130 * (var(--rate)));
  border: var(--color_text) solid calc(2 * (var(--rate)));
  font-size: calc(24.1429 * (var(--rate)));
  line-height: 1;
  border-radius: 50%;
}

#lp_contents .block01 .accordion_comment span {

}

#lp_contents .block01 .accordion_comment span:nth-of-type(1){
  letter-spacing: 0.05em;
}
#lp_contents .block01 .accordion_comment span:nth-of-type(2){
  letter-spacing: 0.03em;
}
#lp_contents .block01 .accordion_comment span:nth-of-type(3){
  letter-spacing: 0.08em;
}
#lp_contents .block01 .accordion_comment span:nth-of-type(4){
  letter-spacing: 0.05em;
}

#lp_contents .block02 .howto_blk {
  padding: calc(57 * (var(--rate))) calc(60 * (var(--rate))) calc(50 * (var(--rate)));
}

#lp_contents .block02 .accordion_comment {
  letter-spacing: 0.05em;
}

#lp_contents .block02 .product_name_eng {
  top: calc(182 * (var(--rate)));
  width: calc(100 * (var(--rate)));
}
#lp_contents .block02 .comment_blk .accordion_inner {
  min-height: calc(260 * (var(--rate)));
}

#lp_contents .block02 .visual03,
#lp_contents .block02 .visual04 {
  width: calc(660 * (var(--rate)));
  height: calc(880 * (var(--rate)));
  margin: 0 auto;
  -webkit-clip-path: inset(0 calc(100% - (660 * var(--rate))) calc(100% - (880 * var(--rate))) 0);
  clip-path: inset(0 calc(100% - (660 * var(--rate))) calc(100% - (880 * var(--rate))) 0);
}

#lp_contents .block02 .visual03 img,
#lp_contents .block02 .visual04 img {
  width: calc(660 * (var(--rate)));
}

#lp_contents .block02 .visual03 {
  margin-top: calc(150 * (var(--rate)));
}

#lp_contents .block02 .visual04 {
  position: relative;
  margin-top: calc(40 * (var(--rate)));
}

#lp_contents .block02 .visual04 img {
  position: relative;
  margin: calc(40 * (var(--rate))) auto 0;
}
#lp_contents .block02 .product_link {
  padding-right: calc(435 * (var(--rate)));
}

#lp_contents .block03 .howto_blk {
  padding: calc(55 * (var(--rate))) calc(60 * (var(--rate))) calc(50 * (var(--rate)));
}
#lp_contents .block03 .accordion_comment {
  letter-spacing: 0.1em;
}

#lp_contents .block03 .product_name_eng {
  top: calc(182 * (var(--rate)));
  width: calc(102 * (var(--rate)));
}
#lp_contents .block03 .comment_blk .accordion_inner {
  min-height: calc(130 * (var(--rate)));
}
#lp_contents .block03 .visual04 {
  margin-top: calc(60 * (var(--rate)));
}

/* ========================================================
                * All Button  *
========================================================= */
#lp_contents .btn_checkall {
  margin: calc(100 * (var(--rate))) auto 0;
  width: calc(580 * (var(--rate)));
  height: calc(130 * (var(--rate)));
  background: linear-gradient(45deg, #dcc8dc 0.6329%, #fadcdc 100%);
  border-radius: calc(64.99 * (var(--rate)));
}

#lp_contents .btn_checkall a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font_en);
  font-size: calc(40 * (var(--rate)));
  font-weight: 500;
  color: var(--color_white);
  letter-spacing: 0.06em;
  line-height: 1;
}
/* ========================================================
                * Artist  *
=========================================================*/
#lp_contents .artist.block {
  margin-top: calc(140 * (var(--rate)));
  padding: calc(140 * (var(--rate))) 0 0 0;
}

#lp_contents .artist_img {
  width: calc(390 * (var(--rate)));
  margin: 0 auto;
}

#lp_contents .artist_rubi {
  margin-top: calc(25 * (var(--rate)));
  font-family: var(--font_jp);
  font-weight: 300;
  font-style: normal;
  font-size: calc(24 * (var(--rate)));
  color: var(--color_text);
  letter-spacing: 0.1em;
}

#lp_contents .artist_name {
  margin-top: calc(10 * (var(--rate)));
  font-family: var(--font_jp);
  font-weight: 300;font-style: normal;
  font-size: calc(48 * (var(--rate)));
  color: var(--color_text);
  letter-spacing: 0.05em;
  line-height: 1;
}

#lp_contents .artist_profile {
  width: calc(620 * (var(--rate)));
  margin: calc(40 * (var(--rate))) auto 0;
  font-family: var(--font_jp);
  font-size: calc(26 * (var(--rate)));
  line-height: calc(65/26);
  text-align: justify;
  color: var(--color_text);
/* 下線の高さを計算値に合わせる */
background-image: linear-gradient(
  to bottom,
  transparent calc(calc(65 * (var(--rate))) - 1px),
  var(--color_lightpink) calc(calc(65 * (var(--rate))) - 1px)
);
/* 背景のピッチを直接行高に合わせる */
background-size: 100% calc(65 * (var(--rate)));
}
_::-webkit-full-page-media, _:future, :root #lp_contents .artist_profile {
  background-image: linear-gradient(
  to bottom,
  transparent calc(calc(63 * (var(--rate))) - 1px),
  var(--color_lightpink) calc(calc(63 * (var(--rate))) - 1px)
);
  background-size: 100% calc(63 * (var(--rate)));
}
/* ========================================================
                * Modal  *
=========================================================*/

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

/* クラスが付与された時 */
#lp_contents .modal.is-visible {
  display: flex !important; /* JSの .show() は block になるため flex で上書き */
  opacity: 1;
  scale: 1;
}
/* Chrome, Safari用スクロールバー非表示 */
#lp_contents .modal__content::-webkit-scrollbar {
  display: none;
}

#lp_contents .modal__content{
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  max-width: 100vw;
  height: 100dvh;
  max-height: 100dvh;
  background-color: #fff;
  transform: translateX(-50%);
  transition: transform 0.3s ease-out;
  overflow-y: auto;
  /* scrollbar-width: none; */
  overscroll-behavior: contain;
}
@media (min-width: 769px) {
#lp_contents .modal__content {
  top: 50%;
  width: 46.8rem;
  height: calc(100vh - 60px);
  max-height: calc(100vh - 60px);
  transform: translate(-50%,-50%);
}
}

#lp_contents .modal_content::-webkit-scrollbar {
  display: none; /* Chrome, Safari */
}

#lp_contents .modal__bg {
  height: 100vh;
  position: absolute;
  width: 100%;
  background: rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s;
}

#lp_contents .modal.is-visible .modal__bg {
  background: rgba(242, 242, 242, 0.7); /* 開いたら指定の色に */
}

#lp_contents .modal_inner{
  padding: calc(0 * (var(--rate))) 0 calc(140 * (var(--rate)));
  margin-top: calc(140 * (var(--rate)));
  display: flex;
  flex-direction: column;
  overflow-y: scroll;
  height: calc(100dvh - calc(140 * (var(--rate))));
  scrollbar-width: none;
  overscroll-behavior: contain;
}

#lp_contents .modal__content .js-modal-close{
  position: absolute;
  width: calc(62 * (var(--rate)));
  height: calc(62 * (var(--rate)));
  top: calc(40 * (var(--rate)));
  right: calc(40 * (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(84 * (var(--rate)));
  height: calc(3 * (var(--rate)));
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: calc(-13 * (var(--rate)));
  background: var(--color_text);
}

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

#lp_contents .modal_visual01 {
  position: relative;
  margin-top: calc(40 * (var(--rate)));
}

#lp_contents .modal_slide {
  width: calc(600 * (var(--rate))) !important;
}

#lp_contents .decor {
  position: absolute;
  width: calc(120 * (var(--rate)));
  top: calc(-3* (var(--rate)));
  right: calc(104 * (var(--rate)));
}

#lp_contents .modal_item01 img {
  width: calc(170 * (var(--rate)));
}

#lp_contents .modal_item_name {
  margin-top: calc(32 * (var(--rate)));
  font-size: calc(26 * (var(--rate)));
  line-height: calc(39/26);
  letter-spacing: 0.05em;
  color: var(--color_text);
}

#lp_contents .modal_step {
  display: flex;
  flex-direction: column;
  gap: calc(15 * (var(--rate)));
  margin-top: calc(33 * (var(--rate)));
  padding: 0 calc(80 * (var(--rate))) 0 calc(60 * (var(--rate)));;
}

#lp_contents .modal_step li {
  display: flex;
  align-items: flex-start;
  gap: calc(8 * (var(--rate)));
  font-size: calc(26 * (var(--rate)));
  line-height: calc(52/26);
  letter-spacing: 0.05em;
  color: var(--color_text);
}

#lp_contents .modal_step li a {
  display: inline-block;
  width: auto;
  color: var(--color_text);
  text-decoration: underline;
  letter-spacing: 0.05em;
}

#lp_contents .modal_step .modal_step_num {
  font-size: calc(26 * (var(--rate)));
  line-height: calc(52/26);
  letter-spacing: 0.05em;
  color: var(--color_text);
  text-align: left;
}

#lp_contents .modal_step .modal_step_text {
  text-align: justify;
  letter-spacing: 0.05em;
}

#lp_contents .modal_item_list {
  margin-top: calc(60 * (var(--rate)));
}

#lp_contents .modal_item_list.flex {
  display: flex;
  gap: calc(50 * (var(--rate)));
  justify-content: center;
}

#lp_contents .modal_item02 img,
#lp_contents .modal_item03 img,
#lp_contents .modal_item04 img {
  width: calc(140 * (var(--rate)));
  margin: 0 auto;
}

#lp_contents .modal_cheek_blk,
#lp_contents .modal_lip_blk {
  margin-top: calc(110 * (var(--rate)));
}

@media (min-width: 769px) {
  #lp_contents .modal_lip_blk {
    margin-bottom: calc(140 * (var(--rate)));
  }
}

#lp_contents .adjust {
  white-space: nowrap;
}

#lp_contents #modal03 .modal_item_list.flex {
  gap: calc(52 * (var(--rate)));
}
/* ========================================================
                      * JS 設定  *
========================================================= */

.ef1 {
  opacity: 0;
  scale: 1.05;
  transition: opacity 2s cubic-bezier(0.22, 0.61, 0.36, 1), translate 2s cubic-bezier(0.22, 0.61, 0.36, 1), scale 2s cubic-bezier(0.22, 0.61, 0.36, 1), rotate 2s cubic-bezier(0.22, 0.61, 0.36, 1), filter 2s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ef1.active {
  opacity: 1;
  scale: 1;
}


.ef2 {
  opacity: 0;
}
.ef2.active {
  -webkit-animation: opa 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;
}
.mv02.ef2.active {
  -webkit-animation: opa 1.4s cubic-bezier(0.51, 0.21, 0.41, 1) 1.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;
  }
}

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

  100% {
    opacity: 1;
  }
}

#lp_contents .howto_step .icon_check {
  width: calc(41.9 * (var(--rate)));
  height: calc(40 * (var(--rate)));
  margin-top: calc(10 * (var(--rate)));
}

#lp_contents .howto_step .icon_check .cls-1 {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.5s ease calc(0.3s + (0.3s * var(--index, 0)));
}

#lp_contents .howto_step.active .icon_check .cls-1 {
  clip-path: inset(0);
}

.cls-1 {
  fill: #c3768f;
}
.cls-2 {
  fill: #fff;
}

/* 
========================================================
                      * PC線調整  *
========================================================= */
@media (min-width: 769px) {
#lp_contents .sec_facestylist .accrordion_title_jp:before {
  height: 1px
}

#lp_contents .concept .line {
  width: 1px;
}

.ef3::after {
  height: 1px;
}
}