.sp_cosme_conts {
  width: 100%;
  padding-bottom: 12.5vw;
  background-color: #f4ecea;
}

/*----------sp_cosme_main----------*/
.sp_cosme_main_kv {
  width: 100%;
}

.sp_cosme_main_box {
  position: relative;
  width: 100vw;
  height: 46.875vw;
  background-color: #f8f5f5;
}

.sp_cosme_main_ttl_container {
  position: absolute;
  top: -6.25vw;
  left: 6.25vw;
  width: 87.5vw;
  height: 45.3125vw;
}

.sp_cosme_main_ttl {
  position: relative;
  width: 100%;
  height: 100%;
}

.sp_cosme_campaign {
  padding-top: 9.0625vw;
  padding-bottom: 9.375vw;
}

.sp_cosme_campaign img {
  display: block;
  width: 93.75vw;
  margin: 0 auto;
}

.sp_cosme_txt {
  position: relative;
  z-index: 2;
  width: 100%;
  font-size: 0;
  margin-bottom: 10.3125vw;
}

.sp_cosme_teach_lead {
  width: 83.125vw;
  margin: 0 auto 12.5vw;
}

.sp_cosme_teach_img {
  width: 54.6875vw;
  margin: 0 auto 5.15625vw;
}

.sp_cosme_teach_name {
  width: 60.15625vw;
  margin: 0 auto 3.125vw;
}

.sp_cosme_teach_txt {
  width: 79.0625vw;
  margin: 0 auto 11.875vw;
  font-size: 3.4375vw;
  line-height: 5.9375vw;
  letter-spacing: -0.02em;
}

.sp_cosme_check {
  padding-top: 7.8125vw;
  padding-bottom: 10.15625vw;
  background-color: #fff;
  margin-bottom: 16.09375vw;
}

.sp_cosme_check_ttl {
  width: 67.1875vw;
  margin: 0 auto 7.5vw;
  font-size: 3.4375vw;
}

.sp_cosme_check_lead {
  width: 78.125vw;
  margin: 0 auto 2.8125vw;
}

.sp_cosme_check_box {
  overflow: hidden;
  -webkit-transition: height 0.2s ease-out;
  transition: height 0.2s ease-out;
  height: 19.53125vw;
  padding-bottom: 1.25vw;
}

.sp_cosme_check_txt {
  width: 78.125vw;
  font-size: 3.4375vw;
  line-height: 5.9375vw;
  margin: 0 auto;
  letter-spacing: -0.05em;
}

.sp_cosme_check_open {
  position: relative;
  width: 78.125vw;
  height: 9.375vw;
  margin: 0 auto;
  background-image: url(../img/cosmetic2/sp_check_close.png);
  background-size: 100%;
}

.sp_cosme_check_open::before {
  position: absolute;
  top: -6.25vw;
  left: 0;
  display: block;
  content: "";
  width: 78.125vw;
  height: 6.25vw;
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.3), #fff);
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), #fff);
  z-index: 2;
  -webkit-transition: opacity 0.2s ease-out,visibility 0.2s ease-out;
  transition: opacity 0.2s ease-out,visibility 0.2s ease-out;
  pointer-events: none;
}

.sp_cosme_check_open.is_open img {
  opacity: 0;
}

.sp_cosme_check_open.is_open::before {
  visibility: hidden;
  opacity: 0;
}

.sp_cosme_check_open.is_open::after {
  visibility: hidden;
  opacity: 0;
}

.sp_cosme_check_open + .sp_cosme_check_lead {
  margin-top: 7.8125vw;
}

.sp_cosme_item_link_ttl {
  width: 77.96875vw;
  margin: 0 auto 6.40625vw;
}

.sp_cosme_item_links {
  margin-bottom: 16.71875vw;
}

.sp_cosme_item_link {
  width: 78.125vw;
  margin: 0 auto;
}

