@charset "UTF-8";
/* ---------------------------------------------
  reset
--------------------------------------------- */
body {
  margin: 0;
  padding: 0;
}

/* 解析タグの隙間対策 */
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;
  background: transparent;
}
.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 {
  display: block;
  height: auto;
  vertical-align: bottom;
  width: 100%;
  max-width: 100%;
}
.lp_main svg,
.lp_main video {
  width: 100%;
  height: auto;
}


/* ---------------------------------------------
  common
--------------------------------------------- */
/* スムーススクロール */
html {
  scroll-behavior: smooth;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.lp_main {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  overflow: hidden;
  text-spacing-trim: trim-start;
}


/* ---------------------------------------------
  fv
--------------------------------------------- */
.lp_main .logo_area {
  padding: 0 0 min(calc((10 / 750) * 100vw), 10px) 0;
}
.lp_main .logo_area .swiper-wrapper {
  transition-timing-function: linear;
}
.lp_main .logo_area .swiper-slide {
  width: min(calc((1306 / 750) * 100vw), 1306px);
}


/* ---------------------------------------------
  about
--------------------------------------------- */
.lp_main .about_slide_area {
  position: absolute;
  top: 18.6%;
  left: 0;
  width: 100%;
}
.lp_main .about_slide_area .swiper {
  width: calc(570 / 750 * 100%);
  margin: 0 auto;
}

/* 左右のアイコン */
.lp_main .about_slide_area .swiper-button-next,
.lp_main .about_slide_area .swiper-button-prev {
  top: 50%;
  width: min(calc((48 / 750) * 100vw), 48px);
  height: min(calc((48 / 750) * 100vw), 48px);
  margin: 0;
  transform: translate(0, -50%);
  background: url(../img/slide_arrow.png) no-repeat;
  background-size: contain;
}
.lp_main .about_slide_area .swiper-button-prev {
  left: calc(21 / 750 * 100%);
  transform: translate(0, -50%) scale(-1, 1);
}
.lp_main .about_slide_area .swiper-button-next {
  right: calc(19 / 750 * 100%);
}
.lp_main .about_slide_area .swiper-navigation-icon {
  display: none;
}

/* ページネーション */
.lp_main .about_slide_area .swiper-pagination {
  bottom: max(calc((-40 / 750) * 100vw), -40px);
}
.lp_main .about_slide_area .swiper-pagination-bullet {
  opacity: 1;
  background-color: #fff;
  width: min(calc((9 / 750) * 100vw), 9px);
  height: min(calc((9 / 750) * 100vw), 9px);
  margin: 0 min(calc((16 / 750) * 100vw), 16px);
}
.lp_main .about_slide_area .swiper-pagination-bullet-active {
  background-color: #e30000;
}


/* ---------------------------------------------
 アイコン
--------------------------------------------- */
/* アイコン共通 */
.lp_main .icn_area {
  display: flex;
  position: absolute;
  top: 50%;
  right: 4%;
  width: min(calc((35 / 750) * 100vw), 35px);
  transform: translate(0, -50%);
  align-items: center;
  justify-content: center;
}
.lp_main .icn_area img {
  transform: rotate(180deg);
  transition: transform 0.3s;
}
.lp_main .js_acoBtn.is_active .icn_area img {
  transform: rotate(0deg);
}


/* ---------------------------------------------
 アコーディオン
--------------------------------------------- */
.lp_main .aco_btn {
  position: relative;
  cursor: pointer;
}
.lp_main .aco_contents {
  display: none;
}


/* ---------------------------------------------
  cv
--------------------------------------------- */
.lp_main .cv_area {
  margin-bottom: min(calc((23 / 750) * 100vw), 23px);
  text-align: center;
}
.lp_main .cv_btn {
  width: calc(704 / 750 * 100%);
  margin: 0 auto;
  transform: translateX(min(calc((9 / 750) * 100vw), 9px));
}

/* 追従ボタン */
.lp_main .fixed_cv {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.lp_main .fixed_cv.is_show {
  opacity: 1;
  visibility: visible;
}


/* ---------------------------------------------
  faq
--------------------------------------------- */
.lp_main .sec_faq {
  padding-bottom: min(calc((80 / 750) * 100vw), 80px);
  background-color: #e30000;
}
.lp_main .faq_list {
  width: 92%;
  margin: 0 auto;
}
.lp_main .faq_item:not(:last-child) {
  margin-bottom: min(calc((30 / 750) * 100vw), 30px);
}


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