@charset "UTF-8";
img {
  width: 100%;
}

.test1 {
  -webkit-transition: all 0.4s cubic-bezier(0.33, 1, 0.68, 1) 0.01s;
  transition: all 0.4s cubic-bezier(0.33, 1, 0.68, 1) 0.01s;
  -webkit-transition: all 0.4s ease-out 0.01s;
  transition: all 0.4s ease-out 0.01s;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  transform: scale(1);
  transform: rotate(-45deg);
  border-radius: 50%;
  animation: Flash1 1s infinite;
  animation: beyooon_a 1s forwards;
  animation: beyooon_b 1s forwards;
  font-family: "Noto Serif JP", serif;
  background: linear-gradient(90deg, rgb(0, 72, 110) 0%, rgb(0, 120, 155) 100%);
}

@keyframes Flash1 {
  50% {
    opacity: 0;
  }
}
@keyframes beyooon_a {
  0% {
    transform: translate(-50%, 0%) scale(0.5);
  }
  16% {
    opacity: 1;
    transform: translate(-50%, 0%) scale(1.22);
  }
  28% {
    transform: translate(-50%, 0%) scale(1);
  }
  88% {
    transform: translate(-50%, 0%) scale(1);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0%) scale(1);
  }
}
@keyframes beyooon_b {
  0% {
    transform: scale(0.5);
  }
  16% {
    transform: scale(1.32);
  }
  28% {
    transform: scale(0.87);
  }
  44% {
    transform: scale(1.05);
  }
  59% {
    transform: scale(0.98);
  }
  73% {
    transform: scale(1.01);
  }
  88% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
.test {
  content: "\f105";
  font-family: FontAwesome;
}

.shadow {
  text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4), 1px 3px 3px rgba(0, 0, 0, 0.4), 1px 2px 3px rgba(0, 0, 0, 0.4);
}

/**scss共通ここまで***/
main {
  overflow: hidden;
}

#fixbana {
  position: fixed;
  width: 378px;
  bottom: 100px;
  right: 0;
  z-index: 50;
  transition: all 0.4s ease-out 0.01s;
  transform: translate(100%, 0);
}
#fixbana.active {
  transform: translate(0, 0);
}
@media screen and (max-width:800px) {
  #fixbana {
    display: none;
  }
}

@media screen and (max-width:800px) {
  #atensbox {
    display: none;
  }
}

#section01 {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width:800px) {
  #section01 {
    height: 129.33vw;
  }
}
#section01 .maintext {
  position: absolute;
  width: 27.5%;
  left: 7.5%;
  top: 52%;
  transform: translate(0, -50%);
  z-index: 15;
}
@media screen and (max-width:800px) {
  #section01 .maintext {
    width: 60%;
  }
}
#section01 .masks {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.35);
  top: 0;
  left: 0;
  z-index: 2;
}
#section01 video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* ←これが重要 */
}

#section02 {
  width: 100%;
  background-color: #fff;
  padding: 80px 0 100px 0;
}
@media screen and (max-width:800px) {
  #section02 {
    padding: 10vw 0;
  }
}
#section02 .section__in {
  width: 90%;
  max-width: 490px;
  margin: 0 auto;
}
#section02 .section__in .infos {
  width: 100%;
}
@media screen and (max-width:800px) {
  #section02 .section__in .infos {
    width: 75%;
    margin: 0 auto;
  }
}
#section02 .section__in .subtext {
  margin-top: 3em;
  line-height: 180%;
  text-align: center;
}
@media screen and (max-width:800px) {
  #section02 .section__in .subtext {
    margin-top: 2em;
  }
}

