@charset "UTF-8";
.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after {
  content: " ";
  display: table;
}

.clearfix:after,
.container:after,
.container-fluid:after,
.row:after {
  clear: both;
}

/*　////////////////////////////////
ブレイクポイント
//////////////////////////////////　*/
/*　////////////////////////////////
ベースフォント
//////////////////////////////////　*/
/*　////////////////////////////////
カラー
//////////////////////////////////　*/
/*　////////////////////////////////
clearfix[@extend .clearfix];
//////////////////////////////////　*/
.clearfix {
  zoom: 1;
}
.clearfix:after {
  display: block;
  content: "";
  clear: both;
}

/*　////////////////////////////////////////////////////////////////////////////////////////////////
flex include
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*　////////////////////////////////////////////////////////////////////////////////////////////////
初期値top:50%; left:50%;
[@include set-top();] [@include set-left();]
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*縦中央*/
/*横中央*/
/* -----上下左右中央、%指定で調整可能----- */
/*　////////////////////////////////
flex 設定
//////////////////////////////////　*/
/*　////////////////////////////////
三角形
//////////////////////////////////　*/
/*　////////////////////////////////
矢印
//////////////////////////////////　*/
/*　////////////////////////////////////////////////////////////////////////////////////////////////
font-size
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*　////////////////////////////////
汎用style
//////////////////////////////////　*/
.all-wrapper {
  /*パンくず*/
}
.all-wrapper .breadcrumb-wrap {
  margin: 0 0 30px;
  padding: 10px 0;
}
@media (min-width: 768px) {
  .all-wrapper .breadcrumb-wrap {
    margin: 0 0 45px;
  }
}
.all-wrapper .breadcrumb-wrap .breadcrumb li {
  display: inline;
  list-style: none;
  font-size: 1.4rem;
  line-height: 1;
  color: #333333;
}
.all-wrapper .breadcrumb-wrap .breadcrumb li a {
  text-decoration: none;
  color: #333333;
}
.all-wrapper .breadcrumb-wrap .breadcrumb li a:hover {
  text-decoration: underline;
}
.all-wrapper .breadcrumb-wrap .breadcrumb li:after {
  content: "＞";
  padding: 0 3px;
}
.all-wrapper .breadcrumb-wrap .breadcrumb li:last-child:after {
  content: "";
}
.all-wrapper {
  /*　////////////////////////////////
  lower_header
  //////////////////////////////////　*/
}
.all-wrapper .lower_header .lower_title_wrap {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 270px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.all-wrapper .lower_header .lower_title_wrap .title_inner {
  background: rgba(239, 149, 189, 0.9);
  color: #fff;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 15px 10px;
  width: clamp(290px, 70vw, 690px);
}
.all-wrapper .lower_header .lower_title_wrap .lower_title {
  text-align: center;
}
.all-wrapper .lower_header .lower_title_wrap .lower_title .jp {
  display: inline-block;
  line-height: 1;
  margin-bottom: 15px;
  padding-bottom: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: clamp(3rem, 3.7vw, 4.4rem);
  font-weight: 500;
  position: relative;
  box-sizing: border-box;
}
.all-wrapper .lower_header .lower_title_wrap .lower_title .jp::after {
  content: "";
  position: absolute;
  height: 2px;
  width: clamp(120px, 30vw, 150px);
  background: #fff;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
}
.all-wrapper .lower_header .lower_title_wrap .lower_title .en {
  display: block;
  line-height: 1;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(2.4rem, 2.7vw, 3rem);
  font-weight: normal;
}
@media (min-width: 768px) {
  .all-wrapper .lower_header .lower_title_wrap {
    height: 360px;
  }
  .all-wrapper .lower_header .lower_title_wrap .title_inner {
    padding: 32px 10px;
  }
}
@media (min-width: 987px) {
  .all-wrapper .lower_header .lower_title_wrap {
    height: 460px;
  }
}

/* all-wrapper */
/*----- 共通 ------------------------------------*/
#contraceptives .h-style-b {
  text-align: left;
  padding: 10px 20px;
  margin-bottom: clamp(20px, 13.1818181818px + 1.8181818182vw, 35px);
}
#contraceptives .table-style {
  border-top: 1px solid #ef95bd;
}

