@charset "UTF-8";
/* 安心・スピード配送！コンタクト通販のレンズアップル */
#ad-2week {
  -webkit-text-size-adjust: 100%;
  margin: 0 auto;
  max-width: 960px;
  font-family: 'Noto Sans JP', sans-serif;
}

#ad-2week * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#ad-2week .p_search{
  margin: 0 6.25%;
  padding: 0;
}

#ad-2week .p_sec_type01{
  margin: 10.41% 6.25% 0;
}

#ad-2week .p_sec_type01 + .p_sec_type01{
  margin-top: 13.2%;
}

#ad-2week .p_ttl_type01{
  color: #222222;
  font-size: calc(57 / 960 * var(--contents_width));
  font-weight: bold;
  text-align: center;
  font-family: 'Roboto', sans-serif;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

#ad-2week .p_productlist_type01{
  margin: 8.2% 0 0;
  padding: 0;
}

#ad-2week .p_productlist_type01_in{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: calc(50 / 960 * var(--contents_width)) calc(28 / 960 * var(--contents_width));
}

#ad-2week .p_btn_type01{
  margin: 6.4% 0 0;
  padding: 0;
}

#ad-2week .p_btn_type01 + .p_btn_type01{
  margin-top: 3.5%;
}

#ad-2week .p_btn_type01_btn{
  font-size: calc(36 / 960 * var(--contents_width));
  color: #222222;
  margin: 0;
  padding: 0;
  display: block;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: center;
  padding: 2.8% 0;
  border: 1px solid #cacaca;
  border-radius: calc(15 / 960 * var(--contents_width));
}

#ad-2week .aui_word_search input[type="text"]{
  background-color: #fff;
  border: 1px solid #313131;
  border-radius: 0;
  height: 40px;
}

#ad-2week .aui_word_search input::placeholder{
  color: #9b9b9b;
  font-size: 12px;
  font-weight: normal;
  letter-spacing: 0.06em;
}

#ad-2week .tempA_pbox_S .sub_box{
  margin: 5.2% 0 0;
  padding: 0;
}

#ad-2week .tempA_pbox_S .name{
  font-size: calc(24 / 960 * var(--contents_width));
  letter-spacing: 0.04em;
  line-height: 1.6;
  color: #222222;
  margin: 0;
  padding: 0;
}

#ad-2week .tempA_pbox_S .price_box .text{
  display: block;
  font-size: calc(24 / 960 * var(--contents_width));
  letter-spacing: 0.04em;
  line-height: 1.6;
  color: #bd1e1e;
  margin: 2% 0 0;
  padding: 0;
}

#ad-2week .tempA_pbox_S .price_box .price{
  display: block;
  font-size: calc(38 / 960 * var(--contents_width));
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.3;
  color: #bd1e1e;
  margin: 0;
  padding: 0;
}

#ad-2week .tempA_pbox_S .photo{
  display: block;
}

#ad-2week .sec_mv{
  margin: 6.25% 0 0;
  padding: 0;
  position: relative;
}

#ad-2week .sec_mv_in{
  position: relative;
  padding: 0;
  margin: 0;
  height: calc(470 / 960 * var(--contents_width));
}

#ad-2week .sec_mv_mainimg{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

#ad-2week .sec_mv_mainimg img{
  object-fit: cover;
  width: auto;
  height: 100%;
}

#ad-2week .sec_mv_ttl{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 6.25%;
  right: 6.25%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  margin: 5.8% 0;
  padding: 0;
}

#ad-2week .sec_mv_ttl_main{
  padding: 0;
  margin: 0;
  font-size: calc(44 / 960 * var(--contents_width));
  font-weight: normal;
  color: #ffffff;
  line-height: 1.5;
}

#ad-2week .sec_mv_ttl_sub{
  padding: 0;
  margin: 2% 0 0;
  font-size: calc(29 / 960 * var(--contents_width));
  font-weight: normal;
  color: #ffffff;
  line-height: 1.5;
}

#ad-2week .sec_ranking{
  margin: 11.7% 0 0;
  padding: 15.2% 0 17.5%;
  background-color: #f7f4f1;
}

#ad-2week .sec_ranking_ttl01{
  font-size: calc(50 / 960 * var(--contents_width));
  text-align: center;
  font-weight: bold;
  color: #222222;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

#ad-2week .sec_ranking_tab{
  margin: 10.4% 0 0;
  padding: 0;
}

