@charset "UTF-8";
/**************************************************
		Reset
**************************************************/
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700,900&display=swap&subset=japanese");
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"), local("游ゴシック Medium");
  font-weight: 100;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"), local("游ゴシック Medium");
  font-weight: 200;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"), local("游ゴシック Medium");
  font-weight: 300;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"), local("游ゴシック Medium");
  font-weight: 400;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium"), local("游ゴシック Medium");
  font-weight: 500;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold"), local("游ゴシック Bold");
  font-weight: 600;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold"), local("游ゴシック Bold");
  font-weight: 700;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold"), local("游ゴシック Bold");
  font-weight: 800;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold"), local("游ゴシック Bold");
  font-weight: 900;
}

* {
  margin: 0;
  padding: 0;
  font-size: 100%;
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  font-size: 16px;
  background: #fff;
  color: #393939;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "メイリオ", Meiryo, Arial, "ＭＳ Ｐゴシック", "MS P Gothic", "Osaka", sans-serif;
}

main,article,aside,dialog,figure,header,footer,hgroup,nav,section {
  display: block;
}

img {
  border: 0;
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 1;
  vertical-align: bottom;
  -ms-interpolation-mode: bicubic;
  box-sizing: content-box;
}

svg {
  max-width: 100%;
  height: auto;
  box-sizing: content-box;
}

ul li,ol li {
  list-style-type: none;
  list-style-position: outside;
}

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

caption {text-align: left;}

th,td {
  font-weight: normal;
  text-align: left;
  vertical-align: top;
}

sub,sup {
  position: relative;
  font-size: 80%;
  line-height: 0;
  vertical-align: baseline;
}
sub {bottom: -0.1em;}
sup {top: -0.5em;}

input,button,textarea,select {
  appearance: none;
  outline: none;
  border: none;
  border-radius: 0;
  background: none;
  font: inherit;
  color: inherit;
}
textarea {resize: vertical;}
button {cursor: pointer;}

a {
  text-decoration: none;
  color: #000;
}

/* ===== Clearfix ===== */
.clearFix:after {
  display: block;
  clear: both;
  visibility: hidden;
  height: 0;
  content: "";
}

#wrapper {
  width: 100%;
  max-width: 600px;
  margin: auto;
  overflow: hidden;
}
/**************************************************
		survey
**************************************************/
.btn_after{
	display: none;
}
.btn_after.open{
	display: block;
}
.sur_btn{
	display: block;
	justify-content: space-between;
    width: 84%;
    /*position: absolute;*/
    margin: 7% auto 0;
    left: 0;
    right: 0;
    text-align: center;
}
.sur_btn2{
    margin: auto;
    left: 0;
    right: 0;
    text-align: center;
}
.sur_btn2 label{
   position: absolute;
   width: 85%;
   margin: auto;
}

input[id="radio7"]+label{
    top: -238%;
}
input[id="radio8"]+label{
    top: -212%;
}
input[id="radio9"]+label{
    top: -181%;
}
input[id="radio10"]+label{
    top: -74%;
}

.s_00{
  top: 0%;
  width: 100%;
  margin: auto;
}
.s_00.flash{
  top: 1%;
}
.s_00a{
  top: -2%;
  width: 69.5%;
  margin: auto;
}
.s05 .fix_btn_point {
  overflow: hidden;
}

.s_01{
  bottom: 14%;
  width: 90.5%;
  margin: auto;
}
.s_01.s_01_2 {
  bottom: 10%;
}
.s_02{
  bottom: 50%;;
}
.s_03{
  bottom: 50%;
}
.s_04{
  bottom: 20%;
}
.s_05{
  bottom: 30%;
}
.s_06{
  bottom: 6%;
  width: 91%;
  pointer-events: none;
  margin: auto;
}
.s_06.onclick{
  pointer-events: auto;
}
.s_06:before {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    height: 0;
    padding-top: 31.2%;
	background-image: url("../img/btn1_off.png");
}
.s_06.onclick:before {
	background-image: url("../img/btn1_on.png");
}

input[type=radio],input[type=checkbox] {
    display: none;
}
input[type=radio]+label {
    width: 100%;
	cursor: pointer;
}
input[type=checkbox]+label {
	cursor: pointer;
}
input[type=radio]+label:before {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    height: 0;
    /*padding-top: 12.5714%;*/
	padding-top: 24.2%;
}
input[type=checkbox]+label:before {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    height: 0;
    padding-top: 24.2%;
}
input[id="radio8"]+label:before {
    content: "";
    padding-top: 29%;
}
input[type=radio][value="知っていた"]+label:before {
    background-image: url("../img/btn_s_02_01_off.png");
}
input[type=radio][value="知っていた"]:checked + label:before {
    background-image: url("../img/btn_s_02_01_on.png");
}
input[type=radio][value="知らない"]+label:before {
    background-image: url("../img/btn_s_02_02_off.png");
}
input[type=radio][value="知らない"]:checked + label:before {
    background-image: url("../img/btn_s_02_02_on.png");
}