.sp_cosme_item_link + .sp_cosme_item_link {
  margin-top: 3.125vw;
}

.sp_cosme_item_link img {
  width: 100%;
}

/* ----------- sp_cosme_items ----------- */
.sp_cosme_items {
  position: relative;
  width: 90.625vw;
  margin: 0 auto;
  padding-top: 1.5625vw;
  padding-bottom: 1.5625vw;
  background-color: #fff;
}

.sp_cosme_items + .sp_cosme_items {
  margin-top: 12.34375vw;
}

.sp_cosme_items_container {
  position: relative;
  width: 87.5vw;
  margin: 0 auto;
  padding-top: 7.03125vw;
}

.sp_cosme_items_container::before {
  position: absolute;
  top: 0;
  display: block;
  content: "";
}

.sp_cosme_items_container::after {
  position: absolute;
  bottom: 0;
  display: block;
  content: "";
}

.sp_cosme_items_container.is_01 {
  border: 1px solid #f288a8;
}

.sp_cosme_items_container.is_01::before {
  left: 0;
  border-bottom: 14.375vw solid transparent;
  border-left: 14.375vw solid #f288a8;
}

.sp_cosme_items_container.is_01::after {
  right: 0;
  border-top: 14.375vw solid transparent;
  border-right: 14.375vw solid #f288a8;
}

.sp_cosme_items_container.is_02 {
  border: 1px solid #e0a6a2;
}

.sp_cosme_items_container.is_02::before {
  right: 0;
  border-bottom: 14.375vw solid transparent;
  border-right: 14.375vw solid #e0a6a2;
}

.sp_cosme_items_container.is_02::after {
  right: 0;
  border-top: 14.375vw solid transparent;
  border-right: 14.375vw solid #e0a6a2;
}

.sp_cosme_items_container.is_03 {
  border: 1px solid #d36767;
}

.sp_cosme_items_container.is_03::before {
  left: 0;
  border-bottom: 14.375vw solid transparent;
  border-left: 14.375vw solid #d36767;
}

.sp_cosme_items_container.is_03::after {
  right: 0;
  border-top: 14.375vw solid transparent;
  border-right: 14.375vw solid #d36767;
}

.sp_cosme_items_container.is_04 {
  border: 1px solid #ee9865;
}

.sp_cosme_items_container.is_04::before {
  right: 0;
  border-bottom: 14.375vw solid transparent;
  border-right: 14.375vw solid #ee9865;
}

.sp_cosme_items_container.is_04::after {
  right: 0;
  border-top: 14.375vw solid transparent;
  border-right: 14.375vw solid #ee9865;
}

.sp_cosme_items_ttl {
  width: 76.5625vw;
  margin: 0 0 7.8125vw 9.53125vw;
}

.sp_cosme_items_ttl.is_event {
  margin-left: 7.34375vw;
}

.sp_cosme_items_img {
  width: 82.8125vw;
  margin: 0 0 7.5vw auto;
}

.sp_cosme_items_img.is_even {
  margin: 0 auto 7.5vw 0;
}

.sp_cosme_items_txt {
  width: 78.125vw;
  margin: 0 auto 7.03125vw;
  font-size: 3.4375vw;
  line-height: 5.9375vw;
  letter-spacing: -0.05em;
}

.sp_cosme_items_product {
  width: 62.5vw;
  margin: 0 auto 12.96875vw;
}

/* ----------- sp_cosme_items_item ----------- */
.sp_cosme_items_item:last-of-type {
  margin-bottom: 0;
}

.sp_cosme_items_item + .sp_cosme_items_item {
  margin-top: 10.9375vw;
}

.sp_cosme_items_item + .sp_cosme_items_point {
  margin-top: 11.5625vw;
}

.sp_cosme_items_item_img {
  position: relative;
  width: 62.65625vw;
  margin: 0 auto 3.125vw;
}

