html, body {
  height: 100%;
  margin: 0;
}

picture {
  display: block;
}

/*base*/
html {
  -webkit-overflow-scrolling: touch;
}

/* CSS Document */
/*Base*/
.llw {
  max-width: 750px;
  width: 100%;
  background: #fff;
  margin: 0 auto;
  overflow: hidden;
  font-family: "Noto Sans JP", "游ゴシック", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", "Noto Serif JP", sans-serif;
  font-weight: 600;
}
.llw input {
  -webkit-appearance: button;
  appearance: button;
  transition: border 0.2s ease-out;
}
.llw input::-webkit-search-decoration {
  display: none;
}
.llw input:focus {
  outline-offset: -2px;
}
.llw input[type=image] {
  -webkit-appearance: none;
}
.llw img {
  display: block;
  vertical-align: bottom;
  width: 100%;
  height: auto;
}

.cta01__btn--01 {
  width: 100%;
  top: 22.1%;
  left: 0;
}
.overlayArea {
  position: relative;
}
.overlayItem {
  position: absolute;
}

.lp01_01 {
  position: fixed;
  max-width: 750px;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 100;
}
.lp01_01_btn_01 {
  width: 40%;
  top: 12.5%;
  left: 14.9%;
}
.lp01_01_btn_02 {
  width: 40.1%;
  top: 13.27%;
  left: 57%;
}
.lp01_02 {
  margin-top: 134px;
}
@media screen and (max-width: 750px) {
  .lp01_02 {
    margin-top: 17.8666666667vw;
  }
}
.lp01_02-02 {
  position: relative;
  z-index: 1;
}
.lp01_02_elm_01 {
  top: 16%;
  left: 0;
  display: flex;
  overflow: hidden;
}
.lp01_02_elm_01__list {
  display: flex;
  list-style: none;
  animation: infinity-scroll-left 30s infinite linear both;
}
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.lp01_02_elm_01__item {
  width: 730px;
}
@media screen and (max-width: 750px) {
  .lp01_02_elm_01__item {
    width: 97.3333333333vw;
  }
}
.lp01_02_elm_02 {
  width: 53.34%;
  top: 37.82%;
  left: 3.3%;
  transform: translateX(-110%);
  opacity: 0;
  transition: 0.5s all ease-in-out;
}
.js-fvStart .lp01_02_elm_02 {
  transform: translateX(0);
  opacity: 1;
}
.lp01_02_elm_03-01 {
  width: 100%;
  top: 14%;
  right: -80px;
  transform: translateX(100%);
  opacity: 0;
  transition: 0.5s all ease-in-out;
}
@media screen and (max-width: 750px) {
  .lp01_02_elm_03-01 {
    right: -40px;
  }

}
.js-fvStart .lp01_02_elm_03-01 {
  transform: translateX(0);
  opacity: 1;
}
.lp01_02_elm_04 {
  width: 55.6%;
  top: 17.44%;
  left: 0;
}
.lp01_02_elm_05-01 {
  width: 90%;
  top: 61%;
  left: 4%;
}
.lp01_03-01 {
  margin-top: -13.6%;
}
.lp01_03_chara__01-01 {
  font-size: 35px;
  color: #0e0000;
  text-align: center;
  top: 50%;
  left: 6.8%;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .lp01_03_chara__01-01 {
    font-size: 4.6666666667vw;
  }
}
.lp01_03_chara__02-01 {
  font-size: 30px;
  color: #0e0000;
  text-align: center;
  top: 58%;
  left: 36%;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -5px;
}
@media screen and (max-width: 750px) {
  .lp01_03_chara__02-01 {
    font-size: 4vw;
    letter-spacing: -0.6666666667vw;
  }
}
.lp01_03_chara__03-01 {
  font-size: 35px;
  /*font-size: 41px;*/
  color: #ff5e08;
  text-align: center;
  top: 52%;
  left: 73.5%;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 1px;
}
@media screen and (max-width: 750px) {
  .lp01_03_chara__03-01 {
    font-size: 4.6666666667vw;
    /*font-size: 5.4666666667vw;*/
    letter-spacing: -0.5333333333vw;
  }
}
.lp01_03_charaNum__01 {
  font-size: 60px;
}
@media screen and (max-width: 750px) {
  .lp01_03_charaNum__01 {
    font-size: 8vw;
  }
}
.lp01_03_charaColor__01 {
  color: #ff5e08;
  font-size: 46px;
}
@media screen and (max-width: 750px) {
  .lp01_03_charaColor__01 {
    font-size: 6.1333333333vw;
  }
}
.lp01_03_charaColor__02 {
  color: #ff5e08;
}
.lp01_03_charaStr__02 {
  font-size: 45px;
  letter-spacing: 0;
}
@media screen and (max-width: 750px) {
  .lp01_03_charaStr__02 {
    font-size: 6vw;
  }
}
.lp01_03_charaStr__03 {
  font-size: 60px;
  /*font-size: 45px;*/
  letter-spacing: 0;
}
@media screen and (max-width: 750px) {
  .lp01_03_charaStr__03 {
    font-size: 8vw;
    /*font-size: 6vw;*/
  }
}
.lp06_09 {
  position: relative;
  z-index: 1;
}
.lp06_09_shadow {
  mix-blend-mode: screen;
  opacity: 0.8;
  top: 0;
}
.lp06_09_bg {
  background: linear-gradient(225deg, #bc0004 0%, #8e0004 100%);
}
.lp06_09_elm_01 {
  width: 63px;
  top: 30%;
  left: 3.2%;
}
@media screen and (max-width: 750px) {
  .lp06_09_elm_01 {
    width: 8.4vw;
  }
}
.lp06_13_btn_01 {
  width: 100%;
  left: 0;
  top: 13%;
}
.floating {
  position: relative;
  z-index: 10;
}
.floatingContainer {
  position: fixed;
  max-width: 750px;
  width: 100%;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  opacity: 0;
  transition: 0.3s all;
  z-index: 100;
  pointer-events: none;
}
.floatingContainer img {
  width: 100%;
}
.floatingContainer.js-floating {
  opacity: 1;
  pointer-events: auto;
}
.contents02Slider {
  width: 100%;
  top: 0.85%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.contents02Pagenation {
  position: absolute;
  bottom: -1.4% !important;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
}
.contents02Pagenation .swiper-pagination-bullet {
  display: flex;
  width: 13px;
  height: 13px;
  margin: 0 1.9% !important;
  background: #666666;
  opacity: 1;
}
@media screen and (max-width: 750px) {
  .contents02Pagenation .swiper-pagination-bullet {
    width: 1.7333333333vw;
    height: 1.7333333333vw;
  }
}
.contents02Pagenation .swiper-pagination-bullet-active {
  background: #ff5f09;
}
.contents02Nav__prev, .contents02Nav__next {
  position: absolute;
  top: 50%;
  width: 120px;
  height: 131px;
  margin-top: -66px;
  border-radius: 50%;
  z-index: 1;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .contents02Nav__prev, .contents02Nav__next {
    width: 16vw;
    height: 17.4666666667vw;
    margin-top: -7.2vw;
  }
}
.contents02Nav__prev {
  left: 0;
}
@media screen and (max-width: 750px) {
  .contents02Nav__prev {
    left: 0vw;
  }
}
.contents02Nav__next {
  right: 0;
}
@media screen and (max-width: 750px) {
  .contents02Nav__next {
    right: 0vw;
  }
}
.contents03Slider {
  width: 83%;
  top: 22.92%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.contents03Pagenation {
  position: absolute;
  bottom: -1% !important;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
}
.contents03Pagenation .swiper-pagination-bullet {
  display: flex;
  width: 13px;
  height: 13px;
  margin: 0 0.9% !important;
  background: #666666;
  opacity: 1;
}
@media screen and (max-width: 750px) {
  .contents03Pagenation .swiper-pagination-bullet {
    width: 1.7333333333vw;
    height: 1.7333333333vw;
  }
}
.contents03Pagenation .swiper-pagination-bullet-active {
  background: #ff5f09;
}
.swiper-button-disabled {
  display: none;
}

.contents03Nav__prev, .contents03Nav__next {
  position: absolute;
  top: 47.4%;
  width: 76px;
  height: 76px;
  margin-top: -38px;
  border-radius: 50%;
  z-index: 1;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .contents03Nav__prev, .contents03Nav__next {
    width: 8.1333333333vw;
    height: 8.1333333333vw;
    margin-top: -2.066667vw;
  }
}
.contents03Nav__prev::before {
  transform: scale(0.9, 1) rotate(-135deg);
  left: 15%;
}
@media screen and (max-width: 750px) {
  .contents03Nav__prev {
    left: -1.866667vw;
  }
}
.contents03Nav__prev {
  left: -14px;
}
.contents03Nav__next {
  right: -14px;
  transform: rotate(180deg);
}
@media screen and (max-width: 750px) {
  .contents03Nav__next {
    right: -1.866667vw;
  }
}

.accordion01Container {
  width: 100%;
  margin: 0 auto;
  padding-bottom: 4.7%;
}
.accordion01__item {
  position: relative;
  width: 91.5%;
  margin: 0 auto;
  z-index: 1;
  margin-bottom: 5.4%;
  overflow: hidden;
}
.accordion01__btn {
  display: flex;
  align-items: center;
  padding: 0 10.2% 0 14.9%;
  background: linear-gradient(152deg, #febc7f 0%, #ff820a 100%);
  cursor: pointer;
  user-select: none;
  min-height: 150px;
  font-size: 32px;
  line-height: 1.3;
  color: #fff;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .accordion01__btn {
    font-weight: 700;
    min-height: 20vw;
    font-size: 4.2666666667vw;
  }
}
.accordion01__btnColor {
  color: #ffff00;
}
.accordion01__content {
  overflow: hidden;
  transition-duration: 0.3s;
  background: #FFF;
  font-size: 29px;
  line-height: 1.7;
  /*visibility: hidden;*/
  display: none;
}
@media screen and (max-width: 750px) {
  .accordion01__content {
    font-size: 3.8666666667vw;
  }
}
.accordion01__state {
  position: absolute;
  width: 42px;
  height: 42px;
  top: 50%;
  right: 2.9%;
  margin-top: -21px;
  border: solid 2px #fff;
  border-radius: 50%;
}
@media screen and (max-width: 750px) {
  .accordion01__state {
    width: 5.6vw;
    height: 5.6vw;
    margin-top: -2.8vw;
    border: solid 0.2666666667vw #fff;
  }
}
.accordion01__state::before, .accordion01__state::after {
  position: absolute;
  content: "";
  display: block;
  width: 60%;
  height: 2px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: #fff;
}
@media screen and (max-width: 750px) {
  .accordion01__state::before, .accordion01__state::after {
    height: 0.2666666667vw;
  }
}
.accordion01__state::after {
  transform: rotate(90deg);
  transition: 0.2s all ease-in-out;
}
.accordion02Container {
  width: 100%;
  margin: 0 auto 8.2%;
  padding-bottom: 1%;
}
.accordion02__item {
  position: relative;
  width: 88.3%;
  margin: 0 auto;
  z-index: 1;
  margin-bottom: 4.9%;
}
.accordion02__btn {
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  align-items: center;
  position: relative;
  cursor: pointer;
  user-select: none;
  background: #ff5e08;
  color: #fff;
  font-size: 47px;
  height: 108px;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .accordion02__btn {
    font-size: 6.2666666667vw;
    height: 14.4vw;
  }
}

.accordion02__content {
  overflow: hidden;
  transition-duration: 0.3s;
  background: #FFF;
  margin: 6.7% 0;
  display: none;
}

.accordion02__state {
  position: absolute;
  width: 50px;
  height: 50px;
  top: 50%;
  right: 5.4%;
  margin-top: -25px;
  border-radius: 50%;
  border: solid 2px #fff;
}
@media screen and (max-width: 750px) {
  .accordion02__state {
    width: 6.6666666667vw;
    height: 6.6666666667vw;
    margin-top: -3.3333333333vw;
  }
}
.accordion02__state::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  top: -5px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 15px;
  height: 15px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: rotate(135deg);
  transition: 0.5s all;
}
@media screen and (max-width: 750px) {
  .accordion02__state::before {
    width: 2vw;
    height: 2vw;
    border-right: 0.2666666667vw solid #fff;
    border-top: 0.2666666667vw solid #fff;
  }
}
.accordion02Nest__item {
  position: relative;
  width: 94.2%;
  margin: 0 auto;
  z-index: 1;
  margin-bottom: 5%;
}
.accordion02Nest__btn {
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  align-items: center;
  position: relative;
  cursor: pointer;
  user-select: none;
  background: #ffbd9a;
  color: #0e0000;
  font-size: 37px;
  height: 74px;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .accordion02Nest__btn {
    font-size: 4.9333333333vw;
    height: 9.8666666667vw;
  }
}
.accordion02Nest__content {
  overflow: hidden;
  transition-duration: 0.3s;
  padding: 2% 2.7%;
  display: none;
  /*visibility: hidden;*/
}
.accordion02Nest__contentList {
  display: flex;
  font-size: 25px;
  line-height: 1.2;
  border-bottom: solid 2px #e3e3e3;
  padding: 0% 2% 2% 3%;
  margin: 2% 0;
}
@media screen and (max-width: 750px) {
  .accordion02Nest__contentList {
    font-size: 3.3333333333vw;
    border-bottom: solid 0.2666666667vw #e3e3e3;
  }
}
.accordion02Nest__contentList:last-child {
  border: none;
}
.accordion02Nest__contentList dt {
  flex: 0 1 29.5%;
}
.accordion02Nest__contentList dd {
  flex: 0 1 70.5%;
}
.accordion02Nest__content.js-close {
  height: 0;
  opacity: 0;
}
.accordion02Nest__content.js-open {
  opacity: 1;
}
.accordion02Nest__state {
  position: absolute;
  width: 23px;
  height: 23px;
  top: 50%;
  right: 4.5%;
  margin-top: -12px;
}
@media screen and (max-width: 750px) {
  .accordion02Nest__state {
    width: 3.0666666667vw;
    height: 3.0666666667vw;
    margin-top: -1.6vw;
  }
}
.accordion02Nest__state::before, .accordion02Nest__state::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: #221714;
}
@media screen and (max-width: 750px) {
  .accordion02Nest__state::before, .accordion02Nest__state::after {
    height: 0.2666666667vw;
  }
}
.accordion02Nest__state::after {
  transform: rotate(90deg);
  transition: 0.2s all ease-in-out;
}
.js-active .accordion02Nest__state::after {
  transform: rotate(0);
}
.accordion01__contentInner {
  padding: 5.4% 5.3% 5.6%;
  text-align: justify;
  color: #0e0000;
}
.accordion01__contentColor {
  color: #ff5e08;
}

/* 追加 */
.cp {
  background-size: cover;
  /*padding-bottom: 5rem;*/
  /*padding-top: 1rem;*/
}
.cp picture {
  padding: 0.5rem 0;
}
.btn_cta {
  padding: 1rem 0;
}
@media screen and (max-width: 750px) {
  .btn_cta {
    padding: 0.5rem 0;
  }
  .cp picture {
    padding: 0.2rem 0;
  }
  /*.cp {
    padding-bottom: 3rem;
  }*/
}
.flow {
  background: url(../img/lp04_bg.webp);
  background-size: cover;
}
.btn_animate {
  margin: 0 auto;
  animation: fuwafuwa 1s ease 0s infinite alternate;
  transform-origin: center;
  cursor: pointer;
}
@keyframes fuwafuwa {
  from {transform: scale(0.9,0.9);}
  to {transform: scale(1,1);}
}

.line_btn {
  padding: 4rem 8rem;
}
@media screen and (max-width: 750px) {
  .line_btn {
    padding: 2rem 5rem;
  }
}


.cp .bg_cp_style {
  position: relative;
  z-index: 1;
}

.cp_contents {
  position: absolute;
  z-index: 2;
  top: 285px;
  left: 0;
}

@media screen and (max-width: 750px) {
  .cp_contents {
    position: absolute;
    z-index: 2;
    top: 40vw;
    left: 0;
  }
}

.change_after {
  position: absolute;
  top: 0;
  left: 0;  
}

.cp_notes {
  text-align: right;
  font-size: 15px;
  padding: 0 50px;
}

@media screen and (max-width: 750px) {
  .cp_notes {
    text-align: right;
    font-size: 2vw;
    padding: 0 2rem;
  }
}

.shop_info_ttl {
  margin-top: 2rem;
  background: #ffebe0;
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  align-items: center;
  position: relative;
  cursor: pointer;
  user-select: none;
  color: #000;
  font-size: 27px;
  height: 50px;
}

.shop_info_txt {
  font-size: 23px;
  text-align: center;
  padding-top: 1rem;
}

@media screen and (max-width: 750px) {
  .shop_info_ttl {
    margin-top: 0.7rem;
    font-size: 3.9333333333vw;
    height: 8.8666666667vw;
  }
  
  .shop_info_txt {
    font-size: 3.5vw;
    padding-top: 0.5rem;
    padding-bottom: 0.8rem;
  }
}

.cta_shop-to-form_txt {
  text-align: center;
  font-size: 1.5rem;
  color: #256124;
  margin-bottom: -1rem;
}

.cta_shop-to-form {
  margin: 0 auto;
  padding-top: 3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cta_shop-to-form_style {
  background-color: #5cc759;
  box-shadow: #008e32 0px 5px;
  color: #fff;
  border-radius: 30px;
  font-size: 27px;
  text-decoration: none;
  text-align: center;
  padding: 10px;
}

.slick-content {
  display: block; /* flex以外に設定 */
  padding: 3vw 1.5vw 0;
}

.slider-nav {
  margin: 0 1.5vw;
}

.google_map {
  padding-top: 1vw;
}

@media screen and (max-width: 750px) {
  .cta_shop-to-form_txt {
    font-size: 1rem;
  }
  
  .cta_shop-to-form {
    padding-top: 1rem;
  }
  
  .cta_shop-to-form_style {
    font-size: 1rem;
    padding: 2vw;
    box-shadow: #008e32 0px 1vw;
  }

  .slick-content {
    padding: 7vw 5vw 0;
  }
  .slider-nav {
    margin: 0 5vw;
  }
  .google_map {
    padding-top: 7vw;
  }
}

.slider-nav .slick-slide {
  margin-right: 10px; /* 各スライドの右に10pxの隙間を追加 */
  margin-top: 10px;
}

.slick-slide .main-slider {
  width: 590px;
}

/*画像サイズの指定*/
.slick-slide .thumbnail-slider {
  width: 131px;
}

.slick-list {
  padding: 0 !important;
}

@media screen and (max-width: 750px) {
  .slick-slide .main-slider {
    width: 90vw;
  }
  .slick-slide .thumbnail-slider {
    width: 15.5vw;
  }
}

.slick-prev:before {
  color: #018e32 !important;
  line-height: 1.5 !important;
}

.slick-next:before {
  color: #018e32 !important;
  line-height: 1.5 !important;
}