input[type=checkbox][value="Q3-1"]+label:before {
    background-image: url("../img/btn_q3_1-off.png");
}
input[type=checkbox][value="Q3-1"]:checked + label:before {
    background-image: url("../img/btn_q3_1-on.png");
}

input[type=checkbox][value="Q3-2"]+label:before {
    background-image: url("../img/btn_q3_2-off.png");
}
input[type=checkbox][value="Q3-2"]:checked + label:before {
    background-image: url("../img/btn_q3_2-on.png");
}

input[type=checkbox][value="Q3-3"]+label:before {
    background-image: url("../img/btn_q3_3-off.png");
}
input[type=checkbox][value="Q3-3"]:checked + label:before {
    background-image: url("../img/btn_q3_3-on.png");
}

input[type=checkbox][value="Q3-4"]+label:before {
    background-image: url("../img/btn_q3_4-off.png");
}
input[type=checkbox][value="Q3-4"]:checked + label:before {
    background-image: url("../img/btn_q3_4-on.png");
}


input[type=checkbox][value="Q4-1"]+label:before {
    background-image: url("../img/btn_q4_1-off.png");
}
input[type=checkbox][value="Q4-1"]:checked + label:before {
    background-image: url("../img/btn_q4_1-on.png");
}

input[type=checkbox][value="Q4-2"]+label:before {
    background-image: url("../img/btn_q4_2-off.png");
}
input[type=checkbox][value="Q4-2"]:checked + label:before {
    background-image: url("../img/btn_q4_2-on.png");
}

input[type=checkbox][value="Q4-3"]+label:before {
    background-image: url("../img/btn_q4_3-off.png");
}
input[type=checkbox][value="Q4-3"]:checked + label:before {
    background-image: url("../img/btn_q4_3-on.png");
}

input[type=checkbox][value="Q4-4"]+label:before {
    background-image: url("../img/btn_q4_4-off.png");
}
input[type=checkbox][value="Q4-4"]:checked + label:before {
    background-image: url("../img/btn_q4_4-on.png");
}

/**************************************************
		mainArea
**************************************************/
#mainArea {
/* 	background: url(../img/main_bg.png) repeat;
  background-size: 100% auto;
  padding-bottom: 0; */
}
.main_bg {
	background: url(../img/main_bg.png) repeat;
  background-size: 100% auto;
  padding-bottom: 0;
  
}
.main_bg2 {
	background: url(../img/main_bg2.png) repeat;
  background-size: 100% auto;
  padding-bottom: 0;
}  

.FAQ{
	background: url(../img/common/QA_bg.jpg) repeat;
    background-size: 100% auto;
    padding-bottom: 70px;
}
.movie_box{
	position: relative;
}

.mv{
	position: absolute;
	left: 0;
	right: 0;
	text-align: center;
	margin: auto;
}
.m_01{width:84%; bottom:10%;}
.m_02{width:84%; bottom:56.5%;}
.m_03{width:84%; bottom:23%;}
.m_04{width:60.3%; bottom:32%; left:4%; right:auto;}
.m_05{width:60.3%; bottom:5%; left:auto; right:4%;}
.gd{
	position: absolute;
	margin: auto;
}
.g_01{width:24.6%; bottom:55.5%; left:0;}
.g_02{width:24.5%; bottom:22.2%; right:0;}
.g_03{width:70.6%; bottom:41%; left:0; right:0;}


.fv {
  background-color: #fff;
  margin-bottom: 0%;
  z-index: 10;
	position: relative;
}
.fv .coupon {
	position: absolute;
	top: 62%;
	left: 0;
}
.fv .point {
	position: absolute;
	bottom: 8.5%;
	left: 5%;
    width: 90%;
}
.fv .point2 {
	position: absolute;
	bottom: 8.5%;
	left: 5%;
    width: 90%;
}.fv .arrow {
	position: absolute;
	bottom: 4%;
	left: 0%;
  width: 100%;
}
.fv2 {
  margin-bottom: 0%;
  z-index: 10;
	position: relative;
}
.fv2>div {
  position: absolute;
  top: 0;
}
.fv2>div a {
  position: relative;
  overflow: hidden;
}
.fv-mv {
  margin-bottom: -5%;
}

