@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');

#heading {
  margin-bottom: 0 !important;
}
#webpage_body {
  background: url(../img/bg.jpg);
  font-family: 'Kosugi Maru', sans-serif;
}
/*
.page_body {
  width: 1280px;
  margin: 0 auto;
  padding: 30px 0;
}
*/
.hd_img {
  text-align: center;
  width: 1280px;
  margin: 0 auto;
  position: relative;
  height: 540px;
}
.hd_img .hd_flex {
  padding: 30px 0 0;
  display: flex;
  align-items: baseline;
  justify-content: space-evenly;
  position: relative;
  z-index: 100;
}
.hd_img .hd_bgp {
  position: absolute;
}
div:has(>img[src="./assets/img/kingashinnen.png"]) {
  position: relative;
  display: inline-block;
  overflow: hidden;
}
div:has(>img[src="./assets/img/kingashinnen.png"])::before {
  content: "";
  background-color: rgba(255, 255, 255, 0.4);
  height: 100%;
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: -160%;
  transform: skewX(-45deg) translateX(0);
  animation: bright 3s ease-in-out 2s infinite;
}
@keyframes bright {
  0% {
    transform: skewX(-45deg) translateX(0);
  }
  15% {
    transform: skewX(-45deg) translateX(320%);
  }
  100% {
    transform: skewX(-45deg) translateX(320%);
  }
}
img[src="./assets/img/kingashinnen.png"] {
  width: 720px;
}
img[src="./assets/img/haretta.png"] {
  width: 360px;
  animation: bounce 2s infinite;
}
@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
}
div:has(>img[src="./assets/img/bg_p1.png"]) {
  left: -45px;
  top: 0;
  z-index: 10;
  animation: sway1 5s infinite ease-in-out;
}
div:has(>img[src="./assets/img/bg_p2.png"]) {
  right: 320px;
  top: 15px;
  z-index: 10;
  animation: sway2 5s infinite ease-in-out;
}
div:has(>img[src="./assets/img/bg_p3.png"]) {
  right: 240px;
  bottom: -60px;
  z-index: 10;
  animation: sway1 5s infinite ease-in-out;
}
div:has(>img[src="./assets/img/bg_p4.png"]) {
  left: -90px;
  bottom: -120px;
  z-index: 10;
  animation: sway2 5s infinite ease-in-out;
}
img[src="./assets/img/bg_p1.png"],
img[src="./assets/img/bg_p2.png"],
img[src="./assets/img/bg_p3.png"],
img[src="./assets/img/bg_p4.png"] {
  width: 320px;
}
@keyframes sway1 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-30px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes sway2 {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0);
  }
}

