@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@300;400;500&family=Zen+Old+Mincho:wght@400;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;
  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;
}
.lp_main {
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "メイリオ", Meiryo, "Meiryo UI", Avenir, "Open Sans", Helvetica, "Helvetica Neue", Arial, Verdana, Roboto, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  overflow: hidden;
}
.lp_main .p_box {
  position: relative;
}
.lp_main [class*="_anime"] {
  position: absolute;
  z-index: 2;
}
/* ---------------------------------------------
  cv
--------------------------------------------- */
.lp_main .cv_btn {
  position: absolute;
  width: calc(680 / 750 * 100%);
  top: 30%;
  left: 0;
  right: 0;
  margin-inline: auto;
}
.lp_main .cv_btn-tel {
  position: absolute;
  width: calc(544 / 750 * 100%);
  top: 65%;
  left: 0;
  right: 0;
  margin-inline: auto;
}

/* ---------------------------------------------
  pamphlet
--------------------------------------------- */

.lp_main .cv_btn-pamphlet {
  position: absolute;
  width: calc(680 / 750 * 100%);
  top: 80%;
  left: 0;
  right: 0;
  margin-inline: auto;
}
/* ---------------------------------------------
  fv
--------------------------------------------- */
.lp_main .contact_no_txt {
  background-color: #c90000;
  padding: 2% 4%;
}
.lp_main .contact_no_txt p {
  padding: 2% 0;
  border: 1px solid #bf9e41;
  font-size: min(24 / 750 * 100vw ,24px);
  line-height: 1;
  color: #fff;
  text-align: center;
  letter-spacing: 2px;
}
.lp_main .contact_no_txt span {
  font-size: min(24 / 750 * 100vw ,24px);
  line-height: 1;
}

/* 動画 */
.lp_main .fv_video {
  position: relative;
  width: calc(690 / 750 * 100%);
  margin: 10% auto;
}
.lp_main .fv_video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.lp_main .fv_video::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}


/* ---------------------------------------------
  nayami
--------------------------------------------- */
.lp_main .nayami_anime_03 {
  width: calc(221 / 750 * 100%);
  top: 5%;
  left: 22%;
  overflow: hidden;
  filter: drop-shadow(min(11 / 750 * 100vw ,11px) 0px min(8 / 750 * 100vw ,8px) rgba(110, 106, 99, 0.41));
}
/* ---------------------------------------------
  award
--------------------------------------------- */
.lp_main .award_anime {
  width: calc(566 / 750 * 100%);
  top: 2.5%;
  left: 0;
  right: 0;
  margin-inline: auto;
}
/* ---------------------------------------------
  kodawari
--------------------------------------------- */
.lp_main .kodawari_anime_01 {
  width: calc(656 / 750 * 100%);
  top: 3.7%;
  left: 0;
  right: 0;
  margin-inline: auto;
}
.lp_main .kodawari_anime_02 {
  width: calc(693 / 750 * 100%);
  top: 7.7%;
  right: 0;
}
.lp_main .kodawari_anime_03 {
  width: calc(696 / 750 * 100%);
  top: 33.7%;
  right: 0;
}
.lp_main .kodawari_anime_04 {
  width: calc(697 / 750 * 100%);
  top: 54.6%;
  right: 0;
}
.lp_main .kodawari_anime_05 {
  width: calc(698 / 750 * 100%);
  top: 78%;
  right: 0;
}

/* ---------------------------------------------
  uv
--------------------------------------------- */
.lp_main .uv {
  padding-bottom: 5%;
  background-color: #e8e8fc;
}