.border-title, .border-title-s {
  font-size: clamp(2.1rem, 16.9756097561px + 1.0731707317vw, 3.2rem);
  font-weight: 500;
  text-align: center;
  padding-bottom: clamp(10px, 7.7272727273px + 0.6060606061vw, 15px);
  margin-bottom: clamp(25px, 20.4545454545px + 1.2121212121vw, 35px);
  position: relative;
}
.border-title::after, .border-title-s::after {
  content: "";
  position: absolute;
  width: clamp(120px, 106.3636363636px + 3.6363636364vw, 150px);
  height: 3px;
  background: #ef95bd;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.border-title-s {
  font-size: clamp(1.8rem, 15.0731707317px + 0.7804878049vw, 2.6rem);
  margin-bottom: clamp(20px, 17.7272727273px + 0.6060606061vw, 25px);
}

.bg-title {
  font-size: clamp(2.2rem, 17.6097560976px + 1.1707317073vw, 3.4rem);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: clamp(5px, 2.7272727273px + 0.6060606061vw, 10px) clamp(15px, 12.7272727273px + 0.6060606061vw, 20px);
  background: #ef95bd;
  color: #fff;
  border-radius: 7px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  margin-bottom: clamp(25px, 20.4545454545px + 1.2121212121vw, 35px);
}

.topic-box {
  max-width: 880px;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: clamp(20px, 15.4545454545px + 1.2121212121vw, 30px) clamp(15px, -0.9090909091px + 4.2424242424vw, 50px);
  border: 3px solid #ef95bd;
  border-radius: 10px;
  margin-left: auto;
  margin-right: auto;
}

.ex-link {
  display: inline-block;
  color: #0583c9;
  border-bottom: 1px solid #0583c9;
  position: relative;
  padding-right: 1.2em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.ex-link::after {
  display: inline-block;
  position: absolute;
  content: "";
  width: 1em;
  height: 1em;
  background-image: url("/img/link.svg");
  background-repeat: no-repeat;
  background-size: contain;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
}
.ex-link:hover {
  color: #0583c9;
}

.inner-link {
  display: inline-block;
  background: #ef95bd;
  color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: clamp(5px, 2.7272727273px + 0.6060606061vw, 10px) 3em;
  border-radius: 50px;
  line-height: 1.4;
  position: relative;
}
.inner-link::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 1.5em;
  width: 0.7em;
  height: 0.9em;
  background: #fff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.inner-link:hover {
  color: #fff;
}

/*----- .sec-first ------------------------------------*/
.sec-first .attention {
  background: #fcebe6;
  max-width: 540px;
  width: 100%;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 12px 15px;
  border-radius: 7px;
}
.sec-first .attention .attention-txt {
  color: #d33b2f;
  font-size: clamp(1.8rem, 16.5365853659px + 0.3902439024vw, 2.2rem);
  text-indent: -1em;
  margin-left: 1em;
  line-height: 1.4;
  font-weight: bold;
}
.sec-first .attention .attention-txt::before {
  content: "※";
}

