@charset "UTF-8";
/* =========================================================

コスパ抜群 WAVE 2ウィーク エアスリム plus

========================================================= */
#wave2week-airslim {
  --main: #2aa0a4;
  --text-dark: #353535;
  --yellow: #fdff51;
  --red: #cb0004;
  --bg-light: #f2fcfb;
  --bg-tint: #ceede8;
  --spec-border: #28a2a3;
  --coupon-btn-bg-color: var(--yellow);
  --coupon-btn-text-color: var(--main);
  background-color: var(--bg-light);
}

#wave2week-airslim * {
  font-family: "YakuHanJP_Noto", "Lato", "Roboto", "Noto Sans JP", sans-serif;
}

#wave2week-airslim *,
#wave2week-airslim *::before,
#wave2week-airslim *::after {
  box-sizing: border-box;
}

#wave2week-airslim div,
#wave2week-airslim p,
#wave2week-airslim h1,
#wave2week-airslim h2,
#wave2week-airslim h3,
#wave2week-airslim ul,
#wave2week-airslim li,
#wave2week-airslim a,
#wave2week-airslim table {
  margin: 0px;
  padding: 0px;
}

#wave2week-airslim em {
  font-style: normal;
}

#wave2week-airslim a {
  text-decoration: none;
}

#wave2week-airslim img {
  max-width: 100%;
  vertical-align: bottom;
}

#wave2week-airslim p,
#wave2week-airslim h2,
#wave2week-airslim h3 {
  letter-spacing: 0.4px;
}

/* メインビジュアル
--------------------------------------- */
#wave2week-airslim .sec_mv {
  position: relative;
}

#wave2week-airslim .sec_mv .sec_mv_ttl img {
  display: block;
  width: 100%;
}

/* 画像に焼き込まれた価格カード＋ボタン全体に重ねる透明リンク
   （mv.jpg 960×1816 上の実測値 x52-907 / y1247-1619 を%換算） */
#wave2week-airslim .sec_mv .sec_mv_cta {
  display: block;
  position: absolute;
  top: 68.67%;
  left: 5.42%;
  width: 89.17%;
  height: 20.54%;
}

#wave2week-airslim .sec_mv .sec_mv_cta span {
  display: block;
  overflow: hidden;
  width: 100%;
  height: 100%;
  white-space: nowrap;
  text-indent: 110%;
}

/* 商品レビュー
--------------------------------------- */
#wave2week-airslim .sec_review {
  padding: calc(60/960 * var(--contents_width)) 0 calc(110/960 * var(--contents_width));
  background-color: var(--bg-light);
}

#wave2week-airslim .sec_review .sec_review_ttl {
  text-align: center;
}

#wave2week-airslim .sec_review .sec_review_ttl img {
  width: calc(318/960 * var(--contents_width));
}

#wave2week-airslim .sec_review .sec_review_btn {
  margin-top: calc(65/960 * var(--contents_width));
  text-align: center;
}

#wave2week-airslim .sec_review .sec_review_btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(853/960 * var(--contents_width));
  min-height: calc(180/960 * var(--contents_width));
  margin: 0 auto;
  padding: 0.5em calc(30/960 * var(--contents_width));
  border-radius: calc(14/960 * var(--contents_width));
  background-color: var(--main);
  color: #e8faff;
  font-weight: 700;
  font-size: calc(38/960 * var(--contents_width));
  line-height: 1.4;
  letter-spacing: 0.08em;
}

#wave2week-airslim .sec_review .sec_review_btn a::after {
  display: block;
  flex-shrink: 0;
  width: calc(45/960 * var(--contents_width));
  height: calc(45/960 * var(--contents_width));
  margin-left: calc(24/960 * var(--contents_width));
  background-image: url(/campaign/wave2week-airslim/img/btn_arrow.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}

/* 製品の特長
--------------------------------------- */
#wave2week-airslim .sec_feature {
  padding: calc(70/960 * var(--contents_width)) 0 calc(80/960 * var(--contents_width));
  background-color: var(--bg-tint);
}

#wave2week-airslim .sec_feature .sec_feature_ttl {
  text-align: center;
}

#wave2week-airslim .sec_feature .sec_feature_ttl img {
  width: calc(395/960 * var(--contents_width));
}

#wave2week-airslim .sec_feature .sec_feature_slider {
  margin-top: calc(60/960 * var(--contents_width));
}

#wave2week-airslim .sec_feature .sec_feature_slider_body {
  position: relative;
}

#wave2week-airslim .sec_feature .sec_feature_slider .swiper {
  width: calc(791/960 * var(--contents_width));
  margin: 0 auto;
}

#wave2week-airslim .sec_feature .sec_feature_slider .swiper-wrapper {
  height: auto;
}

