@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;
  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: -18px auto;
  overflow: hidden;
}

/* ---------------------------------------------
  utility
--------------------------------------------- */
/* positionで配置したい要素の外側に使用 */
.lp_main .p_box {
  position: relative;
}
.lp_main .t_bold {
  font-weight: bold;
}
/* ---------------------------------------------
  cv
--------------------------------------------- */
.lp_main .btn{
  width: min(543 / 750 * 100vw,543px);
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  filter: drop-shadow(0 0 min(18 / 750* 100vw, 18px) rgba(83, 73, 73, 0.5));
}
.lp_main .cv_btn{
  top: 57%;
}

.lp_main .cv_04_item {
  position: absolute;
  top: 66%;
  left: 0;
  right: 0;
  width: calc(544 / 750 * 100%);
  margin: 0 auto;
}
.lp_main .cv_06 {
  margin-top: -20%;
  z-index: 1;
  position: relative;
}
.lp_main .cv_note {
  padding: 5% 15%;
  background-image: url(../img/cv_10.jpg);
  background-repeat: repeat-y;
  background-size: contain;
  background-position: top;
}
.lp_main .cv_note_item {
  font-size: min(calc((16 / 750) * 100vw), 16px);
  line-height: 1.8;
  color: #404040;
  text-indent: -1em;
  padding-left: 1em;
}
/* 注釈 */
.lp_main .cv_note_01 {
  width: min(550 / 750* 100vw,550px);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.lp_main .cv_note_01 li{
  font-size: min(17 / 750* 100vw,17px);
  color: #000;
  text-align: justify;
  line-height: 1.578;
}
.lp_main .cv_note_02 {
  background-color: #f7edea;
  padding: min(35 / 750* 100%,35px) min(30 / 750* 100%,30px) min(57 / 750* 100%,57px);
}
.lp_main .cv_note_02 li{
  font-size: min(17 / 750* 100vw,17px);
  color: #000;
  text-align: justify;
  line-height: 1.83;
}
/* ---------------------------------------------
  fv
--------------------------------------------- */
.lp_main .fv_01 {
  position: absolute;
  top: 46%;
}
.lp_main .fv_item_01 {
  position: absolute;
  top: 1.5%;
  left: 1.5%;
  width: calc(724 / 750* 100%);
  z-index: 1;
}
.lp_main .fv_item_02 {
  position: absolute;
  top: 9.5%;
  right: 1.5%;
  width: calc(221 / 750* 100%);
  z-index: 1;
}
.lp_main .fv_item_03 {
  position: absolute;
  top: 30%;
  left: 0;
  width: calc(238 / 750* 100%);
  z-index: 1;
}
.lp_main .fv_item_04 {
  position: absolute;
  top: 65.5%;
  right: 0;
  width: calc(325 / 750* 100%);
  z-index: 1;
}
.lp_main .fv_item_05 {
  position: absolute;
  top: 75.5%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: calc(687 / 750* 100%);
  z-index: 1;
}
.lp_main .fv_anime_01 {
  position: absolute;
  top: 30.5%;
  left: 15.8%;
  width: calc(336 / 750 * 100%);
}
.lp_main .fv_anime_02 {
  position: absolute;
  top: 46.5%;
  left: 33.5%;
  width: calc(314 / 750 * 100%);
}
.lp_main .fv_btn {
  top: 80%;
}
.lp_main .fv_02_area {
  padding-top: 34.9%;
}
.lp_main .fv-countUp {
  display: inline-block;
  font-family: "DM Serif Display", serif;
  background: linear-gradient(to bottom, #d6ab00 0%, #f7d57f 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: absolute;
  top: 38%;
  left: 51%;
  transform: translateX(-50%);
  white-space: nowrap;
  /* width: min(510 / 750 * 100%,510px); */
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: min(15 / 750 * 100vw,15px);
}
.lp_main .fv-countUp .count-target {
  font-size: min(135 / 750 * 100vw,135px);
  font-weight: 400;
  font-style: italic;
  line-height: 1;
  letter-spacing: -0.05em;
}
.lp_main .fv-countUp .count-text {
  font-size: min(80 / 750 * 100vw,80px);
  font-weight: 600;
  font-style: normal;
  line-height: 1;
  position: relative;
  background: inherit;
}
.lp_main .fv-countUp_01 {
  z-index: 2;
}
.lp_main .fv-countUp_02 {
  z-index: 1;
  text-shadow: 
      #fff 1px 1px 5px, #fff -1px 1px 5px,
      #fff 1px -1px 5px, #fff -1px -1px 5px;
}
.lp_main .fv_flex_item {
  position: absolute;
  width: calc(237 / 750 * 100%);
  overflow: hidden;
  border-radius: 50%;
}
.lp_main .fv_anime_03 {
  top: 38%;
  left: 3.5%;
}
.lp_main .fv_anime_04 {
  top: 38%;
  left: 34.5%;
  margin: 0 auto;
}
.lp_main .fv_anime_05 {
  top: 38%;
  right: 3%;
}
/* ---------------------------------------------
  popular
--------------------------------------------- */
/* インスタ */
.lp_main .insta_slide_area {
  position: absolute;
  top: 31.5%;
  left: 0;
  right: 0;
  width: 100%;
  margin: 0 auto;
}
.lp_main .insta_slide_inner {
  transition-timing-function: linear;
}
/* 雑誌 */
.lp_main .magazine_slide {
  position: absolute;
  top: 88.0%;
  left: 0;
  right: 0;
  width: 100%;
  margin: 0 auto;
}
.lp_main .popular_item {
  position: absolute;
  top: 95.5%;
  left: 3%;
  width: calc(126 / 750* 100%);
  z-index: 1;
}
.lp_main .magazine_slide_inner {
  transition-timing-function: linear;
}
/* ---------------------------------------------
  review
--------------------------------------------- */
.lp_main .review_anime_01 {
  position: absolute;
  top: 18%;
  right: 3.5%;
  width: calc(400 / 750* 100%);
}
.lp_main .review_anime_02 {
  position: absolute;
  top: 0%;
  left: 4%;
  width: calc(400 / 750* 100%);
}
.lp_main .review_anime_03 {
  position: absolute;
  top: 2%;
  right: 3.5%;
  width: calc(400 / 750* 100%);
}
/* ---------------------------------------------
  trouble
--------------------------------------------- */
.lp_main .trouble_anime_01 {
  position: absolute;
  width: calc(655 / 750 *100%);
  top: 1%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.lp_main .trouble_anime_02 {
  position: absolute;
  width: calc(66 / 750 *100%);
  top: 31%;
  left: 36%;
  opacity: 0;
}
.lp_main .trouble_anime_03 {
  position: absolute;
  width: calc(65 / 750 *100%);
  top: 31%;
  left: 44.5%;
  opacity: 0;
}
.lp_main .trouble_anime_04 {
  position: absolute;
  width: calc(65 / 750 *100%);
  top: 31%;
  left: 53.5%;
  opacity: 0;
}
.lp_main .trouble_anime_05 {
  position: absolute;
  width: calc(25 / 750 *100%);
  top: 31%;
  left: 62%;
  opacity: 0;
}
.lp_main .trouble_anime_06 {
  position: absolute;
  width: calc(603 / 750* 100%);
  top: 0.5%;
  left: 10.5%;
}
.lp_main .trouble_anime_07 {
  position: absolute;
  width: calc(614 / 750* 100%);
  top: 52%;
  left: 9%;
  overflow: hidden;
}
/* ---------------------------------------------
  point
--------------------------------------------- */
.lp_main .point_anime_01 {
  position: absolute;
  width: calc(750 / 750 * 100%);
  top: -0.0%;
  left: 0;
}
.lp_main .point_anime_02 {
  position: absolute;
  width: calc(750 / 750 * 100%);
  top: 19.5%;
  left: 0;
}
.lp_main .point_anime_03 {
  position: absolute;
  width: calc(750 / 750 * 100%);
  top: 49.1%;
  left: 0;
}
.lp_main .point_movie {
  position: absolute;
  width: calc(590 / 750 * 100%);
  top: 6%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.lp_main .point_anime_04 {
  position: absolute;
  width: calc(750 / 750 * 100%);
  top: 80.1%;
  left: 0;
}
/* ---------------------------------------------
  relax
--------------------------------------------- */
.lp_main .sec_relax {
  margin-top: -7.5%;
}
.lp_main .relax_anime {
  position: absolute;
  width: calc(387 / 750 * 100%);
  top: 50%;
  left: 11.5%;
}
/* ---------------------------------------------
  voice
--------------------------------------------- */
.lp_main .voice_anime_01 {
  position: absolute;
  top: 24.5%;
  right: 17%;
  width: calc(289 / 750 * 100%);
  z-index: 1;
}
.lp_main .voice_anime_02 {
  position: absolute;
  top: 36.3%;
  left: 8%;
  width: calc(335 / 750 * 100%);
  z-index: 1;
}
.lp_main .voice_anime_03 {
  position: absolute;
  top: 54%;
  left: 2.5%;
  width: calc(270 / 750 * 100%);
  z-index: 1;
}
.lp_main .voice_anime_04 {
  position: absolute;
  top: 70%;
  right: 3.5%;
  width: calc(321 / 750 * 100%);
  z-index: 1;
}
.lp_main .voice_anime_05 {
  position: absolute;
  top: 15%;
  right: 0;
  width: calc(537 / 750 * 100%);
  z-index: 1;
}
/* ---------------------------------------------
  use
--------------------------------------------- */
.lp_main .use_anime_01 {
  position: absolute;
  top: -1.5%;
  left: 0;
  width: calc(648 / 750 * 100%);
}
.lp_main .use_anime_02 {
  position: absolute;
  top: 29%;
  right: 0;
  width: calc(709 / 750 * 100%);
}
.lp_main .use_anime_03 {
  position: absolute;
  top: 59.5%;
  left: 0;
  width: calc(707 / 750 * 100%);
}
/* ---------------------------------------------
  tel
--------------------------------------------- */
.lp_main .tel_area {
  position: relative;
}
.lp_main .tel_area .btn_tel_border {
  width: calc(602 / 750 * 100%);
  margin: 8% auto;
}
.lp_main .btn_tel {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
/* ---------------------------------------------
  注意事項
--------------------------------------------- */
.lp_main .notes_area {
  padding: 0 7% 7% 7%;
}
.lp_main .notes_area h4 {
  margin-top: 8%;
  font-size: min(calc((22 / 750) * 100vw), 22px);
  font-weight: bold;
  line-height: 1.8;
  color: #404040;
}
.lp_main .notes_area p {
  font-size: min(calc((22 / 750) * 100vw), 22px);
  line-height: 1.8;
  color: #404040;
}
/* ---------------------------------------------
 追従ボタン
--------------------------------------------- */
.lp_main .bl_floatArea {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  transition:
    visibility 0.4s,
    opacity 0.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;
  background-color: rgba(255, 255, 255, 0.9);
  padding: min(20 / 750 * 100% ,20px) 0;
}
.lp_main .bl_floatArea_inner .btn_head {
  margin: 0 auto calc(10 / 750* 100%);
  width: calc(687 / 750* 100%);
}
/* ボタン */
.lp_main .bl_floatArea_btn {
  display: block;
  width: calc(543 / 750 * 100%);
  margin: 0 auto;
}
.lp_main .bl_floatArea_btn img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
/* 背景色付き ver */
.lp_main .bl_floatArea.bl_floatArea__bg {
  background-color: rgba(255, 255, 255, 0.5);
}
/* パディングなし ver */
.lp_main .bl_floatArea.bl_floatArea__p0 .bl_floatArea_inner {
  padding: 0;
}