#ad-2week .sec_ranking_tab_head{
  display: flex;
  align-items: center;
  justify-content: center;
}

#ad-2week .sec_ranking_tab_head_item{
  width: 24%;
  text-align: center;
}

#ad-2week .sec_ranking_tab_head_item.is_active .sec_ranking_tab_head_btn:before{
  width: 100%;
}

#ad-2week .sec_ranking_tab_head_btn{
  position: relative;
  display: inline-block;
  font-size: calc(32 / 960 * var(--contents_width));
  font-family: 'Roboto', sans-serif;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #222222;
  padding: 0 6% 5.2%;
  margin: 0;
}

#ad-2week .sec_ranking_tab_head_btn:before{
  transition: all .14s ease-in;
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%,0);
  height: 1px;
  background-color: #222222;
  width: 0;
}

#ad-2week .sec_ranking_tab_body{
  margin: 8.5% 0 0;
  padding: 0;
}

#ad-2week .sec_ranking_tab_body_item{
  display: none;
}

#ad-2week .sec_ranking_tab_body_item.is_active{
  display: block;
  -webkit-animation: fade_animation01 1.5s ease 0s 1 normal;
  animation: fade_animation01 1.5s ease 0s 1 normal;
}

#ad-2week .sec_ranking_list{
  counter-reset: number 0;
  overflow-x: auto;
  white-space: nowrap;
  margin: 0 0 0 6.25%;
  padding: 0;
  font-size: 0;
}

#ad-2week .sec_ranking_list_products{
  white-space: normal;
}

#ad-2week .sec_ranking_list_products:before{
  content: "No."counter(number);
  display: block;
  font-size: calc(28 / 960 * var(--contents_width));
  font-weight: bold;
  color: #222222;
  line-height: 1;
  letter-spacing: 0.04em;
  padding: 0;
  margin: 0;
}

#ad-2week .sec_ranking_list_products .tempA_pbox_S {
  margin: 8.2% 0 0;
  padding: 0 0 11.2%;
}

#ad-2week .sec_ranking_list_products .tempA_pbox_S .photo{
  height: calc(290 / 960 * var(--contents_width));
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

#ad-2week .sec_ranking_list_products .tempA_pbox_S .sub_box{
  margin-top: 10%;
}

@supports (-moz-appearance: none) {
  #ad-2week .sec_ranking{
    scrollbar-color: #222222 #cccccc;
  }
}

@supports (-webkit-appearance: none) {
  #ad-2week .sec_ranking ::-webkit-scrollbar {
    width: 10px;
    height: 2px;
  }

  #ad-2week .sec_ranking ::-webkit-scrollbar-track {
    background: #cccccc;
  }

  #ad-2week .sec_ranking ::-webkit-scrollbar-thumb {
    background: #222222;
  }
}

#ad-2week .sec_coupon{
  margin: 0;
  padding: 11.45% 0 0;
}

#ad-2week .sec_coupon_ttl01{
  margin: 0;
  padding: 3.14% 0;
  font-size: calc(50 / 960 * var(--contents_width));
  font-weight: bold;
  background-color: #ea5836;
  color: #ffffff;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: center;
}

#ad-2week .sec_coupon_ttl02{
  margin: 11% 0 0;
  padding: 0;
  font-size: calc(44 / 960 * var(--contents_width));
  font-weight: bold;
  color: #222222;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: center;
}

#ad-2week .sec_coupon_ttl01 + .sec_coupon_ttl02{
  margin: 9.7% 0 0;
}

#ad-2week .sec_coupon_ttl03{
  margin: 10.8% 0 0;
  padding: 0;
  font-size: calc(39 / 960 * var(--contents_width));
  font-weight: 500;
  color: #222222;
  letter-spacing: 0.004em;
  line-height: 1.22;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

#ad-2week .sec_coupon_ttl03:before{
  content: "";
  height: calc(110 / 960 * var(--contents_width));
  width: 2px;
  transform: translate(0,6%) rotate(-31deg);
  background-color: #222222;
  display: block;
  margin: 0 4.2% 0 0;
  padding: 0;
}

#ad-2week .sec_coupon_ttl03:after{
  content: "";
  height: calc(110 / 960 * var(--contents_width));
  width: 2px;
  transform: translate(0,6%) rotate(31deg);
  background-color: #222222;
  display: block;
  margin: 0 0 0 4.2%;
  padding: 0;
}

