@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans&family=Oswald:wght@500&display=swap');

/* ---------------------------------------------
  reset
--------------------------------------------- */
body {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

/* 解析タグの隙間対策 */
body > img {
  display: none;
}

.lp_main div, .lp_main span, .lp_main iframe, .lp_main h1, .lp_main h2, .lp_main h3, .lp_main h4, .lp_main h5, .lp_main h6, .lp_main p, .lp_main address, .lp_main img, .lp_main small, .lp_main strong, .lp_main sub, .lp_main sup, .lp_main dl,
.lp_main dt, .lp_main dd, .lp_main ol, .lp_main ul, .lp_main form, .lp_main label, .lp_main table, .lp_main caption, .lp_main tbody, .lp_main tfoot, .lp_main thead, .lp_main tr, .lp_main th, .lp_main td, .lp_main article,
.lp_main aside, .lp_main footer, .lp_main header, .lp_main menu, .lp_main nav, .lp_main section, .lp_main video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 0;
  line-height: 0;
  vertical-align: baseline;
}
.lp_main article, .lp_main aside, .lp_main details, .lp_main figcaption, .lp_main figure,
.lp_main footer, .lp_main header, .lp_main menu, .lp_main nav, .lp_main section {
  display: block;
}
.lp_main ol, .lp_main ul {
  list-style: none;
}
.lp_main :focus {
  outline: 0;
}
.lp_main table {
  border-collapse: collapse;
  border-spacing: 0;
}
.lp_main *,
.lp_main *::before,
.lp_main *::after {
  box-sizing: border-box;
}
.lp_main img,
.lp_main video,
.lp_main svg {
  display: block;
  height: auto;
  vertical-align: bottom;
  width: 100%;
  max-width: 100%;
}


/* ---------------------------------------------
  common
--------------------------------------------- */
/* スムーススクロール */
html {
  scroll-behavior: smooth;
}
.lp_main {
  width: min(100%, 750px);
  margin: 0 auto;
}

/* positionで配置したい要素の外側に使用 */
.lp_main .p_box {
  position: relative;
}

.lp_main .pb0 {
  padding-bottom: 0 !important;
}


/* ---------------------------------------------
  cv
--------------------------------------------- */
.lp_main .cv_btn {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5%;
  width: calc(651 / 750 * 100%);
  margin: 0 auto;
}
.lp_main .cv_btn01 {
  top: 35%;
}
.lp_main .cv_btn02 {
  top: 50%;
}
.lp_main .cv_not {
  position: relative;
}
.lp_main .cv_not img{
  display: block;
  z-index: 1;
}
.lp_main .cv_not .text {
  position: absolute; 
  left: 50%;
  right: auto;
  bottom: 5%;          
  transform: translateX(-50%);
  width: 80%;
  color: rgba(0,0,0,0.65);
  z-index: 2;

  padding: 10px 12px;
  font-size: min(calc((18 / 750) * 100vw),18px);
  line-height: 1.4;
}

.lp_main .cv_not02 {
  position: relative;
}
.lp_main .cv_not02 img{
  display: block;
  z-index: 1;
}
.lp_main .cv_not02 .text {
  position: absolute; 
  left: 50%;
  right: auto;
  bottom: 1.2%;          
  transform: translateX(-50%);
  width: 80%;
  color: rgba(0,0,0,0.65);
  z-index: 2;

  padding: 10px 12px;
  font-size: min(calc((18 / 750) * 100vw),18px);
  line-height: 1.4;
}
.lp_main .link {
  color: #e1869f;
  text-decoration: underline;
  text-underline-offset: .2em;
}


/* ---------------------------------------------
 fv
--------------------------------------------- */
.lp_main .fv_txt01 {
  position: absolute;
  top: 23%;
  left: 0%;
  width: calc(280 / 750 * 100%);
}
.lp_main .fv_txt02 {
  position: absolute;
  top: 23.5%;
  right: -2.5%;
  width: calc(304 / 750 * 100%);
}
.lp_main .fv_txt03 {
  position: absolute;
  top: 24%;
  left: 37%;
  width: calc(154 / 750 * 100%);
}
.lp_main .fv_txt04 {
  position: absolute;
  top: 23.5%;
  left: 63%;
  width: calc(174 / 750 * 100%);
}
.lp_main .fv_btn {
  position: absolute;
  top: 2%;
  left: 0;
  right: 0;
  width: calc(651 / 750 * 100%);
  margin: 0 auto;
}


/* ---------------------------------------------
 about
--------------------------------------------- */
.lp_main .about_img {
  position: absolute;
  top: -13%;
  left: 0;
  width: calc(413 / 750 * 100%);
  z-index: 3;
}
.lp_main .about_txt01 {
  position: absolute;
  top: 27%;
  left: 6%;
  width: calc(256 / 750 * 100%);
  z-index: 2;
}
.lp_main .about_txt02 {
  position: absolute;
  top: -16%;
  left: 0;
  width: 100%;
}
.lp_main .about_anime00 {
  position: absolute;
  top: 60%; 
  left: 0;
  right: 0;
  width: calc(629 / 750 * 100%);
  margin: 5% auto -12% auto;
  z-index: 2;
}
.lp_main .about_anime01 {
  position: absolute;
  top: 63%;
  left: 10%;
  width: calc(300 / 750 * 100%);
  margin: 0 auto;
}
.lp_main .about_anime02 {
  position: absolute;
  top: 63%;
  left: 52%;
  width: calc(300 / 750 * 100%);
}

