@charset "UTF-8";
/* ------------------------------------------
　共通
-------------------------------------------*/
:root {
	--font-futura: futura-pt, sans-serif;
	--font-serif: "Yu Mincho", "游明朝", YuMincho, "游明朝体", serif;
}

#mediderma {
  font-size: clamp(14px, 3.6vw, 16px);
  /* ------------------------------------------
  　kv
  -------------------------------------------*/
  /* ------------------------------------------
  　lead
  -------------------------------------------*/
  /* ------------------------------------------
  　青背景
  -------------------------------------------*/
  /* ------------------------------------------
  　商品詳細
  -------------------------------------------*/
  /* ------------------------------------------
  　商品説明
  -------------------------------------------*/
  /* ------------------------------------------
  　ポイント
  -------------------------------------------*/
  /* ------------------------------------------
  　コラム
  -------------------------------------------*/
}
#mediderma .pc-only {
  display: initial !important;
}
@media screen and (max-width: 767px) {
  #mediderma .pc-only {
    display: none !important;
  }
}
#mediderma .sp-only {
  display: none !important;
}
@media screen and (max-width: 767px) {
  #mediderma .sp-only {
    display: initial !important;
  }
}

#mediderma small{
  font-size: 0.7em;
}

/*============================================================*/
/* lead */
/*============================================================*/

#mediderma .lead {
  font-size: clamp(20px, 4.2vw, 24px);
  font-weight: 700;
  line-height: 2;
  text-align: center;
  font-family: var(--font-serif);
  background: url(../img/common/lead_bg.webp) no-repeat center center;
  background-size: cover;
  padding-inline: min(5vw, 30px);
  padding-block: min(40vw, 180px) min(34vw, 150px);
}
@media screen and (max-width: 767px) {
  #mediderma .lead {
    background: url(../img/common/lead_bg_sp.webp) no-repeat center center;
    background-size: cover;
  }
}
#mediderma .lead h2 {
  margin-bottom: min(10vw, 50px);
}
@media screen and (max-width: 767px) {
  #mediderma .lead h2 {
    max-width: 46vw;
    margin-inline: auto;
  }
}

/*============================================================*/
/* brand-link */
/*============================================================*/

#mediderma .brand-link {
  font-size: clamp(19px, 3.8vw, 16px);
  font-weight: 700;
  line-height: 2;
  text-align: center;
  background: url(../img/common/lead_bg.webp) no-repeat center center;
  background-size: cover;
  padding-inline: min(5vw, 30px);
  padding-block: min(20vw, 90px) min(18vw, 78px);
}
@media screen and (max-width: 767px) {
  #mediderma .brand-link {
    background: url(../img/common/lead_bg_sp.webp) no-repeat center center;
    background-size: cover;
  }
}
@media screen and (max-width: 767px) {
  #mediderma .brand-link p {
    max-width: 46vw;
    margin-inline: auto;
  }
}

#mediderma .brand-linkbtn {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	max-width: 400px;
	margin: min(10vw, 40px) auto 0;
	padding: .7em 3em .7em 2em;
	border: 1px solid #ffffff;
	border-radius: 5px;
	background-color: #fff;
	color: #333;
	font-size: 1em;
}

#mediderma .brand-linkbtn::after {
	position: absolute;
	right: .5em;
	transform: translateY(-50%);
	transform-origin: left;
	width: 4em;
	height: .5em;
	background-color: #004498;
	clip-path: polygon(0 100%, 100% 100%, 70% 27%, 70% 90%, 0% 90%);
	content: '';
	transition: transform .3s;
}

#mediderma .brand-linkbtn:hover::after {
	transform: translate(1em, -50%);
}

/*============================================================*/
/* 商品詳細 */
/*============================================================*/