#ad-2week .sec_coupon_txt01{
  margin: 1.9% 0 0;
  padding: 0;
  font-size: calc(28 / 960 * var(--contents_width));
  text-align: center;
  color: #222222;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

#ad-2week .sec_coupon_txt01 + .sec_coupon_couponbtn01{
  margin-top: 6.5%;
}

#ad-2week .sec_coupon_couponbtn01{
  margin: 5.6% 6.2% 0;
}

#ad-2week .sec_coupon_couponbtn01 img{
  display: block;
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0;
}

#ad-2week .sec_coupon_couponbtn01 + .sec_coupon_couponbtn01{
  margin-top: 6.25%;
}

#ad-2week .sec_coupon_couponbtn01 + .sec_coupon_txt01{
  margin-top: 10%;
}

#ad-2week .sec_coupon_annotation01{
  font-size: calc(28 / 960 * var(--contents_width));
  color: #222222;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 0;
  margin: 9.6% 0 0;
}

#ad-2week .sec_coupon_annotation01{
  margin: 9.6% 0 0;
  padding: 0;
}

#ad-2week .sec_coupon_annotation01 + .sec_coupon_annotation01{
  margin-top: 1.2%;
}

#ad-2week .sec_coupon_fixed_btn{
  transition: all .2s ease-out;
  z-index: 101;
  position: fixed;
  bottom: 0;
  left: 50%;
  width: calc(840 / 960 * var(--contents_width));
  height: calc(210 / 960 * var(--contents_width));
  border-radius: calc(15 / 960 * var(--contents_width));
  transform: translate(-50%,0);
  background-color: #ea5836;
}

#ad-2week .sec_coupon_fixed_btn.is_hidden{
  pointer-events: none;
  opacity: 0;
}

#ad-2week .sec_coupon_fixed_btn_btn01{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(44 / 960 * var(--contents_width));
  font-weight: 500;
  color: #ffffff;
  margin: 0;
  padding: 0;
  letter-spacing: 0.06em;
  line-height: 1;
}

#ad-2week .sec_coupon_fixed_btn_btn01:before{
  content: "";
  display: inline-block;
  width: calc(66 / 960 * var(--contents_width));
  height: calc(87 / 960 * var(--contents_width));
  background-image: url(/campaign/ad-2week/img/coupon_icon01.png);
  background-repeat: no-repeat;
  background-size: 99.9% auto;
  background-position: center center;
  margin-right: 4%;
  padding: 0;
}

#ad-2week .sec_coupon_fixed_btn_btn02{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

#ad-2week .sec_coupon_fixed_btn_btn02_grid{
  display: grid;
  grid-template-columns: max-content max-content;
  align-items: center;
  gap: 0 5%;
  white-space: nowrap;
}

#ad-2week .sec_coupon_fixed_btn_btn02_limited{
  position: relative;
  font-size: calc(45 / 960 * var(--contents_width));
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.06em;
  color: #ffffff;
  text-align: center;
  margin: 0;
  padding: calc(90 / 960 * var(--contents_width)) 0 0 0;
  transform: translate(0,-10%);
}

#ad-2week .sec_coupon_fixed_btn_btn02_limited_strong{
  font-size: calc(50 / 960 * var(--contents_width));
  font-family: 'Roboto', sans-serif;
  margin: 0;
  padding: 0;
  transform: translate(0,0.05em);
  display: inline-block;
}

#ad-2week .sec_coupon_fixed_btn_btn02_limited:before{
  content: "";
  display: inline-block;
  width: calc(66 / 960 * var(--contents_width));
  height: calc(87 / 960 * var(--contents_width));
  background-image: url(/campaign/ad-2week/img/coupon_icon01.png);
  background-repeat: no-repeat;
  background-size: 99.9% auto;
  background-position: center center;
  margin-right: 4%;
  padding: 0;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%,0);
}

#ad-2week .sec_coupon_fixed_btn_btn02_off{
  padding: 2% 0 0;
}

#ad-2week .sec_coupon_fixed_btn_btn02_off_main{
  font-family: 'Roboto', sans-serif;
  font-size: calc(42 / 960 * var(--contents_width));
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.07em;
  color: #ffffff;
  text-align: center;
  margin: 0;
  padding: 0;
}

#ad-2week .sec_coupon_fixed_btn_btn02_off_main_txt_l{
  font-size: calc(120 / 960 * var(--contents_width));
  line-height: 0.9;
}