/* カウントダウン */
.lp_main .about_countUp span {
  color: #b2923f;
  font-size: min(calc((112 / 750) * 100vw),112px);
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
}
.lp_main .about_countUp {
  position: absolute;
  top: 20%;
  left: 24%;
}
.lp_main .about_countUp_02 {
  position: absolute;
  top: 74%;
  left: 13%;
}

/* ---------------------------------------------
 trouble
--------------------------------------------- */
.lp_main .trouble_txt01 {
  position: absolute;
  top: 11%;
  left: 0;
  right: 0;
  width: calc(702 / 750 * 100%);
  margin: 0 auto;
}
.lp_main .trouble_txt02 {
  position: absolute;
  top: 53%;
  left: 0;
  right: 0;
  width: calc(693 / 750 * 100%);
  margin: 0 auto;
}


/* ---------------------------------------------
 アコーディオン用 アイコン
--------------------------------------------- */

/* アイコン： 共通
------------------------------ */
.lp_main .icn_area {
  --icon-size: min(calc((30 / 750) * 100vw), 30px); /* アイコンのサイズ */

  position: relative;
  display: flex;
  width: var(--icon-size);
  height: var(--icon-size);
  align-items: center;
  justify-content: center;
  /* background-color: #ccc; */
}

/* アイコン： プラス
------------------------------ */
.lp_main .icn__plus::before,
.lp_main .icn__plus::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: min(calc((3 / 750)* 100vw), 3px); /* 線の幅 */
  background: #000; /* 線の色 */
}
.lp_main .icn__plus::before {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.lp_main .icn__plus.is_active::before {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}


/* ---------------------------------------------
 アコーディオン
--------------------------------------------- */
.lp_main .aco_btn {
  position: relative;
  cursor: pointer;
}
.lp_main .aco_btn .icn_area {
  position: absolute;
  top: 50%;
  right: 3%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.lp_main .aco_main {
  display: none;
}


/* ---------------------------------------------
 faq
--------------------------------------------- */
.lp_main .sec_faq {
  padding-bottom: 10%;
  background-color: #fff;
}
.lp_main .faq_list {
  width: 83%;
  margin: 0 auto;
}
.lp_main .faq_list dt:not(:first-child) {
  margin-top: 5%;
}

/* ---------------------------------------------
 追従ボタン
--------------------------------------------- */
.lp_main .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;
}
.lp_main .bl_floatArea.is_show {
  visibility: visible;
  opacity: 1;
}
.lp_main .bl_floatArea_inner {
  max-width: 750px;
  margin: auto;
  box-sizing: border-box;
}

/* ボタン */
.lp_main .bl_floatArea_btn {
  display: block;
  width: calc(651 / 750 * 100%);
  margin: 0 auto;
}
.lp_main .bl_floatArea_btn img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}


/* ---------------------------------------------
 アニメーション：画面に入ったら
--------------------------------------------- */
/* アニメーション共通 */
.lp_main .io {
  transition: all 1s ease;
}


/* fade-in
-------------------- */
.lp_main .io_fadeIn {
  opacity: 0;
}

.lp_main .io_fadeIn.is_active {
  opacity: 1;
}


/* -----------------------------------------
  ディレイ
----------------------------------------- */
.lp_main .anime-delay-100 {
  -webkit-animation-delay: 0.1s !important;
          animation-delay: 0.1s !important;
  transition-delay: 0.1s !important;
}

.lp_main .anime-delay-200 {
  -webkit-animation-delay: 0.2s !important;
          animation-delay: 0.2s !important;
  transition-delay: 0.2s !important;
}

.lp_main .anime-delay-300 {
  -webkit-animation-delay: 0.3s !important;
          animation-delay: 0.3s !important;
  transition-delay: 0.3s !important;
}

.lp_main .anime-delay-400 {
  -webkit-animation-delay: 0.4s !important;
          animation-delay: 0.4s !important;
  transition-delay: 0.4s !important;
}

.lp_main .anime-delay-500 {
  -webkit-animation-delay: 0.5s !important;
          animation-delay: 0.5s !important;
  transition-delay: 0.5s !important;
}

.lp_main .anime-delay-600 {
  -webkit-animation-delay: 0.6s !important;
          animation-delay: 0.6s !important;
  transition-delay: 0.6s !important;
}

.lp_main .anime-delay-700 {
  -webkit-animation-delay: 0.7s !important;
          animation-delay: 0.7s !important;
  transition-delay: 0.7s !important;
}

.lp_main .anime-delay-800 {
  -webkit-animation-delay: 0.8s !important;
          animation-delay: 0.8s !important;
  transition-delay: 0.8s !important;
}

.lp_main .anime-delay-900 {
  -webkit-animation-delay: 0.9s !important;
          animation-delay: 0.9s !important;
  transition-delay: 0.9s !important;
}

.lp_main .anime-delay-1000 {
  -webkit-animation-delay: 1s !important;
          animation-delay: 1s !important;
  transition-delay: 1s !important;
}