@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;
  width: 100%;
  background-color: #f2f2f2;
}
.content {
  width: 100%;
  max-width: 750px;
  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;
}

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%;
  vertical-align: bottom;
}

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

.summary {
  margin: calc(40/750*100vw) 0 calc(4/750*100vw);
}

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

.medicine {
  margin-bottom: calc(77/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: #2a7693;
  background-color: #f5f5f3;
}

.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?250122) 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?250122) 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: #2a7693;
}

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

.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(16/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;
}

.mv, .cv {
  overflow: hidden;
}

.cv {
  background: url(../img/bg_cv.png?260325) no-repeat top center / 100%;
}

.cv02{
  padding-bottom: min(calc(10/750 * 100vw), 10px)
}
.cv02 .FAQContents {
  height: min(calc(576/750 * 100vw), 576px);
}

.cv03{
  background: linear-gradient(to bottom, #53a3be 70%, #60aeca 100%);
  padding-bottom: 27px;
}
.btn_box {
  position: relative;
  top: calc(40/750*100vw);
  left: calc(30/750*100vw);
}

.cv .btn_box {
  top: 0;
}

.btn_set {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 1%;
  -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(220/750*100vw);
  max-width: 220px;
}

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

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

@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);
  }
}

/* タブ */
.FAQMenu {
	display: flex;
	list-style: none;
	padding: calc(30/750 * 100vw) 2.6% calc(34/750 * 100vw);
  background: #fff;
  margin: 0 2.7%;
}

.FAQMenu:nth-of-type(2) {
	margin-top: calc(40/750 * 100vw);
}

.FAQMenu li {
	flex-grow: 1;
	cursor: pointer;
}

.FAQMenu li:first-child {
	border-left: none;
}

