/*
*
* TOP styles
*
*/

/*****************************
COMMON
******************************/
/* headline */
.home h2.headline,
.home h3.headline,
.home .headline {
  font-size: clamp(22px, 3.14vw, 36px);
}

.home .section.has-img-left .page-title,
.home .section.has-img-right .page-title{
  margin-top: 1em;
}
.home .page-title + .headline {
  margin-top: -.4em;
}

.home .main-section{
  margin-bottom: 0;
}
.home .entry-body .has-background{
  margin-top: 0;
  margin-bottom: 0;
}

.home .site-body-container:last-child{
  padding-bottom: 0;
}
/*.home .site-footer{
  padding-top: clamp(30px, 9.027vw, 100px);
}*/

@media (max-width: 575px){
  .home .site-body {
    padding-top: 30px;
  }
}
@media (min-width: 992px){
  .home .section.has-img-left .page-title,
  .home .section.has-img-right .page-title{
    margin-top: 1.8em;
  }
  .home .site-footer-content {
    padding-top: min(13.54vw, 195px);
  }
}

/*****************************
Main Visual
******************************/

/* slide */
.lightning_swiper{
  margin-left: 10.20833vw;
  border-radius: 15px 0 0 15px;
  overflow: hidden;
  height: 55.55vw;
}
.ltg-slide-text-title{
  font-family: "Noto Serif JP", serif;
  font-size: clamp(28px, 2.22vw, 32px);
  font-weight: 400;
  letter-spacing: .1em;
  text-shadow: 0 0 15px rgba(41,28,20,.8)!important;
  text-align: right!important;
  color: #fff!important;
}
.ltg-slide-text-set{
  top: inherit;
  bottom: clamp(30px, 3.4722vw, 50px);
  right: clamp(16px, 3.4722vw, 50px);
  left: 10%;
  transform: none;
  width: auto;
}
.ltg-slide-text-set > .container{
  padding: 0;
}
.swiper-button-prev,
.swiper-button-next,
.swiper-pagination{
  display: none;
}

.lightning_swiper picture {
  position: relative;
  height: 100%;
  display: block;
  margin-left: auto;
  margin-right: -1px;
}
.lightning_swiper picture source,
.lightning_swiper picture img {
  height: 100%;
  position: absolute;
  width: 100%;
  object-fit: cover;
  object-position: center left;

  display: block;
}

@media (max-width: 575px){
  .lightning_swiper{
    height: calc(100vh - 88px - 6.6vw - 46px);
  }
  .lightning_swiper picture {
    position: relative;
    height: 100%;
  }
  .lightning_swiper picture source,
  .lightning_swiper picture img {
    height: 100%;
    position: absolute;
    width: 100%;
    object-fit: cover;
    object-position: center left;
    margin-right: 0;
  }
  .ltg-slide-text-set{
    width: auto;
    right: 5px;
  }
  .ltg-slide-text-title{
    text-align: left!important;
    letter-spacing: .065em;
  }
}

/*****************************
TOP ABOUT
******************************/
.section .section-img{
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.section .section-img .dummyBg{
  background: #f6f5f5;
  width: 100%;
  height: 47.065vw;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.section .section-img picture{
  z-index: 1;
}
@media (min-width: 992px) {
  #home-about .section-img .dummyBg{
    border-radius: 15px 0 0 15px;
  }
}
/*****************************
TOP LABORATORY
******************************/
#home-labo .page-title > span.en {
  border-bottom: 0 none;
  padding-bottom: 0;
}
#home-labo .page-title > span.en img,
#home-labo .page-title > span.en svg{
  width: clamp(273px, 79.59%, 462px);
  height: auto;
}

@media (max-width: 991px) {
  #home-labo .btn.btn-white{
    border-color: var(--vk-color-text-body);
    color: var(--vk-color-text-body);
  }
  #home-labo .btn.btn-white::before{
    background: var(--vk-color-text-body);
  }
  #home-labo .btn.btn-white::after{
    background: var(--vk-color-text-body);
  }
}
@media (min-width: 992px) {
  #home-labo{
    color: #fff;
  }
  #home-labo .page-title svg .cls-1 {
    fill: #fff;
  }
  #home-labo .page-title > span.en img,
  #home-labo .page-title > span.en svg{
    width: 100%;
  }
}

/*****************************
TOP MENU
******************************/
/*@media (max-width: 991px){
  #home-menu {
    padding-top: 0;
  }
}*/

  #home-menu {
    margin-top: clamp(30px, 8.33vw, 100px);
  }


/*****************************
TOP FOOD TRUCK
******************************/
@media (min-width: 992px) {
  #home-foodtruck .section-img .dummyBg{
    border-radius: 15px 0 0 15px;
  }
}

/*****************************
TOP NEWS
******************************/
#home-news .page-title{
  margin-bottom: clamp(30px, 4.16vw, 50px);
}
#home-news .btn-wrap {
  margin-top: 25px;
}

