@charset "utf-8";
/* CSS Document */

@font-face {
  font-family: "Hiragino Mincho ProN", "游明朝", YuMincho,
    "ヒラギノ明朝 ProN W3", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-display: swap;
}
html {
  height: 100%;
  font-size: 62.5%;
}
body {
  padding-bottom: 200px!important;
  color: #333;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo","ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;
}
li {
  list-style: none;
  font-size: 17px;
  font-weight: bold;
}
img {
  display: block;
  width: 100%;
}
body p {
  text-align: center;
  font-size: 17px;
  line-height: 36px;
  margin-bottom: 30px;
}
video {
  width: 100%;
}
.wrap {
  position: relative;
  margin: 0 auto;
  padding: 0 20px;
}
.body_base {
  max-width: 750px;
  margin: 0 auto;
  padding: 50px 0 100px;
}
.content {
  margin-bottom: 50px;
}
.mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro",
    "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
.p14 {
  font-size: 14px;
}
.p16 {
  font-size: 16px;
}
.p18 {
  font-size: 18px;
}
.p20 {
  font-size: 20px;
}
.p22 {
  font-size: 22px;
}
.p24 {
  font-size: 24px;
}
.p26 {
  font-size: 26px;
}
.p28 {
  font-size: 28px;
}
.p30 {
  font-size: 30px;
}
.p32 {
  font-size: 32px;
}
.p34 {
  font-size: 34px;
}


.pd02 {
  padding: 0 2px;
}
.mb0 {
  margin-bottom: 0;
}
.mb10 {
  margin-bottom: 10px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb60 {
  margin-bottom: 60px;
}
.mb70 {
  margin-bottom: 70px;
}
.mb80 {
  margin-bottom: 80px;
}

.txt_left {
  text-align: left;
}
.doctor_p {
  font-size: 16px;
  line-height: 32px;
}

.mainVisual {
  padding-top: 100px;
}
.mainVisual img {
  width: 100%;
}
.title {
  margin: 0 0 20px;
  line-height: 32px;
}
.title span {
  background-position: 0 bottom;
}
.supervision {
  background-color: #f5f5f5;
  padding: 10px 0;
}
.supervision .wrap {
  padding: 0 20px;
}
.supervision ul {
  display: flex;
  justify-content: left;
  align-items: center;
}
.supervision ul li:first-child{
  margin-right: 10px;
}
.supervision ul li:last-child{
  width: 80%;
}
.supervision img {
  max-width: 74px;
}
.supervision p {
  text-align: left
}
.supervision p.sup_Top {
  margin-bottom: 2px;
  padding-bottom: 2px;
  font-size: 16px;
  line-height: initial;
  border-bottom: solid 1px #e3e3e3;
}
.supervision p.sup_low {
  margin-bottom: 0;
  font-size: 14px;
  font-weight: normal;
  line-height: 20px;
}
.warning_message {
  display: inline-block;
  width: 100%;
  background: linear-gradient(-405deg,#05000c 25%, #fde000 25%,#fde000 50%, #05000c 50%,#05000c 75%, #fde000 75%,#fde000);
  background-size: 40px 40px;
}
.warning_message p {
  margin: 16px;
  background-color: #FFF;
  text-align: center;
  font-size: 16px;
  line-height: 32px;
  padding: 18px 0;
}
.notTxt {
  text-decoration: line-through;
}
.imgborder {
  border: solid 1px #ececec;
  box-sizing: border-box;
}

/*header
================================================================================*/
header {
  position: fixed;
  top: 0;
  width: 100%;
  max-width: 750px;
  height: auto;
  margin: 0 auto;
  background-color: #FFF;
  box-shadow: 0px 2px 2px rgb(0 0 0 / 8%);
  z-index: 2;
}
header .header_wrap {
  padding: 12px 20px;
}
header a {
  display: block;
  max-width: 167.8px;
  margin: 0 auto;
 }
header img {
  display: block;
  width: 100%;
  max-width: 167.8px;
  margin: 0 auto;
}

/*floating_bnr
==================================================*/
.floating_bnr {
  position: fixed;
  bottom: 0;
  padding: 10px;
  z-index: 99;
}
.floating_bnr.hd_active {
  opacity: 1;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.floating_bnr a {
}
.floating_bnr a img {
}



/*チェックボックス
==================================================*/
#q_answers {
  width: 90%;
  margin: 0 auto 20px;
  border: solid 1px #ddd;
}
#q_answers .q_inner {
  padding: 20px;
}
#q_answers label{
  display: block;
  margin-bottom: 12px;
  font-size: 18px;
}
#q_answers input {
  margin-right: 4px;
}
#q_answers .q_title {
  margin-bottom: 25px;
  padding-bottom: 15px;
  color: #8e6748;
  font-size: 18px;
  font-weight: bold;
  line-height: 28px;
  border-bottom: solid 1px #eee;
 }
 #q_answers .q_answer {
   padding: 10px 0 0;
 }
 #q_answers .q_answer dl {
  border: solid 1px #8e674a;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
 }
 #q_answers .q_answer dl dt {
  padding: 10px 0;
  background-color: #8e674a;
  color: #FFF;
 }
 #q_answers .q_answer dl dd {
   padding: 10px 0;
   font-size: 18px;
 }