video {
  width: 100%;
}
.mt-58 {
  margin-top: -58%;
}
#Q01,#Q02,#Q03,#Q04 {
  position:relative;
}
#Q01 {
	padding-top: 15%;
}
#Q02 .btn_after{
	padding-top: 15%;
}
#Q03 .btn_after{
	padding-top: 15%;
}
#Q04 .btn_after{
	padding-top: 15%;
}
#Q04 .btn {
  position:relative;
}
#Q04 .arrow {
	    width: 40%;
}

.bg-wt {
	background-color: #fff;
}
/**************************************************
		footerArea
**************************************************/
#footerArea{
	padding: 1% 7%;
  margin-top: 3%;
	margin-bottom: 0;
  background-color: #de7684;
}
.ft_txt {
  width: 90%;
  margin: 0 auto;
}
.ft_txt p {
  font-size: 10px;
	margin-bottom: 10px;
  color: #553708;
}
.ft_menu{
	font-size: 20px;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 4% 0 2%;
  }
.ft_menu li {
	padding: 0 12px;
  color: #fff;

}
.ft_menu li a {
  color: #fff;
}
.ft_menu li:nth-child(1){
/* 	border-right: 1px solid #393939;  */
}
.copyright{
	margin-bottom: 5%;
  text-align: center;
  color: #fff;
}

/**************************************************
		Button
**************************************************/
.btn_box{
	position: relative;
	padding-bottom: 5%;
}
.btn_box .arrow {
    width: 12%;
    margin: 10% auto;
}
.btn{
	position: absolute;
	left: 0;
	right: 0;
}
.btn2{
	left: 0;
	right: 0;
}
.b_01{bottom: 5%;}
.b_02{bottom: 0%;}
.b_03{bottom: 10%;}
.b_04{bottom: 8%;}
.b_05{bottom: 15%;}
.b_06{bottom: 4%;}


.ani {
	-webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
	-webkit-animation-name: pulse;
    animation-name: pulse;
}
@keyframes pulse{
0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
}
50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
}
100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
}
}

.fix_btn{
	position: fixed;
    bottom: 0;
	z-index: 100;
	-webkit-transform: translateY(calc(100% + 129px));
    transform: translateY(calc(100% + 129px));
    opacity: 0;
    -webkit-transition: all .8s cubic-bezier(.215,.61,.355,1) 0s;
    transition: all .8s
}
.fix_btn.fixed {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
}

.cta {
  width: 90%;
  margin: 5% auto;
}

/**************************************************
		Responsive(SP)
**************************************************/
@media screen and (max-width: 750px) {
.ft_txt{
    font-size: 10px;
} 
.ft_menu {
    font-size: 13px;
}
.copyright {
    font-size: 11px;
}
}

/**************************************************
		fuwafuwa
**************************************************/

.fuwafuwa {
  animation-name: fuwafuwa;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 1.0s;
}
@keyframes fuwafuwa {
  0% {
      transform: translate(0,0px);
  }

  100% {
      transform: translate(0,10px)
  }
}


.flash{
  animation: flash 1.2s linear infinite;
}

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

  80% {
    opacity: 0;
  }
}


@keyframes shiny {
  0% { left: -20%; }
  10% { left: 120%; }
  100% { left: 120%; }
}

.shiny-btn {
  display: block;
  width: 100%;
  line-height: 40px;
  text-align: center;
  text-decoration: none;
  color: #ffffff;
  overflow: hidden;
}

.shiny-btn::after {
  content: '';
  position: absolute;
  top: -10%;
  left: -20%;
  width: 40px;
  height: 80%;
  transform: scale(2) rotate(330deg);
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);
  animation-name: shiny;
  animation-duration: 1.8s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}


@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.06, 0.94, 1);
    transform: scale3d(1.06, 0.94, 1);
  }

  40% {
    -webkit-transform: scale3d(0.94, 1.06, 1);
    transform: scale3d(0.94, 1.06, 1);
  }

  50% {
    -webkit-transform: scale3d(1.04, 0.96, 1);
    transform: scale3d(1.04, 0.96, 1);
  }

  65% {
    -webkit-transform: scale3d(0.96, 1.04, 1);
    transform: scale3d(0.96, 1.04, 1);
  }

  75% {
    -webkit-transform: scale3d(1.02, 0.98, 1);
    transform: scale3d(1.02, 0.98, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-iteration-count: infinite;
}



/* その場でフェードイン */
.fadeIn{
  animation-name:fadeInAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
  opacity:0;
  }
  
  @keyframes fadeInAnime{
    from {
      opacity: 0;
    }
  
    to {
      opacity: 1;
    }
  }
  
/************************************
******box
************************************/
.box {
  position: relative;
  text-align: center;
}
.box p {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    margin:0;
    padding:0;
}
.box>p>video {
  width: 80%;
}
.box>p>video.w90 {
  width: 90%;
}
.box>p>video.b-r10 {
  border-radius: 10px;
}

.box .t40 {
  top: 40%;
}
.box .t58 {
  top: 58%;
}
.box .t60 {
  top: 60%;
}
.box .mt-2 {
  margin-top: -2%;
}

.mb-2 {
  margin-bottom: -2%;
}


@keyframes move-y {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(10px);
  }
}

