@charset 'UTF-8';

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

/* ------------------------
	common
------------------------ */
*, ::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: min(calc(24/750*100vw), 24px);
}

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

.content {
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	background-color: #fff;
	box-shadow: 0 0 10px 2px #d6d6d6;
  overflow: hidden;
}

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

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

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

.medicine {
  margin-bottom: min(calc(77/750*100vw), 77px);
}

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

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

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

.summary .ttl, .medicine .ttl {
  font-size: min(calc(38/750*100vw), 38px);
  font-weight: 400;
  position: relative;
  padding: min(calc(36/750*100vw), 36px) min(calc(30/750*100vw), 30px);
  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 {
  width: min(calc(36/750*100vw), 36px);
  height: min(calc(36/750*100vw), 36px);
  margin: 0 min(calc(34/750*100vw), 34px) 0 min(calc(20/750*100vw), 20px);
  transition: all .3s;
}

.summary .ttl::after, .medicine .ttl::after {
  font-size: min(calc(24/750*100vw), 24px);
}

.summary .ttl.open::before, .medicine .ttl.open::before {
  width: min(calc(36/750*100vw), 36px);
  height: min(calc(36/750*100vw), 36px);
}

.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: min(calc(24/750*100vw), 24px);
  display: block;
  width: 100%;
  border-top: none;
}

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

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

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

.medicine .content h3 {
  font-size: min(calc(28/750*100vw), 28px);
  padding: min(calc(47/750*100vw), 47px) 0 min(calc(44/750*100vw), 44px);
  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: min(calc(28/750*100vw), 28px);
  line-height: 1.7;
  padding-right: min(calc(30/750*100vw), 30px);
}

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

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

.medicine .otc a {
  display: inline;
}

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

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

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

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

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

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

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

/* ------------------------
	cv
------------------------ */
.cv {
  background: url(../img/cv_bg.png) top center / 100%;
}

.cv .btn_box {
  position: relative;
  top: 0;
  left: min(calc(30/750*100vw), 30px);
}

.btn_set {
  position: absolute;
  z-index: 1;
  left: 3%;
  -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 .cv_btn {
  width: min(calc(675/750*100vw), 675px);
}

@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;
	align-items: flex-end;
	list-style: none;
	padding: min(calc(24/750 * 100vw), 24px) 0 0;
  margin: 0 min(calc(75/750 * 100vw), 75px);
}

.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(517/750 * 100vw), 517px);
  z-index: 1;
}
.FAQContents::before,
.FAQContents::after {
  content: '';
  height: 100%;
  width: min(calc(20/750 * 100vw), 20px);
  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;
  visibility: hidden;
}

.FAQContent.active {
  visibility: visible;
}

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

.FAQContent .horizontal-list .slide_item {
  margin: 0 min(calc(12/750 * 100vw), 12px);
}

.teiki-btn {
	background-image: url(../img/teiki_btn_off.png) ;
	width: min(calc(300/750 * 100vw), 300px);
	height: min(calc(70/750 * 100vw), 70px);
	margin-right: min(calc(10/750 * 100vw), 10px);
	margin-bottom: min(calc(6/750 * 100vw), 6px);
	background-size: 100%;
	background-repeat: no-repeat;
}

.teiki-btn.active {
	background-image: url(../img/teiki_btn_on.png);
	height: min(calc(90/750 * 100vw), 90px);
	margin-bottom: 0;
}

.product-btn {
	background-image: url(../img/product_btn_off.png);
  width: min(calc(290/750 * 100vw), 290px);
	height: min(calc(70/750 * 100vw), 70px);
	margin-bottom: min(calc(6/750 * 100vw), 6px);
	background-size: 100%;
	background-repeat: no-repeat;
}

.product-btn.active {
	background-image: url(../img/product_btn_on.png);
	height: min(calc(90/750 * 100vw), 90px);
	margin-bottom: 0;
}

.slick-list {
  overflow: hidden;
}

.slick-slide img {
  width: min(calc(600/750*100vw), 600px);
  margin: 0 auto;
}

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

.slick-prev {
  left: 6%;
}

.slick-next {
  right: 6%;
}

.slick-next,
.slick-prev {
  width: min(calc(60 / 750 * 100vw), 60px);
  height: min(calc(60 / 750 * 100vw), 60px);
  top: 49%;
}

.slick-next::before,
.slick-prev::before {
  content: "";
  display: block;
  width: min(calc(60 / 750 * 100vw), 60px);
  height: min(calc(60 / 750 * 100vw), 60px);
  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;
}