/* YouTube動画の配置調整 */
.lp_main .uv_video {
  position: absolute;
  width: calc(690 / 750 * 100%);
  top: 41%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

.lp_main .uv_video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.lp_main .uv_video::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.lp_main .uv_more_btn {
  width: calc(561 / 750 * 100%);
  margin: 10% auto 5% auto;
}

.lp_main .uv_more_area {
  display: none;
  padding-top: 5%;
  padding-bottom: 7%;
}

/* ---------------------------------------------
  faq
--------------------------------------------- */
.lp_main .faq {
  background-color: #efeff5;
  padding-bottom: calc(100 / 750 * 100%);
}
.lp_main .accordion {
  width: calc(690 / 750 * 100%);
  margin: 0 auto calc(50 / 750 * 100%);
}
.lp_main .accordion:last-of-type {
  margin: 0 auto;
}
.lp_main .accordion dt {
  cursor: pointer;
  position: relative;
}
.lp_main .accordion dt:after,
.lp_main .uv_more_btn:after {
  content: "";
  display: block;
  width: calc(25/ 690 * 100%);
  padding-top: calc(15 / 690 * 100%);
  background-image: url(../img/faq_btn.webp);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: 4.5%;
  top: 49%;
  transform: rotate(180deg);
  transition: all ease 0.2s;
}
.lp_main .accordion dt.is_active:after,
.lp_main .uv_more_btn.is_active:after {
  transform: rotate(0deg);
}
.lp_main .accordion dd {
  display: none;
}
/* ---------------------------------------------
  shop
--------------------------------------------- */
.lp_main .shop {
  background-color: #f0e5e7;
  padding-bottom: calc(103 / 750 * 100%);
}
.lp_main .shop_btn_tel {
  width: calc(630 / 750 * 100%);
  margin: 0 auto calc(55 / 750 * 100%);
}
.lp_main .shop_detail {
  width: calc(630 / 750 * 100%);
  margin: 0 auto calc(50 / 750 * 100%);
}
.lp_main .shop_detail:last-of-type {
  margin: 0 auto;
}
.lp_main .shop_btn_map {
  position: absolute;
  width: calc(560 / 630 * 100%);
  bottom: 7%;
  left: 0;
  right: 0;
  margin-inline: auto;
}
/* ---------------------------------------------
  footer
--------------------------------------------- */
.footer div, .footer p, .footer img, .footer small, .footer ol, .footer ul, .footer {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 0;
  line-height: 0;
  vertical-align: baseline;
  background: transparent;
}
.footer ol, .footer ul {
  list-style: none;
}
.footer img {
  display: block;
  height: auto;
  vertical-align: bottom;
  width: 100%;
  max-width: 100%;
}
.footer {
  max-width: 750px;
  margin-inline: auto;
}
.footer .footer_content {
  background-color: #82654f;
  display: flex;
  justify-content: space-between;
  padding: min(50 / 750 * 100vw ,50px) min(30 / 750 * 100vw ,30px) min(35 / 750 * 100vw ,35px);
}
.footer .footer_logo {
  width: min(217 / 750 * 100vw ,217px);
}
.footer .footer_list_item {
  text-align: right;
  margin-bottom: min(30 / 750 * 100vw ,30px);
}
.footer .footer_list_item:last-of-type {
  margin-bottom: 0;
}
.footer .footer_list_link {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: min(22 / 750 * 100vw ,22px);
  line-height: 1;
  letter-spacing: 0.2em;
  font-weight: 400;
  color: #fff;
  text-decoration: underline;
}
.footer .footer_copyright {
  background-color: #5e493a;
  padding: min(20 / 750 * 100vw ,20px) min(30 / 750 * 100vw ,30px) min(20 / 750 * 100vw ,20px) 0;
  text-align: right;
}
.footer .footer_copyright_text {
  font-family: "Zen Old Mincho", serif;
  font-size: min(24 / 750 * 100vw ,24px);
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 400;
  color: #fff;
}
/* ---------------------------------------------
 アニメーション
--------------------------------------------- */
/* 光らせる */
.lp_main .an_shiny::after {
  content: "";
  position: absolute;
  top: -100px;
  left: -100px;
  width: 50px;
  height: 50px;
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.8) 100%, rgba(255, 255, 255, 0) 0%);
  animation-name: an_shiny;
  animation-duration: 2.5s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
