@charset "UTF-8";

/* ------------------------------------------------------------
カテゴリページ
------------------------------------------------------------ */
.contents_wrap li{
  list-style: none;
}

.fv{
  position: relative;
}
.fv_logo{
  width: 62.1%;
  position: absolute;
  top: 2.44%;
  left: 0;
  right: 0;
  margin:auto;
}
.fv_lens{
  width: 88%;
  top: 78.34%;
  position: absolute;
  left: 0;
  right: 0;
  margin:auto;
}

.product{
  background: #FDFDFD;
  background: linear-gradient(180deg,rgba(253, 253, 253, 1) 0%, rgba(253, 253, 253, 1) 50%, rgba(220, 220, 220, 1) 100%);
  position: relative;
  padding-bottom: 188%;
}
@media screen and (max-width: 480px) {
  .product{
    padding-bottom: 188.2vw;
  }
}
.product_title{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin:auto;
  width: 85.9%;
}
.product_image{
  position: absolute;
  top: 14.78%;
  left: 23.8%;
  width: 31.0%;
  z-index: 2;
}
.product_image + .product_image{
  position: absolute;
  top: 18.144%;
  left: 44.8%;
  width: 31.6%;
  z-index: 1;
}
.product_color_cicle{
  position: absolute;
  top: 37.1%;
  left: 0;
  right: 0;
  margin: auto;
}
.product_subTitle{
  width: 90%;
  margin:0 auto 3%;
}
.product_color_list{
  display: flex;
  justify-content: space-between;
  margin:0 2.8% 5% 5%;
}
.product_color_list_item{
  flex-basis: 33%;
}
.product_circle_list{
  display: flex;
  justify-content: center;
}
.product_circle_list_item{
  flex-basis: 30.5%;
}
.product_info{
  position: absolute;
  top: 63.04%;
  left: 0;
  right: 0;
  margin: auto;
  width: 90%;
}

.awards{
  width: 90.1%;
  margin: 18% auto;
}

.price_title{
  width: 29%;
  margin: 0 auto 5.5%;
}
.price_image{
  margin-bottom: 15%;
}

.subsc{
  background-color: #eae1d2;
  padding-bottom: 18%;
}
.subsc_wrap{
  display: flex;
  justify-content: center;
}
.subsc_color_btn{
  width: 42%;
  margin-right: 2%;
}
.subsc_circle_btn{
  width: 42%;
  margin-left: 2%;
}

.chart_image{
  margin-bottom: 23.7%;
}

.lensSpec{
  background-color: #c1c1c3;
  padding-bottom: 18%;
}
.lensSpec_subTitle{
  margin-bottom: 0;
}

.profile{
  margin:18% 0;
}
.profile_subTitle{
  width: 84.3%;
  margin: 0 auto 6%;
}
.profile_image{
  width: 76%;
  margin: 0 auto;
}
.logo{
  width: 36%;
  margin: 0 auto;
}

/* シンプルフェードアップ */
.fadeUp {
  opacity: 0;
  transform: translateY(20px); /* 少し下に配置 */
  transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}
.fadeUp.active {
  opacity: 1;
  transform: translateY(0);
}
/* 遅延時間を transition-delay で指定する */
.fadeUp.delay1 { transition-delay: 0s; }
.fadeUp.delay2 { transition-delay: 0.1s; }
.fadeUp.delay3 { transition-delay: 0.2s; }
.fadeUp.delay4 { transition-delay: 0.3s; }
.fadeUp.delay5 { transition-delay: 0.4s; }
.fadeUp.delay6 { transition-delay: 0.5s; }
.fadeUp.delay7 { transition-delay: 0.6s; }
.fadeUp.delay8 { transition-delay: 0.7s; }
.fadeUp.delay9 { transition-delay: 0.8s; }

/* シンプルフェードイン */
.fadeIn {
  opacity: 0;
  transition: opacity 0.4s ease-out;
}
.fadeIn.active {
  opacity: 1;
}
/* 遅延時間を transition-delay で指定する */
.fadeIn.delay1 { transition-delay: 0.2s; }
.fadeIn.delay2 { transition-delay: 0.5s; }
.fadeIn.delay3 { transition-delay: 0.8s; }
.fadeIn.delay4 { transition-delay: 1.1s; }

/* 右から左 */
.fadeRight {
  opacity: 0;
  transform: translateX(30px);
  transition: opacity 0.4s ease-out, transform 0.4s ease-out;
}
.fadeRight.active {
  opacity: 1;
  transform: translateX(0);
}