@media (min-width: 576px){
  #home-news .page-title{
    text-align: left;
    padding-left: clamp(28px, 3.14vw, 36px);
  }
  #home-news .page-title > span{
    display:  block;
    width: fit-content;
    text-align: center;
    min-width: calc(clamp(28px, 3.14vw, 36px) * 3.4);
  }
}
@media (min-width: 992px){
  #home-news .btn-wrap {
    margin-top: clamp(50px, 6.98vw, 80px)!important;
  }
}

/*****************************
TOP SCHEDULE
******************************/
#home-schedule{
  background-image: url(https://happiece.com/assets/uploads/top/bg-top_schedule.jpg);
  color: #fff;
}


/*****************************
TOP ACCESS
******************************/
#home-access{
  background-color: #f6f5ed;
}
#home-access iframe{
  margin-bottom: 0;
}
@media (max-width: 575px){
  #home-access .section-body.alignfull {
    max-width: var(--wp--style--global--content-size);
    margin-left: auto;
    margin-right: auto;
  }
}

/*****************************
TOP RESERVATION
******************************/
.home-biglinks_wrap{
  gap: 0;
  align-items: stretch;
}
.home-biglinks_wrap > .section .section-inner {
  max-width: 362px;
  /*width: 50.277%;*/
  width: 80%;
  margin: 0 auto;
  color: #fff;
}
.home-biglinks_wrap > .section{
  width: 100%;
}


#home-reservation a.section-link::after {
  background-image: url(https://happiece.com/assets/uploads/top/bg-top_reservation.jpg);
}
@media (min-width:576px) {
  #home-reservation{
    width: 50%;
  }
  /*#home-reservation .section-inner{
    margin-left: calc((100vw - 960px) / 2);
  }*/
}
@media (min-width: 992px) {
  .home-biglinks_wrap > .section{
    min-height: 560px;
  }
}
@media (min-width:1200px) {
  #home-reservation .section-inner{
    margin-left: calc((100vw - 950px) / 2);
  }
}

/*****************************
TOP FAQ
******************************/
#home-faq a.section-link::after {
  background-image: url(https://happiece.com/assets/uploads/top/bg-top_faq.jpg);
}
@media (min-width:576px) {
  #home-faq{
    width: 50%;
  }
  /*#home-faq .section-inner{
    margin-right: calc((100vw - 930px) / 2);
  }*/
}
@media (min-width:1200px) {
  #home-faq .section-inner{
    margin-right: calc((100vw - 950px) / 2);
  }
}

/*****************************
TOP ONLINE STORE
******************************/
#home-onlinestore {
  color: #fff;
  background: #291c14;
  /*display: flex;
  align-items: center;*/
  padding-bottom: 0;
}
#home-onlinestore .section-inner{
  justify-content: center;
  position: relative;
  z-index: 0;
}
#home-onlinestore .section-inner::after {
  content: "";
  background-image: url(https://happiece.com/assets/uploads/top/bg-top_onlinestore_sp.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom center;
  width: 100vw;
  height: 100%;
  left: -15px;
  top: 0;
  z-index: -1;
  position: absolute;
}
#home-onlinestore .section-body{
  max-width: 560px;
}

@media (max-width:991px) {
  #home-onlinestore .section-inner{
    padding: clamp(30px, 8.33vw, 100px) 0;
    gap: 0;
  }
}
@media (min-width:768px) {
  #home-onlinestore .section-inner::after {
    left: calc(((100vw - 690px) / 2) * -1);
  }
}
@media (min-width:992px) {
  #home-onlinestore .section-inner{
    min-height: 562px;
  }
  #home-onlinestore .section-inner::after {
    left: calc(((100vw - 930px) / 2) * -1);
    background-image: url(https://happiece.com/assets/uploads/top/bg-top_onlinestore.jpg);
  }
  #home-onlinestore .page-title{
    width: calc(50% - 12px);
    margin-bottom: 0;
  }
  #home-onlinestore .section-body{
    width: calc(50% - 12px);
  }
  #home-onlinestore .section-body .btn-wrap a.btn{
    margin-left: 0;
  }
}
@media (min-width:1200px) {
  #home-onlinestore .section-inner::after {
    left: calc(((100vw - 1110px) / 2) * -1);
  }
}

/*****************************
TOP ANIMATION
******************************/
@keyframes width{
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
@keyframes fadeInScale {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
    
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.wow {visibility: hidden;}
.animate__animated{
  animation-duration: 1s;
  animation-timing-function: ease;
}
.animate__width {
  animation-name: width;
  height: 100%;
}
.animate__fadeInScale {
  animation-name: fadeInScale;
  transform-origin: center;
}
.animate__fadeInUp {
  animation-duration: 1.5s;
}

/*@media (min-width:991px){*/
.section .section-img .dummyBg{animation-delay: 0s;}
.section .section-img picture.wow,
.section .section-img img.wow,
.section .section-img source.wow {animation-delay: .7s;}
.section .section-body {animation-delay: 1.2s;}
/*}*/