@keyframes an_shiny {
  0% {
    transform: translate(-100%, -100%) scale(0) rotate(45deg);
    opacity: 0;
  }
  50% {
    transform: translate(100%, 100%) scale(1) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: translate(300%, 300%) scale(50) rotate(45deg);
    opacity: 0;
  }
}
/* アニメーション共通 */
.lp_main .io {
  transition: all 1s ease;
}
/* fade-in
-------------------- */
.lp_main .io_fadeIn {
  opacity: 0;
}
.lp_main .io_fadeIn.is_active {
  opacity: 1;
}
/* fade-up
-------------------- */
.lp_main .io_fadeUp {
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
}
.lp_main .io_fadeUp.is_active {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}


/* ---------------------------------------------
 追従ボタン
--------------------------------------------- */
.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;
  padding: 10px;
  box-sizing: border-box;
}

.lp_main .f_box{
  display: flex;
  justify-content: space-around;
}
.lp_main .f_box a {
  width: 48%;
}

/* ボタン */
.lp_main .bl_floatArea_btn {
  display: block;
}
.lp_main .bl_floatArea_btn img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.lp_main .aco_btn {
  position: relative;
  cursor: pointer;
}
.lp_main .aco_btn:after {
  content: "";
  display: block;
  width: calc(25/ 690 * 100%);
  padding-top: calc(15 / 690 * 100%);
  background-image: url(../img/faq_btn.webp);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: 4.5%;
  top: 49%;
  transform: rotate(180deg);
  transition: all ease 0.2s;
}
.lp_main .aco_btn.is_active:after {
  transform: rotate(0deg);
}
.lp_main .aco_btn.uv_more_btn:after {
  width: 0;
  height: 0;
  border-left: min(calc((14 / 750)* 100vw), 14px) solid transparent;
  border-right: min(calc((14 / 750)* 100vw), 14px) solid transparent;
  border-top: min(calc((20 / 750)* 100vw), 20px) solid #fff;
  background: none;
  background-image: none;
  right: 9%;
  top: 59%;
  transform: translateY(-50%);
}
.lp_main .aco_btn.uv_more_btn.is_active:after {
  transform: translateY(-94%) rotate(180deg);
}

/* -----------------------------------------
  ディレイ
----------------------------------------- */
.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;
}


.lp_main .anime-delay-1100 {
  -webkit-animation-delay: 1.1s !important;
          animation-delay: 1.1s !important;
  transition-delay: 1.1s !important;
}

.lp_main .anime-delay-1200 {
  -webkit-animation-delay: 1.2s !important;
          animation-delay: 1.2s !important;
  transition-delay: 1.2s !important;
}

.lp_main .anime-delay-1300 {
  -webkit-animation-delay: 1.3s !important;
          animation-delay: 1.3s !important;
  transition-delay: 1.3s !important;
}

.lp_main .anime-delay-1400 {
  -webkit-animation-delay: 1.4s !important;
          animation-delay: 1.4s !important;
  transition-delay: 1.4s !important;
}

.lp_main .anime-delay-1500 {
  -webkit-animation-delay: 1.5s !important;
          animation-delay: 1.5s !important;
  transition-delay: 1.5s !important;
}

.lp_main .anime-delay-1600 {
  -webkit-animation-delay: 1.6s !important;
          animation-delay: 1.6s !important;
  transition-delay: 1.6s !important;
}

.lp_main .anime-delay-1700 {
  -webkit-animation-delay: 1.7s !important;
          animation-delay: 1.7s !important;
  transition-delay: 1.7s !important;
}

.lp_main .anime-delay-1800 {
  -webkit-animation-delay: 1.8s !important;
          animation-delay: 1.8s !important;
  transition-delay: 1.8s !important;
}

.lp_main .anime-delay-1900 {
  -webkit-animation-delay: 1.9s !important;
          animation-delay: 1.9s !important;
  transition-delay: 1.9s !important;
}

.lp_main .anime-delay-2000 {
  -webkit-animation-delay: 2s !important;
          animation-delay: 2s !important;
  transition-delay: 2s !important;
}
.lp_main .anime-delay-2100 {
  -webkit-animation-delay: 2.1s !important;
          animation-delay: 2.1s !important;
  transition-delay: 2.1s !important;
}
.lp_main .anime-delay-2200 {
  -webkit-animation-delay: 2.2s !important;
          animation-delay: 2.2s !important;
  transition-delay: 2.2s !important;
}