#wave2week-airslim .sec_feature .sec_feature_slider .swiper-slide img {
  display: block;
  width: 100%;
  border-radius: calc(30/960 * var(--contents_width));
}

#wave2week-airslim .sec_feature .sec_feature_slider .swiper-button-prev,
#wave2week-airslim .sec_feature .sec_feature_slider .swiper-button-next {
  -webkit-transform: translateY(-50%);
  position: absolute;
  top: 50%;
  z-index: 2;
  width: calc(44/960 * var(--contents_width));
  height: calc(44/960 * var(--contents_width));
  margin: 0;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='9,3 18,12 9,21' fill='none' stroke='%2322376c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

#wave2week-airslim .sec_feature .sec_feature_slider .swiper-button-prev {
  -webkit-transform: translateY(-50%) rotate(180deg);
  left: calc(20/960 * var(--contents_width));
  transform: translateY(-50%) rotate(180deg);
}

#wave2week-airslim .sec_feature .sec_feature_slider .swiper-button-next {
  right: calc(20/960 * var(--contents_width));
}

#wave2week-airslim .sec_feature .sec_feature_slider .swiper-button-prev::after,
#wave2week-airslim .sec_feature .sec_feature_slider .swiper-button-next::after {
  content: "";
}

#wave2week-airslim .sec_feature .sec_feature_slider .swiper-pagination {
  display: flex;
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  justify-content: center;
  width: -webkit-max-content;
  width: max-content;
  margin: calc(45/960 * var(--contents_width)) auto 0;
  gap: 0 calc(42/960 * var(--contents_width));
}

#wave2week-airslim .sec_feature .sec_feature_slider .swiper-pagination-bullet {
  width: calc(15/960 * var(--contents_width));
  height: calc(15/960 * var(--contents_width));
  margin: 0;
  background-color: #a5a5a5;
  opacity: 1;
}

#wave2week-airslim .sec_feature .sec_feature_slider .swiper-pagination-bullet-active {
  background-color: #494949;
}

/* レンズスペック
--------------------------------------- */
#wave2week-airslim .sec_spec {
  padding: calc(70/960 * var(--contents_width)) 0 calc(90/960 * var(--contents_width));
  background-color: var(--bg-light);
}

#wave2week-airslim .sec_spec .sec_spec_ttl {
  text-align: center;
}

#wave2week-airslim .sec_spec .sec_spec_ttl img {
  width: calc(418/960 * var(--contents_width));
}

#wave2week-airslim .sec_spec .sec_spec_pkg {
  margin-top: calc(40/960 * var(--contents_width));
  text-align: center;
}

#wave2week-airslim .sec_spec .sec_spec_pkg img {
  width: calc(790/960 * var(--contents_width));
}

#wave2week-airslim .sec_spec .sec_spec_table {
  width: calc(790/960 * var(--contents_width));
  margin: calc(30/960 * var(--contents_width)) auto 0;
  border: 2px solid var(--spec-border);
  border-collapse: collapse;
  table-layout: fixed;
}

#wave2week-airslim .sec_spec .sec_spec_table th,
#wave2week-airslim .sec_spec .sec_spec_table td {
  padding: calc(34/960 * var(--contents_width)) calc(30/960 * var(--contents_width));
  border: 2px solid var(--spec-border);
  color: #494949;
  font-weight: 500;
  font-size: calc(28/960 * var(--contents_width));
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-align: left;
}

#wave2week-airslim .sec_spec .sec_spec_table th {
  width: 38%;
  background-color: #e5f5f5;
}

#wave2week-airslim .sec_spec .sec_spec_table td {
  background-color: #ffffff;
}

/* ショッピング
--------------------------------------- */
#wave2week-airslim .sec_shopping {
  padding: calc(100/960 * var(--contents_width)) calc(50/960 * var(--contents_width));
  background-color: var(--bg-tint);
}

/* カート商品紹介_共通
--------------------------------------- */
#wave2week-airslim .cart_product_wrap {
  margin: auto;
  padding: 5% 5%;
  background-color: #ffffff;
  text-align: center;
}

#wave2week-airslim .cart_set_exp {
  position: relative;
  margin: 0 auto 4%;
  text-align: center;
}

#wave2week-airslim .cart_set_exp span {
  position: relative;
  margin: auto;
  font-weight: 500;
  font-size: calc(0.034375 * var(--contents_width));
  letter-spacing: 0.04em;
}

#wave2week-airslim .cart_set_exp span::before,
#wave2week-airslim .cart_set_exp span::after {
  display: block;
  position: absolute;
  color: currentColor;
  font-weight: 400;
  font-size: 1.5em;
}

#wave2week-airslim .cart_set_exp span::before {
  top: -0.5em;
  left: -0.8em;
  content: "\\";
}