.box_arrow .t4 {
  top: 4%;
  width: 70%;
}
.box_arrow .t54 {
  top: 54%;
  width: 80%;
}
.box_arrow .t60 {
  top: 60%;
  width: 80%;
}
.box_arrow .t86 {
  top: 86%;
  width: 80%;
}
.box_arrow .t90 {
  top: 90%;
  width: 80%;
}

.box_sp {
	width: 21.5%;
    position: absolute;
    top: 10%;
    left: 61.5%;
}
#Q03 .box_sp{top: 8.5%;}
#Q04 .box_sp{top: 8%;}

/*.box_q1 {
  width: 14%;
  position: absolute;
  top: 17%;
  left: 66%;
}
.box_q2 {
  width: 14%;
  position: absolute;
  top: 7%;
  left: 66%;
}
.box_q3 {
  width: 14%;
  position: absolute;
  top: 8%;
  left: 66%;
}
.box_q4 {
  width: 14%;
  position: absolute;
  top: 6%;
  left: 66%;
}

*/
.poyon {
  animation: poyon 1.1s linear 0s 1;
}

@keyframes poyon {
  0%   { transform: scale(0.8, 1.4) translate(0%, -100%); }
  10%  { transform: scale(0.8, 1.4) translate(0%, -15%); }
  20%  { transform: scale(1.4, 0.6) translate(0%, 30%); }
  30%  { transform: scale(0.9, 1.1) translate(0%, -10%); }
  40%  { transform: scale(0.95, 1.2) translate(0%, -30%); }
  50%  { transform: scale(0.95, 1.2) translate(0%, -10%); }
  60%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
  70%  { transform: scale(1.0, 1.0) translate(0%, 0%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}


.poyooon {
  animation: poyooon 0.9s linear 0s 1;
}
@keyframes poyooon {
  0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
  10%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
  40%  { transform: scale(1.2, 0.8) translate(0%, 15%); }
  50%  { transform: scale(1.0, 1.0) translate(0%, 0%); }
  60%  { transform: scale(0.9, 1.2) translate(0%, -100%); }
  75%  { transform: scale(0.9, 1.2) translate(0%, -20%); }
  85%  { transform: scale(1.2, 0.8) translate(0%, 15%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}

.puyon {
  animation: puyon 1.0s linear 0s 1;
}
@keyframes puyon {
  0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
  40%  { transform: scale(0.95, 1.2) translate(0%, -10%); }
  50%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
  60%  { transform: scale(0.95, 1.05) translate(0%, -3%); }
  70%  { transform: scale(1.05, 0.95) translate(0%, 3%); }
  80%  { transform: scale(1.0, 1.0) translate(0%, 0%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}
.infinite {
  animation-iteration-count : infinite;
}
@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.06, 0.94, 1);
    transform: scale3d(1.06, 0.94, 1); }
  40% {
    -webkit-transform: scale3d(0.94, 1.06, 1);
    transform: scale3d(0.94, 1.06, 1); }
  50% {
    -webkit-transform: scale3d(1.04, 0.96, 1);
    transform: scale3d(1.04, 0.96, 1); }
  65% {
    -webkit-transform: scale3d(0.96, 1.04, 1);
    transform: scale3d(0.96, 1.04, 1); }
  75% {
    -webkit-transform: scale3d(1.02, 0.98, 1);
    transform: scale3d(1.02, 0.98, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }
@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.06, 0.94, 1);
    transform: scale3d(1.06, 0.94, 1); }
  40% {
    -webkit-transform: scale3d(0.94, 1.06, 1);
    transform: scale3d(0.94, 1.06, 1); }
  50% {
    -webkit-transform: scale3d(1.04, 0.96, 1);
    transform: scale3d(1.04, 0.96, 1); }
  65% {
    -webkit-transform: scale3d(0.96, 1.04, 1);
    transform: scale3d(0.96, 1.04, 1); }
  75% {
    -webkit-transform: scale3d(1.02, 0.98, 1);
    transform: scale3d(1.02, 0.98, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }
body {
  background-color: #fff7f7; }

article {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  background-color: #fff; }

article .bc-b1 {
  background-color: #e9f4fc; }

article .block {
  display: block;
  margin: 0 auto; }

article .ta-right {
  text-align: right; }

article .w70 {
  width: 70%; }

article .w85 {
  width: 85%; }

article .w90 {
  width: 90%; }

article .w95 {
  width: 95%; }

article .mt-15 {
  margin-top: -15px; }

article .mt10 {
  margin-top: 10px; }

article .mt20 {
  margin-top: 20px; }

article .mt30 {
  margin-top: 30px; }

article .mt50 {
  margin-top: 50px; }

article .mt80 {
  margin-top: 80px; }

article .mt-20 {
  margin-top: -20%; }

article .pt30 {
  padding-top: 30px; }

article .pb50 {
  padding-bottom: 50px; }

article .p50 {
  padding: 50px 0; }

article .fs16 {
  font-size: 16px; }

article .fs14 {
  font-size: 14px; }

article img {
  max-width: 100%; }

article img.animation {
  animation: rubberBand 1.5s infinite alternate; }

img.animation {
  animation: rubberBand 1.5s infinite alternate; }

article header {
  padding: 0 0 0;
  text-align: center; }

article footer {
  padding: 20px 0;
  background: #de7684;
  text-align: center;
  color: #666;
  font-size: 14px; }

article footer ul {
  margin: 0 0 10px; }

article footer ul li {
  display: inline;
  padding: 0.3em 1em;
  font-size: 16px;
  /*   border-right: 1px solid #FFFFFF; */ }

article footer ul li a {
  text-decoration: none;
  color: #FFFFFF; }

article footer ul li:first-child {
  padding: 0.3em 1em 0.3em 0; }

article footer ul li:last-child {
  padding: 0.3em 0 0.3em 1em;
  border-right: none; }

article footer address {
  color: #FFFFFF; }

article section,
article header {
  text-align: center;
  margin: 0 auto; }

article header.mv_bg {
  background-image: url("../img/mv_bg2.png");
  background-repeat: repeat;
  background-size: auto; }

article header.mv_bg::after {
  clear: both; }

article section.bg01 {
  background-image: url("../img/bg01.png");
  background-repeat: no-repeat;
  background-size: cover; }

article section p.center {
  text-align: center;
  margin: 0 auto; }

@media only screen and (max-width: 640px) {
  article {
    width: 100%; }

  article .mt-15 {
    margin-top: -2.5vw; }

  article .mt10 {
    margin-top: 1.5vw; }

  article .mt20 {
    margin-top: 4vw; }

  article .mt30 {
    margin-top: 5vw; }

  article .mt50 {
    margin-top: 9vw; }

  article .mt80 {
    margin-top: 13vw; }

  article .pt30 {
    padding-top: 5vw; }

  article .pb50 {
    padding-bottom: 9vw; }

  article .p50 {
    padding: 9vw 0; }

  article .fs16 {
    font-size: 2.6vw; }

  article .fs14 {
    font-size: 2vw; }

  article footer {
    padding: 6vw 0;
    font-size: 2.6vw; }

  article footer ul {
    margin: 2.5vw 0 0; }

  article footer ul li {
    font-size: 2.6vw; } }
/*# sourceMappingURL=style.css.map */
/************************************
******cta
************************************/
.cta_area {
  background-image: url("../img/cta_bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 10%;
overflow: hidden; }
  .cta_area .cta_main {
    position: relative; }
    .cta_area .cta_main .coupon {
      position: absolute;
      width: 96%;
      bottom: 0;
      right: 2%; }
  .cta_area .btn-b {
    position: relative;
    margin: 5% auto; }
    .cta_area .btn-b .box_arrow {
      position: absolute;
      width: 90%;
      top: 25%;
      left: 5%; }
  .cta_area .btn-b.bf {
    margin: 0 auto; }
  .cta_area .btn-b.bf> .box_arrow{
    display: none; }
  .cta_area .btn-a {
    display: block;
    width: 80%;
    margin: auto; }
  .cta_area .cta-btn{
    background-image: url(../img/cta_bg_01.png);
    background-size: contain;
    background-position: 0% 185%;
  }
  .btn_box .emg,
  .cta_area .emg,
  .foot .emg {
    width: 90%;
    margin: auto;
    line-height: 1.3;
    font-size: 0.8em; }

  .cta_area .box_arrow {
    width: 30%;
    margin: 6% auto 0%; }
  .cta-icon{
    width: 90%;
    margin: 0 auto 1%;
  }
  .cta-icon.bf{
    width: 100%;
    margin: 0 auto 0;
  }
@media only screen and (max-width: 640px) {
  .cta_area .btn-b .box_arrow {
    top: 20%;
    left: 5%; } }
/************************************
******box
************************************/
.box {
  position: relative; }

.box p {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0; }

.box > p > video {
  width: 80%; }

.box > p > video.w90 {
  width: 90%; }

.box .t40 {
  top: 40%; }

.box .t60 {
  top: 60%; }

.mb-2 {
  margin-bottom: -2%; }

.box_arrow {
  position: relative; }

.box_arrow p {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0; }

.box_arrow .move-y {
  animation: move-y 0.5s infinite alternate ease-in-out;
  display: inline-block; }

@keyframes move-y {
  from {
    transform: translateY(0); }
  to {
    transform: translateY(10px); } }
.box_arrow .t4 {
  top: 4%;
  width: 70%; }

.box_arrow .t54 {
  top: 54%;
  width: 80%; }

.box_arrow .t60 {
  top: 60%;
  width: 80%; }

.box_arrow .t86 {
  top: 86%;
  width: 80%; }

.box_arrow .t90 {
  top: 90%;
  width: 80%; }

/************************************
******sec
************************************/
.hide {
  opacity: 0;
  transition: .4s;
  width: 100%;
  height: 0; }
  .hide.show {
    opacity: 1;
    height: auto; }

.sec00 {
  margin-bottom: -20%; }

.sec01 .base {
  position: relative; }
  .sec01 .base .coupon {
    position: absolute;
    top: 39%;
    left: 0; }
.sec01 .box_arrow {
  position: absolute;
  top: 24%;
  left: 12%;
  width: 77%; }
.sec01 .movie {
  position: relative; }
  .sec01 .movie .txt {
    position: absolute;
    top: 3%;
    left: 2%;
    width: 35%; }

.sec02 {
  padding-top: 5%;
  padding-bottom: 0%;
  background-image: url("../img/sec02_bg.jpg");
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover; }

.sec03 {
  background-image: url("../img/sec03_bg.jpg");
  background-position: top;
  background-repeat: no-repeat;
  background-size: 100% 96%; }
  .sec03 .img03 {
    margin-bottom: 3%; }

.sec04 .img01 {
  position: relative; }
  .sec04 .img01 .box_arrow {
    position: absolute;
    top: 40%;
    left: 10%;
    right: 0;
    width: 80%; }
.sec04 .img04 {
  position: relative;
  margin-top: -16.5%; }
  .sec04 .img04 .box_arrow {
    position: absolute;
    top: 10%;
    left: 13%;
    right: 0;
    width: 75%; }
.sec04 .img05 {
  position: relative;
  margin-top: -13%; }
  .sec04 .img05 .box_arrow {
    position: absolute;
    top: 9%;
    left: 13%;
    right: 0;
    width: 75%; }

.sec05 {
  background-image: url("../img/sec05_bg.jpg");
  background-position: top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding-top: 5%;
  margin-top: -5%; }
  .sec05 .img-emg {
    width: 45%;
    padding: 5% 5% 15%; }
  .sec05 .slide-area {
    padding-bottom: 3%; }
  .sec05 .slick-slide {
    padding: 2%; }

.sec06 {
  background-color: #fcd0d6;
  padding-top: 5%;
  margin-top: -5%; }

.sec07 .img01 {
  position: relative; }
  .sec07 .img01 .box_arrow {
    position: absolute;
    top: 35%;
    left: 10%;
    right: 0;
    width: 80%; }
.sec07 .img02 {
  position: relative;
  margin-top: -20.5%; }
.sec07 .img04 {
  position: relative; }
  .sec07 .img04 .box_arrow {
    position: absolute;
    top: 13%;
    left: 13%;
    right: 0;
    width: 75%; }
.sec07 .img03 {
  position: relative;
  margin-top: -8.1%; }
.sec07 .img05 {
  position: relative;
  margin-top: -15.5%; }

.sec08 .img01 {
  margin-top: -6%; }
.sec08 .img06 {
  margin-bottom: -7%;
  position: relative; }

.sec09 {
  background-image: url("../img/sec09_bg.jpg");
  background-position: top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding-top: 10%; }
  .sec09 .img01 {
    position: relative; }
    .sec09 .img01 .box_arrow {
      position: absolute;
      bottom: 17%;
      left: 25%;
      right: 0;
      width: 50%; }
  .sec09 .slide-area {
    padding-bottom: 3%; }

.sec10 {
  background-image: url("../img/sec10_bg.jpg");
  background-position: top;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding-top: 5%;
  padding-bottom: 5%; }
  .sec10 .box_arrow {
    width: 30%;
    margin: auto; }

.timer {
  position: relative;
  color: #ffff46;
  width: 90%;
  margin: 3% auto 0; }
  .timer .clock {
    position: absolute;
    top: 48%;
    left: 6%;
    color: #ffff46;
    font-size: 13vw;
    font-weight: 700;
    font-family: 'Roboto', sans-serif; }
    .timer .clock span {
      font-size: 5vw;
      font-weight: 500;
      color: #ffff46;
      font-family: 'Noto Sans JP', sans-serif; }
.timer2 {
  position: relative;
  color: #fff;
  width: 100%;
  margin: 3% auto 0;
 }
  .timer2 .clock {
    position: absolute;
    top: 44%;
    left: 4%;
    color: #f00;
    font-size: 8vw;
    font-weight: 700;
    font-family: '游ゴシック体', 'Roboto', sans-serif;
    width: 90%;
    padding: 4px 0;
    text-align: center;
  /* background-color: #fff; */
  border-radius: 10px; }
    .timer2 .clock span {
      font-size: 4.5vw;
      font-weight: 500;
      color: #000;
      font-family: 'Noto Sans JP', sans-serif; }

@media only screen and (min-width: 600px) {
  .timer .clock {
    font-size: 5rem; }
    .timer .clock span {
      font-size: 1.5rem; }
  .timer2 .clock {
    font-size: 3rem; }
    .timer2 .clock span {
      font-size: 1.5rem; } }
.foot {
  margin-bottom: 10%;
}
  .foot .img02, .foot .img03 {
    display: block;
    width: 90%;
    margin: auto; }

.slide-area {
  position: relative; }
  .slide-area .img02 {
    width: 50%;
    position: absolute;
    left: 20%;
    bottom: 3%; }

/************************************
******slider
************************************/
article .bg_headercolor {
  background-color: #de7462; }

article .bg_skincolor {
  background-color: #f8e2de; }

article .bg_slidercolor {
  background-color: #dc6e5a; }

article .swiper-wrapper {
  margin-bottom: 10%; }

article .Swiper .point {
  margin: -7% auto 0 20%;
  width: 50%;
  padding: 0 0 10%; }

.swiper-button-prev::after,
.swiper-button-next::after {
  color: white;
  font-size: 20px !important; }

.swiper-pagination-bullet {
  width: 3.6vw;
  height: 3.6vw; }

@media screen and (min-width: 769px) {
  article .Swiper .point {
    margin: -5% auto 0 20%;
    width: 50%;
    padding: 0 0 10%; }

  .swiper-pagination-bullet {
    width: 2vw;
    height: 2vw; } }
.case {
  padding-top: 3%; }

.case .swiper-pagination-bullet {
  background: #fff;
  opacity: 0.8; }

.case .swiper-pagination-bullet-active {
  background: #dc6e5a; }

.clinic .swiper-pagination-bullet {
  background: #d1cab7;
  opacity: 0.8; }

.clinic .swiper-pagination-bullet-active {
  background: #878064;
  opacity: 1; }

.step .swiper-pagination-bullet {
  background: #fff;
  opacity: 0; }

.step .swiper-pagination-bullet-active {
  background: #eebac1;
  opacity: 1; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 1.3vw; }

.clinic .swiper-slide img {
  border-radius: 6%; }

/************************************
******qa
************************************/
.qa_wrap {
  /* 	max-width: 750px;
  	margin: auto;*/
  background: #fff;
  padding-top: 3%;
  padding-bottom: 3%; }

.qa_wrap .qa_box {
  /* 	width: 93.5%;
  	max-width: 600px;
  	margin: 0 auto;
  	border-top: 2px solid #000;
   */ }

.qa_wrap .qa_box dl {
  width: 100%;
  margin: 0 auto;
  /* 	border-bottom: 2px solid #000;
   */ }

.qa_wrap .qa_box dt {
  /* 	background: url("../../images/c5/c5_qa_q.png") no-repeat 14px center #fff;
  	background-size: 26px;
  	padding: 30px 40px 30px 50px;
  	font-weight: bold;
  	margin: 0; */
  position: relative; }

/* 
.qa_wrap .qa_box dt:after {
	content: "";
	background: url("../../images/c5/c5_qa_arrow.png")no-repeat center center;
	background-size: cover;
	position: absolute;
	right: 12px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 24px;
	height: 14px;
} */
.qa_wrap .qa_box dd {
  /* 	padding: 12px 16px;
  	font-weight: normal;
  	margin: 0 auto;
  	background: #fcf9f7;
  	border-top: 1px solid #dddcdb;
   */ }

.c5_qa_tit {
  /* 	max-width: 564px;
  	width: 75.2%;
  	margin: 0 auto;
   */ }

/************************************
******clinic
************************************/
.nav-list ul {
  display: flex;
  list-style-type: none;
  margin: 0 0 0 0;
  padding: 0; }

.nav-list ul li {
  margin: 0.2em;
  padding: 0.0; }

/************************************
******map
************************************/
.map {
  width: 100%;
  margin: 5vw auto 0 auto; }

.map-catch {
  width: 90%;
  margin: auto;
  top: -11vw;
  position: relative; }

.map-items {
  width: 90%;
  margin: auto; }

.map-bg {
  background-image: url("../images/map_bg.png");
  background-position-y: 0%;
  background-repeat: no-repeat;
  padding: 4vw 0; }

.map iframe {
  width: 100%;
  display: block;
  border: none;
  margin-left: auto;
  margin-right: auto; }

.map-clinicinfo {
  text-align: center;
  font-weight: 600; }

.access-time {
  margin-top: 40px; }

.map-clinicinfo h2 {
  font-size: calc(100vw / 18);
  letter-spacing: 0.15em;
  color: black;
  margin: 10px 0; }

.map-clinicinfo p {
  font-size: calc(100vw / 32);
  line-height: 2em;
  text-align: left;
  color: black;
  margin: 5px 0; }

.map-item-white {
  background-color: white;
  font-size: calc(100vw / 44);
  padding: 4px 15px;
  margin-right: 10px;
  border-radius: 20px;
  color: black;
  text-align: center;
  display: block;
  white-space: nowrap; }

@media screen and (min-width: 769px) {
  .map-item-white {
    font-size: 0.9em; }

  .map-clinicinfo p {
    font-size: 1.0em; }

  .map-clinicinfo h2 {
    font-size: 2.0em; } }
#map-shinjuku {
  margin: 20px 0 40px 0;
  height: 300px; }

#map-osaka {
  margin-top: 20px;
  height: 300px; }

#map-omiya {
  margin-top: 20px;
  height: 300px; }

#map-fukuoka {
  margin-top: 20px;
  height: 300px; }

.map-newopen {
  width: 90%;
  margin: 30px auto 0;
  padding-bottom: 30px; }

#omiya-h2 {
  margin-top: 40px; }

/************************************
******video再生
************************************/
video {
  width: 100%; }

.video {
  width: 80%;
  max-width: 80%; }

.video-r {
  float: right; }

.video-r > video {
  border-radius: 3vw 0 0 3vw; }

.video-l {
  float: left; }

.video-l > video {
  border-radius: 0 3vw 3vw 0; }

.sec04 .video-c {
  /*   background-image: url(../images/sec04_09.png); */
  position: relative; }

.sec04 .video-c video {
  position: absolute;
  left: 20%;
  top: 5%;
  width: 70%; }

.video-c {
  margin: 0 auto; }

.video-c > video {
  border-radius: 3vw 3vw 3vw 3vw; }

/* cta-btnの追従&要素内を超えたらストップ */
.cta_last {
  padding-bottom: 300px; }

@media only screen and (max-width: 640px) {
  .cta_last {
    padding-bottom: 200px; } }
/*リンクを下に固定*/
#page-top {
  position: fixed;
  bottom: 10px;
  z-index: 2;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateY(300px);
  margin-bottom: 0;
  max-width: 650px; }

/*　上に上がる動き　*/
#page-top.UpMove {
  animation: UpAnime 0.5s forwards; }

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(200px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
/*　下に下がる動き　*/
#page-top.DownMove {
  animation: DownAnime 0.5s forwards; }

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0); }
  to {
    opacity: 1;
    transform: translateY(200px); } }

/* フッター追従 */
#fixed-button-container {
  position: fixed;
  left: 50%; /* 中央揃え */
  transform: translateX(-50%);
  bottom: -300px; /* 初期位置を画面外に設定 */
  transition: bottom 0.5s ease-in-out; /* アニメーション効果 */
  width: 100%;
  max-width: 400px;
  opacity: 0;
}

#fixed-button-container.active {
  bottom: 0; /* アクティブ時に画面内に表示 */
  opacity: 1;
  z-index: 100;
}

.fixed-button {
  cursor: pointer; /* ボタンがクリック可能であることを示す */
}
#fixed-button-container.active.stop{
  position: relative;
}

footer{
  margin: 50px auto;
  text-align: center;
  font-size: 1rem;
}