@charset 'UTF-8';

/* ===================================================================
CSS information
 file name  :  style.css
 style info :  ブライトエイジLP スタイル
=================================================================== */

*, ::before, ::after {
  box-sizing: border-box;
}

:focus {
  outline: none;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video
{
  font-size: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  vertical-align: baseline;
  border: 0;
  outline: 0;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

a {
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
}

ins {
  text-decoration: none;
  color: #000;
  background-color: #ff9;
}

mark {
  font-weight: 700;
  font-style: italic;
  color: #000;
  background-color: #ff9;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  cursor: help;
  border-bottom: 1px dotted;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

hr {
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #ccc;
}

input, select {
  vertical-align: middle;
}

html {
  font-family: 'ヒラギノ角ゴPro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', Arial, Helvetica, Verdana, sans-serif;
  font-size: calc((24vw/750)*100);
}

img {
  width: auto;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.wrap {
  width: 100%;
  max-width: 750px;
  margin: auto;
}

.talent {
  margin-bottom: 9.5%;
}

.summary {
  margin: -1px 0 2px;
}

.summary .content {
  padding: 0 calc(30/750*100vw) calc(65/750*100vw);
}

.medicine {
  margin-bottom: calc(94/750*100vw);
}

.medicine .content {
  padding: 0 calc(30/750*100vw);
}

.medicine .otc .content {
  padding: calc(54/750*100vw) 0 0 calc(28/750*100vw);
}

.medicine .otc .content2 {
  padding: 0 calc(30/750*100vw) calc(94/750*100vw);
}

.summary .ttl, .medicine .ttl {
  font-size: calc(38/750*100vw);
  font-weight: 400;
  position: relative;
  padding: calc(36/750*100vw) calc(30/750*100vw);
  color: #fff;
  background-color: #fd7281;
}

.summary .ttl::before, .medicine .ttl.open::before {
  float: right;
  width: calc(23/750*100vw);
  height: calc(38/750*100vw);
  content: '';
  background: url(../img/icon_minus.png) center center / contain no-repeat;
}

.summary .ttl::before, .medicine .ttl::before {
  margin-left: calc(10/750*100vw);
  transition: all .3s;
}

.summary .ttl.open::before {
  transform: rotate(-180deg);
}

.medicine .ttl.open::before {
  transform: rotate(180deg);
}

.summary .ttl::after, .medicine .ttl.open::after {
  font-size: calc(25/750*100vw);
  line-height: calc(38/750*100vw);
  float: right;
  content: '閉じる';
}

.summary .ttl.open::before, .medicine .ttl::before {
  float: right;
  width: calc(23/750 * 100vw);
  height: calc(38/750 * 100vw);
  content: '';
  background: url(../img/icon_plus.png) center center / contain no-repeat;
}

.summary .ttl.open::before, .medicine .ttl::before {
  margin-left: calc(10/750*100vw);
}

.summary .ttl.open::after, .medicine .ttl::after {
  font-size: calc(25/750*100vw);
  line-height: calc(38/750*100vw);
  float: right;
  content: '表示する';
  color: #fff;
}

.summary table, .medicine table {
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse;
  text-align: center;
  border: 1px solid #fd7281;
}

.summary table th, .summary table td, .medicine table th, .medicine table td {
  font-size: calc(24/750*100vw);
  display: block;
  width: 100%;
  border-top: none;
}

.summary table th, .medicine table th {
  padding: calc(23/750*100vw) 0 calc(24/750*100vw);
  background-color: #f3f3f3;
}

.summary table td, .medicine table td {
  line-height: 1.6;
  padding: calc(19/750*100vw) calc(23/750*100vw) calc(35/750*100vw);
  text-align: left;
  letter-spacing: .04em;
  color: #050818;
}

.summary .content h3 {
  font-size: calc(22/750*100vw);
  font-weight: 400;
  padding: calc(47/750*100vw) 0 calc(44/750*100vw);
  text-align: center;
}

.medicine .content h3 {
  font-size: calc(28/750*100vw);
  padding: calc(47/750*100vw) 0 calc(42/750*100vw);
  text-align: left;
}

ul.indent li, ul.indent li {
  padding-left: 1em;
  text-indent: -1em;
}

ul.indent_2 li, ul.indent_2 li {
  padding-left: 2.5em;
  text-indent: -2.5em;
}

sub {
  font-size: 60%;
}

.medicine .otc h2 {
  font-size: calc(28/750*100vw);
  line-height: 1.7;
  padding-right: calc(30/750*100vw);
}

.medicine .otc p {
  line-height: 1.5;
  margin-top: calc(17/750*100vw);
}

.medicine .otc h3 {
  line-height: 1.7;
  margin-top: calc(48/750*100vw);
  padding: 0;
}

.medicine .otc a {
  display: inline;
}

.medicine .otc .yoko {
  overflow-x: auto;
  margin-bottom: calc(26/750*100vw);
  white-space: nowrap;
  overflow-scrolling: touch;
  -webkit-overflow-scrolling: touch;
}

.medicine .otc .yoko img {
  max-width: none;
}

span.border {
  display: inline-block;
  padding: calc(9/750*100vw) calc(17/750*100vw);
  border: 1px solid #000;
}

.footer {
  padding: 0 0 calc(40/750*100vw);
}

.footer h1 {
  width: 42.6%;
  margin: 0 auto;
  padding: calc(28/750*100vw) 0 calc(20/750*100vw);
}

.footer p {
  font-size: calc(10/750*100vw);
  font-weight: 400;
  line-height: 2.5;
  text-align: center;
}

.footer a {
  text-decoration: underline;
  color: #9e1173;
}

.footer a:hover {
  text-decoration: none;
}
.ft_br {
  display: flex;
  justify-content: center;
}

.mv, .cv {
  overflow-x: hidden;
}

.btn_box {
  position: relative;
  top: calc(390/750*100vw);
  left: calc(30/750*100vw);
}

.cv .btn_box {
  margin-bottom: -1px;
  top: calc(25/750*100vw);
}

.btn_set {
  position: absolute;
  z-index: 1;
  margin-right: auto;
  margin-left: auto;
  -webkit-transform: translate3d(0, 0, 0);
  -webkit-animation-name: bounce;
  -moz-animation-name: bounce;
  animation-name: bounce;
  -webkit-animation-duration: 2s;
  -moz-animation-duration: 2s;
  -ms-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: ease-in;
  -moz-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
  -webkit-animation-iteration-count: infinite;
  -moz-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.btn_set .baloon {
  position: absolute;
  top: calc(-18/750*100vw);
  left: calc(-12/750*100vw);
  width: calc(227/750*100vw);
  max-width: 227px;
}

.cv .btn_set .baloon {
  top: calc(-15/750*100vw);
  left: calc(-17/750*100vw);
}

.btn_set .cv_btn {
  width: calc(690/750*100vw);
  max-width: 690px;
}

@keyframes bounce {
  20%, 53%, 80%, from, to {
    transform: translate3d(0, 0, 0);
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }

  40%,  43% {
    transform: translate3d(0, -12px, 0);
    animation-timing-function: cubic-bezier(.755, .050, .855, .060);
  }

  70% {
    transform: translate3d(0, -4px, 0);
    animation-timing-function: cubic-bezier(.755, .050, .855, .060);
  }

  90% {
    transform: translate3d(0, 0, 0);
  }
}
.anime_box {
  position: relative;
  width: 93.5%;
  margin: 0 auto;
  background: #fff;
  line-height: 0;
}

.anime_box video {
  width: 100%;
}
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

*::-webkit-media-controls-panel {
  display: none !important;
  -webkit-appearance: none;
}

*::--webkit-media-controls-play-button {
  display: none !important;
  -webkit-appearance: none;
}

*::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}

.step1.video_box, .step2.video_box, .step3.video_box {
  position: relative;
}
.step1.video_box {
  margin-bottom: 30px;
}

.step .video_box video {
  position: absolute;
  right: 0;
  left: 0;
  width: calc(480 / 750* 100vw);
  max-width: 480px;
  margin: 0 auto;
}

.step1.video_box video {
  top: calc(390/750*100vw);
}

.step2.video_box video {
  top: calc(453/750*100vw);
}

.step3.video_box video {
  top: calc(514/750*100vw);
}

.shimi .video_box video {
  width: 100%;
}
.shimi .video_box {
  margin-top: min(calc(-17/1000 * 100vw), -17px);
  padding-bottom: min(calc(34/1000 * 100vw), 34px);
  z-index: -1;
  position: relative;
}

.medicine .otc .yoko img {
  width: calc(1352/750*100vw);
}

.img_store1 {
  width: calc(514/750*100vw);
  max-width: 514px;
  margin: 0 auto;
}

.img_store2 {
  width: calc(517/750*100vw);
  max-width: 517px;
  margin: 0 auto;
}

.img_store3 {
  width: calc(536/750*100vw);
  max-width: 536px;
  margin: 0 auto;
}

@media screen and (min-width: 751px) {
  main, footer {
    display: block;
    max-width: 1000px;
    margin: 0 auto;
  }

  body {
    width: 100%;
    background-color: #f2f2f2;
  }
  
  .content {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    background-color: #fff;
    -webkit-box-shadow: 0 0 10px 2px #d6d6d6;
    -moz-box-shadow: 0 0 10px 2px #d6d6d6;
    box-shadow: 0 0 10px 2px #d6d6d6;
  }
  .btn_set .baloon {
    top:  calc(-16/1000*100vw);
    left:  calc(-1/1000*100vw);
    width: calc(206/1000*100vw);
    max-width: 206px;
  }

  .cv .btn_set .baloon {
    top: -16px;
    left: 0px;
    width: calc(204 / 1000* 100vw);
    max-width: 204px;
  }
  .cv .btn_box {
    top: min(calc(14/1000 * 100vw), 14px);
  }
  
  .btn_set .cv_btn {
    width: calc(940/1000*100vw);
    max-width: 940px;
  }
  .btn_box {
    top: min(calc(265/1000 * 100vw), 265px);
    left: 30px;
  }
  .talent {
    margin-bottom: 5%;
  }

  .shimi p {
    position: relative;
    z-index: 1;
  }
  .shimi .video_box video {
    width: min(calc(750/1000 * 100vw), 750px);
    margin: 0% 12.5%;
  }
  .shimi .video_box {
    margin-top: min(calc(-9 / 1000* 100vw), -9px);
    padding-bottom: min(calc(27 / 1000* 100vw), 27px);
    z-index: 0;
  }
  .shimi .video_box::after {
    content: '';
    background-image: url(../img/imgWoman_pc.png);
    background-repeat: no-repeat;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: min(calc(286 / 1000* 100vw), 286px);
    height: min(calc(358 / 1000* 100vw), 358px);
    position: absolute;
    bottom: 7%;
    right: 0;
  }

  .step .video_box video {
    width: min(calc(338 / 1000* 100vw), 338px);
    max-width: 338px;
    margin: 0;
  }
  .step1.video_box video {
    top: min(calc(208 / 1000* 100vw), 208px);
    left: min(calc(520 / 1000* 100vw), 520px);
  }

  .step2.video_box video {
    top: min(calc(275 / 1000* 100vw), 275px);
    left: min(calc(140 / 1000* 100vw), 140px);
  }

  .step3.video_box video {
    top: min(calc(330 / 1000* 100vw), 330px);
    left: min(calc(502 / 1000* 100vw), 502px);
  }
  .step1.video_box {
    margin-bottom: 0;
  }

  footer .logo {
    margin-top: 44px;
    margin-bottom: 21px;
    border-top: 5px solid #e7d4e2;
    padding-top: 40px;
}
  .ft_br {
    display: inline;
  }
  
}

/*------------------------------------
modal
------------------------------------*/
.modal_box {
  font-size: calc(26/750*100vw);
  line-height: 1.4;
  position: relative;
  box-sizing: border-box;
  width: calc(670/750*100vw);
  max-width: 670px;
  margin: 0 auto;
  background: #fff;
}

.modal_box .mfp-close {
  line-height: calc(33/750*100vw);
  top: calc(17/750*100vw);
  right: calc(16/750*100vw);
  width: calc(33/750*100vw);
  height: calc(33/750*100vw);
}

.modal_box .mfp-close:active {
  top: calc(17/750*100vw);
}

.modal_box button.mfp-close * {
  pointer-events: none;
}

.modal_box .content {
  padding: calc(66/750*100vw) calc(26/750*100vw) calc(50/750*100vw);
}

.modal_box .note {
  text-align: center;
  margin-bottom: calc(26/750*100vw);
}

.modal_box h3 {
  font-weight: normal;
  margin: calc(26/750*100vw) 0;
  text-align: center;
}

.modal_box .note_box {
  overflow-y: auto;
  height: calc(315/670*100vw);
  max-height: 315px;
  margin: 0 auto calc(30/750*100vw);
  padding: calc(24/750*100vw);
  background: lightgray;
}

.modal_box .note_box table {
  font-size: 90%;
  line-height: 1.3;
  text-align: center;
  white-space: normal;
}

.modal_box .note_box table th {
  font-weight: normal;
  line-height: 1.5;
  padding: 5px;
  border: 1px solid #696969;
  background-color: #eee;
}

.modal_box .note_box table td {
  line-height: 1.5;
  padding: 5px;
  border: 1px solid #696969;
}

.modal_box input[type='text'] {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  box-sizing: border-box;
  width: 100%;
  height: calc(98/750*100vw);
  margin: calc(28/750*100vw) auto calc(38/750*100vw);
  padding: calc(10/750*100vw) calc(15/750*100vw);
  border: 0;
  border: solid 1px #ccc;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

.modal_btn_box {
  text-align: center;
}

.modal_btn_box input {
  margin-bottom: calc(24/750*100vw);
}

.modal_btn_box input, .modal_box .btnback img {
  width: calc(520/670*100vw);
  max-width: 520px;
}

@media screen and (min-width:765px) {
  html {
    font-size: 24px;
  }


  a[href*='tel:'] {
    cursor: default;
    text-decoration: none;
    pointer-events: none;
  }

  .summary .content {
    padding: 0 27px 65px;
  }

  .medicine .content {
    padding: 0 28px;
  }

  .medicine {
    margin-bottom: 94px;
  }

  .medicine .otc .content {
    padding: 54px 0 0 28px;
  }

  .medicine .otc .content2 {
    padding: 0 30px 94px;
  }

  .summary .ttl, .medicine .ttl {
    font-size: 38px;
    padding: 36px 30px;
  }

  .summary .ttl::before, .medicine .ttl::before {
    width: 23px;
    height: 38px;
    margin-left: 14px;
  }

  .summary .ttl::after, .medicine .ttl::after {
    font-size: 25px;
    line-height: 38px;
  }

  .summary .ttl.open::before, .medicine .ttl.open::before {
    width: 23px;
    height: 38px;
  }

  .summary .ttl.open::after, .medicine .ttl.open::after {
    font-size: 25px;
    line-height: 38px;
  }

  .summary table th, .summary table td, .medicine table th, .medicine table td {
    font-size: 24px;
  }

  .summary table th, .medicine table th {
    padding: 23px 0 24px;
  }

  .summary table td, .medicine table td {
    padding: 19px 23px 35px;
  }

  .summary .content h3 {
    font-size: 22px;
    padding: 47px 0 44px;
  }

  .medicine .content h3 {
    font-size: 28px;
    padding: 47px 0 42px;
  }

  sub {
    font-size: 60%;
  }

  .medicine .otc h2 {
    font-size: 28px;
    padding-right: 38px;
  }

  .medicine .otc p {
    margin-top: 17px;
  }

  .medicine .otc h3 {
    margin-top: 48px;
    padding: 0;
  }

  .medicine .otc .yoko {
    margin-bottom: 26px;
  }

  span.border {
    padding: 9px 17px;
  }

  .footer {
    padding: 0 0 40px;
  }

  .footer h1 {
    padding: 28px 0 20px;
  }

  .footer p {
    font-size: 12px;
  }

  


  

  .medicine .otc .yoko img {
    width: auto;
  }

  .modal_box {
    font-size: 26px;
  }

  .modal_box .mfp-close {
    line-height: 33px;
    top: 17px;
    right: 16px;
    width: 33px;
    height: 33px;
  }

  .modal_box .mfp-close:active {
    top: 17px;
  }

  .modal_box .content {
    padding: 66px 26px 50px;
  }

  .modal_box .note {
    margin-bottom: 26px;
  }

  .modal_box h3 {
    margin: 26px 0;
  }

  .modal_box .note_box {
    margin: 0 auto 30px;
    padding: 24px;
  }

  .modal_box input[type='text'] {
    height: 98px;
    margin: 28px auto 38px;
    padding: 10px 15px;
  }

  .modal_btn_box input {
    margin-bottom: 24px;
  }
}
/*モーダル*/
.modal{
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 9;
}
.modal__bg{
  position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 40px 20px;
	overflow: auto;
  box-sizing: border-box;
}
.modal__content{
  background: #fff;
	text-align: left;
	padding: 14px 0 14px 30px;
  width: 85%;
  position: relative;
  top: 50%;
  left: 50%;
  z-index: 8;
  font-size: calc(24/750 * 100vw);
  transform: translate(-50%,-50%);
}
.modal_scroll{
  max-height: 500px;
  overflow-y: auto;
  padding: 0 30px 0 0;
}
.js-modal-open{
  position: absolute;
  bottom: 17%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: calc(269/750 * 100vw);
  cursor: pointer;
  text-align: center;
}
.js-modal-open02{
  bottom: 9%;
  width: calc(204/750 * 100vw);
}
.btn_box .js-modal-open{
  top: 0;
}
.btn_box .js-modal-open02{
  bottom: 68%;
}
.modal-close{
  display: block;
  position: absolute;
  width: 40px;
  height: 40px;
  background: #e11874;
  border-radius: 50%;
  top: -5%;
  right: -5%;
  z-index: 9;
  cursor: pointer;
}
.modal-close::before, .modal-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px; /* 棒の幅（太さ） */
  height: 20px; /* 棒の高さ */
  background: #fff; /* バツ印の色 */
}
.modal-close::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
.modal-close::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}
.modal__content p{
  margin: 16px auto;
  line-height: 1.6;
}
p.modal-close{
  margin: 0;
}
.modal_link{
  position: relative;
}
.modal_link02 .js-modal-open{
  bottom: 85%;
}
.modal_link02 .js-modal-open02{
  bottom: 71%;
}
@media only screen and (min-width: 751px) {
  /*モーダル*/
  .modal__content{
    background: #fff;
    text-align: left;
    padding: 0 0 14px 50px;
    width: 70%;
    max-width: 960px;
    position: relative;
    top: 50%;
    left: 50%;
    z-index: 8;
    font-size: min(calc(18 / 750* 100vw), 18px);
    transform: translate(-50%, -50%);
  }
  .modal_scroll{
    padding: 30px 30px 30px 0;
    max-height: 800px;
  }  
  .modal-close {
    top: -4%;
    right: -2%;
  }

  .js-modal-open{
    bottom: 17%;
    width: calc(222/1000 * 100vw);
  }
  .js-modal-open02{
    bottom: 7.5%;
    width: calc(222/1000 * 100vw);
  }
}