/*------------------------------------
modal
------------------------------------*/
.cv .modal-link-list {
  position: absolute;
  bottom: min(calc(64/750 * 100vw), 64px);
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: min(calc(60/750 * 100vw), 60px);
	width: 100%;
}

.cv .modal-link-list li {
	display: flex;
}

.cv .modal-link-list .js-modal-open,
.cv .modal-link-list .js-modal-open02 {
	position: static;
	transform: none;
	-webkit-transform: none;
	-ms-transform: none;
	bottom: auto;
	left: auto;
}

.modal_box {
  font-size: min(calc(26/750*100vw), 26px);
  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: min(calc(33/750*100vw), 33px);
  top: min(calc(17/750*100vw), 17px);
  right: min(calc(16/750*100vw), 16px);
  width: min(calc(33/750*100vw), 33px);
  height: min(calc(33/750*100vw), 33px);
}

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

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

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

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

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

.modal_box .note_box {
  overflow-y: auto;
  height: calc(315/670*100vw);
  max-height: 315px;
  margin: 0 auto min(calc(30/750*100vw), 30px);
  padding: min(calc(24/750*100vw), 24px);
  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: min(calc(98/750*100vw), 98px);
  margin: min(calc(28/750*100vw), 28px) auto min(calc(38/750*100vw), 38px);
  padding: min(calc(10/750*100vw), 10px) min(calc(15/750*100vw), 15px);
  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: min(calc(24/750*100vw), 24px);
}

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

@media screen and (min-width:765px) {
  a[href*='tel:'] {
    cursor: default;
    text-decoration: none;
    pointer-events: none;
  }

  sub {
    font-size: 60%;
  }

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

/*モーダル*/
.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: 2em 1.8em;
  width: 85%;
  position: relative;
  top: 50%;
  left: 50%;
  z-index: 8;
  font-size: min(calc(24 / 750 * 100vw), 24px);
  transform: translate(-50%,-50%);
}
.modal_scroll{
  max-height: 500px;
  overflow-y: auto;
  padding: 0 min(calc(30 / 750 * 100vw), 30px) 0 0;
}
.js-modal-open{
  position: absolute;
  bottom: 16%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: min(calc(259 / 750 * 100vw), 259px);
  cursor: pointer;
  text-align: center;
}
.js-modal-open02{
  bottom: 8%;
  width: min(calc(197 / 750 * 100vw), 197px);
}
.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: #df3451;
  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{
    width: 60%;
  }
}

/* ------------------------
	fv
------------------------ */
.fv {
	background: url(../img/fv_bg.png) no-repeat center / 100%;
}

/* ------------------------
	series
------------------------ */
.series {
	background: url(../img/series_bg.png) no-repeat center / 100%;
}

/* ------------------------
	catch
------------------------ */
.catch {
  padding: min(calc(90 / 750 * 100vw), 90px) 0 0 0;
  overflow: hidden;
  position: relative;
	background: url(../img/catch_bg.png) no-repeat center / 100%;
}

.catch .catch_slide {
	display: flex;
	width: max-content;
	animation: marquee 20s linear infinite;
}

.catch .catch_slide02{
	animation: marquee_left 20s linear infinite;

}
.catch .catch_slide>p {
	flex-shrink: 0;
	width: min(calc(400/750 * 100vw), 400px);
	margin: 0 min(calc(20/750 * 100vw), 20px) 0 0;
  box-shadow: min(calc(15/750 * 100vw), 15px) min(calc(26/750 * 100vw), 26px) min(calc(20/750 * 100vw), 20px) 0px rgba(141, 164, 185, 0.2);
  border-radius: min(calc(10/750 * 100vw), 10px);
}

@keyframes marquee {
	0% {
		transform: translateX(-50%);
	}

	100% {
		transform: translateX(0);
	}
}