.sp_cosme_items_item_num {
  position: absolute;
  top: -1.25vw;
  left: 2.03125vw;
  width: 2.65625vw;
  font-size: 3.125vw;
  line-height: 1;
}

.sp_cosme_items_item_color {
  position: absolute;
  top: -4.84375vw;
  left: 5.9375vw;
  width: 21.09375vw;
  font-size: 3.125vw;
  line-height: 1;
}

.sp_cosme_items_item_ttl {
  width: 70.3125vw;
  font-size: 0;
  margin: 0 0 7.03125vw 12.34375vw;
}

.sp_cosme_items_item_ttl.is_wide {
  width: 78.125vw;
}

.sp_cosme_items_item_ttl.is_point {
  margin-left: 7.65625vw;
}

.sp_cosme_items_item_name {
  font-size: 3.4375vw;
  line-height: 5vw;
  margin: 0 0 5.46875vw 12.34375vw;
  font-weight: bold;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.08em;
}

.sp_cosme_items_item_name .is_red {
  color: #ff0000;
}

.sp_cosme_items_item_name.is_point {
  margin-left: 7.65625vw;
}

.sp_cosme_items_item_txt {
  font-size: 2.96875vw;
  line-height: 5vw;
  margin: 0 0 7.8125vw 12.34375vw;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.08em;
  color: rgba(0, 0, 0, 0.6);
}

.sp_cosme_items_item_txt.is_point {
  margin-left: 7.65625vw;
}

.sp_cosme_items_item_price {
  font-size: 2.96875vw;
  line-height: 1;
  margin: 0 0 2.34375vw 12.34375vw;
  color: #000;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.08em;
}

.sp_cosme_items_item_price .is_num {
  font-size: 4.6875vw;
  font-weight: bold;
  color: #000;
}

.sp_cosme_items_item_price.is_point {
  margin-left: 7.65625vw;
}

a.sp_cosme_items_item_link {
  display: inline-block;
  font-size: 2.5vw;
  line-height: 1;
  text-decoration: underline;
  margin: 1.875vw 0 0 12.34375vw;
}

a.sp_cosme_items_item_link.is_point {
  margin-left: 7.65625vw;
}

.sp_cosme_items_item_link_container {
  margin: 1.875vw 0 0 12.34375vw;
}

.sp_cosme_items_item_link_container.is_point {
  margin-left: 7.65625vw;
}

.sp_cosme_items_item_link_container + .sp_cosme_items_item_link_container {
  margin-top: 0;
}

.sp_cosme_items_item_link_container a.sp_cosme_items_item_link {
  margin: 0;
}

.sp_cosme_items_item_note {
  font-size: 2.5vw;
  line-height: 3.4375vw;
  color: rgba(0, 0, 0, 0.6);
  margin: 1.5625vw 0 0 12.34375vw;
}

.sp_cosme_items_item_note.is_point {
  margin-left: 7.65625vw;
}

.sp_cosme_items_point {
  position: relative;
  width: 78.125vw;
  margin: 0 auto 12.5vw;
  background-size: 1.875vw;
  padding-top: 9.6875vw;
  padding-bottom: 12.1875vw;
}

.sp_cosme_items_point.is_01 {
  border: 1px solid #f288a8;
  background-image: url(../img/cosmetic2/sp_items1_point_bg.png);
}

.sp_cosme_items_point.is_02 {
  border: 1px solid #e0a6a2;
  background-image: url(../img/cosmetic2/sp_items2_point_bg.png);
}

.sp_cosme_items_point.is_03 {
  border: 1px solid #d36767;
  background-image: url(../img/cosmetic2/sp_items3_point_bg.png);
}

.sp_cosme_items_point.is_04 {
  border: 1px solid #f0a77c;
  background-image: url(../img/cosmetic2/sp_items4_point_bg.png);
}

.sp_cosme_items_point_label {
  position: absolute;
  top: -5.9375vw;
  left: -0.15625vw;
  width: 37.1875vw;
  height: 13.90625vw;
}