#mediderma .detail {
  margin-bottom: min(20vw, 120px);
  /* swiper */
  /* セラム800 */
  /* セラム1000 */
}
#mediderma .detail__item {
  max-width: 1000px;
  margin-inline: auto;
  background-color: #E7FFFF;
  box-shadow: inset 0px 0px 300px 0px #FFFFFF;
  margin-bottom: min(5vw, 50px);
  box-sizing: border-box;
  padding-inline: min(6vw, 60px);
  padding-block: min(8vw, 70px);
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  grid-template-rows: -webkit-max-content 1fr;
  grid-template-rows: max-content 1fr;
  -moz-column-gap: min(5vw, 50px);
       column-gap: min(5vw, 50px);
  grid-auto-flow: row;
  grid-template-areas: "detail__fig detail__title" "detail__fig detail__main" "detail__btns detail__btns";
}
@media screen and (max-width: 767px) {
  #mediderma .detail__item {
    display: block;
  }
}
#mediderma .detail__title {
  margin-bottom: min(3vw, 10px);
}
#mediderma .detail__title-catch {
  font-family: var(--font-serif);
  font-size: clamp(20px, 4.6vw, 22px);
  margin-bottom: min(6vw, 20px);
  font-weight: 700;
}
#mediderma .detail__title-catch small {
  font-size: 50%;
}
#mediderma .detail__title-name {
  font-size: clamp(16px, 4vw, 18px);
  font-weight: 700;
}
#mediderma .detail__fig {
  width: 30vw;
  max-width: 360px;
  text-align: center;
  grid-area: detail__fig;
}
@media screen and (max-width: 767px) {
  #mediderma .detail__fig {
    margin-bottom: min(3vw, 20px);
    width: initial;
    max-width: 700px;
  }
}
#mediderma .detail .product-swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
  padding-bottom: min(9vw, 30px);
}
#mediderma .detail .product-swiper .swiper-wrapper {
  height: auto;
}
#mediderma .detail .product-swiper .swiper-pagination-bullet-active {
  background-color: #6BA7CE;
}
#mediderma .detail__main {
  grid-area: detail__main;
}
@media screen and (max-width: 767px) {
  #mediderma .detail__main {
    margin-bottom: min(9vw, 30px);
  }
}
#mediderma .detail__main-size {
  font-size: clamp(16px, 4vw, 18px);
  margin-bottom: min(2vw, 6px);
}
#mediderma .detail__main-price {
  font-size: clamp(20px, 4.2vw, 22px);
  margin-bottom: min(3vw, 10px);
}
#mediderma .detail__main-price span {
  font-size: 80%;
}
#mediderma .detail__main-exp {
  display: inline-block;
  font-size: clamp(16px, 4vw, 18px);
  font-weight: 700;
  color: #FFFFFF;
  padding: min(1vw, 3px) min(6vw, 30px);
  margin-bottom: min(9vw, 30px);
}
#mediderma .detail__main-disc {
  line-height: 1.8;
  margin-bottom: min(8vw, 25px);
}
#mediderma .detail__main-disc small {
  font-size: 60%;
}
#mediderma .detail__main-disc__point li {
  text-indent: -1rem;
  padding-left: 1rem;
}
#mediderma .detail__main-disc__title {
  margin-bottom: min(4vw, 20px);
}
#mediderma .detail__main-disc__note {
  margin-top: min(3vw, 10px);
  font-size: 75%;
  margin-bottom: 30px;
}
#mediderma .detail__main-acc {
  display: grid;
  row-gap: min(3.5vw, 15px);
}
#mediderma .detail__main-acc dt {
  border-bottom: 1px solid #707070;
  position: relative;
  cursor: pointer;
  padding-bottom: min(2vw, 8px);
}
#mediderma .detail__main-acc dt:before {
  content: "";
  width: min(4.5vw, 15px);
  height: 1px;
  background-color: #716F6F;
  position: absolute;
  right: min(1vw, 3px);
  top: 50%;
  transform: translate(0, -50%);
}
#mediderma .detail__main-acc dt:after {
  content: "";
  width: 1px;
  height: min(4.5vw, 15px);
  background-color: #716F6F;
  position: absolute;
  right: min(3vw, 10px);
  top: 50%;
  transform: translate(0, -50%);
  transition: opacity 0.3s;
}
#mediderma .detail__main-acc dt.show:after {
  opacity: 0;
}
#mediderma .detail__main-acc dd {
  display: none;
}
#mediderma .detail__main-acc--row figure {
  margin-top: min(3vw, 10px);
}
#mediderma .detail__btns {
  max-width: 710px;
  margin-inline: auto;
  grid-area: detail__btns;
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: min(6vw, 20px);
       column-gap: min(6vw, 20px);
  padding-top: min(5vw, 50px);
}
@media screen and (max-width: 767px) {
  #mediderma .detail__btns {
    grid-template-columns: 1fr;
    row-gap: min(4vw, 15px);
  }
}
#mediderma .detail__btns a {
  
  max-width: 400px;
}
@media screen and (max-width: 767px) {
  #mediderma .detail__btns a {
    max-width: initial;
  }
}
#mediderma .detail__btns a img {
  background-color: #FFF;
  max-width: 100%;
  height: auto;
}