.FAQContents {
  position: relative;
  height: min(calc(577/750 * 100vw), 577px);
  z-index: 1;
  background: #fff;
}
.FAQContents::before,
.FAQContents::after {
  content: '';
  height: 100%;
  width: calc(20/750 * 100vw);
  max-width: 20px;
  background: linear-gradient(to bottom, #479bb7, #60aeca) center top no-repeat;
  position: absolute;
  top: 0;
  z-index: 3;
}
.FAQContents::before {
  left: 0;
}
.FAQContents::after {
  right: 0;
}

.FAQContent {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media screen and (min-width: 751px) {
  .FAQMenu {
   padding: 30px 2.6% 33px;
  }
  .FAQContents {
    height: 577px;
    background: #fff;
  }
}

/* スライダー */
.FAQContent .horizontal-list {
  margin: 0 auto;
  padding: 0 calc(20 /  750 * 100vw);
}

.FAQContent .horizontal-list .slide_item {
  margin: 0 calc(12 /  750 * 100vw);
  box-shadow: 0 calc(6 /  750 * 100vw) calc(28 /  750 * 100vw) rgba(0,0,0,0.14);
}

.teiki-btn {
	background-image: url(../img/teiki_btn_off.png) ;
	width: 95%;
  max-width: 328px;
	height: calc(72/750 * 100vw);
  max-height: 72px;
	margin-right: 2%;
	background-size: 100%;
	background-repeat: no-repeat;
}

.teiki-btn.active {
	background-image: url(../img/teiki_btn_on.png);
}

.product-btn {
	background-image: url(../img/product_btn_off.png);
	width: 95%;
  max-width: 328px;
	height: calc(72/750 * 100vw);
  max-height: 72px;
	background-size: 100%;
	background-repeat: no-repeat;
}

.product-btn.active {
	background-image: url(../img/product_btn_on.png);
}

@media screen and (min-width: 751px) {
  .FAQContent .horizontal-list {
    padding: 0 20px;
  }
  .FAQContent .horizontal-list .slide_item {
    margin: 0 12px;
    box-shadow: 0 6px 28px rgba(0,0,0,0.14);
  }
}

.slick-list {
  overflow: visible;
}

.slick-slide img {
  width: 100%;
  margin: 0 auto;
}


/* slick dots */
.slick-dotted.slick-slider {
  margin-bottom: calc(80 / 750 * 100vw);
}

.slick-dots {
  bottom: calc(-62 / 750 * 100vw);
  left: 0;
}

.slick-dots li,
.slick-dots li button,
.slick-dots li button::before {
  width: calc(39 / 750 * 100vw);
  height: calc(20 / 750 * 100vw);
}

.slick-dots li button {
  padding: 0;
}

.slick-dots li button::before {
  font-size: calc(23 / 750 * 100vw);
  line-height: calc(20 / 750 * 100vw);
  color: #d4eef5;
}

.slick-dots li.slick-active button::before {
  color: #125778;
}

/* slick arrow */
.slick-prev,
.slick-next {
  z-index: 1;
}

.slick-prev {
  left: 8%;
}

.slick-next {
  right: 8%;
}

.slick-next,
.slick-prev {
  width: calc(62 / 750 * 100vw);
  height: calc(62 / 750 * 100vw);
}

.slick-next::before,
.slick-prev::before {
  content: "";
  display: block;
  width: calc(62 / 750 * 100vw);
  height: calc(62 / 750 * 100vw);
  opacity: 1;
}

.slick-prev::before  {
  background: url(../img/arrow_prev.png) no-repeat center / contain;
}

.slick-next::before {
  background: url(../img/arrow_next.png) no-repeat center / contain;
}

@media screen and (min-width: 751px) {
  .slick-prev,
  .slick-next {
    width: 62px;
    height: 62px;
  }
  
  .slick-next::before,
  .slick-prev::before {
    width: 62px;
    height: 62px;
  }

  .slick-dotted.slick-slider {
    margin-bottom: 80px;
  }

  .slick-dots {
    bottom: -62px;
    left: 0;
  }

  .slick-dots li,
  .slick-dots li button,
  .slick-dots li button::before {
    width: 39px;
    height: 20px;
  }
  .slick-dots li button::before {
    font-size: 23px;
    line-height: 20px;
  }
}



.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;
}

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

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

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

.step3.video_box video {
  top: calc(664/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;
}

/*------------------------------------
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:751px) {
  html {
    font-size: 24px;
  }

  main, footer {
    display: block;
    max-width: 750px;
    margin: 0 auto;
  }

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

  .summary {
    margin: 40px 0 4px;
  }

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

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

  .medicine {
    margin-bottom: 77px;
  }

  .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: 16px;
  }

  .btn_box {
    top: 40px;
    left: 30px;
  }

  .cv .btn_box {
    top: 0;
  }

  .btn_set .baloon {
    top: -18px;
    left: -12px;
  }

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


  .step1.video_box video {
    top: 664px;
  }

  .step2.video_box video {
    top: 600px;
  }

  .step3.video_box video {
    top: 664px;
  }

  .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: 20%;
  left: 12.5%;
  width: min(calc(352/750 * 100vw), 352px);
  cursor: pointer;
  text-align: center;
}
.js-modal-open02{
  left: 63.2%;
  bottom: 20%;
  width: min(calc(184/750 * 100vw), 184px);
}

.cv_single {
  position: relative;
}
.cv_single .btn_box {
  position: absolute;
  top: 45.7%;
  left: min(calc(260 / 750 * 100vw), 260px);
}
.cv_single .btn_set .cv_btn {
  width: calc(418 / 750 * 100vw);
  max-width: 418px;
}
.cv_single .js-modal-open { 
  width: min(calc(352 / 750 * 100vw), 352px);
  bottom: 18.5%;
  left: 12.5%;
}
.cv_single .js-modal-open02 { 
  width: min(calc(184 / 750 * 100vw), 184px);
  bottom: 18.5%;
  left: 63%;
}

.modal-close{
  display: block;
  position: absolute;
  width: 40px;
  height: 40px;
  background: #4496b0;
  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{
  top: 5%;
}
.modal_link02 .js-modal-open02{
  top: 8%;
}
@media only screen and (min-width: 751px) {
  /*モーダル*/
  .modal__content{
    font-size: 24px;
    padding: 0 0 14px 50px;
    width: 60%;
  }
  .modal_scroll{
    padding: 30px 30px 30px 0;
    max-height: 800px;
  }  
}