@keyframes marquee_left {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

/* ------------------------
	nayami
------------------------ */
.nayami {
	background: url(../img/nayami_bg.png) no-repeat top center / 100%, url(../img/nayami_bg_bottom.png) no-repeat bottom center / 100% auto;
}

.nayami_more {
  margin-top: max(calc(-96/750*100vw), -96px);
}

.nayami_more p:last-child {
  position: relative;
  z-index: 2;
}

.nayami .circle_box,
.nayami .text_circle_box {
  width: 100%;
  position: relative;
  z-index: 1;
}

.nayami .circle {
  width: min(calc(129/750*100vw), 129px);
  height: min(calc(129/750*100vw), 129px);
  position: absolute;
  top: min(calc(65/750*100vw), 65px);
  left: min(calc(195/750*100vw), 195px);
  animation: rotate 20s linear infinite;
}

.nayami .circle02 {
  top: min(calc(14/750*100vw), 14px);
  left: min(calc(573/750*100vw), 573px);
}

.nayami .text_circle {
  width: min(calc(450/750*100vw), 450px);
  height: min(calc(450/750*100vw), 450px);
  position: absolute;
  top: min(calc(44/750*100vw), 44px);
  left: max(calc(-68/750*100vw), -68px);
  animation: rotate 20s linear infinite;
  overflow: hidden;
}

.nayami .text_circle02 {
  top: min(calc(412/750*100vw), 412px);
  left: min(calc(360/750*100vw), 360px);
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* ------------------------
	kaihatsu
------------------------ */
.kaihatsu {
  margin-top: max(calc(-105/750*100vw), -105px);
}

/* ------------------------
	step
------------------------ */
.step {
	background: url(../img/step_bg.png) no-repeat top center / 100%;
}

.step1.video_box, .step2.video_box, .step3.video_box {
  position: relative;
}

.step .video_box video {
  position: absolute;
  right: 0;
  left: 0;
  width: min(calc(560/750*100vw), 560px);
  height: min(calc(315/750*100vw), 315px);
  margin: 0 auto;
  object-fit: cover;
}

.step1.video_box video {
  top: min(calc(533/750*100vw), 533px);
}

.step2.video_box video {
  top: min(calc(473/750*100vw), 473px);
}

.step3.video_box video {
  top: min(calc(636/750*100vw), 636px);
}

/* ------------------------
	catch_02
------------------------ */
.catch_02 {
  margin-top: max(calc(-37/750*100vw), -37px);
  padding-bottom: min(calc(581/750*100vw),581px);
	background: url(../img/catch_02_bg.png) no-repeat bottom center / 100%;
}

/* ------------------------
	seibun
------------------------ */
.seibun {
	background: url(../img/seibun_bg.png) no-repeat top center / 100%;
}

/* ------------------------
	approach
------------------------ */
.approach {
  padding-bottom: min(calc(203/750*100vw), 203px);
	background: url(../img/approach_bg.png) no-repeat top center / 100%;
  overflow: hidden;
}

.approach .approach_slide {
	display: flex;
	width: max-content;
	animation: marquee 20s linear infinite;
}

.approach .approach_slide02 {
	animation: marquee_left 20s linear infinite;
  margin-top: min(calc(46/750*100vw), 46px);
}

.approach .approach_slide>p {
	flex-shrink: 0;
	width: min(calc(320/750 * 100vw), 320px);
	margin: 0 min(calc(10/750 * 100vw), 10px) 0 0;
}

/* ------------------------
	point
------------------------ */
.point {
  margin-top: max(calc(-58/750*100vw), -58px);
	background: url(../img/point_bg.png) no-repeat top min(calc(58/750*100vw), 58px) center / 100%, url(../img/kodawari_bg.png) no-repeat bottom center / 100% auto;
}

/* ------------------------
	faq
------------------------ */
.faq {
	padding-bottom: min(calc(80/750 * 100vw), 80px);
}
.faq-box + .faq-box {
  margin-top: min(calc(40/750 * 100vw), 40px);
}

.faq-box dt {
  position: relative;
  cursor: pointer;
}

.faq-box dt::before,
.faq-box dt::after {
  content: '';
  cursor: inherit;
  background-color: #542c1d;
  width: min(calc(36/750 * 100vw), 36px);
  height: min(calc(3/780 * 100vw), 3px);
	position: absolute;
	right: min(calc(75/750 * 100vw), 75px);
	top: 50%;
	border-radius: 5%;
  transition: all .5s;
  transform: translateY(-50%);
}
.faq-box dt::before {
	transform: rotate(0deg);
}
.faq-box dt::after {
	transform: rotate(90deg);
	opacity: 1;
}
.faq-box dt.open::after {
  transform: rotate(180deg);
	opacity: 0;
}

/* ------------------------
	tokuten
------------------------ */
.tokuten {
	background: url(../img/tokuten_bg.png) no-repeat top center / 100%;
}

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

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

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

.footer a:hover {
  text-decoration: none;
}