/*all
==================================================*/
.txtBold {
  font-weight: bold;
}
.txtCenter {
  text-align: center
}
.txtleft {
  text-align: left;
}
.txtColor_red {
  color: #F00;
}
.txtColor_pink {
  color: #d840ec;
}
.txtColor_blue {
  color: #0047b2;
}
.waveLine {
  /*text-decoration: underline wavy #f76072;}*/
}
ins {
  text-decoration-style: wavy;
  text-decoration-color: rgb(247, 96, 114);
}
.IB {
  display: inline-block;
}
.fade.u_line_blue {
  background: linear-gradient(to right, #cce0f5 50%, transparent 50%);
  background-position: 100% bottom;
  background-size: 200% 50%;
  background-repeat: no-repeat;
  transition: background-position 0.8s;
}
.u_line_yellow {
  background: linear-gradient(to right, #fffeab 50%, transparent 50%);
  background-position: 100% bottom;
  background-size: 200% 50%;
  background-repeat: no-repeat;
  transition: background-position 0.8s;
}
.u_line_red {
  background: linear-gradient(to right, #ffc9d2 50%, transparent 50%);
  background-position: 100% bottom;
  background-size: 200% 50%;
  background-repeat: no-repeat;
  transition: background-position 0.8s;
}
.u_line_gray {
  background: linear-gradient(to right, #bbb 50%, transparent 50%);
  background-position: 100% bottom;
  background-size: 200% 50%;
  background-repeat: no-repeat;
  transition: background-position 0.8s;
}

span.fade.in {
  background-position: 0% bottom;
  padding: 0 8px;
}

/*typeA
==================================================*/
.list_typeA {
  position: relative;
  margin-bottom: 20px;
  padding: 12px;
  background-image: url("https://pg-bra.com/upload/lp_temp/research/mens/images/list_typeA_bg.jpg");
  background-repeat: repeat;
}
.list_typeA img.aitem01 {
  position: absolute;
  top: -32px;
  right: 27px;
  max-width: 56px;
}
.list_typeA img.aitem03 {
  position: absolute;
  bottom: 12px;
  right: 27px;
  max-width: 56px;
}
.list_typeA ol li {
  margin-bottom: 6px;
}
.list_typeA ol li:last-child {
  margin-bottom: 0;
}
.list_typeA ul {
  padding: 20px 10px;
  line-height: 30px;
  background-color: #FFF;
}
/*typeB
================================================================================*/
.list_typeB {
  position: relative;
  margin-bottom: 48px;
  padding: 20px;
  line-height: 28px;
  background-color: #191970;
  text-align: left;
}
.list_typeB::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 30px 0 30px;
  border-color: #191970 transparent transparent transparent;
  position: absolute;
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
}
.list_typeB span {
  font-size: 20px;
  font-weight: bold;
  color: #FFF;
}

/*list_typeC
================================================================================*/
.list_typeC {
  margin-bottom: 30px;
  padding: 20px;
  background-color: #ffeded;
  border: solid 1px #ff9494;
}
.list_typeC .lists {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: solid 1px #ff9494;
}
.list_typeC p {
  margin: 0;
}
.list_typeC p.list_typeC_title {
  margin-bottom: 0;
  padding: 10px 0;
  font-size: 18px;
  font-weight: bold;
  line-height: 26px;
  text-align: left;
}
.list_typeC p.list_typeC_title span {
  background-position: 0 bottom;
}
.list_typeC p.list_typeC_txt {
  padding: 10px;
  text-align: left;
  border: solid 1px #ffe5e5;
  box-sizing: border-box;
  line-height: 26px;
  background-color: #fff8f8;
}
.list_typeC .content {
  margin-bottom: 0;
}


/*list_typeD
================================================================================*/
.list_typeD {
  padding: 0;
  background-color: #ef8c39;
  margin-bottom: 30px;
}
.list_typeD .article14_title img {
  display: block;
  width: 90%;
  margin: 0 auto 10px;
}
.list_typeD .article14_main {
  position: relative;
  padding-top: 20px;
}
.list_typeD .article14_item {
  position: absolute;
  top: 0;
  right: -10px;
  width: 30%;
  max-width: 180px;
}
.list_typeD .article14_item02 {
  position: absolute;
  bottom: -54px;
  right: 6px;
  max-width: 145px;
  width: 24%;
}
.list_typeD .article14_gif {
  border: solid 3px #FFF;
  box-sizing: border-box;
}
.list_typeD p {
  margin: 0;
  color: #FFF;
  text-align: left;
}


/*conversationA
==================================================*/
.conversationA {
  padding: 30px 10px;
  background-image: url("https://pg-bra.com/upload/lp_temp/research/mens/images/bconversation_bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}
.conversationA .conver_women_left {
  display: flex;
  justify-content: flex-start;
}
.conversationA .conver_women_right {
  display: flex;
  justify-content: flex-end;
}
.conversationA .conver_txt {
  position: relative;
  width: auto;
}
.conversationA .conver_women_left .conver_txt:before {
  content: "";
  position: absolute;
  top: 12px;
  left: -6px;
  border-right: 10px solid #FFF;
  border-bottom: 10px solid transparent;
  border-top: 10px solid transparent;
}
.conversationA .conver_women_right .conver_txt:before {
  content: "";
  position: absolute;
  top: 12px;
  left: 98.6%;
  border-left: 10px solid #FFF;
  border-bottom: 10px solid transparent;
  border-top: 10px solid transparent;
}
.conversationA .conver_txt p {
  position: relative;
  margin: 0;
  padding: 12px 10px;
  border-radius: 10px;
  background-color: #FFF;
  font-size: 15px;
  font-weight: bold;
  line-height: 22px;
  text-align: left;
  color: #3b3b3b;
}
.conversationA .conver_img {
  width: 55px;
}
.conversationA .conver_women_left .conver_img {
  margin-right: 10px;
  margin-bottom: 20px;
}
.conversationA .conver_women_right .conver_img {
  margin-left: 10px;
  margin-bottom: 20px;
}
.conversationA .conver_img img {
  border: solid 2px #FFF;
  border-radius: 50px;
  box-sizing: border-box;
}
.conversationA .conver_img span {
  display: block;
  padding: 2px 0;
  color: #FFF;
  font-size: 10px;
  text-align: center;
}


/*drop_btn
==================================================*/
.drop_btn {
  position: relative;
  margin-bottom: 80px;
  padding: 20px 25px 28px;
  border: solid 2px #f59db2;
  box-sizing: border-box;
  overflow: hidden;
}
.drop_btn p {
  margin-bottom: 4px;
  font-size: 16px;
  font-weight: bold;
  line-height: initial;
  letter-spacing: 0.1px;
}
.drop_btn span {
  display: block;
  background-color: #e25178;
  border-radius: 50px;
  text-align: center;
}
.drop_btn span a {
  display: block;
  padding: 20px 0;
  font-size: 20px;
  font-weight: bold;
  color: #FFF;
  line-height: 28px;
  text-decoration: none;
  letter-spacing: 0.16px;
  border-radius: 50px;
  box-shadow: 0 6px #810023;
}


/*光るボタン
================================================================================*/
.cvbtn::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: cvbtn 3s ease-in-out infinite;
}
@-webkit-keyframes cvbtn {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -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; }
}


/*userVoice
================================================================================*/
.userVoice {
  margin-bottom: 100px;
  padding: 20px;
  border: solid 1px #dedbd7;
  box-shadow: 4px 4px 4px rgb(0 0 0 / 8%);
  box-sizing: border-box;
}
.userVoice01 {
  margin-bottom: 30px;
}
.userVoice img {
  display: block;
  width: 60%;
  max-width: 270px;
  margin: 0 auto 20px;
}
.userVoice dl {
  margin-bottom: 15px;
}
.userVoice dl dt {
  margin-bottom: 10px;
  padding-bottom: 10px;
  font-size: 20px;
  font-weight: bold;
  border-bottom: solid 1px #a9a3a0;
}
.userVoice dl dd {
  font-size: 16px;
  text-align: justify;
}
.userVoice span {
  font-size: 12px;
  color: #b0b0b0;
}
.bnrArea a {
  display: block;
  border: solid 2px #F00;
  box-sizing: border-box;
}
.bnrArea img {
  display: block;
}
.txt_links {
  display: block;
  margin-bottom: 50px;
  text-align: right;
}


/* 口コミ
*************************************************/
.voice {
}
.voice .voice_con {
  position: relative;
  margin-bottom: 50px;
}
.voice .voice_con .voice_con_inner {
  margin-bottom: 6px;
  padding: 14px;
  border: solid 1px #0047b2;
  border-radius: 10px;
}
.voice .voice_con .voice_user {
  position: absolute;
  top: -20px;
  left: 20px;
  background-color: #265397;
  border-radius: 10px;
}
.voice .voice_con .voice_user span {
  position: relative;
  display: block;
  padding: 8px 25px;
  font-size: 16px;
  color: #FFF;
  font-weight: bold;
}
.voice .voice_con .voice_user span::before{
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 14px 0 14px;
  border-color: #265397 transparent transparent transparent;
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
}
.voice .voice_con .voice_img {
  margin-bottom: 10px;
}
.voice .voice_con .voice_txt {
  padding: 12px 0;
}
.voice .voice_con .voice_txt p {
  margin: 0;
  font-size: 16px;
  line-height: 28px;
  text-align: justify;
}
.voice .personal_txt {
  margin: 0;
  font-size: 10px;
  text-align: right;
  line-height: normal;
}

/*
*************************************************/
.offer_btn img {
  animation: anime01 1s ease 0s infinite alternate;
  transform-origin: center;
}
@keyframes anime01 {
  from {
    transform: scale(0.9, 0.9);
  }

  to {
    transform: scale(1, 1);
  }
}
/* inview
*************************************************/
.fadeIn_up {
  opacity: 0;
  transform: translate(0, 20%);
  transition: 1s;
  overflow: hidden;
}
.fadeIn_down {
  opacity: 0;
  transform: translate(0, -20%);
  transition: 1s;
  overflow: hidden;
}
.fadeIn_left {
  opacity: 0;
  transform: translate(-2%, 0);
  transition: 1s;
  overflow: hidden;
}
.fadeIn_right {
  opacity: 0;
  transform: translate(2%, 0);
  transition: 1s;
  overflow: hidden;
}
.fadeIn_up.is-show,
.fadeIn_down.is-show,
.fadeIn_left.is-show,
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 2;
}
.inview .article14_gif {
  display: block;
  max-width: 600px;
  width: 92%;
  margin: 0 auto 10px;
}

/* 揺れる文字
*************************************************/
.buruburu {
  display: inline-block;
  animation: hurueru .1s  infinite;
}
@keyframes hurueru {
  0% {transform: translate(0px, 0px) rotateZ(0deg)}
  25% {transform: translate(1px, 1px) rotateZ(1deg)}
  50% {transform: translate(0px, 1px) rotateZ(0deg)}
  75% {transform: translate(1px, 0px) rotateZ(0deg)}
  100% {transform: translate(0px, 0px) rotateZ(0deg)}
}


/* フェードインアウト
*************************************************/
.repeat-fadein-out {
  padding: 10px 0;
  background-color: #0047b2;
}
.repeat-fadein-out {
  animation-name: smooth-fadein-out;
  animation-duration: 1.5s;
  animation-timing-function: ease;
  animation-delay: 0s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
.repeat-fadein-out p.txttop {
  color: #FF0;
}
.repeat-fadein-out p.txtbottom {
  margin: 0;
  color: #FFF;
}

@keyframes smooth-fadein-out {
  0% {opacity: 0;}
  100% {opacity: 1;}
}


/* txt_flash
*************************************************/
.txt_flash{
  animation: flash 1s linear infinite;
}

@keyframes flash {
  0%,100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

/* footer
*************************************************/
footer {
  padding: 30px 0 10px;
  background-color: #ececec;
  text-align: center;
}
footer ul {
  margin-bottom: 10px;
}
footer ul li {
  margin-bottom: 10px;
}
footer ul li a {
  text-decoration: none;
  color: #3d3d3d;
}
footer p {
  font-size: 12px;
  line-height: normal;
  text-align: center;
  color: #9a9a9a;
}