img[src="./assets/img/zabu.png"] {
  width: 960px;
  position: relative;
  z-index: 100;
}
.hd_line {
  position: relative;
  text-align: center;
  margin: 30px 0 0;
}
.zabu {
  background: url(../img/line.jpg);
  padding: 30px 0;
  background-size: contain;
  background-position: center;
  position: absolute;
  height: 60%;
  width: 100%;
  top: 105px;
}
.zabu div {
  background: #d8210d;
  height: 100%;
}
.closing {
  text-align: center;
  font-size: 30px;
  font-weight: 500;
  margin: 0 0 60px;
  position: relative;
  bottom: -45px;
}
section {
  padding: 90px 0;
}
section.bg_wht {
  background: #fff;
}
.box {
  width: 1080px;
  margin: 0 auto;
}
.summary {
  text-align: center;
  font-size: 36px;
  line-height: 3em;
}
.summary span {
  display: block;
  filter: drop-shadow(2px 3px 0px #fff);
  font-weight: 600;
}
/* アニメーション前 */
.u-fade-type-up{
  transform: translateY(60px);
  opacity: 0;
}
/* トリガー発火でis-activeを付与 */
.u-fade-type-up.is-active{
  transition: 1.5s;
  transform: translateY(0);
  opacity: 1;
}
img[src="./assets/img/bsn.svg"] {
  width: 5em;
  padding: 0 0.5em 0 0;
}
.link_gp {
  display: flex;
  justify-content: space-evenly;
  margin: 45px 0 0;
}
.link_gp li {
  width: 40%;
  text-align: center;
  font-size: 18px;
}
.link_gp a {
  display: block;
  padding: 0 0 1.25em;
  background: url(../img/line.jpg);
  background-size: contain;
  color: #fff !important;
}
.link_gp a span {
  display: block;
  padding: 0.25em 0;
  filter: drop-shadow(1px 1px 2px #d81a0e);
}
/* アニメーション前 */
.slideIn-type-left {
  transform: translateX(-60px);
  opacity: 0;
}
/* アニメーション前 */
.slideIn-type-right {
  transform: translateX(60px);
  opacity: 0;
}
/* トリガー発火でis-activeを付与 */
.slideIn-type-left.is-active,
.slideIn-type-right.is-active {
  transition: 1.5s;
  transform: translateX(0);
  opacity: 1;
}
.btn_form {
  display: block;
  color: #ffffff;
  font-size: 27px;
  text-align: center;
  margin: 60px auto 0;
  padding: 0.5em 0;
  width: 16em;
  background: url(../img/line.jpg);
  border-radius: 100vh;
  background-size: contain;
}
.btn_form span {
  background: #d81a0e;
  border-radius: 100vh;
  width: 15em;
  display: block;
  margin: 0 auto;
  padding: 1em 0;
}
h2 {
  margin: 0 0 60px;
  text-align: center;
}
h2 img {
  width: 90%;
}
.box div {
  margin-bottom: 60px;
}
#tv_nenga .summary,
#radio_nenga .summary {
  font-size: 24px;
}
.yt {
  position: relative;
  width: 960px;
  aspect-ratio: 16/9;
  margin-left: auto;
  margin-right: auto;
  background: url(../img/line.jpg);
  background-size: contain;
}
.yt iframe {
  position: absolute;
  width: 95%;
  height: 95%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.course h3 {
  font-size: 48px;
  position: relative;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}
.course h3::before {
  content: "";
  background: url(../img/ico_course.png) no-repeat;
  width: 180px;
  position: absolute;
  background-size: contain;
  aspect-ratio: 173/95;
  transform: rotate(-15deg);
  left: 6.5em;
  top: 0.5em;
}
.course h3 span {
  position: relative;
  filter: drop-shadow(2px 3px 0px #fff);
}
.course div {
  width: 720px;
  margin: 30px auto 0;
}
.sample {
  width: 50%;
  margin: 0 auto;
  background: url(../img/line.jpg);
  padding: 2em 2em 1.75em 2em;
  border-radius: 100vh;
  background-size: contain;
}
audio {
  width: 100%;
}

@media screen and (max-width: 899px) {
  #webpage_body {
    overflow: hidden;
    background-size: contain;
  }
  .hd_img {
    width: auto;
    height: 52vw;
  }
  .hd_img .hd_flex {
    padding: 6vw 0 0;
  }
  .hd_img .hd_flex div:nth-of-type(1) {
    width: 65%;
  }
  .hd_img .hd_flex div:nth-of-type(2) {
    width: 33%;
  }
  img[src="./assets/img/kingashinnen.png"],
  img[src="./assets/img/haretta.png"] {
    width: 100%;
  }
  @keyframes bounce {
    0%, 100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-4vw);
    }
  }
  img[src="./assets/img/bg_p1.png"],
  img[src="./assets/img/bg_p2.png"],
  img[src="./assets/img/bg_p3.png"],
  img[src="./assets/img/bg_p4.png"] {
    width: 32vw;
  }
  div:has(>img[src="./assets/img/bg_p1.png"]) {
    left: -8vw;
    animation: sway1_sp 5s infinite ease-in-out;
  }
  div:has(>img[src="./assets/img/bg_p2.png"]) {
    right: 20vw;
    top: 0;
    animation: sway2_sp 5s infinite ease-in-out;
  }
  div:has(>img[src="./assets/img/bg_p3.png"]) {
    right: 12vw;
    bottom: -4vw;
    animation: sway1_sp 5s infinite ease-in-out;
  }
  div:has(>img[src="./assets/img/bg_p4.png"]) {
    left: -12vw;
    bottom: -8vw;
    animation: sway2_sp 5s infinite ease-in-out;
  }

  @keyframes sway1_sp {
    0% {
      transform: translateX(0);
    }
    50% {
      transform: translateX(-6vw);
    }
    100% {
      transform: translateX(0);
    }
  }
  @keyframes sway2_sp {
    0% {
      transform: translateX(0);
    }
    50% {
      transform: translateX(6vw);
    }
    100% {
      transform: translateX(0);
    }
  }
  .hd_line {
    margin: 4vw 0 0;
  }
  img[src="./assets/img/zabu.png"] {
    width: 95%;
  }
  .zabu {
    padding: 6vw 0;
    top: 8vw;
  }
  .closing {
    font-size: 5vw;
    margin: 0 0 10vw;
    bottom: -7.5vw;
  }
  section {
    padding: 15vw 0;
  }
  .box {
    width: auto;
  }
  .box div {
    margin-bottom: 8vw;
  }
  .summary {
    font-size: 6vw;
    line-height: 2em;
  }
  img[src="./assets/img/bsn.svg"] {
    width: 4em;
  }
  .link_gp {
    display: block;
    margin: 8vw auto 0;
    width: 75%;
  }
  .link_gp li {
    width: 100%;
    font-size: 4vw;
  }
  .link_gp li:first-child {
    margin: 0 0 1em;
  }
  .btn_form {
    display: block;
    font-size: 5.5vw;
    margin: 8vw auto 0;
    width: 14em;
  }
  .btn_form span {
    width: 13em;
    padding: 0.5em 0;
  }
  h2 {
    margin: 0 0 8vw;
  }
  #tv_nenga .summary,
  #radio_nenga .summary {
    font-size: 4.5vw;
    margin-left: 2vw;
    margin-right: 2vw;
  }
  .yt {
    width: 90%;
  }
  .course h3 {
    font-size: 8vw;
    height: 18vw;
  }
  .course h3::before {
    width: 30vw;
    left: 10vw;
    top: 0.25em;
  }
  .course div {
    width: auto;
    margin: 6vw 2vw 0;
  }
  .sample {
    width: 75%;
    padding: 1em 1em 0.75em 1em;
  }
  /* アニメーション前 */
  .slideIn-type-left {
    transform: translateX(-6vw);
    opacity: 0;
  }
  /* アニメーション前 */
  .slideIn-type-right {
    transform: translateX(6vw);
    opacity: 0;
  }
}