@charset "UTF-8";
/* CSS Document */
html {
  scroll-behavior: smooth;
}
body {
  color: #1810af;
}
.tgt {
  opacity: 1;
  -webkit-transition: opacity 0.5s ease-out;
  -o-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
}
.tgt.on {
  opacity: 1;
}
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}

@-webkit-keyframes mdAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes mdAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.wrapper .cp_main {
  position: relative;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
  line-height: 1.6;
  font-weight: 400;
}
.wrapper .cp_main * {
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  list-style: none;
}
.wrapper .cp_main a {
  display: block;
}
.wrapper .cp_main img {
  display: block;
  max-width: 100%;
  height: auto;
}
.wrapper .cp_main span.em1 {
  margin-right: 1em;
}
.is-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_text-box .cp_list .cp_list-detail span.cp_sp.square {
  color: #00a0ca;
  text-decoration: none;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_1buy-text .cp_1buy-text_inner span.square {
  color: #00a0ca;
  text-decoration: none;
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main {
    font-size: calc(100vw * 15 / 375);
  }
  .wrapper .cp_main .cp_pc {
    display: none;
  }
  .wrapper .cp_main .cp_inner {
    margin: 0 auto;
    width: auto;
  }
}
@media screen and (min-width: 760px) {
  .wrapper .cp_main {
    font-size: 14px;
  }
  .wrapper .cp_main .cp_sp {
    display: none;
  }
  .wrapper .cp_main .cp_inner {
    margin: 0 auto;
    max-width: 1140px;
  }
  .wrapper .cp_main .cp_content {
    padding: 80px 0;
  }
  .wrapper .cp_main .cp_content .cp_content-tit {
    width: 370px;
    border-radius: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 24px;
    line-height: 40px;
  }
}
@media screen and (min-width: 760px) and (max-width: 1200px) {
  .wrapper .cp_main .cp_inner {
    width: calc(100vw * 1140 / 1200);
  }
}
/*
----- hero ------------
-------------------------------*/
.wrapper .cp_main .cp_hero-content {
  opacity: 0;
}
.wrapper .cp_main .cp_hero-content.on {
  opacity: 1;
}
/*
----- 見出し ------------
-------------------------------*/
.wrapper .cp_main .cp_content .cp_content-tit {
  margin: 0 auto;
  color: #fff;
  font-weight: bold;
  text-align: center;
  position: relative;
  z-index: 1;
}
.wrapper .cp_main .cp_content .cp_content-tit::before {
  -webkit-transform: skewX(-15deg);
  -ms-transform: skewX(-15deg);
  transform: skewX(-15deg);
  content: ""; /*ボックスを作る*/
  position: absolute; /*ポジションで中央に配置*/
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1; /* 親要素の後ろに来るように-1 */
  background-color: #1810af;
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_content {
    padding: calc(100vw * 50 / 375) 0;
  }
  .wrapper .cp_main .cp_content .cp_content-tit {
    width: calc(100vw * 250 / 375);
    border-radius: calc(100vw * 25 / 375);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: calc(100vw * 18 / 375);
    line-height: calc(100vw * 48 / 375);
  }
}
@media screen and (min-width: 760px) {
}
@media screen and (min-width: 760px) and (max-width: 1200px) {
  .wrapper .cp_main .cp_content {
    padding: calc(100vw * 80 / 1200) 0;
  }
  .wrapper .cp_main .cp_content .cp_content-tit {
    width: calc(100vw * 370 / 1200);
    border-radius: calc(100vw * 30 / 1200);
    font-size: calc(100vw * 25 / 1200);
    line-height: calc(100vw * 58 / 1200);
  }
}
/*
----- ボタン ------------
-------------------------------*/
.wrapper .cp_main .cp_content .cp_btn-oubo {
  text-align: center;
  text-decoration: none;
}
.wrapper .cp_main .cp_content .cp_btn-oubo.cp_btn-oubo-nonmenber {
  background: #fff;
  color: #000;
  font-weight: bold;
  border: 1px solid #40bbd9;
}
.wrapper .cp_main .cp_content .cp_btn-oubo.cp_btn-oubo-menber {
  background: -webkit-gradient(linear, left top, right bottom, from(#a1d8e8), to(#00b3d6));
  background: -o-linear-gradient(top left, #a1d8e8, #00b3d6);
  background: linear-gradient(to bottom right, #a1d8e8, #00b3d6);
  color: #fff;
  font-weight: bold;
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_content .cp_btn-oubo {
    margin: calc(100vw * 60 / 375) auto calc(100vw * 30 / 375);
    width: calc(100vw * 335 / 375);
    font-size: calc(100vw * 20 / 375);
    padding: calc(100vw * 40 / 375) 0;
  }
  .wrapper .cp_main .cp_content .cp_btn-oubo {
    margin-top: 0;
  }

  /* 2個目だけ上マージンを付ける */
  .wrapper .cp_main .cp_content .cp_btn-oubo-inner > div + div .cp_btn-oubo {
    margin-top: calc(100vw * 60 / 375);
  }
  .wrapper .cp_main .cp_content .cp_btn-oubo .cp_oubo-text {
    font-size: calc(100vw * 14 / 375);
    display: block;
    margin-bottom: calc(100vw * 14 / 375);
  }
}
@media screen and (min-width: 760px) {
}
@media screen and (min-width: 760px) and (max-width: 1200px) {
}
/*
----- 応募期間 ------------
-------------------------------*/
.wrapper .cp_main .cp_content.cp_kikan-content .cp_oubokikan-box .cp_kikan em {
  font-style: normal;
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_content.cp_kikan-content {
    padding: calc(100vw * 40 / 375);
  }
  .wrapper .cp_main .cp_content.cp_kikan-content .cp_kikan-box {
    margin: calc(100vw * 35 / 375) 5%;
  }
  .wrapper .cp_main .cp_content.cp_kikan-content .cp_oubokikan-box .cp_kikan {
    font-size: calc(100vw * 14 / 375);
    margin-bottom: 0;
    font-weight: bold;
    text-align: center;
    margin-top: calc(100vw * 12 / 375);
  }
  .wrapper .cp_main .cp_content.cp_kikan-content .cp_oubokikan-box .cp_kikan em {
    font-size: calc(100vw * 18 / 375);
  }
}
@media screen and (min-width: 760px) {
  .wrapper .cp_main .cp_content.cp_kikan-content .cp_kikan-box {
    margin: 50px auto;
  }
  .wrapper .cp_main .cp_content.cp_kikan-content .cp_oubokikan-box .cp_kikan {
    font-size: 20px;
    margin-bottom: 31px;
    font-weight: bold;
    text-align: center;
    margin-top: 50px;
  }
  .wrapper .cp_main .cp_content.cp_kikan-content .cp_oubokikan-box .cp_kikan em {
    font-size: 32px;
  }
  .wrapper .cp_main .cp_content.cp_kikan-content .cp_oubokikan-box .cp_kikan span {
    position: relative;
    top: -4px;
  }
}
@media screen and (min-width: 760px) and (max-width: 1200px) {
}
/*
----- 商品一覧 ------------
-------------------------------*/
/* バッジを左上に固定 */
.wrapper .cp_main .cp_product-wrap {
  position: relative;
}

.wrapper .cp_main .cp_product-wrap .cp_example-badge {
  position: absolute;
  top: -16px;
  left: 0;
  z-index: 5;
  pointer-events: none; /* クリック邪魔しない */
}

.wrapper .cp_main .cp_product-wrap .cp_example-badge__svg {
  display: block;
  width: 90px;
  height: auto; /* ★これ */
}

/* 共通 */
.wrapper .cp_main .cp_product-wrap .cp_example-badge__bg {
  fill: var(--badge-color);
}
.wrapper .cp_main .cp_product-wrap .cp_example-badge__fg {
  fill: #fff;
}

/* OK例 */
.wrapper .cp_main .cp_product-wrap.is-ok {
  --badge-color: #e5004f;
}

/* NG例 */
.wrapper .cp_main .cp_product-wrap.is-ng {
  --badge-color: #004b91;
}

/* SPで少し小さく */
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_product-wrap .cp_example-badge__svg {
    width: 78px;
    height: 26px;
  }
  .wrapper .cp_main .cp_product-wrap .cp_example-badge__text {
    font-size: 14px;
  }
}
/* バッジ終了 */

.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_text {
  text-align: center;
  line-height: 1.75;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_box-tit .cp_tit-typo {
  display: block;
  line-height: 1;
  font-weight: 700;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_box-tit .cp_tit-text {
  font-weight: 700;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap::before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/typo_buy_2@2x.png) center top no-repeat;
  background-size: contain;
  z-index: 2;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap::after {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/typo_buy_1@2x.png) center top no-repeat;
  background-size: contain;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner {
  background: #fff;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner::before {
  content: "";
  display: block;
  position: absolute;
  background: #004b91;
  z-index: 2;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner::after {
  content: "";
  display: block;
  position: absolute;
  background: #004b91;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_text-box {
  font-weight: bold;
  font-size: 14px;
  margin-top: 2em;
  padding-bottom: 5%;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_text-box .cp_list .cp_list-tit {
  color: #00a0ca;
  font-size: 16px;
  margin-bottom: 20px;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_text-box .cp_list .cp_list-detail p {
  display: inline-block;
  color: #000000;
  margin-left: 1.4em;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_text-box .cp_list .cp_list-detail + .cp_list-detail {
  margin-top: 1em;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_text-box .cp_list .cp_list-detail span {
  text-decoration: none;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_text-box .cp_list .cp_list-detail .cp_list-line {
  display: block; /* flexを殺す */
}

.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_text-box .cp_list .cp_list-detail .cp_list-kind,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_text-box .cp_list .cp_list-detail .cp_list-size {
  display: block; /* 2行にする */
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_1buy {
  background: #bbe2ef;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_1buy-text {
  text-align: center;
  margin-top: 20px;
  font-weight: bold;
  padding-bottom: 5%;
  color: #111;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_1buy-text .cp_1buy-text_inner {
  display: inline;
  color: #000;
  font-size: 14px;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_1buy-text .cp_1buy-text_inner .yoryo::before {
  content: "";
  position: absolute;
  left: -1.4em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background: #00a0ca;
}
/* =========================================================
   cp_product-content（整理済み）
   - タイトル（cp_tit-typo）とプレゼント行（cp_box-txt__label）を同じ幅で揃える
   ========================================================= */

/* 共通：ラベル幅（コース1が収まる幅にする。合わなければ数値だけ調整） */
:root {
  --cp-label-w: 20vw;
  --cp-indent: 1.4rem;
}

/* -----------------------------
   Base（共通/PC基準）
----------------------------- */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_box-tit {
  color: #1810af;
  margin-bottom: 20px;
  /* border-bottom: 2px solid #fff; */
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 1;
}

.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_box-tit::before {
  content: ""; /*ボックスを作る*/
  position: absolute; /*ポジションで中央に配置*/
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background-color: #fff;
  clip-path: polygon(0 100%, 98% 100%, 100% 0, 0 0);
}

.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_box-tit .cp_tit-typo {
  margin-left: 40px;
  margin-right: 25px;
  width: 113px;
  font-size: 24px;
}

/* ※このpの中身を span 2つに分けた前提（下のHTML参照） */
.wrapper .cp_main .cp_box-txt {
  font-size: 20px;
  font-weight: 700;
  margin-left: 40px;
  margin-bottom: 48px;
}

/* 商品ボックス */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  overflow: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_2buy-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: end;
  padding-right: 12%;
}
/* 1buyの斜め帯 */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_1buy::before {
  content: "";
  display: block;
  position: absolute;
  top: -4px;
  width: 70px;
  height: 120%;
  background: #bbe2ef;
  -webkit-transform: rotate(13deg);
  -ms-transform: rotate(13deg);
  transform: rotate(13deg);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  border-left: 12px solid #bacde8;
}

/* +マーク（before/after）位置：list 1/2 */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner::before,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner::before,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner::after,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner::after {
  left: 740px;
}

/* +マーク（before/after）共通 */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner::before,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner::after {
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner::before {
  width: 8px;
  height: 38px;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner::after {
  width: 38px;
  height: 8px;
}

.br-320 {
  display: none;
}

/* -----------------------------
   SP（<=759）
----------------------------- */
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_content.cp_product-content {
    padding: calc(100vw * 50 / 375) 5% 0;
    background: -o-linear-gradient(315deg, #a1d8e8 0%, #00b3d6 100%);
    background: linear-gradient(135deg, #a2c6e1 0%, #bacde8 50%, #cedff3 100%);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_head {
    font-size: calc(100vw * 13 / 375);
    margin: calc(100vw * 22 / 375) 0 calc(100vw * 20 / 375);
    text-align: center;
    font-weight: 700;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_text {
    margin: calc(100vw * 25 / 375) auto calc(100vw * 46 / 375);
    font-size: calc(100vw * 14 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list {
    margin-top: calc(100vw * 40 / 375);
  }

  /* タイトル行：2カラム化（左＝コース、右＝商品名） */
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_box-tit {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: calc(100vw * 9 / 375);
    height: auto;
    padding: calc(100vw * 8 / 375) var(--cp-indent);
    box-sizing: border-box;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_box-tit .cp_tit-typo {
    flex: 0 0 var(--cp-label-w);
    margin: 0; /* margin-left を殺す（ズレの元） */
    width: auto !important; /* PCの width:113px を確実に無効化 */
    white-space: nowrap;
    font-size: calc(100vw * 15 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_box-tit .cp_tit-text {
    flex: 1 1 auto;
    min-width: 0;
    font-size: calc(100vw * 15 / 375);
    line-height: 1.2;
  }

  /* em1を“普通の文字”扱いに戻す（見た目保険） */
  .wrapper .cp_main .cp_content.cp_product-content .cp_box-tit .cp_tit-text .em1 {
    font-weight: inherit;
    font-size: inherit;
    color: inherit;
    letter-spacing: inherit;
    text-decoration: none;
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
  }

  /* プレゼント行：左ラベル幅をコース幅と同じにする */
  .wrapper .cp_main .cp_box-txt {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 0 0 calc(100vw * 30 / 375) 0; /* 左marginは使わない */
    padding-left: var(--cp-indent); /* ★ 左をタイトルと完全一致 */
    box-sizing: border-box;
    font-size: calc(100vw * 11 / 375);
    font-weight: 700;
  }

  .wrapper .cp_main .cp_box-txt__label {
    flex: 0 0 var(--cp-label-w);
    white-space: nowrap;
  }

  .wrapper .cp_main .cp_box-txt__name {
    flex: 1 1 auto;
    min-width: 0;
  }
  /* 商品 */
  .wrapper .cp_main .cp_product-wrap .cp_example-badge {
    top: -8px;
  }
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner::before {
    left: calc(100vw * 234 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_2buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_2buy {
    padding: 20px 0 22px calc(100vw * 22 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box {
    margin: 0 calc(100vw * 12 / 375) 0 0;
    width: calc(100vw * 90 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box {
    width: calc(100vw * 78 / 375);
    margin-right: calc(100vw * 12 / 375);
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-44%);
    -ms-transform: translateY(-44%);
    transform: translateY(-44%);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_pic,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_pic {
    margin: 0 auto;
    width: calc(100vw * 20 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_1buy-text {
    margin-top: calc(100vw * 10 / 375);
    font-size: calc(100vw * 8 / 375);
    font-size: calc(100vw * 10 / 375);
    line-height: 1.4;
    letter-spacing: 0;
    color: #111;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_2buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_2buy {
    padding: 20px 0 22px calc(100vw * 22 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box .cp_pic,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box .cp_pic {
    width: calc(100vw * 90 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box {
    width: calc(100vw * 78 / 375);
    margin-right: calc(100vw * 12 / 375);
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-40%);
    -ms-transform: translateY(-40%);
    transform: translateY(-40%);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_pic,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_pic {
    margin: 0 auto;
    width: calc(100vw * 22 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_text-box .cp_list .cp_list-tit {
    font-size: calc(100vw * 12 / 375);
    margin-bottom: calc(100vw * 6 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_text-box .cp_list .cp_list-detail + .cp_list-detail,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_text-box .cp_list .cp_list-detail + .cp_list-detail {
    margin-top: 0.5rem !important;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_text-box .cp_list .cp_list-detail::before {
    content: none;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_1buy-text .cp_1buy-text_inner {
    font-size: calc(100vw * 8 / 375);
    position: inherit;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_text-box .cp_list .cp_list-detail p {
    display: inline;
    margin-left: 0;
    font-size: calc(100vw * 10 / 375);
    line-height: 1.4;
    letter-spacing: 0;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_text-box {
    margin-top: 0;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_1buy {
    width: calc(100vw * 90 / 375);
    position: relative;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_1buy {
    width: calc(100vw * 77 / 375);
    position: relative;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box {
    width: calc(100vw * 66 / 375);
    margin-right: calc(100vw * 12 / 375);
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-42%);
    -ms-transform: translateY(-42%);
    transform: translateY(-42%);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner::before {
    left: calc(100vw * 244 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner::after,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner::after,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner::after,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner::after {
    left: calc(100vw * 234 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner::after,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner::after {
    left: calc(100vw * 244 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner::before {
    width: calc(100vw * 6 / 375);
    height: calc(100vw * 30 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner::after {
    width: calc(100vw * 30 / 375);
    height: calc(100vw * 6 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap::before {
    top: calc(100vw * -12 / 375);
    width: calc(100vw * 45 / 375);
    height: calc(100vw * 45 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap::before {
    left: calc(100vw * 214 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap::before {
    left: calc(100vw * 200 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap::after {
    top: calc(100vw * -12 / 375);
    right: calc(100vw * 0 / 375);
    width: calc(100vw * 45 / 375);
    height: calc(100vw * 45 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_2buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_2buy {
    padding: 20px 10px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_1buy::before {
    border-left: 8px solid #bacde8;
    width: 90px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_pic,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_pic {
    margin: 0 auto calc(100vw * 3 / 375);
    width: calc(100vw * 32 / 375);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box {
    margin: 0 calc(100vw * 12 / 375) 0 0;
    width: calc(100vw * 98 / 375);
  }
}

/* -----------------------------
   PC（>=760）
----------------------------- */
@media screen and (min-width: 760px) {
  .wrapper .cp_main .cp_content.cp_product-content {
    padding: 0;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner {
    padding-top: 100px;
    background: -o-linear-gradient(315deg, #a1d8e8 0%, #00b3d6 100%);
    background: linear-gradient(135deg, #a2c6e1 0%, #bacde8 50%, #cedff3 100%);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_head {
    margin: 40px auto;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_text {
    margin: 40px auto 70px;
    font-size: 16px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 80px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list {
    padding-bottom: 80px;
    width: 100%;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_box-tit .cp_tit-text {
    font-size: 26px;
    font-weight: bold;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap::before {
    top: -20px;
    width: 80px;
    height: 80px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap::after {
    top: -20px;
    right: -8px;
    width: 80px;
    height: 80px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner a {
    -webkit-transition: opacity 0.3s ease-out;
    -o-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner a:hover {
    opacity: 0.5;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-s {
    width: 540px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-s .cp_product-wrap .cp_product-box-inner .cp_1buy {
    width: 225px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap::before {
    left: 680px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_2buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_2buy {
    padding: 44px 0;
    width: 81%;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box {
    margin: 0 24px 0 35px;
    width: 228px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_1buy {
    padding: 44px 0;
    width: 460px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box {
    margin-left: 70px;
    width: 250px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap::before {
    left: 300px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner::after,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner::after,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner::after,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner::after {
    left: 360px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_1buy {
    width: 160px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box {
    margin-left: -24px;
    width: 180px;
    z-index: 5;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_2buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_2buy {
    padding: 31px 0 31px 23px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box {
    margin: 0 25px 0 17px;
    width: 124px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_1buy {
    padding: 50px 0 0;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_pic,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_pic {
    margin: 0 auto;
    width: 32px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_2buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_2buy {
    padding: 31px 0 31px 23px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box {
    margin: 0 25px 0 17px;
    width: 124px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_1buy {
    padding: 70px 0 0;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_pic,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_pic {
    margin: 0 auto;
    width: 34px;
  }
}

/* -----------------------------
   SP（600〜759）：既存の微調整
----------------------------- */
@media screen and (min-width: 600px) and (max-width: 759px) {
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box {
    margin: 0;
  }
}

/* -----------------------------
   760〜1200：既存の中間幅調整（元のまま）
----------------------------- */
@media screen and (min-width: 760px) and (max-width: 1200px) {
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box {
    width: calc(100vw * 160 / 1200);
    margin: 0 calc(100vw * 24 / 1200) 0 0;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner {
    padding-top: calc(100vw * 150 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_text {
    margin: calc(100vw * 40 / 1200) auto calc(100vw * 70 / 1200);
    font-size: calc(100vw * 20 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list {
    padding-bottom: calc(100vw * 80 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_box-tit {
    margin-bottom: calc(100vw * 50 / 1200);
    height: calc(100vw * 70 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_box-tit .cp_tit-typo {
    margin-left: calc(100vw * 40 / 1200);
    margin-right: calc(100vw * 25 / 1200);
    width: calc(100vw * 143 / 1200);
    font-size: calc(100vw * 24 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_box-tit .cp_tit-text {
    font-size: calc(100vw * 22 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap::before {
    top: calc(100vw * -24 / 1200);
    width: calc(100vw * 90 / 1200);
    height: calc(100vw * 90 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap::after {
    top: calc(100vw * -24 / 1200);
    right: calc(100vw * -24 / 1200);
    width: calc(100vw * 90 / 1200);
    height: calc(100vw * 90 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner::before {
    width: calc(100vw * 8 / 1200);
    height: calc(100vw * 38 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner::after {
    width: calc(100vw * 38 / 1200);
    height: calc(100vw * 8 / 1200);
  }
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-s {
    width: calc(100vw * 540 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap::before {
    left: calc(100vw * 670 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner::after,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner::after {
    left: calc(100vw * 740 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box {
    margin: 0 calc(100vw * 24 / 1200) 0 calc(100vw * 35 / 1200);
    width: calc(100vw * 228 / 1200);
  }

  /* .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_1buy {
    padding: calc(100vw * 50 / 1200) 0;
    width: calc(100vw * 460 / 1200);
  } */

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box {
    margin-left: calc(100vw * 70 / 1200);
    width: calc(100vw * 250 / 1200);
  }

  /* .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_pic,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_pic {
    margin: 0 auto calc(100vw * 3 / 1200);
    width: calc(100vw * 80 / 1200);
  } */

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap::before {
    left: calc(100vw * 290 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner::after,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner::after,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner::after,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner::after {
    left: calc(100vw * 360 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_1buy {
    width: calc(100vw * 160 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-5 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-6 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box {
    margin-left: calc(100vw * -15 / 1200);
    width: calc(100vw * 160 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_2buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_2buy {
    padding: 31px 0 31px 14px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box {
    margin: 0 calc(100vw * 25 / 1200) 0 calc(100vw * 17 / 1200);
    width: calc(100vw * 144 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_1buy {
    padding: calc(100vw * 76 / 1200) 0 calc(100vw * 20 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-3 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_pic,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-4 .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_pic {
    margin: 0 auto calc(100vw * -12 / 1200);
    width: calc(100vw * 37 / 1200);
  }
}

@media screen and (max-width: 373px) {
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_2buy .cp_pic-box {
    margin: 0 calc(100vw * 12 / 375) 0 0;
    width: calc(100vw * 88 / 375);
  }
  .br-320 {
    display: block;
  }
  .cp-sp {
    display: none;
  }
}

/*
----- 取り扱い店舗 ------------
-------------------------------*/
.wrapper .cp_main .cp_content.cp_shop-content {
  background: #f7f7f7;
  padding: 80px 0 0;
  position: relative;
}

/* 下線付き小見出し */
.wrapper .cp_main .cp_shop-subhead {
  margin: 54px 0 32px;
  font-weight: 700;
  color: #1810af;
  font-size: 20px;
  position: relative;
  padding-bottom: 10px;
  text-align: center;
}

.wrapper .cp_main .cp_shop-subhead::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 170px;
  height: 1px;
  background: #1810af;
  transform: translateX(-50%);
}

.wrapper .cp_main .cp_shop-subhead--mt {
  margin-top: 44px;
}

/* ボタン2つ並び（PC） */
.wrapper .cp_main .cp_shop-btnRow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin: 20px auto 22px;
  max-width: 1050px;
}
.wrapper .cp_main .cp_shop-btnRow:has(> :only-child) {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
}
.wrapper .cp_main .cp_shop-btnRow:has(> :only-child) > :only-child {
  width: min(520px, 100%);
}
@media screen and (max-width: 759px) {
  /* 行全体を中央寄せ（gridの中身を中央に置く） */
  .wrapper .cp_main .cp_shop-btnRow {
    display: grid; /* 念のため */
    grid-template-columns: 1fr;
    gap: calc(100vw * 18 / 375);
    max-width: 100%;

    place-items: center; /* ★これで中央寄せ */
  }

  /* ボタン自体の幅を揃えて中央に見せる（好みで調整） */
  .wrapper .cp_main .cp_shop-btnRow .cp_shop-btn {
    width: min(600px, 100%); /* ★ボタン最大幅（必要なら数字変更） */
  }
}
/* ボタン */
.wrapper .cp_main .cp_shop-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  max-width: 500px;
  padding: 0 18px;
  border-radius: 10px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  border: 1px solid transparent;
  box-sizing: border-box;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.wrapper .cp_main .cp_shop-btn:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.wrapper .cp_main .cp_shop-btn--filled {
  color: #fff;
  background: linear-gradient(90deg, #a1d8e8, #00b3d6);
  border: none;
  border-radius: 5px;
}

.wrapper .cp_main .cp_shop-btn--outline {
  color: #111;
  border: 1px solid transparent; /* ここ重要 */
  background:
    linear-gradient(#fff, #fff) padding-box,
    /* 中身の背景 */ linear-gradient(90deg, #a1d8e8, #00b3d6) border-box; /* 枠のグラデ */
  border-radius: 5px;
}

.wrapper .cp_main .cp_shop-btn--wide {
  max-width: 560px;
  margin: 0 auto;
  min-height: 72px;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(90deg, #a1d8e8, #00b3d6);
  border: none;
  border-radius: 5px;
}

.wrapper .cp_main .cp_shop-arrow {
  margin-left: 10px;
  font-weight: 700;
}

/* 店舗名一覧 */
.wrapper .cp_main .cp_shop-retailersList {
  list-style: none;
  margin: 18px auto;
  padding: 0;

  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;

  font-weight: 700;
  line-height: 2;
  color: #1810af;
  text-align: center;
}

/* 店舗名は絶対に途中で折らない */
.wrapper .cp_main .cp_shop-retailersList li {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

/* 区切り */
.cp_shop-retailersList li::after {
  content: " /";
  display: inline-block;
  margin: 0 0.35em 0 0.35em;
  white-space: nowrap;
}

.cp_shop-retailersList li:last-child::after {
  content: "";
  margin: 0;
}

/* 375で詰まりすぎるなら調整（任意） */
@media screen and (max-width: 375px) {
  .wrapper .cp_main .cp_shop-retailersList {
    letter-spacing: 0.02em;
  }
}

/* 注意書き */
.wrapper .cp_main .cp_shop-note {
  margin: 18px auto 36px;
  max-width: 980px;
  font-size: 12px;
  line-height: 1.8;
  text-align: center;
  color: #c70045;
  font-weight: 600;
}

/* 補足 */
.wrapper .cp_main .cp_shop-help {
  margin: 18px auto 26px;
  max-width: 980px;
  color: #1810af;
  font-size: 13px;
  line-height: 1.9;
  font-weight: 700;
  text-align: center;
}

.wrapper .cp_main .cp_shop-cta {
  margin-top: 14px;
}

/* SP：760未満で1列＆リボン縮小 */
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_shop-btnRow {
    grid-template-columns: 1fr;
    gap: calc(100vw * 18 / 375);
    max-width: 100%;
  }
  .wrapper .cp_main .cp_shop-subhead {
    margin: calc(100vw * 14 / 375) 0 calc(100vw * 20 / 375);
    font-size: calc(100vw * 15 / 375);
    padding-bottom: calc(100vw * 5 / 375);
  }
  .wrapper .cp_main .cp_shop-subhead::after {
    width: 40%;
  }
  .wrapper .cp_main .cp_shop-btn {
    min-height: calc(100vw * 40 / 375);
    font-size: calc(100vw * 15 / 375);
  }

  .wrapper .cp_main .cp_shop-retailersList {
    font-size: calc(100vw * 12 / 375);
    line-height: 1.9;
  }
  .wrapper .cp_main .cp_shop-note {
    font-size: calc(100vw * 10 / 375);
    letter-spacing: 0;
    margin: calc(100vw * 20 / 375) auto calc(100vw * 57 / 375);
  }

  .wrapper .cp_main .cp_shop-help {
    font-size: calc(100vw * 12 / 375);
    letter-spacing: 0;
  }
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_content.cp_shop-content {
    padding: calc(100vw * 50 / 375) 5% 0;
  }
}
/*
----- 参加方法 ------------
-------------------------------*/

.wrapper .cp_main .cp_content.cp_sanka-content {
  background: #f7f7f7;
  padding: 160px 0 117px;
  position: relative;
}

.wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-howto-list .text_red {
  color: #ff0000;
  font-weight: 700;
}
.wrapper .cp_main .cp_content.cp_sanka-content .cp_inner .cp_oubo-content .text_blue {
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
  margin-top: 1em;
}
.wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list .cp_sanka-howto-list {
  color: #111;
}
.wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-note {
  color: #111;
  letter-spacing: 0;
}
.wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-note .cp_sanka-text-em {
  font-weight: bold;
  margin-bottom: 1em;
  color: #c70045;
}
.wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-note .cp_sanka-text-bold {
  font-weight: bold;
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_content.cp_sanka-content {
    padding: calc(100vw * 80 / 375) 0;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-img {
    display: none;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 5%;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list:first-of-type {
    margin-top: calc(100vw * 20 / 375);
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list .cp_sanka-honme {
    width: 14%;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list .cp_sanka-honme.cp_sanka-honme-2 {
    position: relative;
    top: calc(-1 * (100vw * 24 / 375));
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list .cp_sanka-howto-list {
    width: 86%;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list .cp_sanka-howto-list .cp_sanka-howto-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    margin-bottom: calc(100vw * 40 / 375);
    position: relative;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list .cp_sanka-howto-list .cp_sanka-howto-item::after {
    content: "";
    border-top: 20px solid #004b91;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
    position: absolute;
    bottom: -28px;
    left: 50%;
    -webkit-transform: translateX(-40%);
    -ms-transform: translateX(-40%);
    transform: translateX(-40%);
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list .cp_sanka-howto-list.cp_sanka-howto-list_2 .cp_sanka-howto-item:last-of-type::after {
    display: none;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list .cp_sanka-howto-list .cp_sanka-howto-item img {
    width: calc(100vw * 120 / 375);
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list .cp_sanka-howto-list .cp_sanka-howto-item p {
    width: 50%;
    padding: calc(100vw * 13 / 375);
    font-size: calc(100vw * 13 / 375);
    font-weight: bold;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list .cp_sanka-howto-list .cp_sanka-howto-item p span.cp_sanka-howto-item_note {
    font-size: calc(100vw * 11 / 375);
    font-weight: 700;
    line-height: 1.4;
    display: inline-block;
    color: #c70045;
  }

  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-note {
    padding: 0 5%;
    margin: calc(100vw * 20 / 375) 0;
    font-size: calc(100vw * 10 / 375);
  }

  .wrapper .cp_main .cp_content .text_red {
    margin: calc(100vw * 60 / 375) auto calc(100vw * 30 / 375);
    width: calc(100vw * 335 / 375);
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_inner .cp_oubo-content .text_blue {
    font-size: calc(100vw * 14 / 375);
    line-height: 1.4;
    font-weight: bold;
    text-align: center;
    margin-top: 1em;
    color: #1810af;
  }
}
.wrapper .cp_main .tmp-check_wrapper {
  margin: 2rem 0 0;
}
.wrapper .cp_main .tmp-check {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main .tmp-check_wrapper {
    margin: 3rem 0 2rem;
  }
  .wrapper .cp_main .tmp-check {
    text-align: center;
    font-size: calc(100vw * 18 / 375);
    font-weight: bold;
  }
}
@media screen and (min-width: 760px) {
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_oubo-content {
    position: absolute;
    bottom: -200px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 1;
  }

  .wrapper .cp_main .cp_content .cp_oubo-content .cp_btn-oubo-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 833px;
  }
  .wrapper .cp_main .cp_content .cp_btn-oubo {
    width: 400px;
    padding: 40px 0;
    font-size: 22px;
    -webkit-transition: opacity 0.3s ease-out;
    -o-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
  .wrapper .cp_main .cp_content .cp_btn-oubo.cp_btn-oubo-menber:hover {
    background: #fff;
    font-weight: bold;
    border: 1px solid #40bbd9;
    color: #40bbd9;
  }
  .wrapper .cp_main .cp_content .cp_btn-oubo.cp_btn-oubo-nonmenber:hover {
    background: #40bbd9;
    color: #fff;
    font-weight: bold;
    border: none;
  }
  .wrapper .cp_main .cp_content .cp_btn-oubo .cp_oubo-text {
    font-size: 16px;
    display: block;
    margin-bottom: 14px;
    -webkit-transition: opacity 0.3s ease-out;
    -o-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-img {
    margin: 50px auto 1rem;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list .cp_sanka-honme {
    display: none;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list {
    width: 50%;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-howto-list_1 {
    margin-top: 2.85em;
  }
  /* ① 左右2カラムを絶対1行で維持 */
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap; /* ★折り返し禁止 */
    gap: 40px; /* 左右の間隔（必要なら調整） */
  }

  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list {
    width: auto; /* 既存の width:50% を潰す */
    flex: 1 1 0; /* ★左右を均等に */
    min-width: 0; /* ★はみ出し対策（超重要） */
  }

  /* ② 3ステップも1行で維持（均等割り） */
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-howto-list {
    display: flex;
    flex-wrap: nowrap; /* ★折り返し禁止 */
    justify-content: space-between;
    column-gap: 34px; /* 矢印分の余白（調整OK） */
  }

  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-howto-list .cp_sanka-howto-item {
    width: auto; /* ★ calc幅を潰す */
    flex: 1 1 0; /* ★3つ均等 */
    min-width: 0;
    position: relative;
    padding-right: 26px; /* ★矢印の置き場（外に出さない） */
    box-sizing: border-box;
  }

  /* 画像を基準化（矢印の縦位置がブレない） */
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-howto-list .cp_sanka-howto-item img {
    height: 120px; /* スクショに合わせて調整 */
    width: auto;
    display: block;
    margin: 0 auto 12px;
    object-fit: contain;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list .cp_sanka-howto-list .cp_sanka-howto-item p {
    font-weight: bold;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list .cp_sanka-howto-list .cp_sanka-howto-item p span.cp_sanka-howto-item_note {
    font-size: 11px;
    line-height: 1.4;
    display: inline-block;
    font-weight: 700;
    margin-top: 0.4em;
    color: #c70045;
  }

  /* ③ 既存の矢印（左に出すやつ）を無効化 */
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-howto-list .cp_sanka-howto-item::after {
    content: none;
  }

  /* ④ 矢印を「画像の横」に（右側・li内） */
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-howto-list .cp_sanka-howto-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 60px; /* 画像高さ120pxの半分。画像高さ変えたらここも合わせる */
    transform: translateY(-50%);
    right: 0; /* liの内側に置く＝横幅が増えない */
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid #1810af;
  }
  /* 2本目（右側）の1つ目だけ、左に矢印を出す＝中央の矢印になる */
  /* 2本目（右カラム）の1つ目：中央矢印の置き場を作る */
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-howto-list_2 .cp_sanka-howto-item:first-child {
    padding-left: 0; /* さっきの左矢印用の余白があれば消す */
  }

  /* ★中央の矢印：右向きで、左に寄せて配置 */
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-howto-list_2 .cp_sanka-howto-item:first-child::before {
    content: "";
    position: absolute;
    top: 60px; /* 画像高さ120pxなら60px。変えたなら半分に */
    transform: translateY(-50%);

    left: -56px; /* ★ここが「左に寄せる」本体。-40〜-80で調整 */
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid #1810af; /* ★右向き矢印 */
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-note {
    margin: 50px 0 60px;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-text-em {
    font-weight: bold;
    margin-bottom: 1em;
    font-size: clamp(10px, calc(4.4px + 0.74vw), 15px);
    color: #c70045;
    letter-spacing: 0;
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-text-bold {
    font-size: 14px;
    margin-bottom: 1em;
  }
}
@media screen and (min-width: 760px) and (max-width: 1200px) {
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_oubo-content .cp_btn-oubo-inner {
    width: calc(100vw * 833 / 1200);
  }
  .wrapper .cp_main .cp_content .cp_btn-oubo {
    margin: 0 auto calc(100vw * 30 / 1200);
    width: calc(100vw * 400 / 1200);
    font-size: calc(100vw * 22 / 1200);
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-howto-list .cp_sanka-howto-item p {
    font-size: calc(100vw * 16 / 1200);
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-box .cp_sanka-box-list .cp_sanka-howto-list .cp_sanka-howto-item p span.cp_sanka-howto-item_note {
    font-size: calc(100vw * 11 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-note {
    font-size: calc(100vw * 16 / 1200);
  }
  .wrapper .cp_main .cp_content.cp_sanka-content .cp_sanka-note .cp_sanka-text-em {
    font-size: calc(100vw * 18 / 1200);
  }
  .wrapper .cp_main .cp_content .text_red {
    margin: 0 auto calc(100vw * 30 / 1200);
    width: calc(100vw * 400 / 1200);
  }
  .wrapper .cp_main .cp_content .cp_btn-oubo .cp_oubo-text {
    font-size: calc(100vw * 16 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_sanka-content .cp_inner .cp_oubo-content .text_blue {
    margin: 1em 0 2em;
    color: #fff;
  }
}
/*
----- プレゼントのお届けまで ------------
-------------------------------*/
.wrapper .cp_main .cp_content.cp_flow-content {
  background: linear-gradient(135deg, #a2c6e1 0%, #bacde8 50%, #cedff3 100%);
  padding: 174px 0 157px;
  position: relative;
}
.wrapper .cp_main .cp_content.cp_flow-content .cp_content-tit::before {
  background: #000;
}
.wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-text {
  font-weight: bold;
  text-align: center;
  font-size: 16px;
  color: #111;
}
.wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-text.step3 {
  line-height: 1.1;
}
.wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-text.step3 span {
  margin: 0 0 4px;
  display: inline-block;
}
.wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-text.step3 span.small_dotted {
  border-bottom: 1px dotted #00b3d6;
  margin: 0 0 12px;
}

.wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-text .cp_flow-note {
  color: #ff0000;
}
@media screen and (min-width: 760px) {
  .wrapper .cp_main .cp_content.cp_flow-content .cp_content-tit {
    line-height: 40px;
  }

  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box {
    background: #f7f7f7;
    padding: 40px 60px 80px;
    margin-top: -22px;
    color: #111;
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item {
    width: calc((100% - 100px) / 3);
    background: #fff;
    height: 340px;
    margin-top: 60px;
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-number img {
    margin: -14px auto;
    width: 72px;
    z-index: 1;
  }

  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-text .cp_flow-small {
    font-size: 13px;
    font-weight: normal;
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-text.step3 span {
    margin: 0 0 clamp(6px, calc(1.4286px + 0.5952vw), 10px);
    display: inline-block;
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-text.step3 span.small_text {
    font-size: clamp(10px, calc(6.5714px + 0.4464vw), 13px);
    margin: 0 0 clamp(1px, calc(-1.2857px + 0.2976vw), 3px);
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-text.step3 span.small_text .cp_flow-small {
    font-size: clamp(8px, calc(7.7143px + 0.2976vw), 12px);
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 100%;
    padding-bottom: 40px;
    min-width: 0;
  }
}
@media screen and (min-width: 760px) and (max-width: 1200px) {
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item {
    width: calc((100% - 40px) / 3);
    background: #fff;
    height: calc(100vw * 340 / 1200);
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-text {
    font-size: calc(100vw * 16 / 1200);
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-text .cp_flow-small {
    font-size: calc(100vw * 14 / 1200);
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-box {
    padding-bottom: calc(100vw * 20 / 1200);
  }
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_content.cp_flow-content {
    padding: calc(100vw * 80 / 375) 0 calc(100vw * 30 / 375);
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box {
    background: #f7f7f7;
    padding: calc(100vw * 60 / 375) 0 calc(100vw * 40 / 375);
    margin: -22px 0 0 5%;
    overflow-x: scroll;
  }
  /* .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc((100vw * 286 / 375) * 6 + calc(100vw * 89 / 375));
  } */
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc((100vw * 226 / 375) * 6 + calc(100vw * 329 / 375));
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item {
    margin: 0 calc(100vw * 5 / 375);
    padding: calc(100vw * 20 / 375) 0 0;
    width: calc(100vw * 256 / 375);
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item {
    background: #fff;
    position: relative;
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item:first-of-type {
    margin-left: calc(100vw * 50 / 375);
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-number {
    width: calc(100vw * 86 / 375);
    margin: calc(100vw * -34 / 375) auto 0;
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-text {
    width: calc(100vw * 236 / 375);
    margin: calc(100vw * 20 / 375) auto;
    text-align: center;
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-btn-list {
    margin: calc(100vw * 70 / 375) auto calc(100vw * 33 / 375);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: calc(100vw * 263 / 375);
    height: 2px;
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-btn-list li {
    width: calc(100vw * 60 / 375);
    background: #fff;
    opacity: 0.2;
    -webkit-transition: opacity 0.3s ease-out;
    -o-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-btn-list li::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(100vw * -30 / 375);
    left: 0;
    width: calc(100vw * 60 / 375);
    height: calc(100vw * 60 / 375);
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-btn-list li.on {
    opacity: 1;
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-text .cp_flow-small {
    font-size: calc(100vw * 10 / 375);
    font-weight: normal;
  }
  .wrapper .cp_main .cp_content.cp_flow-content .cp_flow-box .cp_flow-list .cp_flow-item .cp_flow-item-text {
    font-size: calc(100vw * 13 / 375);
  }
}
/*
----- よくある質問 ------------
-------------------------------*/
.wrapper .cp_main .cp_content.cp_qa-content {
  padding: 100px 0;
  border-bottom: 1px solid #1810af;
}

@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_content.cp_qa-content h2 {
    font-size: calc(100vw * 15 / 375);
    font-weight: normal;
  }
  .wrapper .cp_main .cp_content.cp_qa-content .cp_btn-md {
    margin-bottom: 0;
  }
}
/*
----- 問い合わせ ------------
-------------------------------*/
.wrapper .cp_main .cp_content.cp_contact-content {
  color: #111;
}
.wrapper .cp_main .cp_content .cp_content-tit-contact {
  text-align: center;
  font-size: 24px;
  color: #1810af;
  font-weight: normal;
}
.wrapper .cp_main .cp_content.cp_contact-content .cp_contact-box {
  text-align: center;
  color: #111;
}
.wrapper .cp_main .cp_content.cp_contact-content .cp_contact-box a {
  display: inline-block;
}
.wrapper .cp_main .cp_content.cp_contact-content a.cp_contact-mail {
  color: #111;
  text-decoration: none;
}
.wrapper .cp_main .cp_content.cp_contact-content .cp_contact-box a.cp_contact-freedial {
  background: url(../img/icon_freedial@2x.png) left center no-repeat;
  color: #000;
}
.wrapper .cp_main .cp_content.cp_contact-content .cp_note {
  max-width: 840px;
  width: 93%;
  margin: 0 auto;
}
.wrapper .cp_main .cp_content.cp_contact-content .cp_note + .cp_note {
  margin: 0 auto;
}
@media screen and (max-width: 760px) {
  .wrapper .cp_main .cp_content.cp_contact-content {
    padding-bottom: calc(100vw * 45 / 375);
  }
  .wrapper .cp_main .cp_content.cp_contact-content .cp_contact-box {
    margin: calc(100vw * 25 / 375) auto 0;
  }
  .wrapper .cp_main .cp_content.cp_contact-content .cp_contact-box a.cp_contact-freedial {
    padding-left: calc(100vw * 28 / 375);
    background-size: calc(100vw * 25 / 375) calc(100vw * 15 / 375);
  }
  .wrapper .cp_main .cp_content.cp_contact-content .cp_contact-box .cp_contact-text {
    font-size: calc(100vw * 13 / 375);
  }
  .wrapper .cp_main .cp_content.cp_contact-content .cp_contact-box .cp_contact-text span:not(.cp_pc) {
    display: block;
  }
  .wrapper .cp_main .cp_content.cp_qa-content {
    padding: calc(100vw * 60 / 375) 0;
    margin: 0 5%;
  }
  .wrapper .cp_main .cp_content.cp_contact-content .cp_contact-box .cp_contact-tit {
    font-size: calc(100vw * 16 / 375);
    font-weight: bold;
    margin-bottom: 1em;
  }
  .wrapper .cp_main .cp_content.cp_contact-content .cp_contact-box a.cp_contact-freedial {
    padding-left: calc(100vw * 28 / 375);
    background-size: calc(100vw * 25 / 375) calc(100vw * 15 / 375);
  }
  .wrapper .cp_main .cp_content.cp_contact-content .cp_note {
    font-size: calc(100vw * 12 / 375);
    margin: calc(100vw * 12 / 375) 2% 0;
    text-align: center;
  }
  .wrapper .cp_main .cp_content .cp_content-tit-contact {
    font-size: calc(100vw * 15 / 375);
  }
  .wrapper .cp_main .cp_content.cp_contact-content .cp_note {
    font-size: calc(100vw * 10 / 375);
  }
}
@media screen and (min-width: 760px) {
  .wrapper .cp_main .cp_content.cp_contact-content .cp_contact-box {
    margin: 42px auto 0;
  }
  .wrapper .cp_main .cp_content.cp_contact-content .cp_contact-box .cp_contact-tit {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 1em;
  }
  .wrapper .cp_main .cp_content.cp_contact-content .cp_note {
    margin-top: 13px;
    text-align: center;
    font-size: 12px;
  }
  .wrapper .cp_main .cp_content.cp_contact-content .cp_contact-box a.cp_contact-mail {
    -webkit-transition: opacity 0.3s ease-out;
    -o-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
  .wrapper .cp_main .cp_content.cp_contact-content .cp_contact-box a.cp_contact-mail:hover {
    opacity: 0.7;
  }
  .wrapper .cp_main .cp_content.cp_contact-content .cp_contact-box a.cp_contact-freedial {
    margin-left: 0.2em;
    padding-left: 28px;
    background-size: 25px 15px;
  }
  .wrapper .cp_main .cp_content.cp_contact-content .cp_contact-box .cp_contact-text span {
    display: inline-block;
    margin-right: 0.3em;
  }
}
@media screen and (min-width: 760px) and (max-width: 1200px) {
}
/*
----- モーダル ------------
-------------------------------*/
.wrapper .cp_main #modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 1000;
}
.wrapper .cp_main #modal.on {
  display: block;
}

.wrapper .cp_main #modal .md-content {
  position: absolute;
  width: 100%;
  height: 100%;
  display: none;
  overflow-y: scroll;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
  background: -o-linear-gradient(315deg, #cedff3 0%, #bacde8 50%, #a2c6e1 100%);
  background: linear-gradient(135deg, #cedff3 0%, #bacde8 50%, #a2c6e1 100%);
}
.wrapper .cp_main #modal .md-content a {
  color: #111;
  text-decoration: underline;
}
.wrapper .cp_main #modal .md-content .md-note {
  font-size: 14px;
  font-weight: normal;
}
.wrapper .cp_main #modal .md-content .md-list-text.oubo .md-note + .md-note {
  margin-top: 16px;
}
.wrapper .cp_main #modal .md-content .square {
  color: #00a0ca;
}
.wrapper .cp_main #modal .md-content .md-close-btn {
  position: fixed;
  background: #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  z-index: 100;
}
.wrapper .cp_main #modal .md-content .md-close-btn::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: #00a0ca;
}
.wrapper .cp_main #modal .md-content .md-close-btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: #00a0ca;
}
.wrapper .cp_main #modal .md-content .md-content-inner {
  opacity: 0;
}
.wrapper .cp_main #modal .md-content .md-content-inner {
  background: #fff;
  margin: 80px auto;
  padding: 80px 0;
  max-width: 1060px;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-content-tit {
  margin: -102px auto 0;
  color: #fff;
  font-weight: bold;
  text-align: center;
  position: relative;
  z-index: 1;
  width: 384px;
  font-size: 25px;
  line-height: 40px;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-content-tit::before {
  -webkit-transform: skewX(-15deg);
  -ms-transform: skewX(-15deg);
  transform: skewX(-15deg);
  content: ""; /*ボックスを作る*/
  position: absolute; /*ポジションで中央に配置*/
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1; /* 親要素の後ろに来るように-1 */
  background-color: #1810af;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-box-tit {
  margin: 0 auto;
  text-align: center;
  color: #1810af;
  font-weight: bold;
  background: #f7f7f7;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-text {
  color: #000;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-text em {
  color: #1810af;
  font-weight: bold;
  font-style: normal;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-text.md-text-top {
  text-align: center;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box {
  background: #fff;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-text {
  color: #1810af;
  font-weight: bold;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-1 {
  padding-right: 40px;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-wrapper {
  width: 468px;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 {
  background: #f7f7f7;
  padding: 40px 45px;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-text-box2 {
  margin-top: 10px;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-2 .md-receipt-list li .md-text {
  text-align: center;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 {
  margin-bottom: 30px;
  padding: 50px 70px;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-2 {
  padding: 50px 70px 5px;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-kiyaku-box {
  padding: 50px 70px 0;
  color: #111;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-faq-box {
  padding: 50px 120px 25px;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-faq-box .md-list-tit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  border-bottom: 2px solid #1810af;
  padding-bottom: 12px;
  font-size: 14px;
  cursor: pointer;
  font-size: 16px;
  color: #1810af;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-faq-box .md-list-tit .qa-mark {
  display: block;
  margin-right: 20px;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-faq-box .md-list-text {
  font-size: 14px;
  font-weight: normal;
  margin: 24px 0 42px 40px;
  color: #111;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-faq-box .md-list-text .md-faq-note {
  font-weight: bold;
  color: #ff0000;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box .md-list-box {
  margin-bottom: 3em;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box .md-list-box .md-list-box-inner {
  margin-bottom: 1.75em;
}
.wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box .md-list-box .md-list-box-inner .md-list-item {
  margin-bottom: 1.75em;
}
.wrapper .cp_main #modal .md-content.on {
  display: block;
}
.wrapper .cp_main #modal .md-content.on .md-content-inner {
  -webkit-animation: mdAnime 0.3s 1 ease-out forwards;
  animation: mdAnime 0.3s 1 ease-out forwards;
}
.wrapper .cp_main #modal .md-content.md-content-gaiyo {
  color: #111;
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main #modal .md-content .md-content-inner .md-content-tit {
    margin-top: calc(100vw * -66 / 375);
    font-size: calc(100vw * 18 / 375);
    width: calc(100vw * 260 / 375);
    line-height: calc(100vw * 35 / 375);
  }
  .wrapper .cp_main #modal .md-content.md-content-gaiyo .md-content-tit {
    margin-bottom: calc(100vw * 30 / 375);
  }

  .wrapper .cp_main #modal .md-content .md-close-btn {
    top: calc(100vw * 6 / 375);
    right: calc(100vw * 6 / 375);
    width: calc(100vw * 30 / 375);
    height: calc(100vw * 30 / 375);
    border-radius: calc(100vw * 15 / 375);
    z-index: 100;
  }
  .wrapper .cp_main #modal .md-content .md-close-btn::before {
    width: calc(100vw * 21 / 375);
    height: 1px;
  }
  .wrapper .cp_main #modal .md-content .md-close-btn::after {
    width: 1px;
    height: calc(100vw * 21 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner {
    margin: calc(100vw * 50 / 375) auto;
    padding: calc(100vw * 50 / 375) 0;
    width: calc(100vw * 355 / 375);
  }
  .wrapper .cp_main #modal .md-content.md-content-gaiyo .md-content-inner {
    padding: calc(100vw * 50 / 375) 0 0;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-content-tit {
    width: calc(100vw * 335 / 375);
    font-size: calc(100vw * 18 / 375);
    line-height: calc(100vw * 60 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-box-tit {
    width: calc(100vw * 183 / 375);
    line-height: calc(100vw * 26 / 375);
    font-size: calc(100vw * 15 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-text {
    font-size: calc(100vw * 13 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-text-top,
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box .md-receipt-list .md-text {
    font-weight: bold;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-text.md-text-top {
    margin: calc(100vw * 23 / 375) 0 0;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 {
    padding: calc(100vw * 30 / 375) calc(100vw * 10 / 375) 0;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-text-box2 {
    margin: calc(100vw * 20 / 375) 5%;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-1 {
    margin: calc(100vw * 20 / 375) auto calc(100vw * 32 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-1 .md-text-box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-1 .md-text-box .md-text {
    position: absolute;
    top: calc(100vw * -75 / 375);
    width: 100%;
    line-height: calc(100vw * 75 / 375);
    text-align: center;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-wrapper {
    width: 100%;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-box .md-box-inner {
    margin: calc(100vw * 31 / 375) 0 0 calc(100vw * -6 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 {
    width: calc(100vw * 335 / 375);
    padding: calc(100vw * 30 / 375) 8%;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-box .md-box-inner .md-text-box {
    margin: calc(100vw * -3 / 375) 0 0 calc(100vw * 3 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-box .md-box-inner .md-text-box .md-list-tit {
    margin-bottom: calc(100vw * 11 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-box .md-box-inner .md-text-box .md-list-text.md-list-text-1 {
    line-height: 1.5;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-box .md-box-inner .md-text-box .md-list-text.md-list-text-2 {
    margin: calc(100vw * 8 / 375) 0 calc(100vw * 14 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-text2 {
    margin: calc(100vw * 17 / 375) auto 0;
    width: calc(100vw * 295 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-2 {
    padding: calc(100vw * 10 / 375) calc(100vw * 10 / 375) calc(100vw * 8 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-2 .md-box-tit {
    margin-bottom: calc(100vw * 30 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-2 .md-receipt-list {
    margin: 0 auto;
    width: calc(100vw * 300 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-2 .md-receipt-list li {
    margin-bottom: calc(100vw * 22 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-2 .md-receipt-list li .md-pic {
    margin-bottom: calc(100vw * 10 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-2 .md-receipt-list li .md-text {
    line-height: 1;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box {
    padding: 0 calc(100vw * 16 / 375) calc(100vw * 5 / 375);
    font-size: calc(100vw * 12 / 375);
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box .md-list-box .md-list-box-inner .md-list-item {
    margin-bottom: calc(100vw * 13 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box .md-list-box .md-list-text .md-note,
  .wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box .md-note {
    font-weight: normal;
    font-size: calc(100vw * 11 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box .square {
    color: #00a0ca;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box .md-list-box {
    margin-bottom: calc(100vw * 16 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box .md-list-box:first-of-type {
    margin-top: calc(100vw * 20 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box .md-box-tit {
    margin-bottom: calc(100vw * 47 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box.md-gaiyo-box-1 {
    margin-bottom: calc(100vw * 10 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-kiyaku-box {
    padding: calc(100vw * 40 / 375) calc(100vw * 10 / 375) 0;
    font-size: calc(100vw * 13 / 375);
    color: #111;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-faq-box {
    padding: calc(100vw * 60 / 375) calc(100vw * 20 / 375) 0;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-faq-box .md-list-tit {
    font-size: calc(100vw * 12 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-faq-box .md-list-text {
    font-size: calc(100vw * 11 / 375);
    margin: calc(100vw * 10 / 375) 0 calc(100vw * 42 / 375);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-faq-box .md-list-tit .qa-mark {
    width: 4%;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-faq-box .md-list-tit .qa-text {
    width: 90%;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-faq-box .md-list-tit .qa-mark {
    margin-right: 10px;
  }
}
@media screen and (min-width: 760px) {
  .wrapper .cp_main #modal .md-content.md-content-gaiyo .md-content-tit {
    margin-bottom: 50px;
  }
  .wrapper .cp_main #modal .md-content .md-close-btn {
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    cursor: pointer;
    -webkit-transition: -webkit-transform 0.3s ease-out;
    transition: -webkit-transform 0.3s ease-out;
    -o-transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
    transition:
      transform 0.3s ease-out,
      -webkit-transform 0.3s ease-out;
  }
  .wrapper .cp_main #modal .md-content .md-close-btn::before {
    width: 28px;
    height: 1px;
  }
  .wrapper .cp_main #modal .md-content .md-close-btn::after {
    width: 1px;
    height: 28px;
  }
  .wrapper .cp_main #modal .md-content .md-close-btn:hover {
    -webkit-transform: rotate(315deg);
    -ms-transform: rotate(315deg);
    transform: rotate(315deg);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-box-tit {
    width: 400px;
    font-size: 20px;
    line-height: 48px;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-text.md-text-top {
    margin: 45px 0;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box .md-box-tit {
    margin-bottom: 55px;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-1 .md-text-box {
    margin: 5px 0 0 10px;
    width: 190px;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-box .md-box-inner {
    margin-top: 24px;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-box .md-box-inner .md-text-box {
    margin: -3px 0 0 9px;
    width: 130px;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-box .md-box-inner .md-text-box .md-list-tit {
    margin-bottom: 13px;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-box .md-box-inner .md-text-box .md-list-text.md-list-text-1 {
    line-height: 1.5;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-box .md-box-inner .md-text-box .md-list-text.md-list-text-2 {
    margin: 16px 0 20px;
  }

  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-2 .md-receipt-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-2 .md-receipt-list li {
    margin-bottom: 45px;
    width: 300px;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-2 .md-receipt-list li .md-pic {
    margin-bottom: 5px;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box {
    padding: 50px 65px 25px;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box .md-box-tit {
    margin-bottom: 55px;
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box.md-gaiyo-box-1 {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 760px) and (max-width: 1200px) {
  .wrapper .cp_main #modal .md-content .md-content-inner .md-content-tit {
    margin-top: calc(100vw * -120 / 1200);
  }
  .wrapper .cp_main #modal .md-content.md-content-gaiyo .md-content-tit {
    margin-bottom: calc(100vw * 50 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-close-btn {
    top: calc(100vw * 20 / 1200);
    right: calc(100vw * 20 / 1200);
    width: calc(100vw * 40 / 1200);
    height: calc(100vw * 40 / 1200);
    border-radius: calc(100vw * 20 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-close-btn::before {
    width: calc(100vw * 28 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-close-btn::after {
    height: calc(100vw * 28 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner {
    padding: calc(100vw * 88 / 1200) 0;
    width: calc(100vw * 1060 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-content-tit {
    width: calc(100vw * 460 / 1200);
    font-size: calc(100vw * 25 / 1200);
    line-height: calc(100vw * 60 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-box-tit {
    width: calc(100vw * 400 / 1200);
    font-size: calc(100vw * 20 / 1200);
    line-height: calc(100vw * 48 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-text.md-text-top {
    margin: calc(100vw * 45 / 1200) 0;
    font-size: calc(100vw * 16 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box .md-box-tit {
    margin-bottom: calc(100vw * 55 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 {
    margin-bottom: calc(100vw * 30 / 1200);
    padding: 0 calc(100vw * 40 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 {
    padding: calc(100vw * 40 / 1200) calc(100vw * 45 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-1 {
    width: calc(100vw * 502 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-1 .md-text-box {
    margin: calc(100vw * 5 / 1200) 0 0 calc(100vw * 10 / 1200);
    width: calc(100vw * 190 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-wrapper {
    width: calc(100vw * 468 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-box .md-box-inner {
    margin-top: calc(100vw * 24 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-text,
  .wrapper .cp_main #modal .md-content .md-content-inner .md-text {
    font-size: calc(100vw * 16 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-1 {
    padding-right: calc(100vw * 20 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-box .md-box-inner .md-text-box {
    margin: calc(100vw * -3 / 1200) 0 0 calc(100vw * 9 / 1200);
    width: calc(100vw * 130 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-box .md-box-inner .md-text-box .md-list-tit {
    margin-bottom: calc(100vw * 13 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-1 .md-receipt-inner .md-receipt-inner-2 .md-box .md-box-inner .md-text-box .md-list-text.md-list-text-2 {
    margin: calc(100vw * 16 / 1200) 0 calc(100vw * 20 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-2 {
    padding: calc(100vw * 50 / 1200) calc(100vw * 40 / 1200) calc(100vw * 5 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-2 .md-receipt-list li {
    margin-bottom: calc(100vw * 45 / 1200);
    width: calc(100vw * 300 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-receipt-box.md-receipt-box-2 .md-receipt-list li .md-pic {
    margin-bottom: calc(100vw * 5 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box {
    padding: calc(100vw * 50 / 1200) calc(100vw * 65 / 1200) calc(100vw * 25 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box .md-box-tit {
    margin-bottom: calc(100vw * 55 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-gaiyo-box.md-gaiyo-box-1 {
    margin-bottom: calc(100vw * 30 / 1200);
  }
  .wrapper .cp_main #modal .md-content .md-content-inner .md-faq-box {
    padding: calc(100vw * 100 / 1200) calc(100vw * 100 / 1200) 0;
  }
}
/*
----- キャンペーン終了 ------------
-------------------------------*/
.wrapper .cp_main .end {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 25px;
  color: #1810af;
  text-align: center;
  padding: 10px;
  border: 2px solid #1810af;
  margin-top: 50px;
  font-weight: bold;
  background: #fff;
}
.wrapper .cp_main .end.end-2 {
  position: absolute;
  bottom: -200px;
  z-index: 10;
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main .end {
    font-size: calc(100vw * 15 / 375);
    width: calc(100vw * 335 / 375);
    margin: calc(100vw * 35 / 375) auto 0;
  }
  /* .cp_oubo-content {
    display: none;
  } */
  .wrapper .cp_main .end.end-2 {
    position: inherit;
    bottom: 0;
  }
}
@media screen and (min-width: 760px) and (max-width: 1200px) {
  .wrapper .cp_main .end {
    font-size: calc(100vw * 25 / 1200);
    margin: calc(100vw * 50 / 1200) auto 0;
  }
}
/*
----- ブルーの四角なし ------------
-------------------------------*/
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_product-wrap .cp_product-box-inner .cp_1buy .cp_pic-box .cp_1buy-text .cp_1buy-text_inner .yoryo::before {
  content: none;
}
/*
----- modal btn ------------
-------------------------------*/
.wrapper .cp_main .cp_content .cp_btn-md {
  background: #1810af;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_content .cp_btn-md {
    margin: 0 auto calc(100vw * 20 / 375);
    width: calc(100vw * 335 / 375);
    line-height: calc(100vw * 60 / 375);
  }
  .wrapper .cp_main .cp_content .cp_btn-md .cp_plus {
    position: absolute;
    top: calc(100vw * 23 / 375);
    right: calc(100vw * 20 / 375);
    width: calc(100vw * 14 / 375);
    height: calc(100vw * 14 / 375);
  }
  .wrapper .cp_main .cp_content .cp_btn-md .cp_plus::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    width: 100%;
    height: 1px;
    background: #fff;
  }
  .wrapper .cp_main .cp_content .cp_btn-md .cp_plus::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 1px;
    height: 100%;
    background: #fff;
  }
}
@media screen and (min-width: 760px) {
  .wrapper .cp_main .cp_content .cp_btn-md .cp_plus {
    position: absolute;
    top: 23px;
    right: 30px;
    width: 14px;
    height: 14px;
    -webkit-transition: -webkit-transform 0.3s ease-out;
    transition: -webkit-transform 0.3s ease-out;
    -o-transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
    transition:
      transform 0.3s ease-out,
      -webkit-transform 0.3s ease-out;
  }

  .wrapper .cp_main .cp_content .cp_btn-md .cp_plus::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    width: 100%;
    height: 1px;
    background: #fff;
  }

  .wrapper .cp_main .cp_content .cp_btn-md .cp_plus::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 1px;
    height: 100%;
    background: #fff;
  }

  .wrapper .cp_main .cp_content .cp_btn-md:hover {
    opacity: 0.7;
  }

  .wrapper .cp_main .cp_content .cp_btn-md:hover .cp_plus {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  .wrapper .cp_main .cp_content .cp_btn-md {
    margin: 0 auto 48px;
    width: 600px;
    font-size: 20px;
    line-height: 60px;
    cursor: pointer;
    -webkit-transition: opacity 0.3s ease-out;
    -o-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
  /* .wrapper .cp_main .cp_content.cp_qa-content .cp_btn-md {
    margin: 0 auto;
  } */
}

@media screen and (min-width: 760px) and (max-width: 1200px) {
  .wrapper .cp_main .cp_content .cp_btn-md {
    margin: 0 auto calc(100vw * 20 / 1200);
    width: calc(100vw * 600 / 1200);
    font-size: calc(100vw * 20 / 1200);
    line-height: calc(100vw * 60 / 1200);
  }
  .wrapper .cp_main .cp_content .cp_btn-md .cp_plus {
    top: calc(100vw * 23 / 1200);
    right: calc(100vw * 30 / 1200);
    width: calc(100vw * 14 / 1200);
    height: calc(100vw * 14 / 1200);
  }
}
/*
----- 改行 ------------
-------------------------------*/
/* デフォは両方出さない（念のため） */
.br-pc,
.br-sp,
.br-xs {
  display: none;
}
/* PC（760以上） */
@media screen and (min-width: 760px) {
  .br-pc {
    display: block;
  }
}

/* SP（〜759） */
@media screen and (max-width: 759px) {
  .br-sp {
    display: block;
  }
}
/*
----- p-itemlist ------------
-------------------------------*/
.wrapper .cp_main .p-itemlist__contents {
  display: block;
  margin: 56px 0 0;
  width: 100%;
}
#product-list .cp_product-list-2 {
  padding-bottom: 0 !important;
}
.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  column-gap: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
}

@media screen and (min-width: 760px) {
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list {
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;
  }
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  margin-top: 30px;
  padding: 20px 10px 10px;
  position: relative;
  width: calc(50% - 5px);
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item:first-child,
.p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item:nth-child(2) {
  margin-top: 0;
}
/* SP：2列 + 行間だけ空ける（margin-topは使わない） */
@media (max-width: 759px) {
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list {
    display: flex;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 30px; /* ← 2段目/3段目に欲しい余白はここ */
  }

  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item {
    box-sizing: border-box;
    margin-top: 0 !important; /* 既存のnth-childや共通指定を全部潰す */
    width: auto !important; /* 既存 width 指定を潰す */
    flex: 0 0 calc((100% - 10px) / 2); /* 2列固定 */
  }
}

@media screen and (min-width: 760px) {
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item {
    margin-top: 120px;
    padding: 20px 15px 15px;
    width: calc(25% - 15px);
  }

  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item:first-child,
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item:nth-child(2),
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item:nth-child(3) {
    margin-top: 0;
  }
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .label {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: flex-start;
  left: 10px;
  position: absolute;
  top: 0;
  width: 100%;
}

@media screen and (min-width: 760px) {
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .label {
    left: 15px;
  }
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .label .label_item {
  background-color: #b59c78;
  border-radius: 2px;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  padding: 3px 10px 4px;
  vertical-align: baseline;
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .p-itemlist__content__images img {
  width: 100%;
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .p-itemlist__content__images a {
  display: block;
  height: 100%;
  width: 100%;
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .p-itemlist__content__category {
  margin-bottom: 4px;
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .p-itemlist__content__category p {
  color: #9c9fa7;
  font-size: 0.8em;
  font-weight: 400;
  line-height: 2.3;
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .p-itemlist__content__categoryName {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-bottom: 16px;
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .p-itemlist__content__categoryName p {
  font-size: 1em;
  font-weight: 500;
  line-height: 1.4;
  word-break: break-all;
  color: #111;
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .price {
  margin-bottom: 8px;
}

/* ラベル分のスペースを確保（このリストだけ） */
.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item {
  --label-space: 24px; /* ここ調整（見た目で） */
  padding-top: calc(20px + var(--label-space));
  position: relative;
}

/* ラベル位置を上に固定（被せない） */
.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .label {
  position: absolute;
  top: 20px; /* 元のpaddingに合わせる */
  left: 15px; /* 元のデザインに合わせる */
  z-index: 2;
}

/* バッジ本体はこれでOK */
.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .label .label_item {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  line-height: 1.2;
  white-space: nowrap;
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .p-itemlist__content__categoryName p {
    font-size: calc(100vw * 12 / 375);
  }
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .p-itemlist__content__category p {
    font-size: calc(100vw * 10 / 375);
  }
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .label .label_item {
    font-size: calc(100vw * 10 / 375);
  }
}
@media screen and (min-width: 760px) {
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .p-itemlist__content__images {
    margin-top: 30px;
  }
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .price {
    margin-bottom: 16px;
  }
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .price p {
  font-size: 1em;
  font-weight: 400;
  color: #111;
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .itemelistDetailInfo_onlineShopBtnContainer {
  width: 100%;
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .itemelistDetailInfo_onlineShopBtnContainer .purchase {
  background-color: #30333f;
  border: 1px solid #30333f;
  color: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .price p {
    font-size: calc(100vw * 14 / 375);
  }
}
@media screen and (any-hover: hover) and (min-width: 1200px) {
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .itemelistDetailInfo_onlineShopBtnContainer .purchase:hover {
    background-color: #fff;
    border: 1px solid;
    color: #30333f;
  }
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .itemelistDetailInfo_onlineShopBtnContainer .no-purchase {
  background-color: #f2f2f2;
  pointer-events: none;
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .itemelistDetailInfo_onlineShopBtnContainer a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  font-size: 1, 2em;
  font-weight: 500;
  justify-content: center;
  padding: 10px 5px;
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .itemelistDetailInfo_onlineShopBtnContainer a {
    font-size: calc(100vw * 12 / 375);
  }
}
@media screen and (min-width: 760px) {
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item .itemelistDetailInfo_onlineShopBtnContainer a {
    padding: 10px;
  }
}

/* 斜め帯（線）の基準：cp_1buy 側の ::before を必ず左端固定 */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_1buy::before,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_1buy::before {
  left: 0px !important; /* ★ここが本命 */
}

/* -----------------------------
   PC（>=760）
----------------------------- */
@media screen and (min-width: 760px) {
  /* 右（1buy）を固定幅、左（2buy）を残り幅にする＝左が広いデザイン */
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_1buy {
    flex: 0 0 460px; /* ★右幅固定 */
    width: auto; /* 既存 width を無効化 */
    position: relative;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_2buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_2buy {
    flex: 1 1 auto; /* ★左は残り全部（＝広い） */
    min-width: 0;
  }

  /* ＋は“線”じゃなくて既存の位置で固定（線は left:0 で別管理） */
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner::after,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner::after {
    left: 740px; /* ★ここはいじらない（線と独立） */
  }
}

/* -----------------------------
   SP（<=759）
----------------------------- */
@media screen and (max-width: 759px) {
  /* 右（1buy）幅は既存の意図を尊重（あなたの現状値） */
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_1buy {
    flex: 0 0 calc(100vw * 130 / 375);
    width: auto;
    padding: calc(100vw * 20 / 375) 1%;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_2buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_2buy {
    flex: 1 1 auto;
    min-width: 0;
    padding-right: 10%;
  }

  /* SPの＋位置（あなたの現状と同じ） */
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner::after,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner::after {
    left: calc(100vw * 192 / 375);
  }
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap::before {
    left: calc(100vw * 152 / 375);
  }
}

@media screen and (min-width: 760px) {
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_1buy::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_1buy::before {
    left: 0 !important;
  }
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap::before {
    left: 600px;
  }
}

/* PC（>=1201）：右幅460px固定、左は残り。＋は境界(=100%-460px) */
@media screen and (min-width: 1201px) {
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner {
    position: relative;
    display: flex;
    justify-content: flex-start !important;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_1buy {
    width: 460px;
    flex: 0 0 460px;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_2buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_2buy {
    width: calc(100% - 460px);
    flex: 0 0 calc(100% - 460px);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner::after,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner::after {
    left: calc(100% - 486px) !important; /* ←境界に固定 */
  }
}

/* 760〜1200：元のスケールに合わせて右幅も同じスケールで固定。＋も境界 */
@media screen and (min-width: 760px) and (max-width: 1200px) {
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner {
    position: relative;
    display: flex;
    justify-content: flex-start !important;
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_1buy {
    width: calc(100vw * 460 / 1200);
    flex: 0 0 calc(100vw * 460 / 1200);
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_2buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_2buy {
    width: calc(100% - (100vw * 460 / 1200));
    flex: 0 0 calc(100% - (100vw * 460 / 1200));
  }

  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner::after,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner::after {
    left: calc(100% - (100vw * 486 / 1200)) !important; /* ←境界に固定 */
  }
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap::before,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap::before {
    left: calc(100vw * 590 / 1200);
  }
}
/* =========================================================
   FIX: コース1/2（cp_product-list-1/2）中身だけ整える
   - 外枠（+や斜め帯）は触らない
   - 画像サイズ / テキスト位置 / 四角の出し方だけ
========================================================= */

/* 375→1440で 100→200（1440以上は200で止まる） */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap {
  --cp-img-h: clamp(100px, calc(100px + (100vw - 375px) * 100 / 1065), 200px);
  --cp-gap: clamp(18px, 2.2vw, 36px); /* ← gap少し広め */
}

/* -----------------------------
   画像：cp_pic が p/div でもOK。picture/img どっちでも高さ固定
----------------------------- */

/* cp_pic（ラッパー）高さ固定 */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_pic,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_pic {
  height: var(--cp-img-h) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
}

/* picture を使う場合の保険 */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_pic picture,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_pic picture {
  display: block;
  height: 100%;
}

/* img：高さ100%、横はauto（デカくなる原因の width:100% を殺す） */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_pic img,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_pic img {
  height: 100% !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

/* -----------------------------
   左（2buy）：中央寄せ（開きすぎないやつ）
----------------------------- */

/* 左カラム内で“塊”を中央へ */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_2buy,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_2buy {
  display: flex;
  justify-content: center;
}

/* 画像+テキストの塊：inline-flexで内容幅になり、余白だけ均等になる */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_2buy-inner,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_2buy-inner {
  display: inline-flex !important;
  flex-flow: row nowrap !important;
  align-items: center;
  gap: var(--cp-gap);
}

/* 既存の固定幅を無効化（ここが残ると寄る/デカくなる） */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_2buy .cp_pic-box,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_2buy .cp_pic-box {
  width: auto !important;
  flex: 0 0 auto !important;
}

/* テキストが上に落ちる原因を殺す */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_2buy .cp_text-box,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_2buy .cp_text-box {
  margin-top: 0 !important;
}

/* 左の「ローション / ■200mL」を2段で安定 */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_list-line,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_list-line {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* -----------------------------
   右（1buy）：レフィル2行固定
----------------------------- */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy .cp_1buy-text,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy .cp_1buy-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  line-height: 1.1;
  text-align: center;
  margin: 0;
}

/* ■ + mL を横並び固定（左200mL/右310mLどっちにも効く） */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_list-size,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_list-size {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
}

/* ■（文字）のサイズ暴れ止め：cp_sp.square と square 両対応 */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_list-size .square,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_list-size .square,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_list-size .cp_sp.square,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_list-size .cp_sp.square {
  color: #00a0ca;
  text-decoration: none;
  line-height: 1;
  font-size: 12px;
  display: inline-block;
  transform: translateY(-1px);
}

@media screen and (min-width: 760px) {
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_list-size .square,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_list-size .square,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_list-size .cp_sp.square,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_list-size .cp_sp.square {
    font-size: 14px;
  }
}

/* SP：右のabsoluteが残る場合だけ中だけstatic（外枠は触らない） */
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy .cp_pic-box {
    position: static !important;
    transform: none !important;
    margin: 0 auto !important;
    width: auto !important;
  }
}
@media screen and (max-width: 759px) {
  /* 幅指定してる犯人（p.cp_pic）を無効化 */
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_pic,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_pic {
    width: auto !important; /* ← calc(100vw * 32 / 375) を殺す */
    margin: 0 !important; /* 余計なauto中央寄せ等も殺す */
  }

  /* 高さ100pxで固定（SPはこれでOK） */
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_pic img,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_pic img {
    height: 100px !important; /* ← 375時はこれ */
    width: auto !important;
    max-width: none !important; /* 幅制限で縮むのを防ぐ */
    object-fit: contain !important;
    display: block !important;
  }
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy .cp_pic-box,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy .cp_pic-box {
  display: flex !important;
  flex-direction: row !important;
  align-items: end !important;
  justify-content: center !important; /* 全体を中央寄せしたいなら center */
  gap: 18px !important; /* ここで余白を増減 */
}

/* 画像側：横並びで縮まないように */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy .cp_pic,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy .cp_pic {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

/* テキスト側：2行（レフィル / ■310mL）はそのまま維持しつつ、左寄せにする例 */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy .cp_1buy-text,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy .cp_1buy-text {
  flex: 0 0 auto !important;
  margin: 0 !important;
  text-align: left !important; /* 横並びなら left のほうが自然 */
  line-height: 1.1;
}

/* SPで「縦に戻したい」ならこれをON（不要なら消す） */
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy .cp_pic-box,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy .cp_pic-box {
    justify-content: center !important;
    gap: 4px !important;
  }
}
/* 2) 画像側：余計な上下マージンでズレるのを殺す */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy .cp_pic,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy .cp_pic {
  margin: 0 !important;
  flex: 0 0 auto !important;
}

/* 3) cp_1buy-text を “左のcp_list-line” 相当にする（縦積み→横並び×2行） */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy .cp_1buy-text,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy .cp_1buy-text {
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: auto auto; /* kind / size を2列に */
  column-gap: 12px;
  row-gap: 6px;
  align-content: center; /* ←テキスト塊も縦中央っぽく安定 */
  text-align: left !important;
  line-height: 1.1;
}

/* 4) “左と同じフォント感” に寄せる（PC/SPは既存のcp_list-kind/sizeに追従） */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy .cp_1buy-text .cp_list-kind,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy .cp_1buy-text .cp_list-kind {
  margin: 0 !important;
  font-size: inherit; /* ←左と同じクラス名なので基本は既存が効く */
  font-weight: inherit;
}

.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy .cp_1buy-text .cp_list-size,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy .cp_1buy-text .cp_list-size {
  margin: 0 !important;
  font-size: inherit;
  font-weight: inherit;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* 5) square（■）の見た目を “左と同じ” に安定させる（文字として扱う） */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy .cp_1buy-text .square,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy .cp_1buy-text .square {
  color: #00a0ca;
  text-decoration: none;
  line-height: 1;
  display: inline-block;
  transform: translateY(-1px);
}

/* 6) 1buy側だけ：左のdlみたいに “各行の左端” を揃えたい時（お好み） */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy .cp_1buy-text .cp_list-kind,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy .cp_1buy-text .cp_list-kind {
  justify-self: start;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy .cp_1buy-text .cp_list-size,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy .cp_1buy-text .cp_list-size {
  justify-self: start;
}
@media screen and (min-width: 760px) {
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy {
    /* 親の高さに追従させて、その中で中央寄せ */
    height: 100% !important;
    display: flex !important;
    align-items: center !important; /* ←縦中央 */
    justify-content: center !important; /* ←横中央 */
  }
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy .cp_pic-box .cp_1buy-text,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy .cp_pic-box .cp_1buy-text {
  display: flex !important; /* grid を潰す */
  flex-direction: column !important; /* 縦積み */
  align-items: flex-start !important; /* 左揃え */
  justify-content: center !important; /* 高さ方向の中央寄せ（効く環境では効く） */
  gap: 6px !important;
  text-align: left !important;
  margin: 0 !important;

  /* grid の名残を完全に無効化 */
  grid-template-columns: none !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  align-content: initial !important;
  justify-items: initial !important;
}

/* 2行目（■ + 310mL）は横並び */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_1buy .cp_pic-box .cp_1buy-text .cp_list-size,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_1buy .cp_pic-box .cp_1buy-text .cp_list-size {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0;
}
/* まず「高さの変数」を list-1/2 の product-wrap に持たせる */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap {
  --cp-img-h: 100px; /* 初期値 */
}

/* SP：375 → 759 で 100 → 160 */
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap {
    --cp-img-h: clamp(100px, calc(100px + (100vw - 375px) * 60 / 384), 160px);
  }
}

/* PC：760 → 1440 で 160 → 200（1440以上は200でストップ） */
@media screen and (min-width: 760px) {
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap,
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap {
    --cp-img-h: clamp(160px, calc(160px + (100vw - 760px) * 40 / 680), 200px);
  }
}

/* cp_pic（ラッパー）は高さを持つ */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_pic,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_pic {
  height: var(--cp-img-h) !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
}

/* img はラッパー高に追従（固定100pxを潰す） */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_pic img,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_pic img {
  height: 100% !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: block !important;
}
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-1 .cp_product-wrap .cp_product-box-inner .cp_pic-box,
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list.cp_product-list-2 .cp_product-wrap .cp_product-box-inner .cp_pic-box {
  display: flex !important;
  flex-direction: row !important;
  align-items: end !important; /* ← 縦中央 */
  justify-content: center !important;
  gap: 10px !important; /* ← “少し広く”はここ */
}
/* ==========================================================
   アコーディオン
========================================================== */
@media screen and (min-width: 760px) {
  .wrapper .cp_main .cp_content .cp_accordion .cp_btn-md {
    margin: 80px auto 20px;
  }
  .wrapper .cp_main .cp_example--ng {
    margin-top: 100px;
  }
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_content .cp_accordion .cp_btn-md {
    margin: calc(100vw * 40 / 375) auto calc(100vw * 10 / 375);
  }
  .wrapper .cp_main .cp_example--ng {
    margin-top: calc(100vw * 60 / 375);
  }
}
/* パネル（閉じてる状態） */
.wrapper .cp_main .cp_accordion__panel {
  overflow: hidden;
  height: 0; /* JSで動かす */
  transition: height 0.25s ease;
}
.wrapper .cp_main .cp_content-inner .cp_accordion {
  --cp-acc-w: 600px;

  display: flex;
  flex-direction: column;
  align-items: center; /* 中央に揃える（ボタンもパネルも） */
}
.wrapper .cp_main .cp_content-inner .cp_accordion .cp_accordion__panel {
  width: var(--cp-acc-w);
  box-sizing: border-box;
  background: #fff;

  padding: 32px 32px; /* 上下パディング */
  letter-spacing: 0;
  font-weight: 700;
}
.wrapper .cp_main .cp_content-inner .cp_accordion .cp_accordion__panel p {
  margin: 1em 0 0.5em;
}
.wrapper .cp_main .cp_content-inner .cp_accordion .cp_accordion__panel ul li {
  padding-left: 1em;
  line-height: 1.4;
  position: relative;
}
.wrapper .cp_main .cp_content-inner .cp_accordion .cp_accordion__panel ul li:before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.wrapper .cp_main .cp_accordion__inner .cp_example-list > li + li {
  margin-top: 1em;
}
@media (max-width: 759px) {
  .wrapper .cp_main .cp_content-inner .cp_accordion {
    --cp-acc-w: 90vw;
  }
  .wrapper .cp_main .cp_content-inner .cp_accordion .cp_accordion__panel {
    padding: 0 10px 1em 10px;
    font-size: calc(100vw * 10 / 375);
  }
}
/* hidden のときは消す */
.wrapper .cp_main .cp_content-inner .cp_accordion .cp_accordion__panel[hidden] {
  display: none;
}

/* ＋の見た目を回す（既存の .cp_plus が何かしら表示してる前提） */
.wrapper .cp_main .cp_btn[aria-expanded="true"] .cp_plus {
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}
.wrapper .cp_main .cp_btn .cp_plus {
  display: inline-block;
  transition: transform 0.2s ease;
}
/* ====================
  オンライン
==================== */
/* ===== p-itemlist__contents 背景を画面幅いっぱい白にする（上書き専用） ===== */
.wrapper .cp_main .p-itemlist__contents {
  position: relative;
  z-index: 0;
  isolation: isolate; /* ← z-index:-1 が親の外に落ちて消えるのを防ぐ */
  overflow: visible; /* 念のため */
  min-height: 300px; /* 仮の高さ（必要なら調整） */
}

/* 背景だけ 100vw に伸ばす */
.wrapper .cp_main .p-itemlist__contents::before {
  content: "";
  position: absolute;
  inset: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: #fff;
  z-index: -1;
}
.wrapper .cp_main .p-itemlist__contents .cp_inner {
  padding: 100px 0;
}

.wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list {
  margin-top: 60px;
}

@media screen and (min-width: 760px) {
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
  }
  .wrapper .cp_main .p-itemlist__contents .p-itemlist__contents__list .p-itemlist__content__item {
    margin-top: 120px;
    padding: 20px 15px 15px;
    width: calc(33.333% - 15px) !important;
  }
  .wrapper .cp_main .p-itemlist__contents.p-itemlist__contents--row2 .p-itemlist__contents__list {
    max-width: 648px;
  }
  .wrapper .cp_main .p-itemlist__contents.p-itemlist__contents--row2 .p-itemlist__contents__list .p-itemlist__content__item {
    width: calc(50% - 15px) !important; /* 2列 */
  }
}

/* =========================================================
   NG例：左(2buy)だけ理由バッジを追加するレイアウト
   - PC：画像の横（テキスト列の上）
   - SP：画像の上
========================================================= */

/* ===========================
   NG01：左(2buy)だけ理由バッジ配置
   既存の .cp_pic-box flex!important をIDで潰す
=========================== */

#cp_ng01 .cp_2buy .cp_pic-box,
#cp_ng02 .cp_2buy .cp_pic-box {
  display: grid !important; /* ← flex!important を確実に潰す */
  gap: 24px !important;
  align-items: center !important;
}
/* NG例どうしの間だけ 2rem */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-wrap.is-ng + .cp_product-wrap.is-ng {
  margin-top: 40px;
}
/* バッジ見た目 */
#cp_ng01 .cp_2buy .cp_ng-reason,
#cp_ng02 .cp_2buy .cp_ng-reason {
  display: inline-block;
  padding: 8px 24px;
  border-radius: 999px;
  background: #e5004f;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  margin: 0;
  font-size: 22px;
}

/* このNGだけ画像を小さくする（必要なら数値変えてOK） */
#cp_ng01,
#cp_ng02 {
  --cp-img-h-ng: 140px; /* PC目安 */
}
@media (max-width: 759px) {
  #cp_ng01,
  #cp_ng02 {
    --cp-img-h-ng: 90px;
  } /* SP目安 */
  #cp_ng01 .cp_2buy .cp_ng-reason,
  #cp_ng02 .cp_2buy .cp_ng-reason {
    padding: 4px 10px;
    font-size: calc(100vw * 10 / 375);
  }
  #cp_ng01 .cp_2buy .cp_pic,
  #cp_ng02 .cp_2buy .cp_pic {
    height: var(--cp-img-h-ng) !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
  }
  #cp_ng01 .cp_2buy .cp_pic img,
  #cp_ng02 .cp_2buy .cp_pic img {
    height: 100% !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
  }
  /* 右（1buy）の中身を縦中央に固定 */
  #cp_ng01 .cp_product-box-inner .cp_1buy,
  #cp_ng02 .cp_product-box-inner .cp_1buy {
    display: flex !important;
    align-items: center !important; /* ← 縦中央 */
    justify-content: center !important; /* ← 横中央（不要なら消してOK） */
  }

  /* 念のため：中身ブロックが変なマージンで上に逃げないように */
  #cp_ng01 .cp_product-box-inner .cp_1buy .cp_pic-box,
  #cp_ng02 .cp_product-box-inner .cp_1buy .cp_pic-box {
    margin: 0 auto !important;
  }
  #cp_ng01 .cp_2buy .cp_pic-box,
  #cp_ng02 .cp_2buy .cp_pic-box {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    justify-items: center;
    row-gap: 10px;
  }
  #cp_ng01 .cp_2buy .cp_ng-reason,
  #cp_ng02 .cp_2buy .cp_ng-reason {
    grid-row: 1;
  }
  #cp_ng01 .cp_2buy .cp_pic,
  #cp_ng02 .cp_2buy .cp_pic {
    grid-row: 2;
  }
  #cp_ng01 .cp_2buy .cp_text-box,
  #cp_ng02 .cp_2buy .cp_text-box {
    grid-row: 3;
  }
  /* SP：画像小さめ（あなたの指定） */
  #cp_ng01,
  #cp_ng02 {
    --cp-img-h-ng: 90px;
  }

  /* SP：理由バッジ（あなたの指定＋grid配置用） */
  #cp_ng01 .cp_2buy .cp_ng-reason,
  #cp_ng02 .cp_2buy .cp_ng-reason {
    padding: 4px 10px;
    font-size: calc(100vw * 10 / 375);
    grid-area: reason;
    justify-self: start;
  }

  /* ★ここが本命：SPだけ grid 2列に戻す（画像＋テキスト横並び） */
  #cp_ng01 .cp_2buy .cp_pic-box,
  #cp_ng02 .cp_2buy .cp_pic-box {
    display: grid !important; /* 既存 flex!important を潰す */
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "reason reason"
      "pic    text";
    gap: 12px !important;

    align-items: center !important; /* 行の縦位置 */
    justify-content: start !important; /* 全体の寄せ */
  }

  /* 画像側 */
  #cp_ng01 .cp_2buy .cp_pic,
  #cp_ng02 .cp_2buy .cp_pic {
    grid-area: pic;
    height: var(--cp-img-h-ng) !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    margin: 0 !important;
  }
  #cp_ng01 .cp_2buy .cp_pic img,
  #cp_ng02 .cp_2buy .cp_pic img {
    height: 100% !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    display: block !important;
  }

  /* テキスト側（ローション/200mLの塊） */
  #cp_ng01 .cp_2buy .cp_text-box,
  #cp_ng02 .cp_2buy .cp_text-box {
    grid-area: text;
    margin-top: 0 !important;
  }
}

/* ---------- PC：画像の横、テキスト列の上に理由 ---------- */
@media (min-width: 760px) {
  #cp_ng01 .cp_2buy .cp_pic-box,
  #cp_ng02 .cp_2buy .cp_pic-box {
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    column-gap: 18px;
    row-gap: 10px;
  }
  /* 画像：左列2段ぶち抜き */
  #cp_ng01 .cp_2buy .cp_pic,
  #cp_ng02 .cp_2buy .cp_pic {
    grid-column: 1;
    grid-row: 1 / 3;
    justify-self: center;
  }
  /* 理由：右列の1段目（＝ローションより上） */
  #cp_ng01 .cp_2buy .cp_ng-reason,
  #cp_ng02 .cp_2buy .cp_ng-reason {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
  }
  /* テキスト：右列の2段目 */
  #cp_ng01 .cp_2buy .cp_text-box,
  #cp_ng02 .cp_2buy .cp_text-box {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
  }
  #cp_ng01 .cp_2buy .cp_text-box .cp_list,
  #cp_ng02 .cp_2buy .cp_text-box .cp_list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    column-gap: 24px !important; /* 列間の余白。好きに調整 */
    align-items: center !important;
    margin: 0 !important;
  }

  #cp_ng01 .cp_2buy .cp_text-box .cp_list .cp_list-detail,
  #cp_ng02 .cp_2buy .cp_text-box .cp_list .cp_list-detail {
    margin: 0 !important; /* ddのデフォmargin殺す */
  }

  /* 1列の中は「ローション」→「■200mL」を縦積み */
  #cp_ng01 .cp_2buy .cp_text-box .cp_list .cp_list-line,
  #cp_ng02 .cp_2buy .cp_text-box .cp_list .cp_list-line {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    align-items: flex-start !important;
  }
  /* バッジを下へ（＝テキストに寄せる） */
  #cp_ng01 .cp_2buy .cp_ng-reason,
  #cp_ng02 .cp_2buy .cp_ng-reason {
    position: relative;
    top: 24px; /* ←ここを 8〜18px で調整 */
    margin: 0 !important;
  }

  /* テキスト塊を上へ（＝バッジに寄せる） */
  #cp_ng01 .cp_2buy .cp_text-box,
  #cp_ng02 .cp_2buy .cp_text-box {
    margin-top: -6px !important;
  }
}
/* NG例：右端の注意書き */
.wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_ng-note {
  text-align: right; /* 右端寄せ */
  font-size: 14px; /* 小さめ */
  font-weight: bold;
  letter-spacing: 0;
  margin-top: 10px;
}

/* SPは少し読みやすく（必要なら） */
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_ng-note {
    margin-top: 10px;
    font-size: 10px;
  }
}
/* ====================
  応募コース下、コース名ブロック 注釈
==================== */
.wrapper .cp_main .cp_content-tit_list {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 3vw 0;
}

.wrapper .cp_main .cp_content-tit_listItem a {
  display: block;
  text-decoration: none;
}

.wrapper .cp_main .cp_content-tit_listItem p {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px; /* テキストと矢印の間 */

  color: #1810af;
  font-size: 16px;
  font-weight: bold;
  position: relative;
  z-index: 10;
  padding: 1em 3em;
  background: #fff;
}
/* 矢印（白枠の中に収まる） */
.wrapper .cp_main .cp_content-tit_listItem p::after {
  content: "";
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg); /* 下向きV */
  line-height: 1;
}
.wrapper .cp_main .cp_content-tit_note {
  text-align: center;
  margin-top: 2em;
  font-weight: 700;
  color: #c70045;
  font-size: 18px;
}
.cp_content-tit_listItem a {
  display: inline-flex; /* 矢印を下に並べる */
  flex-direction: column;
  align-items: center;
  gap: 8px; /* テキストと矢印の間 */
  text-decoration: none;
  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    opacity 0.25s ease;
}
.cp_content-tit_listItem a:hover {
  opacity: 0.6;
}
@media screen and (max-width: 759px) {
  .wrapper .cp_main .cp_content-tit_list {
    display: flex;
    flex-flow: column wrap;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin: 6vw;
  }
  .wrapper .cp_main .cp_content-tit_listItem {
    width: 100%;
  }
  .wrapper .cp_main .cp_content-tit_listItem p {
    gap: 4px;

    font-size: calc(100vw * 12 / 375);
    font-weight: bold;
    position: relative;
    z-index: 10;
    padding: 1em 2em;
  }
  .wrapper .cp_main .cp_content.cp_product-content .cp_content-inner .cp_product-box .cp_product-list .cp_box-tit {
  }
}
.wrapper .cp_main #modal .md-list-text a {
  display: inline;
}
.wrapper .cp_main #modal .md-list-text a:hover {
  opacity: 0.6;
}
.wrapper .cp_main .text_red {
  color: #c70045;
}
