@charset "utf-8";
/*  Top Contents
-----------------------------------------------------------------------------*/
.aboutus .conBox .box .coment {
  margin-bottom: min(40px, 2.645vw);
}
.kv {
  width: 90%;
  position: relative;
  margin: clamp(100px, 6.613vw, 200px) auto 50px;
}
.img-box {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 8;
  overflow: hidden;
  border-radius: 1em;
}
.img1, .img2, .img3, .img4 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  background: center center no-repeat;
  animation: anime 12s 0s infinite;
  z-index: 0;
  opacity: 0;
}
.img1 {
  background-image: url(../../img/home/kv01.jpg);
  background-size: cover;
}
.img2 {
  background-image: url(../../img/home/kv02.jpg);
  background-size: cover;
  animation-delay: 3s;
}
.img3 {
  background-image: url(../../img/home/kv03.jpg);
  background-size: cover;
  animation-delay: 6s;
}
.img4 {
  background-image: url(../../img/home/kv04.jpg);
  background-size: cover;
  animation-delay: 9s;
}
@keyframes anime {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  60% {
    opacity: 0;
    transform: scale(1.2);
    z-index: 6;
  }
  100% {
    opacity: 0;
    transform: scale(1.2);
  }
}
.slideIn-txt {
  position: absolute;
  bottom: 15%;
  z-index: 7;
  display: flex;
  flex-direction: column;
  left: -0.2em;
}
.slideIn-txt p span {
  background: #FFFAF4;
  font-size: clamp(3rem, 3.042vw, 5rem);
  padding: 0.5em;
  display: inline-block;
}
.slideIn-txt p:last-child {
  margin-top: 0.5em;
}
.slideIn01, .slideIn02 {
  opacity: 0;
}
.js-target.is-active.slideIn01 {
  animation: slideinLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 1s;
}
.js-target.is-active.slideIn02 {
  animation: slideinLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 2s;
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-500px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 100;
  }
}
.news, .service, .three, .aboutus {
  position: relative;
}
.news::before, .service::before, .aboutus::before {
  content: "Events";
  font-family: "Concert One", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 9.26vw;
  color: #EEECE9;
  position: absolute;
  top: 0;
  left: 0;
}
.service::before {
  content: "Services";
  right: 0;
  left: unset;
}
.aboutus::before {
  content: "About us";
}
.three {
  background: url(../../img/common/bg-grn.png);
}
.three .inner02 {
  position: relative;
}
.three ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.three ul li {
  width: 30%;
  background: url(../../img/home/heart.svg) no-repeat center center;
  background-size: contain;
  aspect-ratio: 1.2/ 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
}
.three ul li p:last-child {
  width: 30%;
  margin-top: 0.5em;
}
.three ul li:nth-child(2) {
  margin-top: 2em;
}
.three ul li:nth-child(2) p:last-child {
  width: 36%;
}
.three .illstBox img {
  position: absolute;
}
.three .illstBox img.illst01 {
  left: 15%;
  bottom: -4.8em;
  width: 15%;
}
.three .illstBox img.illst02 {
  right: 30%;
  bottom: -4.8em;
  width: 6.5%;
}
.three .illstBox img.illst03 {
  right: 0;
  bottom: -2.5em;
  width: 10%;
}
.three .illstBox img.illst04 {
  left: -5%;
  width: 5%;
}
.aboutus .conBox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.aboutus .conBox figure {
  width: 40%;
}
.aboutus .conBox figure img {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 1/ 1.25;
  border-radius: 1em;
}
.aboutus .conBox .box {
  width: 55%;
  line-height: 2;
}
.aboutus .conBox .coment span {
  font-size: clamp(1.6rem, 1.851vw, 3rem);
  background: linear-gradient(90deg, #FF77FA, #E40004);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
}
.aboutus .conBox .box em {
  background: top left / 1.03em .5em repeat-x radial-gradient(circle, red .1em, rgba(0, 0, 0, 0) .1em);
  padding-top: .3em;
}
.aboutus .conBox .box .btnArea p {
  width: 70%;
  margin-right: 0;
  margin-left: auto;
}
.aboutus {
  position: relative;
}
.aboutus .illst {
  width: 30%;
  aspect-ratio: 2/1;
  object-fit: contain;
  position: absolute;
  right: 10%;
  bottom: -1.5rem;
  z-index: 1;
}
.service .defTxt {
  text-align: center;
}
.service .linkBox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.service .linkBox li {
  width: 47%;
  text-align: center;
  font-size: clamp(1.6rem, 1.851vw, 3rem);
  line-height: 1.4;
}
.service .linkBox li a {
  background: url(../../img/common/bg-grn.png);
  border-radius: 1em;
  padding: 2em 2.5em 1.5em;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  position: relative;
}
.service .linkBox li a figure {
  width: 100%;
  margin-bottom: 1em;
}
.service .linkBox li a img {
  object-fit: cover;
  aspect-ratio: 2/1;
  border-radius: 9999px;
}
.service .linkBox li a p {
  margin-bottom: 0.5em;
}
.service .linkBox li a::after {
  content: "";
  background: url(../../img/common/arrow1.svg) no-repeat center center;
  background-size: contain;
  width: 2em;
  aspect-ratio: 1/1;
}
.hl40.tori span {
  background: url(../../img/common/tori.png) no-repeat left center;
  background-size: contain;
  padding: 0.5em 0 0.5em 3em;
}
/*tablet---------------------------------------------*/
@media screen and (max-width:1080px) {}
/*SP---------------------------------------------*/
@media screen and (max-width:767px) {
  .kv {
    margin: 2rem auto;
  }
  .img-box {
    aspect-ratio: 1/ 1.2;
  }
  .slideIn-txt {
    bottom: 10%;
  }
  .slideIn-txt p span {
    font-size: 2rem;
  }
  .slideIn-txt .slideIn01 span {
    line-height: 1.4;
  }
  .aboutus .conBox figure, .aboutus .conBox .box {
    width: 100%;
  }
  .aboutus .conBox figure img {
    aspect-ratio: 1/0.5;
  }
  .aboutus .conBox .box .btnArea p {
    width: 100%;
  }
  .aboutus .conBox .box {
    margin-top: 1.8rem;
  }
  .aboutus {
    padding-bottom: 10rem;
  }
  .aboutus .illst {
    width: 50%;
  }
  .three ul {
    justify-content: center;
  }
  .three ul li {
    width: 60%;
  }
  .three ul li:nth-child(2) {
    margin-top: 0;
  }
  .three .illstBox img.illst01 {
    left: -10%;
    bottom: -10%;
    width: 40%;
  }
  .three .illstBox img.illst02 {
    right: -5%;
    top: 20%;
    width: 18%;
  }
  .three .illstBox img.illst03 {
    right: -10%;
    bottom: 20%;
    width: 35%;
  }
  .three .illstBox img.illst04 {
    top: 45%;
    left: -5%;
    width: 15%;
  }
  .service .defTxt {
    text-align: justify;
  }
  .service .linkBox li {
    width: 100%;
    margin-bottom: 1rem;
  }
  .news::before, .service::before, .aboutus::before {
    font-size: 14vw;
  }
}
/******* メディアクエリ での制御 *******/
/* :hoverが使える端末を想定 */
@media (hover: hover) {
  .service .linkBox li a:hover {
    scale: 1.05;
  }
}