@charset "UTF-8";
/* ---------------------------------------------
  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;
}


/* ---------------------------------------------
  cv
--------------------------------------------- */
.lp_main .cv_area {
  margin-bottom: 5%;
}
.lp_main .cv_btn {
  position: absolute;
  left: 0;
  right: 0;
  width: calc(663 / 750 * 100%);
  transform: translateX(-2%);
  margin: 0 auto;
}
.lp_main .cv_btn_01 {
  top: 51%;
}
.lp_main .cv_btn_02 {
  top: 65%;
}
.lp_main .cv_btn_03 {
  top: 58%;
}
.lp_main .cv_btn_04 {
  top: 61%;
}
.lp_main .cv_btn_05 {
  position: absolute;
  top: 59%;
  left: 0;
  right: 0;
  width: calc(472 / 750 * 100%);
  margin: 0 auto 10% auto;
}
.lp_main .video_txt {
  margin-top: 7%;
}


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

/* アイコン： 共通
------------------------------ */
.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;
}

/* アイコン： プラス
------------------------------ */
.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: #fff; /* 線の色 */
}
.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%;
}
.lp_main .faq_list {
  width: 90%;
  margin: 0 auto;
}
.lp_main .faq_list dt:not(:first-child) {
  margin-top: 8%;
}


/* ---------------------------------------------
 footer
--------------------------------------------- */
footer {
  max-width: 750px;
  margin: 0 auto;
  padding: min(5%, 30px) 0;
  font-size: min(calc((24 / 750)* 100vw), 16px);
  text-align: center;
  color: #333;
}
footer p {
  margin: 0;
  padding: 0;
  line-height: 1;
  font-family: "Noto Sans", sans-serif;
}
footer .footer_link p:not(:last-child) {
  margin-bottom: 1%;
}
footer a {
  color: #333;
  text-decoration: none;
}
footer a:hover {
  text-decoration: underline;
}
footer .footer_copy {
  margin-top: min(5%, 30px);
  font-size: min(calc((20 / 750)* 100vw), 14px);
}