@charset "utf-8";
/* CSS Document */
html {
  font-size: 16px;
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"
}
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
body {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  color: #000;
}
img {
  width: 100%;
  vertical-align: top;
}
li {
  list-style: none;
}
.wrapper {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  box-shadow: 0px 0px 20px 1px rgba(0, 0, 0, .4);
}
video {
  width: 100%;
  vertical-align: bottom !important;
}
.fv h1 {
  background: url(../img/fv.mp4);
}
.btn_area {
  position: relative;
}
.btn_area .btn {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: 86%;
}
@media screen and (min-width:751px) {
  .btn_area .btn {
    transform: translateX(-49.5%);
  }
}
/*=======SNS===================*/
.sns .slider_wrap {
  background: url("../img/sns02.jpg");
}
.sns .slider_wrap li {
  margin: 0 5px;
}
.continue_box dt{
	background-color: #b7000f;
	background-image: url("../img/arrow_open.gif");
	background-repeat: no-repeat;
	background-position: center right 7.46%;
	background-size: 5%;
	color: #fff;
	cursor: pointer;
	font-size: 4.66vw;
	font-weight: bold;
	text-align: center;
	padding: 5% 0;
}
@media screen and (min-width:751px) {
  .continue_box dt {
	font-size: 35px;
	padding: 28px 0;
	background-size: 33px;
  }
}
.continue_box dt.open{
	background-image: url("../img/arrow_close.gif");
}
.continue_box dt a{
	display: block;
	color: #fff;
}
.quality .slider_wrap {
  width: 90%;
  margin: 0 auto;
}
.quality .slider_wrap li {
  margin: 0 3px;
}
/*------------------.faq----------------------*/
.faq {
  background: #e6e6e6;
}
.faq .dl_wrap {
  background: #f5f5f5;
  padding: 4% 0 1% 0;
}
.faq .faq_box {
	width: 92%;
	margin: 0 auto 3%;
}
.faq dt {
	padding: 0.7em 2.5em 0.7em 3.7em;
	font-size: 3.8vw;
	font-weight: bold;
	cursor: pointer;
	background: url(../img/icon_nega_off.png), url(../img/bg_question.jpg);
	background-size: 6%, cover;
	background-repeat: no-repeat;
	background-position: 96% 52%, 0 0;
	line-height: 1.3;
}
.faq dt.open {
  background: url(../img/icon_nega.png), url(../img/bg_question.jpg);
  background-size: 6%, cover;
  background-repeat: no-repeat;
  background-position: 96% 52%, 0 0;
}
.faq dt.one-line {
  padding: 1.4em 2.5em 1.4em 3.7em;
}
.faq dd {
	background: #f5f5f5;
	margin: 0 auto;
	padding: 1em 2.5em 1em 4.5em;
	font-weight: bold;
	background: url(../img/icon_A.png) no-repeat 1em 5% #fff;
	background-size: 7%;
	font-size: 3.2vw;
	background-position: 4.5% 1.4em;
	display: none;
}
@media screen and (min-width:751px) {
  .faq dt {
    padding: 0.6em 2.5em 0.6em 3.5em;
    font-size: 28px;
  }
  .faq dt.one-line {
    padding: 1.1em 2.5em 1.1em 3.5em;
  }
  .faq dt.open {
    background-repeat: no-repeat;
  }
  .faq dd {
    font-size: 26px;
  }
}
section.tel {
  position: relative;
}
section.tel .btn {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 15%;
  width: 84%;
}
#form {
  background: #fff;
  padding: 5% 0;
}
footer {
  background: #e6e6e6;
  padding: 5% 0;
}
footer .wrapper {
  box-shadow: none;
  padding-bottom: 3%;
}
.wrapper footer ul {
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  margin-bottom: 3.5em;
  flex-wrap: wrap;
}
.wrapper footer li {
  background-size: 1.5vw;
  margin-bottom: 0.5em;
  color: #fff;
  border-right: 1px solid #2e2e2e
}
/*==========================*/
footer li:last-child {
  border-right: none;
}
footer a {
  color: #2e2e2e;
  font-size: 3.2vw;
  text-decoration: none;
  padding: 0 1em;
  font-weight: bold;
}
footer .copy {
  text-align: center;
  color: #2e2e2e;
  font-size: 3vw;
  padding: 0 1em;
  line-height: 1.5;
}
@media screen and (min-width:751px) {
  footer li {
    background-size: 7px;
    margin-bottom: 18px;
  }
  footer a {
    font-size: 16px;
    font-weight: bold;
  }
  footer .copy {
    font-size: 14px;
  }
}
/* ========
animation
======== */
@keyframes btn-animation {
  10% {
    transform: scale(1.04);
  }
  30% {
    transform: scale(1);
  }
  40% {
    transform: scale(1.02);
  }
  50% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
.has-btn-animation {
  display: inline-block;
  transform: perspective(1px) translateZ(0);
  animation-name: btn-animation;
  animation-duration: 1.25s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