/*----- .shop ------------------------------------*/
.shop .checksheet .checksheet-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px 1.2em;
}
.shop .checksheet .checksheet-item:not(:last-child) {
  margin-bottom: 10px;
}
.shop .checksheet .checksheet-item .source {
  text-indent: -1em;
  margin-left: 1em;
}
.shop .checksheet .checksheet-item .source::before {
  content: "※";
}
.shop .step-list {
  list-style: none;
}
.shop .step-item {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.shop .step-item:not(:last-child) {
  margin-bottom: clamp(25px, 20.4545454545px + 1.2121212121vw, 35px);
  padding-bottom: clamp(35px, 30.4545454545px + 1.2121212121vw, 45px);
}
.shop .step-item:not(:last-child)::after {
  position: absolute;
  content: "";
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
  width: clamp(32px, 28.3636363636px + 0.9696969697vw, 40px);
  height: clamp(16px, 14.1818181818px + 0.4848484848vw, 20px);
  background: #ef95bd;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.shop .step-item:last-child {
  padding-bottom: clamp(15px, 10.4545454545px + 1.2121212121vw, 25px);
  border-bottom: 2px solid #94c52a;
}
.shop .step-item:last-child .step-title {
  border-bottom: 2px solid #94c52a;
}
.shop .step-item:last-child .step-title .step {
  font-family: "Noto Sans JP", system-ui;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: clamp(1.8rem, 2.1vw, 2.4rem);
  background: #94c52a;
}
.shop .step-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-bottom: 2px solid #ef95bd;
  margin-bottom: 15px;
}
.shop .step-title span {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.shop .step-title .step {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(2.1rem, 2.45vw, 2.8rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #ef95bd;
  color: #fff;
  padding: 7px 5px;
  border-radius: 5px 5px 0 0;
  width: 80px;
  line-height: 1;
}
.shop .step-title .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: clamp(1.7rem, 1.85vw, 2rem);
  font-weight: 500;
  width: calc(100% - 80px - 10px);
  line-height: 1.4;
}
.shop .products-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: clamp(30px, 25.4545454545px + 1.2121212121vw, 40px) 4%;
}
.shop .products-wrap .product-box {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.shop .products-wrap .product-title {
  text-indent: -1.2em;
  margin-left: 1.2em;
  font-size: clamp(1.8rem, 15.8048780488px + 0.5853658537vw, 2.4rem);
  font-weight: 500;
  margin-bottom: clamp(10px, 7.7272727273px + 0.6060606061vw, 15px);
}
.shop .products-wrap .product-title::before {
  content: "■";
  margin-right: 0.2em;
}
.shop .products-wrap .ast {
  font-size: clamp(1.5rem, 14.6341463415px + 0.0975609756vw, 1.6rem);
}

@media (min-width: 768px) {
  .shop .step-title {
    margin-bottom: 20px;
  }
  .shop .step-title .step {
    padding: 10px 5px;
    width: 120px;
  }
  .shop .step-title .title {
    width: calc(100% - 120px - 10px);
  }
  .shop .products-wrap .product-box {
    width: 48%;
  }
}
/*----- .faq ------------------------------------*/
.faq-list .faq-box {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-bottom: 2px solid #ef95bd;
}
.faq-list .faq-box dt, .faq-list .faq-box dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.faq-list .faq-box dt::before, .faq-list .faq-box dd::before {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(2.4rem, 21.0731707317px + 0.7804878049vw, 3.2rem);
  margin-right: 0.2em;
  font-weight: 500;
  line-height: 1;
}
.faq-list .faq-box dt {
  background: #fff3f9;
  font-size: clamp(1.8rem, 15.8048780488px + 0.5853658537vw, 2.4rem);
  font-weight: bold;
  border-bottom: 1px dashed #ef95bd;
  padding: clamp(10px, 7.7272727273px + 0.6060606061vw, 15px) clamp(10px, 5.4545454545px + 1.2121212121vw, 20px);
}
.faq-list .faq-box dt::before {
  content: "Q.";
  color: #ef95bd;
}
.faq-list .faq-box dd {
  padding: clamp(10px, 7.7272727273px + 0.6060606061vw, 15px) clamp(10px, 5.4545454545px + 1.2121212121vw, 20px) clamp(15px, 10.4545454545px + 1.2121212121vw, 25px);
}
.faq-list .faq-box dd::before {
  content: "A.";
  color: #94c52a;
}

/*----- .contact ------------------------------------*/
.contavt-wrap .tel-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 5px;
}
.contavt-wrap .tel-box .tel-title {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 5px;
  border-radius: 5px;
  font-size: clamp(1.5rem, 1.75vw, 2rem);
  font-weight: bold;
  color: #fff;
  margin-right: 10px;
  text-align: center;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.contavt-wrap .tel-box .tel-okawa {
  background: #ef95bd;
}
.contavt-wrap .tel-box .tel-sakuramachi {
  background: #94c52a;
}
.contavt-wrap .tel-box .tel-link {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(2.2rem, 2.8vw, 3.4rem);
}
.contavt-wrap .tel-box .tel-link::before {
  content: "";
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  background-image: url("/img/tel.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin-right: 5px;
}