#wave2week-airslim .cart_set_exp span::after {
  top: -0.5em;
  right: -0.8em;
  content: "/";
}

#wave2week-airslim .cart_tab_head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 8%;
}

#wave2week-airslim .cart_tab_head_item {
  position: relative;
  width: 47%;
  border: solid 1px var(--main);
  background-color: #fff;
}

#wave2week-airslim .cart_tab_head_item:only-child {
  width: 92.5%;
  margin: 0 auto;
}

#wave2week-airslim .cart_tab_head_item.is_active {
  background-color: var(--main);
}

#wave2week-airslim .cart_tab_head_item.is_active::before {
  display: block;
  position: absolute;
  right: 0;
  bottom: -12px;
  left: 0;
  width: 10%;
  margin: 0 auto;
  content: "▼";
  color: var(--main);
  font-size: 13px;
  line-height: 1;
}

#wave2week-airslim .cart_tab_head_item .cart_tab_head_link {
  display: block;
  padding: 0.5em 0.5em;
  color: var(--main);
  font-weight: 500;
  font-size: calc(0.0375 * var(--contents_width));
  letter-spacing: 0.04em;
  text-align: center;
}

#wave2week-airslim .cart_tab_head_item.is_active .cart_tab_head_link {
  color: #fff;
}

#wave2week-airslim .cart_tab_body {
  margin: auto;
}

#wave2week-airslim .cart_tab_body_item {
  display: none;
}

#wave2week-airslim .cart_tab_body_item.is_active {
  -webkit-animation: fade_animation01 1.5s ease 0s 1 normal;
  display: block;
  animation: fade_animation01 1.5s ease 0s 1 normal;
}

@-webkit-keyframes fade_animation01 {
  0% {
    visibility: visible;
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fade_animation01 {
  0% {
    visibility: visible;
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

#wave2week-airslim .cart_product {
  margin: auto;
}

#wave2week-airslim .cart_product_package {
  margin: 0 auto;
  text-align: center;
}

#wave2week-airslim .cart_product_price {
  display: flex;
  position: relative;
  align-items: flex-end;
  justify-content: center;
  margin: 7% auto 0;
}

#wave2week-airslim .cart_product_price.align_center {
  align-items: center;
}

#wave2week-airslim .cart_product_price_original {
  position: relative;
  padding-right: calc(0.09 * var(--contents_width));
  color: #444444;
  font-weight: 500;
  font-size: calc(0.06 * var(--contents_width));
  line-height: 1.2;
  letter-spacing: 0.01em;
  text-align: left;
}

#wave2week-airslim .cart_product_price_original span {
  text-decoration: line-through;
}

#wave2week-airslim .cart_product_price_original::after {
  -webkit-transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: calc(0.04 * var(--contents_width));
  width: 0;
  height: 0;
  transform: translateY(-50%);
  border-width: calc(0.015 * var(--contents_width)) 0 calc(0.015 * var(--contents_width)) calc(0.02 * var(--contents_width));
  border-style: solid;
  border-color: transparent transparent transparent currentColor;
  content: "";
}

#wave2week-airslim .cart_product_price_discount {
  color: var(--red);
  font-weight: 700;
  font-size: calc(0.0541666667 * var(--contents_width));
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}

#wave2week-airslim .cart_product_price_discount em {
  margin-right: 0.05em;
  font-size: 1.6em;
  letter-spacing: 0.01em;
}

#wave2week-airslim .cart_product_price_divide {
  margin-top: 0;
  color: var(--red);
  font-weight: 700;
  font-size: calc(0.0364583333 * var(--contents_width));
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;
}

#wave2week-airslim .itemize_price {
  color: #272727;
  font-weight: 500;
  font-size: calc(0.025 * var(--contents_width));
  line-height: 1.4;
  letter-spacing: 0.1em;
}

/* 先着限定 */
#wave2week-airslim .cart_product_price.is_firstserve .cart_product_price_discount {
  position: relative;
  margin-top: 9%;
}

#wave2week-airslim .cart_product_price.is_firstserve .cart_product_price_discount::before {
  display: block;
  position: absolute;
  right: 0;
  bottom: 100%;
  margin: 0;
  padding: 3.4% 5% 2.6%;
  background-color: var(--red);
  content: "先着1,000名様限定";
  color: #ffffff;
  font-weight: bold;
  font-size: calc(0.0291666667 * var(--contents_width));
  line-height: 1;
  font-family: "Roboto";
  letter-spacing: 0.07em;
  text-decoration: none;
}

/* クーポン
--------------------------------------- */
#wave2week-airslim .cart_product_coupon {
  margin-top: 6%;
}

#wave2week-airslim .cart_product_coupon .coupon_box {
  padding: 3% 4% 4%;
  border-radius: calc(12/960 * var(--contents_width));
  background: linear-gradient(135deg, #25a1a9 0%, #dae483 100%);
}

