@charset "UTF-8";
/* ---------------------------------------------
 トップページ固有スタイル
--------------------------------------------- */

/* ボタン横並び */
.lp_main .btn_mini_flex {
  display: flex;
  gap: 3%;
  width: 90%;
  margin: 0 auto;
  padding: 4% 0 2% 0;
}
.lp_main .btn_mini_flex p {
  flex: 1;
}
.lp_main .btn_mini_flex--abs {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 14%;
  width: 94%;
  gap: 2%;
  padding: 0;
}
.lp_main .btn_line_abs {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 24%;
  width: 88%;
  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;
  bottom: 11%;
  width: calc(588 / 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: #6e6e6e; /* 線の色 */
}
.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 .icn__arrowBorder {
  --arrow-line-thickness: min(calc((3 / 750) * 100vw), 3px); /* 線の太さ */
  --arrow-width: min(calc((20 / 750) * 100vw), 20px); /* 矢印の幅 */
  --arrow-offset: calc(var(--arrow-width) / 3.3); /* 矢印の左右のオフセット */
  --arrow-color: #fff; /* 矢印の色 */
}

.lp_main .icn__arrowBorder::before,
.lp_main .icn__arrowBorder::after {
  content: "";
  display: block;
  position: absolute;
  width: var(--arrow-width);
  height: var(--arrow-line-thickness);
  background-color: var(--arrow-color);
  border-radius: calc(var(--arrow-line-thickness) / 2);
  transform-origin: center;
}
.lp_main .icn__arrowBorder::before {
  top: calc(50% - var(--arrow-line-thickness) / 2);
  left: calc(50% - var(--arrow-width) / 2 - var(--arrow-offset));
  transform: rotate(45deg);
}
.lp_main .icn__arrowBorder::after {
  top: calc(50% - var(--arrow-line-thickness) / 2);
  left: calc(50% - var(--arrow-width) / 2 + var(--arrow-offset));
  transform: rotate(-45deg);
}
.lp_main .icn__arrowBorder.is_active::before {
  transform: rotate(-45deg);
}
.lp_main .icn__arrowBorder.is_active::after {
  transform: rotate(45deg);
}


/* アイコン： 下向き 三角
------------------------------ */
.lp_main .icn__arrow {
  --arrow-height: min(calc((20 / 750) * 100vw), 20px); /* 三角形の高さ */
  --arrow-width: min(calc((14 / 750) * 100vw), 14px); /* 三角形の幅 */
  --arrow-color: #6e6e6e; /* 三角形の色 */
}

.lp_main .icn__arrow::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-top-width: var(--arrow-height);
  border-left-width: var(--arrow-width);
  border-right-width: var(--arrow-width);
  border-bottom-width: 0;
  border-color: var(--arrow-color) transparent transparent transparent;
}
.lp_main .icn__arrow.is_active::before {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}


/* アイコン： 下向き 三角角丸
------------------------------ */
.lp_main .icn_arrowRound,
.lp_main .icn_arrowRound::before,
.lp_main .icn_arrowRound::after{
  width: 1.5vmin;
  height: 1.5vmin;
  background: #6e6e6e;
}

.lp_main .icn_arrowRound::before,
.lp_main .icn_arrowRound::after {
  content: "";
  position: absolute;
}

.lp_main .icn_arrowRound {
  position: relative;
  border-top-left-radius: 30%;
  transform: rotate(90deg) skewY(30deg) scaleX(.86666) translate(-30%, -10%);
}

.lp_main .icn_arrowRound::before {
  border-top-right-radius: 30%;
  transform: skewX(-45deg) translateX(50%);
}

.lp_main .icn_arrowRound::after {
  border-bottom-left-radius: 30%;
  transform: skewY(-45deg) translateY(50%);
}

.lp_main .icn_area.is_active .icn_arrowRound {
  transform: rotate(150deg) skewY(30deg) scaleX(.86666) translate(-10%, -30%);
}


/* ---------------------------------------------
 アコーディオン
--------------------------------------------- */
.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;
}


/* ---------------------------------------------
 slide
--------------------------------------------- */
.lp_main .slide_area {
  position: relative;
  background-color: #0c244a;
}
.lp_main .slide_area .swiper {
  width: 89%;
  margin: 0 auto;
}

/* 左右の矢印アイコン */
.lp_main .slide_area .swiper-button-next,
.lp_main .slide_area .swiper-button-prev {
  top: 50%;
  width: min(calc((48 / 750) * 100vw), 32px);
  height: min(calc((80 / 750) * 100vw), 53px);
  margin-top: calc(min(calc((80 / 750) * 100vw), 53px) / -2);
}
.lp_main .slide_area .swiper-button-next:after,
.lp_main .slide_area .swiper-button-prev:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
}
.lp_main .slide_area .swiper-button-next:after {
  border-width: min(calc((40 / 750) * 100vw), 26px) 0 min(calc((40 / 750) * 100vw), 26px) min(calc((36 / 750) * 100vw), 24px);
  border-color: transparent transparent transparent #b99958;
}
.lp_main .slide_area .swiper-button-prev:after {
  border-width: min(calc((40 / 750) * 100vw), 26px) min(calc((36 / 750) * 100vw), 24px) min(calc((40 / 750) * 100vw), 26px) 0;
  border-color: transparent #b99958 transparent transparent;
}
.lp_main .slide_area .swiper-button-prev {
  left: min(calc((15 / 750) * 100vw), 10px);
}
.lp_main .slide_area .swiper-button-next {
  right: min(calc((15 / 750) * 100vw), 10px);
}



/* ---------------------------------------------
 shop
--------------------------------------------- */
.lp_main .sec_shop {
  background-color: #b99958;
}
.lp_main .shop_map {
  width: 90%;
  margin: 0 auto;
}
.lp_main .shop_map iframe {
  display: block;
  width: 100%;
  height: min(calc((400 / 750) * 100vw), 400px);
}


/* ---------------------------------------------
 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: 4%;
}


/* ---------------------------------------------
 buy
--------------------------------------------- */
.lp_main .sec_buy {
  padding-bottom: 10%;
}
.lp_main .buy_list {
  width: 90%;
  margin: 0 auto;
}
.lp_main .buy_list dt:not(:first-child) {
  margin-top: 4%;
}


/* ---------------------------------------------
 追従ボタン
--------------------------------------------- */
.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: 500px;
  margin: auto;
  padding: 10px;
  box-sizing: border-box;
}
.bl_floatArea_btn {
  display: block;
}
.bl_floatArea_btn img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