/*============================================================*/
/* ポイント共通 */
/*============================================================*/
#mediderma .point__title {
  text-align: center;
  color: #FFFFFF;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: clamp(46px, 6vw, 52px);
}
#mediderma .point__arrow {
  text-align: center;
  margin-top: min(4vw, 15px);
  margin-bottom: min(4vw, 15px);
}
#mediderma .point__lead {
  text-align: center;
  color: #FFFFFF;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: clamp(24px, 5vw, 36px);
  line-height: 1.4;
  margin-bottom: min(12vw, 40px);
}
#mediderma .point__lead small {
  font-size: 45%;
}


/*============================================================*/
/* コラム */
/*============================================================*/
#mediderma .column {
  background: url(../img/common/column_bg.webp) repeat center center;
  background-size: cover;
  padding: min(5vw, 60px);
}
#mediderma .column__box {
  max-width: 890px;
  margin-inline: auto;
  padding: min(6vw, 30px);
  background-color: #DFDFDF;
  border: 1px solid #707070;
  display: grid;
  justify-content: center;
}
#mediderma .column__box--title {
  text-align: center;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: clamp(26px, 5.6vw, 30px);
  margin-bottom: min(12vw, 40px);
}
#mediderma .column__box--title span {
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
  border: 2px solid #333333;
  padding: min(1.5vw, 3px) min(3vw, 10px) min(0.2vw, 3px) min(3vw, 10px);
}
@media screen and (max-width: 767px) {
  #mediderma .column__box--title span {
    display: inline-block;
    margin-bottom: 6vw;
  }
}
#mediderma .column__box--title br {
  display: none;
}
@media screen and (max-width: 767px) {
  #mediderma .column__box--title br {
    display: initial;
  }
}
#mediderma .column__box-cont {
  max-width: 760px;
  display: grid;
  grid-template-columns: 1fr 2fr;
  align-items: center;
  -moz-column-gap: min(9vw, 30px);
       column-gap: min(9vw, 30px);
  margin-bottom: min(6vw, 20px);
}
@media screen and (max-width: 767px) {
  #mediderma .column__box-cont {
    grid-template-columns: 1fr;
  }
}
#mediderma .column__box-cont--fig {
  text-align: center;
}
@media screen and (max-width: 767px) {
  #mediderma .column__box-cont--fig {
    margin-bottom: 5vw;
  }
}
#mediderma .column__box-cont--text {
  font-weight: 700;
  font-size: clamp(14px, 4.2vw, 18px);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  #mediderma .column__box-cont--text {
    line-height: 1.6;
  }
}
#mediderma .column__box-trouble {
  display: inline-block;
  background-color: #FFFFFF;
  padding: min(12vw, 24px);
}
#mediderma .column__box-trouble--title {
  display: grid;
  justify-content: center;
  margin-bottom: min(7vw, 25px);
}
#mediderma .column__box-trouble--title span {
  text-align: center;
  display: inline-block;
  font-weight: 700;
  font-size: clamp(18px, 4.2vw, 20px);
}
#mediderma .column__box-trouble--title span::after {
  margin-top: min(3vw, 6px);
  display: block;
  content: "";
  background-color: #3574D8;
  width: 100%;
  height: 2px;
}
#mediderma .column__box-trouble--list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  -moz-column-gap: min(6vw, 20px);
       column-gap: min(6vw, 20px);
  row-gap: min(3vw, 10px);
  font-weight: 700;
  font-size: clamp(14px, 4vw, 18px);
}
@media screen and (max-width: 767px) {
  #mediderma .column__box-trouble--list {
    display: grid;
    row-gap: 1vw;
  }
}
#mediderma .column__box-trouble--list li {
  display: grid;
  align-items: center;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
}
#mediderma .column__box-trouble--list li::before {
  display: block;
  content: "";
  width: min(9vw, 31px);
  height: min(7vw, 25px);
  background: url(../img/common/check-bl.webp) no-repeat center center;
  background-size: contain;
  margin-right: min(1vw, 3px);
}