/* 左から右  */
.fadeLeft {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.fadeLeft.active {
  opacity: 1;
  transform: translateX(0);
}

/* ------------------------------------------------------------
商品ページ COLOR・CIRCLE共通
------------------------------------------------------------ */
.rt1dLp_color .aniv,
.rt1dLp_circle .aniv{
  background-color: #c1c1c3;
}
.rt1dLp_color .lensSpec,
.rt1dLp_circle .lensSpec{
  margin-top: -2px;
}

/* 注意事項 */
.aniv_notice{
  margin: 0 auto;
  padding: 0 4% 4%;
  width: 90%;
  text-align: center;
  position: relative;
}
.aniv_notice_bgNewcolor{
  background-color: #3c3c3c;
}
.aniv_notice_bgSticker{
  background-color: #fff;
}
.aniv_notice_details{
  background-color: #fff;
  border-radius: 100px;
  border: 2px solid #3c3c3c;
  padding: 14px 0;
}
.aniv_notice_details[open]{
  border-radius: 28px;
}
.aniv_notice_summary{
  cursor: pointer;
  list-style: none;
  padding: 3px 8% 3px 5%;
}
.aniv_notice_summary::before{
  content: "";
  position: absolute;
  right: 7.5%;
  top: 26px;
  border: solid transparent;
  border-top-color: #3c3c3c;
  border-width: 14px 10px 0 10px;
}
@media screen and (max-width: 767px) {
  .aniv_notice_summary::before{
    right: 8%;
    top: 23px;
    border-width: 1.5vw 1.1vw 0 1.1vw;
  }
}

.aniv_notice_details[open] .aniv_notice_summary::before{
  transform: rotate(180deg);
}
.aniv_notice_block{
  padding: 5%;
}
.aniv_notice_text{
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: left;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .aniv_notice_text{
    font-size: 0.8rem;
  }
}

.aniv_notice_text:has(+ .aniv_notice_list){
  margin-bottom: 5px;
}
.aniv_notice_text:last-of-type{
  margin-bottom: 0;
}
.aniv_notice_item{
  font-size: 1.6rem;
  list-style: none;
  line-height: 1.6;
  margin-bottom: 5px;
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .aniv_notice_item{
    font-size: 0.8rem;
  }
}

.aniv_notice_emphasis{
  color: #d50036;
}

/* ReVIA Products */
.other_products{
  margin-top: 40px;
}
.other_products_title{
  background-color: #333;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  padding: 10px 15px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .other_products_title{
    font-size: 1rem;
  }
}

.other_products_image{
  margin-bottom: 30px;
}
.other_products_subTitle{
  font-size: 1.6rem;
  text-align: center;
  color: #3c3c3c;
  margin: 6px 0 0;
}
@media screen and (max-width: 767px) {
  .other_products_subTitle{
    font-size: 0.8rem;
  }
}

.other_products_lineup{
  margin-top: 20px;
}

/* よくある質問 */
.productContent_title{
  width: 29%;
  margin: 0 auto 5.5%;
}
.productFaq_title,
.productFaq_subTitle{
  color: #fff;
}
.productFaq_answer{
  background-image: url(https://fatp275ehc.user-space.cdn.idcfcloud.net/images/sp/type/se_revia_toric1d_26/icon_a_red.svg) ;
  background-position: left 5% top 13px, 0;
  background-repeat: no-repeat;
  background-size: 16px;
  background-color: #fff;
}
.productFaq_text{
  font-weight: 500;
}

/* ------------------------------------------------------------
商品ページ COLOR
------------------------------------------------------------ */
.rt1dLp_color .productFaq_summary{
  background-color: #3c3c3c;
}
.rt1dLp_color .productFaq{
  background-color: #c1c1c3;
}

/* ------------------------------------------------------------
商品ページ CIRCLE
------------------------------------------------------------ */
.rt1dLp_circle .productFaq{
  background-color: #eba0b9;
}
.rt1dLp_circle .productFaq_summary{
  background-image: url(https://fatp275ehc.user-space.cdn.idcfcloud.net/images/pc/product/arrow_product_faq.svg),url(https://fatp275ehc.user-space.cdn.idcfcloud.net/images/pc/type/se_revia_toric1d_26/icon_q_black.svg);
  background-color: #f5d2d7;
  color: #3c3c3c;
}
.rt1dLp_circle .productFaq_details[open] .productFaq_summary{
  background-image: url(https://fatp275ehc.user-space.cdn.idcfcloud.net/images/pc/product/arrow_product_faq_close.svg),url(https://fatp275ehc.user-space.cdn.idcfcloud.net/images/pc/type/se_revia_toric1d_26/icon_q_black.svg);
}