.sp_cosme_items_point_ttl {
  width: 22.8125vw;
  margin: 0 auto 3.125vw;
}

.sp_cosme_items_point_txt {
  margin-bottom: 5.625vw;
  font-size: 2.5vw;
  line-height: 5.15625vw;
  letter-spacing: 0.03em;
  text-align: center;
}

.sp_cosme_items_point_txt.is_03 {
  letter-spacing: -0.08em;
}

.sp_cosme_bottom_txt {
  width: 87.5vw;
  margin: 12.5vw auto 0;
}

.sp_cosme_bottom_txt + .sp_cosme_bottom {
  margin-top: 12.5vw;
}

/* ----------- sp_cosme_banner ----------- */
.sp_cosme_banner {
  width: 93.75vw;
  margin: 12.5vw auto 12.5vw;
}

/* ----------- sp_cosme_soon ----------- */
.sp_cosme_soon {
  width: 48.90625vw;
  margin: 0 auto 3.125vw;
}

/* ----------- sp_cosme_link ----------- */
.sp_cosme_link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 93.75vw;
  margin: 0 auto;
  box-shadow: 0 0.78125vw 1.5625vw 0vw rgba(0, 0, 0, 0.3);
}

.sp_cosme_link_box {
  position: relative;
  width: 46.875vw;
  height: 46.875vw;
}

.sp_cosme_link_ttl {
  width: 100%;
}

.sp_cosme_link_check {
  position: absolute;
  top: 35.9375vw;
  left: 2.34375vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 40.625vw;
  height: 6.25vw;
  margin: 0;
  font-size: 2.5vw;
  line-height: 1;
  background-color: #fff;
  border-radius: 3.125vw;
  color: #000;
}

.sp_cosme_link_check::after {
  display: block;
  content: "";
  width: 1.09375vw;
  height: 2.34375vw;
  margin: 0 3.125vw 0 1.875vw;
  background-image: url("../img/common/sp_link_arrow.png");
  background-size: 100%;
}

.sp_cosme_link_img {
  width: 46.875vw;
}

.sp_fotter_banner_container {
  padding: 10.9375vw 0 0;
}

.sp_fotter_banner {
  display: block;
  width: 93.75vw;
  height: 39.0625vw;
  overflow: hidden;
  margin: 0 auto 7.8125vw;
}

.sp_fotter_banner img {
  width: 100%;
}

/* ---------------- modal_detail_conts ---------------- */
.modal_detail_conts {
  min-width: 176px;
  margin: 0;
  padding: 0;
  text-align: center;
}

.modal_detail_conts a {
  text-decoration: none;
}

.modal_detail_conts .cartBtn {
  width: 100%;
}

.modal_detail_conts .linkBtn {
  width: 100%;
}

/*----------sp_modal------------*/
.sp_modal_ttl {
  font-size: 4.375vw;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 4.6875vw;
}

.sp_modal_list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sp_modal_list li {
  font-size: 3.4375vw;
  line-height: 5vw;
  margin: 0 0 3.125vw 0;
  font-weight: bold;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.08em;
  text-align: left;
}

.sp_modal_list li:last-child {
  margin-bottom: 0;
}

.sp_modal_name {
  font-size: 3.4375vw;
  line-height: 5vw;
  margin: 0 auto 3.125vw;
  font-weight: bold;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.08em;
}

.sp_modal_txt {
  font-size: 2.96875vw;
  line-height: 4.6875vw;
  margin: 0 auto 3.125vw;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.08em;
  color: rgba(0, 0, 0, 0.6);
}

.sp_modal_price {
  font-size: 2.96875vw;
  line-height: 1;
  margin: 0 auto 2.5vw;
  color: #000;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.08em;
}

.sp_modal_price .is_num {
  font-size: 4.6875vw;
  font-weight: bold;
  color: #000;
}