#section03 {
  width: 100%;
  background-color: #f8f7f0;
  padding: 60px 0 0 0;
  position: relative;
  z-index: 5;
}
@media screen and (max-width:800px) {
  #section03 {
    padding: 10vw 0 0 0;
  }
}
#section03 .backimg01 {
  width: 20%;
  position: absolute;
  left: 0;
  top: 0%;
  transform: translate(0, -12.5%);
  mix-blend-mode: multiply;
}
@media screen and (max-width:800px) {
  #section03 .backimg01 {
    width: 30%;
    transform: translate(0, -25%);
  }
}
#section03 .backimg02 {
  width: 20%;
  position: absolute;
  right: 0;
  top: 22.5%;
  transform: translate(0, 0%);
  mix-blend-mode: multiply;
  z-index: 10;
}
@media screen and (max-width:800px) {
  #section03 .backimg02 {
    width: 45%;
    top: 27.5%;
    transform: translate(20%, 0%);
  }
}
#section03 .section__in {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
#section03 a.meritbox {
  display: block;
  width: 100%;
  padding-bottom: 10px;
  position: relative;
  z-index: 15;
}
#section03 a.meritbox.mb90 {
  margin-bottom: 90px;
}
@media screen and (max-width:800px) {
  #section03 a.meritbox.mb90 {
    margin-bottom: 7.5vw;
  }
}
#section03 a.meritbox.mb60 {
  margin-bottom: 60px;
}
@media screen and (max-width:800px) {
  #section03 a.meritbox.mb60 {
    margin-bottom: 7.5vw;
  }
}
#section03 a.meritbox.iconblank {
  position: relative;
}
#section03 a.meritbox.iconblank::before {
  content: "";
  width: 1.5em;
  height: 1.5em;
  background: url(../images/top/icon_blank.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  bottom: 0%;
  right: 0;
  transform: translate(0, -60%);
}
#section03 a.meritbox::after {
  content: "";
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, rgb(183, 39, 93) 0%, rgb(179, 38, 91) 14.92%, rgb(167, 36, 85) 29.73%, rgb(147, 31, 75) 44.51%, rgb(119, 25, 61) 59.27%, rgb(83, 18, 42) 74.03%, rgb(40, 8, 20) 88.57%, rgb(0, 0, 0) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  position: absolute;
}
#section03 a.meritbox .img01 {
  width: 49.3%;
  margin: 0 auto;
}
@media screen and (max-width:800px) {
  #section03 a.meritbox .img01 {
    width: 87.6470588235%;
  }
}
#section03 a.meritbox .img02 {
  width: 29.2%;
  margin: 0 auto;
}
@media screen and (max-width:800px) {
  #section03 a.meritbox .img02 {
    width: 58.8235294118%;
  }
}
#section03 a.meritbox .img03 {
  width: 39.4%;
  margin: 0 auto;
}
@media screen and (max-width:800px) {
  #section03 a.meritbox .img03 {
    width: 74.1176470588%;
  }
}
#section03 a.meritbox .img04 {
  width: 39.4%;
  margin: 0 auto;
}
@media screen and (max-width:800px) {
  #section03 a.meritbox .img04 {
    width: 50.5882352941%;
  }
}
#section03 a.meritbox .img05 {
  width: 41.2%;
  margin: 0 auto;
}
@media screen and (max-width:800px) {
  #section03 a.meritbox .img05 {
    width: 78.8235294118%;
  }
}
#section03 .imgsss {
  position: relative;
}
#section03 .imgsss .centertext {
  position: absolute;
  width: 100%;
  text-align: center;
  line-height: 280%;
  top: 15%;
  left: 0;
  font-weight: 500;
}
@media screen and (max-width:800px) {
  #section03 .imgsss .centertext {
    top: 5%;
    line-height: 240%;
  }
}

#section04 {
  width: 100%;
  position: relative;
  z-index: 4;
}
#section04 .centertext {
  position: absolute;
  width: 100%;
  text-align: center;
  line-height: 280%;
  top: 15%;
  left: 0;
  font-weight: 500;
}
@media screen and (max-width:800px) {
  #section04 .centertext {
    top: 5%;
    line-height: 240%;
  }
}/*# sourceMappingURL=top.css.map */