@charset "UTF-8";
.pict {
  width: 100%;
}
.container {
  overflow: auto;
  scroll-snap-type: y mandatory;
  height: 100dvh;
}
.area {
  scroll-snap-align: start;
  height: 100dvh;
  align-items: center;
  display: flex;
}
/*audio
----------------------------------------*/
.audioplayer {
  position: absolute;
  top: 0.5em;
  right: 1%;
  z-index: 100;
  display: flex;
  width: 100%;
  justify-content: flex-end;
  align-items: center;
  gap: 0.8em;
}
.audioplayer > span {
  white-space: nowrap;
  color: #fff;
}
#mep_0 {
  width: 2em !important;
  height: 2em !important;
  min-width: auto !important;
}
.mejs__offscreen, .mejs__time mejs__currenttime-container, .mejs__time-rail, .mejs__time-total, .mejs__time, .mejs__mute {
  display: none;
}
.mejs__button button {
  width: 1.6em;
  height: 1.6em;
  background: url(../image/play.png) no-repeat center center;
  background-size: contain;
}
.mejs__pause button {
  background-image: url(../image/pause.png);
}
/*kv
----------------------------------------*/
#kv {
  background: url("../image/kv_bg.jpg") no-repeat center center;
  background-size: cover;
  position: relative;
}
#mep_0- {
  width: 50%;
}
#kv .person {
  position: absolute;
}
.kv1 {
  left: 0;
  bottom: 0;
  width: 46.9%;
}
.kv2 {
  right: 5%;
  bottom: 0;
  width: 28.9%;
}
.kv3 {
  left: 46%;
  bottom: 10%;
  width: 20.7%;
}
.kv4 {
  left: 24%;
  bottom: 35%;
  width: 18.1%;
}
.kv5 {
  left: 5%;
  top: 5%;
  width: 12.4%;
}
.kv6 {
  left: 47%;
  bottom: 57%;
  width: 16%;
}
.kv7 {
  right: 22.4%;
  top: 5%;
  width: 18.6%;
}
.kv8 {
  left: 34%;
  top: 2.5%;
  width: 10.8%;
}
.kv9 {
  right: 5%;
  bottom: 50%;
  width: 15%;
}
.logo {
  position: absolute;
  right: 18%;
  bottom: 5%;
  width: 30%;
}
@media screen and (max-width:768px) {
  .kv1 {
    left: -5%;
    width: 60%;
  }
  .kv2 {
    right: 0;
    width: 45%;
  }
  .kv3 {
    left: 30%;
    bottom: 22%;
    width: 39%;
  }
  .kv4 {
    left: 2%;
    bottom: 40%;
    width: 35%;
  }
  .kv5 {
    width: 26%;
  }
  .kv6 {
    bottom: 52%;
    width: 32%;
  }
  .kv7 {
    right: 5%;
    top: 13%;
    width: 25%;
  }
  .kv8 {
    top: 3%;
    left: 33%;
    width: 25%;
  }
  .kv9 {
    right: 3%;
    bottom: 35%;
    width: 29%;
  }
  .logo {
    bottom: 3%;
    right: 10%;
    width: 55%;
  }
  #mep_0 {}
}
/*Animation */
#kv {
  /*animation: floating-x 7.2s ease-in-out infinite alternate-reverse;*/
  overflow: hidden;
}
.person {
  animation: floating-y 3s ease-in-out infinite alternate-reverse;
}
.person:nth-child(even) {
  animation: floating-x 7.2s ease-in-out infinite alternate-reverse;
}
.kv2 {
  animation-duration: 2.5s
}
.kv3 {
  animation-duration: 4s
}
.kv4 {
  animation-duration: 4.5s
}
.kv5 {
  animation-duration: 5s
}
.kv6 {
  animation-duration: 5.5s
}
.kv7 {
  animation-duration: 6s
}
.kv8 {
  animation-duration: 6.5s
}
.kv9 {
  animation-duration: 4s
}
@keyframes floating-x {
  0% {
    transform: translateX(-5%);
  }
  100% {
    transform: translateX(5%);
  }
}
@keyframes floating-y {
  0% {
    transform: translateY(0%);
  }
  100% {
    transform: translateY(5%);
  }
}
/*cm
----------------------------------------*/
#cm .column_box {
  width: 100%;
  text-align: center;
}
#cm h2 {
font-size:2em;
  margin-bottom: 1.5em;
}
#cm .txt_box p {
  line-height: 2;
}
@media screen and (max-width:768px) {
  .column_box {
    display: flex;
    flex-direction: column-reverse;
  }
}
/*feat_box
----------------------------------------*/
#breeze, #aqua {
  position: relative;
  clip-path: inset(0);
}
#breeze:before, #aqua:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  background-image: url("../image/feat_bg1.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  /*background-attachment: fixed;*/
}
#aqua:before { /*  transform: none;*/
  background-image: url("../image/feat_bg2.jpg");
}
.profile .area {
  text-align: center;
  padding: 2em 5%;
}
.feat_box .item {
  position: sticky;
  top: 0;
  z-index: 2;
}
.feat_box .btn_box a {
  border: none;
  color: #fff;
}
.feat_box .item p {
  font-weight: 500;
}
.portlait img {
  border-radius: 4em 0 4em 0;
  z-index: 1;
}
.comment {
  width: 22em;
  max-width: 80%;
  margin: 1em 0;
}
.message h3 {
  font-size: 1.2em;
  font-weight: 400;

  z-index: 1;
}
.message h3 strong {
  color: #fff;
  font-weight:200;
  text-transform: uppercase;
  font-family: "futura-pt", "Outfit", "Noto Sans JP", sans-serif;
  opacity: 0.3;
  font-size: 5vw;
  line-height: 1.3;
  position: absolute;
  left: 0;
  z-index: 0;
  display: block;
  width: 100%;
}
.message h3 strong .whitespace {
  width: 0.3em;
}
.message img {
  display: block;
  margin: 1em auto;
}
@media screen and (min-width:769px) {
  .feat_box {
    display: flex;
    align-items: flex-start;
    gap: 0;
  }
  .feat_box .area {
    position: relative;
  }
  .feat_box .item {
    width: 30%;
    flex: inherit;
    height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .feat_box .item img {
    max-width: 80%;
    margin-bottom: 1em;
  }
  .message h3 {
    margin-top: 3em;
  }
  .message h3 strong {
    top: 3dvh;
    text-align: left;
  }
  .profile {
    flex: 1;
  }
  .profile .area {
    gap: 5%;
  }
  .message, .portlait {
    flex: 1;
  }
}
@media screen and (max-width:768px) {
  .feat_box .item {
    padding: 1em 5%;
    /*height: 20dvh;*/
    background: rgba(255, 255, 255, 0.5);
    display: flex;
    align-items: center;
  }
  .feat_box .item img {
    width: 35%;
    float: left;
  }
  .feat_box .item p {
    margin-bottom: 0.5em;
  }
  .profile .area {
    flex-direction: column;
  }
  .feat_box .message {
    width: 100%;
    margin-top: 20dvh;
    text-align: center;
    position: relative;
  }
  .message h3 strong {
    font-size: 8.5vw;
    right: 0;
    top: -6.4dvh;
    margin: auto;
  }
  .portlait {
    z-index: 1;
  }
  .comment {
    max-height: 16dvh;
  }
  .feat_box .portlait img {
    height: 50dvh;
  }
}
.totop {
  margin: 5dvh 0;
}
#link {
  text-align: center;
}
#link .pict {
  margin-bottom: 3em;
}
#link .pict img {
  width: 220px;
  max-width: 40%;
}
#link p {
  line-height: 2;
}
#link .totop a {
  background: none;
  border: 1px solid #999;
  box-shadow: none;
}
.footer {
  padding: 3em 0;
}