#wave2week-airslim .cart_product_coupon .coupon_title {
  margin-bottom: 1%;
  color: #fff;
  font-weight: 500;
  text-align: center;
}

#wave2week-airslim .cart_product_coupon .coupon_title span {
  display: inline-block;
  position: relative;
  padding-bottom: 18px;
  font-size: calc(0.0395833333 * var(--contents_width));
  line-height: 1.4;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

/* 下線：中央にスラッシュ分の隙間を空ける */
#wave2week-airslim .cart_product_coupon .coupon_title span::before {
  position: absolute;
  right: 0;
  bottom: 14px;
  left: 0;
  height: 1px;
  background: linear-gradient(
    to right,
    #fff 0,
    #fff calc(50% + 1.2px),
    transparent calc(50% + 1.2px),
    transparent calc(50% + 9px),
    #fff calc(50% + 9px),
    #fff 100%
  );
  content: "";
}

/* スラッシュ：上端を下線と同じ高さに揃え、下方向へ伸ばす */
#wave2week-airslim .cart_product_coupon .coupon_title span::after {
  position: absolute;
  bottom: 3px;
  left: calc(50% + 9px);
  width: 1px;
  height: 11px;
  transform: rotate(45deg);
  transform-origin: top;
  background: #fff;
  content: "";
  pointer-events: none;
}

#wave2week-airslim .cart_product_coupon .coupon_inner {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  padding: 2px;
  border-radius: calc(12/960 * var(--contents_width));
  background-color: #fff;
}

#wave2week-airslim .cart_product_coupon .coupon_code_box {
  margin: auto;
  padding: 0.5em 0;
  text-align: center;
}

#wave2week-airslim .cart_product_coupon .coupon_code_title {
  display: block;
  color: #232323;
  font-weight: 500;
  font-size: calc(24/960 * var(--contents_width));
  line-height: 1;
  letter-spacing: 0.02em;
}

#wave2week-airslim .cart_product_coupon .coupon_code {
  display: block;
  margin-top: 0.15em;
  color: var(--text-dark);
  font-weight: 700;
  font-size: calc(0.0729166667 * var(--contents_width));
  line-height: 1;
  letter-spacing: 0.02em;
}

#wave2week-airslim .cart_product_coupon .coupon_code_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58%;
  padding: 0;
  border: none;
  border-radius: calc(12/960 * var(--contents_width));
  background-color: var(--coupon-btn-bg-color);
  color: var(--coupon-btn-text-color);
  font-weight: 700;
  font-size: calc(0.0302083333 * var(--contents_width));
  line-height: 1;
  letter-spacing: 0.02em;
}

#wave2week-airslim .cart_product_coupon .coupon_note {
  margin-top: 5%;
  color: #444444;
  font-weight: 500;
  font-size: calc(30/960 * var(--contents_width));
  line-height: 1.6666666667;
  letter-spacing: 0.1em;
}

#wave2week-airslim .cart_product_coupon .coupon_howto_btn_box {
  margin-top: 5%;
  line-height: 1;
  text-align: center;
}

#wave2week-airslim .cart_product_coupon .coupon_howto_btn {
  color: var(--main);
  font-weight: 500;
  font-size: calc(0.034375 * var(--contents_width));
  line-height: 1;
  letter-spacing: 0.02em;
}

#wave2week-airslim .cart_product_coupon .coupon_howto_btn::after {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5em;
  height: 1.5em;
  margin-left: 0.2em;
  border-radius: 50%;
  background-color: var(--main);
  content: "?";
  color: #ffffff;
  font-weight: 700;
  font-size: 0.9em;
  line-height: 1;
  vertical-align: 0.1em;
}

/* カート
--------------------------------------- */
#wave2week-airslim .cart_product_order {
  margin-top: 10%;
}

/* カート上書き
--------------------------------------- */
#wave2week-airslim .aui_goods_data_box {
  margin-top: 8%;
}

#wave2week-airslim .aui_goods_data_box:first-child {
  margin-top: 0;
}

#wave2week-airslim .aui_goods_data_title {
  padding: 4.45% 0;
}

#wave2week-airslim .aui_goods_data_content {
  padding: 0 4.5% 8%;
}

#wave2week-airslim .aui_goods_data_name {
  text-align: left;
}

#wave2week-airslim .goods_omake_box {
  margin: 10% auto 6%;
  border: 0;
}

#wave2week-airslim .goods_omake_title {
  padding: 4.45% 0;
}

#wave2week-airslim .goods_omake_content {
  padding: 4.45% 0;
}

#wave2week-airslim .aui_goods_cart_btn {
  margin: 8% 0 0;
}