#ad-2week .sec_coupon_fixed_btn_btn02_off_main_txt_m{
  font-size: calc(95 / 960 * var(--contents_width));
  line-height: 1;
}

#ad-2week .sec_coupon_fixed_btn_btn02_off_main_txt_s{
  font-size: calc(75 / 960 * var(--contents_width));
  line-height: 1;
}

#ad-2week .sec_coupon_fixed_btn_away{
  position: absolute;
  top: 0;
  left: 1.4%;
  margin-top: -2.6%;
  width: calc(56 / 960 * var(--contents_width));
  height: calc(56 / 960 * var(--contents_width));
  z-index: 2;
}

#ad-2week .sec_coupon_fixed_btn.is_min{
  width: 46px;
  height: 46px;
  border-radius: 100px;
  right: 5%;
  left: inherit;
  top: inherit;
  bottom: 78px;
  transform: none;
}

#ad-2week .sec_coupon_fixed_btn.is_min .sec_coupon_fixed_btn_btn01{
  font-size: 0;
}

#ad-2week .sec_coupon_fixed_btn.is_min .sec_coupon_fixed_btn_btn01:before{
  position: absolute;
  width: 21px;
  height: 29px;
  margin: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

#ad-2week .sec_coupon_fixed_btn.is_min .sec_coupon_fixed_btn_btn02_limited,
#ad-2week .sec_coupon_fixed_btn.is_min .sec_coupon_fixed_btn_btn02_limited_strong,
#ad-2week .sec_coupon_fixed_btn.is_min .sec_coupon_fixed_btn_btn02_off_main,
#ad-2week .sec_coupon_fixed_btn.is_min .sec_coupon_fixed_btn_btn02_off_main_txt_l,
#ad-2week .sec_coupon_fixed_btn.is_min .sec_coupon_fixed_btn_btn02_off_main_txt_m,
#ad-2week .sec_coupon_fixed_btn.is_min .sec_coupon_fixed_btn_btn02_off_main_txt_s{
  font-size: 0;
}

#ad-2week .sec_coupon_fixed_btn.is_min .sec_coupon_fixed_btn_btn02_limited:before{
  display: none;
}

#ad-2week .sec_coupon_fixed_btn.is_min .sec_coupon_fixed_btn_btn02:before{
  content: "";
  display: inline-block;
  background-image: url(/campaign/ad-2week/img/coupon_icon01.png);
  background-repeat: no-repeat;
  background-size: 99.9% auto;
  background-position: center center;
  padding: 0;
  position: absolute;
  width: 21px;
  height: 29px;
  margin: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

#ad-2week .sec_coupon_fixed_btn.is_min .sec_coupon_fixed_btn_away{
  display: none;
}

#ad-2week .sec_coupon_slidewrap{
  margin: 6.25% 0 0;
}

#ad-2week .sec_coupon_slidewrap .swiper-slide {
  width: 81.9% !important; /* 強制的に80%の見た目に */
  margin: 0 1.1%;
  border-radius: calc(24 / 960 * var(--contents_width));
  overflow: hidden;
}

#ad-2week .sec_coupon_slidewrap + *{
  margin-top: 10%;
}

#ad-2week .sec_coupon_bnr01{
  display: block;
  margin: 11% 6.2% 0;
}

#ad-2week .sec_coupon_bnr02{
  display: block;
  margin: 0 6.2% 0;
}

#ad-2week .sec_coupon_bnr02_txt{
  margin: 1.9% 0 0;
  padding: 0;
  font-size: calc(28 / 960 * var(--contents_width));
  text-align: center;
  color: #222222;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

#ad-2week .lp_reason_toggle{
  margin: 4.6% auto;
}

#ad-2week .p_bnr01{
  width: 91.67%;
  margin: 0 auto;
}

@-webkit-keyframes fade_animation01 {
  0% {
    visibility: visible;
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fade_animation01 {
  0% {
    visibility: visible;
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fade_in_out_animation01 {
  0% {
    opacity: 0;
  }
  30% {
    opacity: .4;
  }
  100% {
    opacity: 0;
  }
}


/* cmnパーツ調整 */
/* #footer {
  margin-top: 0;
} */

@media screen and (max-width: 767px) {
  #page_top_button{
    bottom: calc(220 / 960 * var(--contents_width));
  }
}

body.mfp-bg-fix {
  position: fixed;
  width: 100%;
}

.js_clipboard_msgbox {
  z-index: 200010 !important;
}
