@charset "utf-8";
/* CSS Document proscalp16 */
* {
	box-sizing: border-box;
}

main.content_box {
  width: 750px;
  margin: 0 auto;
}
@media all and (max-width: 767px) {
  main.content_box {
    width: 100%;
  }
.entry_btn {
  cursor: pointer;
}
.entry_btn img:hover {
  opacity: 0.8;
  transition: 0.2s linear;
}

.repairserum09_01 .offer, .repairserum09_02 .offer {
  margin-top: -18px;
}
/* visumo用 */
.ecbn-selection-wrapper .ecbn-selection-title, .ecbn-selection-page-wrapper .ecbn-selection-title {
  margin: 10px 0 30px !important;
}
.content_box video {
  /*// iPhone safariの枠線を消す*/
  filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
  /*// PCのChromeの枠線を消す*/
  outline: none;
  border: none;
}
@media all and (max-width: 767px) {
  .content_box img {
    max-width: 100%;
  }
  .content_box video {
    width: 100%;
  }
  .insta_slider img {
    width: 88%;
  }
  .slick-prev {
    left: -10vw;
  }
  .slick-next {
    right: -10vw;
  }
}

}
/* レスポンシブ ブロック要素 */
.spver {
  display: none;
}
@media screen and (max-width: 768px) {
  .pcver {
    display: none;
  }
  .spver {
    display: block;
  }
}
/* popup */
.popup {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  z-index: 99999;
  background-color: rgba(0, 0, 0, 0.5);
}
.popup.on {
  display: block;
}
.img-popup {
  position: absolute;
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  margin: auto;
  width: 570px;
  height: 560px;
  cursor: pointer;
}
.img-popup img {
  width: 100%;
  height: auto;
}
@media all and (max-width:768px) {
  .img-popup {
    width: 285px;
    height: 280px;
  }
}
/*====================================================================
FV　ボタン 画面下固定
====================================================================*/
.fixbtn_bottom #fixbtn {
  position: fixed;
  bottom: -100%;
  left: 0;
  z-index: 999;
  width: 100%;
  overflow: hidden;
  -webkit-transition: all .8s ease;
  -o-transition: all .8s ease;
  transition: all .8s ease;
}
.fixbtn_bottom #fixbtn.fixbtn--visible {
  bottom: 0;
}
.fixbtn_bottom #fixbtn .fixbtn__box {
  position: relative;
  bottom: 0;
  display: block;
  margin: 0 auto;
  padding: 0;
  position: relative;
  max-width: 750px;
  background: rgb(255, 255, 255);
  background: -moz-linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 32%, rgba(255, 255, 255, 0) 100%);
  background: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 32%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 32%, rgba(255, 255, 255, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#ffffff", GradientType=1);
}
.fixbtn_bottom .fixbtn__item {
  display: block;
  box-sizing: border-box;
  padding: 2% 3%;
}
.fixbtn_bottom .fixbtn__item span {
  display: block;
  margin: 0 auto;
  -webkit-animation-name: expand;
  -moz-animation-name: expand;
  -o-animation-name: expand;
  animation-name: expand;
  -webkit-animation-duration: 1.2s;
  -moz-animation-duration: 1.2s;
  -o-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  -o-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  -o-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  cursor: pointer;
}
.fixbtn_bottom .fixbtn__item p {
  box-sizing: border-box;
  width: 100%;
  padding: 0 2%;
}
.fixbtn_bottom #fixbtn img {
	margin: 0 auto;
  filter: drop-shadow(0px 10px 4px #ccc);
}
/* ボタンのかがやき　 */
.c-button._shiny {
  display: block;
  position: relative;
  overflow: hidden;
  transition: 300ms;
}
.c-button._shiny::before {
  position: absolute;
  content: '';
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  transition: 300ms;
  animation: shinyshiny 2.8s ease-in-out infinite;
  z-index: 999;
}
.c-button._shiny:hover {
  -webkit-transform: translateY(3px);
}
@-webkit-keyframes shinyshiny {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  40% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}


/*====================================================================
 cta
====================================================================*/
.cta {
  margin: 5vh 0;
}
.cv_btn_area {
  position: relative;
}
.cv_btn_area .btn {
  position: absolute;
  top: 0;
  left: -8px;
  width: 100%;
  padding: 0 3%;
  text-align: center;
}
/*====================================================================
 benefit 下の注釈とリンクのエリア
====================================================================*/

.benefit .link {
  background: #f4f7e1;
  text-align: right;
  font-size: 67%;
  padding: 0 3% 25px;
}
@media screen and (min-width: 769px) {
  .benefit .link {
    font-size: 80%;
    padding: 0 3% 35px;
  }
}
.benefit .link a:link, .benefit .link a:visited {
  text-decoration: underline;
}
.benefit .link a:hover, .benefit .link a:active {
  text-decoration: none;
}

/*====================================================================
　henkin accordion
====================================================================*/
section.henkin {
	margin: 8% 4%;
    padding: 1.5%;
    border: 2px solid #222;
}
.ac-box {
		border: 1px double #222;
	}
.ac-open {
	padding: 5% 9% 5% 3%;
    font-size: clamp(19px, 4vw, 23px);
    position: relative;
    font-weight: 600;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
	.ac-open span {
		font-size: 0.8rem;
	}
.ac-content {
	display: none;
    padding: 0 3% 5%;
    font-size: clamp(16px, 4vw, 18px);
    line-height: 1.5;
}
.ac-open::before {/* 閉じている時 */
	content: "＋";
	position: absolute;
	top: 35%;
	right: 4%;
}
.ac-open.active::before {/* 開いている時 */
	content: "－";
}
.ac-content a:link,.ac-content a:visited {
    text-decoration: underline;
}
.ac-content a:hover,.ac-content a:active {
    text-decoration: none;
}
/*====================================================================
カルーセル
====================================================================*/

.swiper {
  width: 100%;
  margin: 40px 0 1em;
}
.swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
  padding: 0 0 10%;
  /* Center slide text vertically */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.swiper-slide img {
  display: block;
  width: 78%;
  object-fit: cover;
  filter: drop-shadow(0 4px 0.3rem #999);
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after, .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  color: #000;
}
.swiper-wrapper {
  height: initial !important;
}
@media screen and (max-width: 768px) {
  .swiper-btn .swiper-button-next, .swiper-btn .swiper-button-prev {
    top: 40% !important;
  }
}
/*-------------------------------------------
margin　調整用
-----------------------------------------------*/
.mb10px {
  margin-bottom: 10px;
}
.mb15px {
  margin-bottom: 15px;
}
.mb20px {
  margin-bottom: 20px;
}
.mb30px {
  margin-bottom: 30px;
}
.mb40px {
  margin-bottom: 30px;
}
.mb50px {
  margin-bottom: 50px;
}
.mb60px {
  margin-bottom: 60px;
}
.mb70px {
  margin-bottom: 70px;
}
.mb80px {
  margin-bottom: 80px;
}