@charset "UTF-8";

html {
  scroll-behavior: smooth
}

/*----------------------------------------
general
----------------------------------------*/

@import url("//fonts.googleapis.com/css?family=Noto+Sans+JP:400&display=swap");
@import url("//fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap");
@import url("//fonts.googleapis.com/css?family=Noto+Sans+JP:600&display=swap");
@import url("//fonts.googleapis.com/css?family=Noto+Sans+JP:700&display=swap");

html{
  font-family:  "Noto Sans JP", univia-pro, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 62.5%;
  line-height: 1.6;
  color: #181d20;
  scroll-behavior: smooth;
}

body {
	background: #fff;
}




.wrapper img {
	width: 100%;
	margin: 0;
	padding: 0;
	height: auto;
	display: block;
	font-size: 0;
	line-height: 0;
	vertical-align: bottom;
}
.wrapper a {
	display: block;
}

.wrapper ul,
.wrapper dl,
.wrapper ol{
  list-style: none;
}
.wrapper ul li,
.wrapper dl dt,
.wrapper dl dd,
.wrapper ol li{
	line-height: 0;
	font-size: 0;
}

.wrapper {
  max-width: 750px;
  margin: 0 auto;
  text-align: center;
  overflow: hidden;
}
.wrapper *{
  position: relative;
  box-sizing: border-box;
}

.wrapper a{
  transition: all ease 0.3s;
}
.wrapper a:hover{
  filter: brightness(1.1)
}
.wrapper {
  position: relative;
}
body.no-scroll {
  overflow: hidden;
}

.wrapper .op-area {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: black;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #CFB188;
  transition: opacity 0.95s ease-in-out, transform 0.95s ease-in-out;
}

.wrapper .op-area.fade-out {
  opacity: 0;
  transform: scale(0.95); /* 少し縮小 */
}
.wrapper .op-area video{
  width: 100%;
  max-width: 750px;
}
/*============================
.offer
============================*/

.wrapper .btn-offer {
  position: absolute;
  width: calc(630/750*100%);
  top: 5%;
  left: calc(60/750*100%);
  animation: btn_animation 1s infinite;
}

@keyframes btn_animation {
    0% {
        transform: scale(1, 0.8);
    }
    20% {
        transform: scale(0.8, 1.1);
    }
    95% {
      transform: scale(1, 1);
  }
  100% {
      transform: scale(1, 0.8);
  }
}
.wrapper .offer .acc-box {
  background-color: #d98d54;
  padding-bottom: 7%;
}
.wrapper .offer .acc-box dl {
  width: calc(690/750*100%);
  margin: 0 auto;
}
.wrapper .offer .acc-box dt {
  cursor: pointer;
  position: relative;
  border-radius: min(calc(20/750*100vw),20px);
  overflow: hidden;
}
.wrapper .offer .acc-box dt.selected {
  border-radius: initial;
}
.wrapper .offer .acc-box dt:after {
  content:"";
  display: block;
  position: absolute;
  background-image: url(../img/icon-offer-acc.png);
  width: calc(29/750*100%);
  padding-top: calc(22/750*100%);
  background-repeat: no-repeat;
  background-size: contain;
  right:5%;
  top:49%;
  transform: rotate(180deg);
  transition:all ease 0.2s;
}
.wrapper .offer .acc-box dt.selected:after{
  transform: rotate(0deg);
}
.wrapper .offer .acc-box dd {
  display: none;
}

.wrapper #improvement {
  position: relative;
  z-index:2;
}

.wrapper #approach {
  position: relative;
  z-index:1;
  margin-top: -24%;
}
.wrapper #item .p-box img {
  position: relative;
  z-index:2;
}
.wrapper #item video{
  position: absolute;
  z-index: 1;
  width: 79%;
  top: 57%;
  right: 0;
}
.wrapper #howto video {
  position: absolute;
  width: calc(630/750*100%);
  top: 27%;
  left: 50%;
  transform: translateX(-50%);
}
/*============================
#faq
============================*/
.wrapper #faq {
  background-color: #cabda4;
  padding-bottom: 4%;
}
.wrapper #faq .accordion {
  width: calc(690/750*100%);
  margin: 0 auto 6%;
}
.wrapper #faq .accordion:last-of-type{
  margin-bottom: min(calc(40/750*100%),40px);
}
.wrapper #faq .accordion dt{
  cursor: pointer;
  border-radius: min(calc(10/750*100vw),10px);
  overflow: hidden;
}
.wrapper #faq .accordion dt.selected{
  border-radius: initial;
}
.wrapper #faq .accordion dt:before,
.wrapper #faq .accordion dt:after{
  content:"";
  display: block;
  background-image: url(../img/faq-icon.png);
  background-size: cover;
  background-repeat: no-repeat;
  z-index:2;
  width: calc(35/750*100%);
  padding-top: calc(4/750*100%);
  position: absolute;
  right:6.3%;
  top:49%;
  transition: all ease 0.3s;
}
.wrapper #faq .accordion dt:before{
  transform: rotate(90deg);
}
.wrapper #faq .accordion dt.selected:before{
  transform: rotate(0deg);
}
.wrapper #faq .accordion dd{
  display: none;
}


/* ---------------------------------------------
 追従ボタン
--------------------------------------------- */
.bl_floatArea {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  transition: visibility .4s, opacity .4s;
  box-sizing: border-box;
}
.bl_floatArea.is_show {
  visibility: visible;
  opacity: 1;
}
.bl_floatArea_inner {
  max-width: 750px;
  margin: auto;
  padding: 0;
  box-sizing: border-box;
  padding: 0 ;
}

/* ボタン */
.bl_floatArea_btn {
  display: block;
  width: calc(630/750*100%);
  padding-bottom:0;
  margin: 0 auto -3%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

