@charset "UTF-8";

/*CSSDocument*/


/* share
===============================================================*/

.clearfix:after {
content: " ";  
display: block; 
visibility: hidden; 
clear: both; 
height: 0.1px; 
font-size: 0.1em; 
line-height: 0; 
}
.clearfix { display: inline-block; }
/* exlude MacIE5 \*/
* html .clearfix { height: 1% }
.clearfix {display:block;}
/* end MacIE5 */


.clear{ clear:both;}
@media screen and (max-width: 1200px) {
}

/* こんなお悩みありませんか？ */
.p-concernsBox {
  background-color: #fff6f6;
  padding: min(4vw, 30px) min(2.66vw, 20px) min(4vw, 30px) min(3.33vw, 25px);
  box-sizing: border-box;
  position: relative;
  z-index: 10;
  box-shadow: min(1.2vw, 9px) min(1.2vw, 9px) #faeeed;
}
.p-concernsBox ul {
  text-align: left;
  font-size: min(4vw, 30px);
  font-weight: 500;
  line-height: 1.86;
  letter-spacing: .16em;
  z-index: 13;
}
.p-concernsBox ul > li {
  padding-left: min(4.4vw, 33px);
  position: relative;
  box-sizing: border-box;
}
.p-concernsBox ul > li::before {
  position: absolute;
  content: '';
  left: 0;
  top: min(2.93vw, 22px);
  background-image: url('../images/icon_check.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: min(3.06vw, 23px);
  height: min(2.26vw, 17px);
}
.p-concernsBox ul > li + li {
  margin-top: min(4vw, 30px);
}
.p-concernsBox ul > li > span {
  display: inline-block;
  position: relative;
}
.p-concernsBox ul > li > span::after {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-image: url('../images/u_line.png');
  background-repeat: repeat-x;
  background-position: center;
  background-size: contain;
  width: auto;
  height: 1px;
}
.p-concernsArrow {
  width: min(2.8vw, 21px);
  margin: min(4vw, 30px) auto;
}
.p-concernsAHeading {
  font-size: min(5.33vw, 40px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .16em;
  margin-bottom: min(4.8vw, 36px);
  padding-bottom: min(7.2vw, 54px);
  box-sizing: border-box;
  position: relative;
}
.p-concernsAHeading::before {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-image: url('../images/balloon.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: min(14vw, 105px);
  height: min(7.2vw, 54px);
}
.p-concernsList {
  font-size: min(4vw, 30px);
  font-weight: 500;
  line-height: 1.46;
  letter-spacing: .16em;
  display: flex;
  flex-wrap: wrap;
}
.p-concernsList > li {
  background-color: #f2a8a6;
  width: calc((100% - min(4vw, 30px)) / 2);
  color: #fff;
  margin-left: min(4vw, 30px);
  border-radius: min(1.33vw, 10px);
  padding: min(4vw, 30px) min(2.66vw, 20px);
  box-sizing: border-box;
  box-shadow: min(.8vw, 6px) min(.53vw, 4px) #f6c6c5;
}
.p-concernsList > li:nth-of-type(2n+1) {
  margin-left: 0;
}
.p-concernsList > li:last-of-type {
  width: 100%;
}
.p-concernsList > li:nth-of-type(n+3) {
  margin-top: min(4vw, 30px);
}
.p-concernsCatch {
  font-size: min(5.6vw, 42px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .16em;
  margin-bottom: min(8vw, 60px);
}
.p-concernsCatch span {
  font-size: min(6.66vw, 50px);
  position: relative;
}
.p-concernsCatch span::after {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  bottom: max(-0.8vw, -6px);
  margin: auto;
  background-image: url('../images/deco_line_red.png');
  background-repeat: repeat-x;
  background-position: left center;
  background-size: contain;
  width: 96%;
  height: 2px;
}
.p-concernsCatch strong {
  color: #df9896;
}
.p-concernsTxtBlock {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(4.26vw, 32px);
  font-weight: 400;
  line-height: 2.09;
  letter-spacing: .16em;
  padding: min(9.33vw, 70px) 0 min(12vw, 90px);
  position: relative;
  margin-bottom: min(13.33vw, 100px);
}
.p-concernsTxtBlock::after {
  position: absolute;
  content: '';
  left: max(-5.33vw, -40px);
  top: 0;
  background: linear-gradient(150deg,  #df9896 0%,#f8d7b6 100%);
  opacity: 0.1;
  width: 81.34%;
  height: 100%;
}
.p-concernsTxtBlock p + p {
  margin-top: min(13.33vw, 100px);
}

/* 専門医による医療アプローチで解決します */
.p-point {
  background-image: url('../images/flare_bg.jpg');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;
  background-color: #fff7f7;
  padding: min(16vw, 120px) 0 min(13.33vw, 100px);
  box-sizing: border-box;
}
.p-pointVideoBlock {
  margin: min(6.66vw, 50px) auto;
}
.p-pointVideoBlock video {
  width: 100%;
  height: auto;
}
.p-pointCatch {
  font-size: min(5.6vw, 42px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .12em;
}
.p-pointCatch span {
  position: relative;
  display: inline-block;
}
.p-pointCatch span::before {
  position: absolute;
  content: '';
  left: max(-4.66vw, -35px);
  top: max(-3.33vw, -25px);
  background-image: url('../images/title_decoration.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: min(9.2vw, 69px);
  height: min(6.93vw, 52px);
}
.p-pointTxtBlock {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(4.26vw, 32px);
  font-weight: 400;
  line-height: 2.09;
  letter-spacing: .16em;
  margin-bottom: min(10.66vw, 80px);
}
.p-pointSub {

}
.p-pointSubHeadingBlock {
  color: #e58683;
  box-sizing: border-box;
  font-size: min(5.6vw, 42px);
  line-height: 1.59;
  letter-spacing: .12em;
  position: relative;
  -webkit-transform: translate(min(1.33vw, 10px), min(1.06vw, 8px));
  transform: translate(min(1.33vw, 10px), min(1.06vw, 8px));
}
.p-pointSubHeading {
  font-weight: 400;
  padding: min(2.4vw, 18px) min(4vw, 30px) min(4vw, 30px);
  background-color: #fff;
  z-index: -1;
}
.p-pointSubHeading::before {
  position: absolute;
  content: '';
  left: max(-1.33vw, -10px);
  top: max(-1.06vw, -8px);
  border: 2px solid #bababa;
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 10;
}
.p-pointList {
  margin-top: min(6vw, 45px);
  font-size: min(4vw, 30px);
  font-weight: 500;
  line-height: 1.46;
  letter-spacing: .16em;
  display: flex;
  flex-wrap: wrap;
}
.p-pointList > li {
  background-color: #fff;
  width: calc((100% - min(4vw, 30px)) / 2);
  margin-left: min(4vw, 30px);
  border-radius: min(1.33vw, 10px);
  padding: min(8vw, 60px) min(2.66vw, 20px) min(4vw, 30px);
  box-sizing: border-box;
  box-shadow: min(.8vw, 6px) min(.53vw, 4px) #f6c6c5;
  box-sizing: border-box;
}
.p-pointList > li:nth-of-type(2n+1) {
  margin-left: 0;
}
.p-pointList > li:last-of-type {
  width: 100%;
}
.p-pointList > li:nth-of-type(n+3) {
  margin-top: min(4vw, 30px);
}
.p-pointList > li span {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: min(11.73vw, 88px);
  position: relative;
}
.p-pointList > li span::before {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  top: max(-6vw, -45px);
  margin: auto;
  background-image: url('../images/point_list_deco.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: min(6vw, 45px);
  height: min(5.86vw, 44px);
}

/* 今なら特別価格で施術を受けられます */
.p-price {
  background: linear-gradient(to bottom,  #ffffff 0%,#fef7f1 50%,#f9eceb 100%);
  padding: min(16vw, 120px) 0 min(13.3vw, 100px);
}
.p-priceCatch {
  font-size: min(5.6vw, 42px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .12em;
  margin-bottom: min(8vw, 60px);
}
.p-priceCatch span {
  position: relative;
  display: inline-block;
}
.p-priceCatch span::before {
  position: absolute;
  content: '';
  left: max(-4.66vw, -35px);
  top: max(-3.33vw, -25px);
  background-image: url('../images/title_decoration.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: min(9.2vw, 69px);
  height: min(6.93vw, 52px);
}
.p-priceSub + .p-priceSub {
  margin-top: min(10.66vw, 80px);
}
.p-priceForYouTxt {
  font-size: min(4.8vw, 36px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .16em;
  margin-bottom: min(4vw, 30px);
}
.p-priceForYouTxt span {
  position: relative;
}
.p-priceForYouTxt span::after {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  bottom: max(-1.2vw, -9px);
  margin: auto;
  background-image: url('../images/deco_line_red.png');
  background-repeat: repeat-x;
  background-position: left center;
  background-size: contain;
  width: 100%;
  height: 2px;
}
.p-priceForYouTxt strong {
  color: #ed9593;
}
.p-priceTxt {
  font-size: min(4vw, 30px);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .1em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  text-align: left;
}
.p-priceSubHeading {
  background-color: #df9896;
  color: #fff;
  font-size: min(4.26vw, 32px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .1em;
  width: 100%;
  height: min(11.7vw, 88px);
  display: flex;
  justify-content: center;
  align-items: center;
  margin: min(6.66vw, 50px) auto min(1.33vw, 10px);
}
.p-priceList {
  border: 1px solid #cec7b6;
  padding: min(3.73vw, 28px) min(3.73vw, 28px) min(6.66vw, 50px);
  box-sizing: border-box;
  background-color: #fff;
}
.p-priceList > li {
  
}
.p-priceList > li + li {
  margin-top: min(3.33vw, 25px);
}
.p-priceListHeading {
  background-color: #ffefef;
  font-size: min(6.66vw, 50px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .16em;
  height: min(18.26vw, 137px);
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: min(4vw, 30px);
}
.p-priceListBasePrice {
  font-weight: 500;
  line-height: 1;
  letter-spacing: .06em;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: min(10.66vw, 80px);
  position: relative;
}
.p-priceListBasePrice::before,
.p-priceListBasePrice::after {
  position: absolute;
  content: '';
  margin: auto;
}
.p-priceListBasePrice::before {
  height: min(5.33vw, 40px);
  width: 2px;
  bottom: max(-8.8vw, -66px);
  background-color: #909090;
  right: min(14vw, 105px);
}
.p-priceListBasePrice::after {
  right: min(13.2vw, 99px);
  bottom: max(-8.8vw, -66px);
  margin: auto;
  content: "";
  vertical-align: middle;
  width: min(1.6vw, 12px);
  height: min(1.6vw, 12px);
  border-top: 2px solid #909090;
  border-right: 2px solid #909090;
  -webkit-transform: rotate(45deg);
  transform: rotate(135deg);
}
.p-priceListBasePrice__label {
  font-size: min(4vw, 30px);
  color: #909090;
  margin-right: min(2.66vw, 20px);
}
.p-priceListBasePrice__main {
  font-size: min(6.66vw, 50px);
  position: relative;
}
.p-priceListBasePrice__main::after {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  bottom: min(2.4vw, 18px);
  margin: auto;
  background-color: #57421d;
  width: 100%;
  height: min(.53vw, 4px);
}
.p-priceListBasePrice__main small {
  font-size: min(5.33vw, 40px);
}
.p-priceListDiscountedPrice {
  line-height: 1;
  color: #df9896;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
.p-priceListDiscountedPrice__label {
  font-size: min(4vw, 30px);
  font-weight: 500;
  letter-spacing: .06em;
  display: inline-block;
  border: 2px solid #df9896;
  padding: min(2vw, 15px) min(3.2vw, 24px) min(2vw, 15px) min(4vw, 30px);
  border-radius: min(1.33vw, 10px);
  box-sizing: border-box;
  margin-right: min(2.66vw, 20px) ;
}
.p-priceListDiscountedPrice__main {
  font-size: min(10.66vw, 80px);
  font-weight: 600;
  letter-spacing: .02em;
}
.p-priceListDiscountedPrice__main small {
  font-size: min(8vw, 60px);
}
.p-priceListTxt {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  margin-top: min(4.8vw, 36px);
  padding-bottom: min(5.6vw, 42px);
  font-size: min(4.26vw, 32px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .06em;
  text-align: left;
  position: relative;
}
.p-priceListTxt::after {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-image: url('../images/deco_line.png');
  background-repeat: repeat-x;
  background-position: left center;
  background-size: contain;
  width: 100%;
  height: 2px;
}
.p-priceListDiscountedPriceCaption {
  color: #909090;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: min(3.73vw, 28px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .2em;
  margin-top: min(2vw, 15px);
  text-align: right;
}
.p-priceListDescBlock {
  margin-top: min(4.8vw, 36px);
}
.p-priceListDescTxt {
  margin-top: min(6.66vw, 50px);
  font-size: min(4vw, 30px);
  font-weight: 500;
  line-height: 1.86;
  letter-spacing: .06em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
}
.p-priceListAnnotation {
  margin-top: min(1.33vw, 10px);
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: min(3.73vw, 28px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .06em;
  text-align: left;
}

/* アンケート結果 */
.p-questionnaire {
  padding: min(13.33vw, 100px) 0;
  box-sizing: border-box;
}
.p-questionnaireHeading {
  font-size: min(5.6vw, 42px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .12em;
  /* margin-bottom: min(2.66vw, 20px); */
}
.p-questionnaireHeading span {
  position: relative;
  display: inline-block;
}
.p-questionnaireHeading span::before {
  position: absolute;
  content: '';
  left: max(-4.66vw, -35px);
  top: max(-3.33vw, -25px);
  background-image: url('../images/title_decoration.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: min(9.2vw, 69px);
  height: min(6.93vw, 52px);
}
.p-questionnaireCatch {
  font-size: min(4.26vw, 32px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .12em;
  margin-bottom: min(6vw, 45px);
}
.p-questionnaireCatch strong {
  font-size: min(5.33vw, 40px);
  font-weight: 400;
  color: #df9896;
}
.p-questionnaireSub + .p-questionnaireSub {
  margin-top: min(8vw, 60px);
}
.p-questionnaireSubHeadingBlock {
}
.p-questionnaireSubHeading {
  background-color: #f5f5f5;
  min-height: min(10vw, 75px);
  font-size: min(4.26vw, 32px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .12em;
  text-align: left;
  padding: min(1.33vw, 10px) min(2.66vw, 20px) min(1.46vw, 11px) min(8vw, 60px);
  box-sizing: border-box;
  position: relative;
}
.p-questionnaireSubHeading::before {
  position: absolute;
  content: 'Q.';
  color: #df9896;
  top: min(1.33vw, 10px);
  left: min(2.66vw, 20px);
}
.p-questionnaireSubBody figure figcaption {
  font-size: min(3.73vw, 28px);
  font-weight: 400;
  line-height: 1.71;
  letter-spacing: .12em;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
}
.p-questionnaireSubList {
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: min(4vw, 30px);
  font-weight: 400;
  line-height: 1.86;
  letter-spacing: .12em;
  z-index: 13;
  padding: 0 min(2.66vw, 20px);
  margin: min(4vw, 30px) auto 0;
  box-sizing: border-box;
}
.p-questionnaireSubList > li {
  padding-left: min(4.4vw, 33px);
  position: relative;
  box-sizing: border-box;
  display: inline-block;
}
.p-questionnaireSubList > li::before {
  position: absolute;
  content: '';
  left: 0;
  top: min(2.93vw, 22px);
  background-image: url('../images/icon_check_red.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: min(3.06vw, 23px);
  height: min(2.26vw, 17px);
}
.p-questionnaireSubList > li + li {
  margin-top: min(2vw, 15px);
}
.p-questionnaireSubList > li::after {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-image: url('../images/u_line.png');
  background-repeat: repeat-x;
  background-position: center;
  background-size: contain;
  width: auto;
  height: 1px;
}
.p-questionnaireBox {
  border: 1px solid #cec7b6;
  padding: min(4.8vw, 36px) min(2.66vw, 20px);
  box-sizing: border-box;
  margin-top: min(6.66vw, 50px);
}
.p-questionnaireBoxInner {
  font-size: min(4.8vw, 36px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .12em;
  position: relative;
  padding-top: min(7.2vw, 54px);
  box-sizing: border-box;
}
.p-questionnaireBoxInner::before {
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
  background-image: url('../images/deco_heart.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: min(12vw, 90px);
  height: min(6.8vw, 51px);
}
.p-questionnaireBoxInner strong {
  color: #df9896;
  font-weight: 400;
}

.p-doctor {
  background-image: url('../images/flare_bg.jpg');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;
  background-color: #fff7f7;
  padding: min(16vw, 120px) 0 min(11.2vw, 84px);
  box-sizing: border-box;
}
.p-doctorHeading {
  font-size: min(5.6vw, 42px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .12em;
  margin-bottom: min(10vw, 75px);
}
.p-doctorHeading span {
  position: relative;
  display: inline-block;
}
.p-doctorHeading span::before {
  position: absolute;
  content: '';
  left: max(-4.66vw, -35px);
  top: max(-3.33vw, -25px);
  background-image: url('../images/title_decoration.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: min(9.2vw, 69px);
  height: min(6.93vw, 52px);
}
.p-doctorHeading strong {
  color: #da7774;
  font-weight: 400;
}
.p-doctorBox {
  background-color: #fff;
  margin-bottom: min(4vw, 30px);
  position: relative;
}
.p-doctorBoxDoctorImage {
  position: absolute;
  content: '';
  right: 0;
  bottom: 0;
  z-index: 10;
  width: min(34.26vw, 257px);
}
.p-doctorBoxHead {
  background-color: #df9896;
  color: #fff;
  width: 100%;
  height: min(15.33vw, 115px);
  font-size: min(5.6vw, 42px);
  font-weight: 400;
  line-height: 1.59;
  letter-spacing: .12em;
  display: flex;
  align-items: center;
  padding: min(2vw, 15px) min(3.33vw, 25px);
  box-sizing: border-box;
}
.p-doctorBoxBody {
  padding: min(3.2vw, 24px) min(3.33vw, 25px) min(6vw, 45px);
  box-sizing: border-box;
  position: relative;
  z-index: 12;
}
.p-doctorBoxList {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: min(3.73vw, 28px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: .12em;
  text-align: left;
}
.p-doctorBoxList > li + li {

}
.p-doctorCareerList {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: min(3.2vw, 24px);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: .12em;
  text-align: left;
}
.p-doctorCareerList > li {
  display: flex;
}
.p-doctorCareerList > li + li {
  margin-top: min(2.66vw, 20px);
}
.p-doctorCareerList__year {
  padding-right: min(5.33vw, 40px);
  width: min(20.66vw, 155px);
  box-sizing: border-box;
}
.p-doctorCareerList__content {
  width: calc(100% - min(20.66vw, 155px));
}
.p-doctorSnsList {
  margin-top: min(4vw, 30px);
  text-align: left;
}
.p-doctorSnsList > li + li {
  margin-top: min(2.66vw, 20px);
}
.p-doctorSnsListItem {
  font-size: min(3.2vw, 24px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .12em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  padding-left: min(6.66vw, 50px);
  position: relative;
}
.p-doctorSnsListItem.p-doctorSnsListItem--instagram{
}
.p-doctorSnsListItem.p-doctorSnsListItem--youtube{
}
.p-doctorSnsListItem::before {
  position: absolute;
  content: '';
  left: 0;
  bottom: 0;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-doctorSnsListItem.p-doctorSnsListItem--instagram::before {
  background-image: url('../images/icon_instagram.png');
  width: min(4vw, 30px);
  height: min(4vw, 30px);
  top: min(.66vw, 5px);
}
.p-doctorSnsListItem.p-doctorSnsListItem--youtube::before {
  background-image: url('../images/icon_youtube.png');
  width: min(4vw, 30px);
  height: min(3.06vw, 23px);
  top: min(.4vw, 3px);
}




.c-cta {
  background-image: url('../images/cta_bg.jpg');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding: min(8.66vw, 65px) 0 min(8.66vw, 65px);
  box-sizing: border-box;
}
.c-cta.c-cta--bottom {
  background-image: url('../images/cta_bg02.jpg');
}
.c-ctaBox {
  background-color: #fff;
  padding: min(6.66vw, 50px) min(3.33vw, 25px) min(4.66vw, 35px);
  width: min(89.6vw, 672px);
  border-radius: min(1.33vw, 10px);
  margin: 0 auto;
  box-sizing: border-box;
}
.c-ctaCatch {
  font-weight: 500;
  font-size: min(4.26vw, 32px);
  line-height: 1.6;
  letter-spacing: .06em;
  margin-bottom: min(4vw, 30px);
}
.c-ctaCatch span {
  position: relative;
}
.c-ctaCatch span::before {
  position: absolute;
  content: '';
  left: -4%;
  right: 0;
  bottom: max(-1.2vw, -9px);
  margin: auto;
  background-image: url('../images/deco_line.png');
  background-repeat: repeat-x;
  background-position: left center;
  background-size: contain;
  width: 96%;
  height: 2px;
}
.c-ctaCatch strong {
  color: #df9896;
  font-weight: 500;
}
a.c-ctaBtn {
  font-size: min(4.8vw, 36px);
  font-weight: 400;
  letter-spacing: .06em;
  line-height: 1.44;
  background-color: #72cfca;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: min(4vw, 30px) min(3.2vw, 24px);
  box-sizing: border-box;
  position: relative;
  margin: 0 auto;
  width: min(75.2vw, 564px);
  height: min(14.4vw, 108px);
  border-radius: 54px;
}
a.c-ctaBtn.c-ctaBtn--2lines {
  height: min(19.73vw, 148px);
  border-radius: 74px;
}
a.c-ctaBtn.c-ctaBtn--float {
  border-radius: 40px;
  width: min(89.33vw, 670px);
  height: 80px;
}
a.c-ctaBtn::before,
a.c-ctaBtn::after {
  position: absolute;
  content: '';
  top: 0;
  bottom: 0;
  margin: auto;
}
a.c-ctaBtn::before {
  width: min(3.6vw, 27px);
  height: 1px;
  background-color: #fff;
  right: min(4vw, 30px);
}
a.c-ctaBtn::after {
  right: min(4vw, 30px);
  margin: auto;
  content: "";
  vertical-align: middle;
  width: min(1.6vw, 12px);
  height: min(1.6vw, 12px);
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
a.c-ctaBtn.c-ctaBtn--float::before {
  right: min(4vw, 30px);
}
a.c-ctaBtn.c-ctaBtn--float::after {
  right: min(4vw, 30px);
}
@media screen and (max-width: 750px) {
  a.c-ctaBtn.c-ctaBtn--float {
    height: 50px;
    font-size: 20px;
    padding: 6px 35px;
    justify-content: center;
    max-width: 450px;
  }
}



