@charset "UTF-8";
/*
Theme Name: ひのやまパークイベント
*/
/* フォントのインポート */
/* @import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700;800;900&display=swap"); */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
/* カスタムプロパティ定義 */
:root {
  /* フォントの太さ */
  --Light: 300;
  --Regular: 400;
  --Medium: 500;
  --SemiBold: 600;
  --Bold: 700;
  --ExtraBold: 800;
  --Black: 900;
  /* 画面サイズ関連 */
  --min-window: 1200px; /* ウィンドウサイズがこれより小さい場合は */
  --inner: 1000px; /* ニュース等の横幅 */
}

/* html全体に関わるもの */
html,
body {
  margin: 0 auto;
  /* font-family: "Noto Serif JP", serif; */
  font-family: "Noto Sans JP", sans-serif;
  background-color: #fff;
  scroll-behavior: smooth;
  letter-spacing: 3px;
  min-width: var(--min-window);
  /* 横幅1920pxのときに10pxになる */
  font-size: 10px;
}

@media screen and (max-width: 600px) {
  html,
  body {
    width: auto;
    min-width: auto;
    /* 横幅600pxのときに10pxになる */
    font-size: 1.6666666667vw;
  }
  .pc {
    display: none !important;
  }
}
@media screen and (min-width: 601px) {
  .sp {
    display: none !important;
  }
}
a {
  text-decoration: none;
  color: inherit;
  transition: 0.3s;
  word-wrap: break-word;
}
a:hover {
  opacity: 0.6;
}

img {
  vertical-align: top;
  width: 100%;
}

nav ul {
  list-style-type: none;
  margin: 0;
  padding-inline-start: 0;
}
nav ul li {
  cursor: pointer;
}

section[id^=page] {
  width: var(--inner);
  margin: 0 auto;
}

/* rechaptchaの非表示 */
/*
.grecaptcha-badge {
  visibility: hidden;
}
*/
#front-page .about .top-text {
  font-size: 2.75rem;
  font-weight: var(--Black);
  color: #c23800;
  line-height: 2;
  text-align: center;
  margin: 8rem auto;
  transform: scaleX(0.9);
}
@media screen and (min-width: 601px) {
  #front-page .about .top-text {
    margin: 12rem auto 14rem;
  }
}
#front-page .about .schedule {
  width: auto;
  margin: 0 1.5rem;
}
@media screen and (min-width: 601px) {
  #front-page .about .schedule {
    width: 85rem;
    margin: 0 auto;
  }
}
#front-page .about .text {
  font-size: 2.5rem;
  font-weight: var(--Bold);
  line-height: 2;
  text-align: center;
  margin: 8rem auto 7rem;
  transform: scaleX(0.9);
}
#front-page .about .text .yellow {
  display: inline-block;
  background-color: #fff361;
  line-height: 1em;
}
#front-page .about .bus {
  width: 30%;
  margin: 0 auto 8rem;
}
@media screen and (min-width: 601px) {
  #front-page .about .bus {
    width: 20rem;
  }
}
#front-page .main {
  background-color: #a0cfee;
  padding: 5rem 1rem;
}
#front-page .main section {
  border-radius: 2rem;
  border: 1px solid #000;
  background-color: #fff;
  margin: 3rem 1.25rem 0 0.75rem;
  filter: drop-shadow(0.75rem 0.75rem #c23801);
}
@media screen and (min-width: 601px) {
  #front-page .main section {
    width: 80rem;
    margin: 3rem auto 0 auto;
    padding-bottom: 3rem;
  }
}
#front-page .main section.margin-bottom {
  margin-bottom: 3rem;
}
#front-page .main section.black {
  filter: drop-shadow(0.75rem 0.75rem #000);
}
#front-page .main section h2 {
  color: #fff;
  background-color: #c23800;
  font-size: 4.75rem;
  font-weight: var(--Black);
  padding: 0.5rem 0;
  margin: 4rem 0 1rem;
  text-align: center;
}
#front-page .main section h2 div {
  transform: scaleX(0.9);
}
#front-page .main section h2 .yellow {
  color: #ffff00;
}
#front-page .main section h3 {
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 900;
  font-size: 5rem;
  color: #c23800;
  transform: scaleX(0.9);
  margin: 2rem 0 1rem;
  text-align: center;
}
@media screen and (min-width: 601px) {
  #front-page .main section h3 {
    font-size: 3.5rem;
    margin: 0 0 1rem;
    text-align: left;
  }
}
#front-page .main section h3 .yellow {
  background: linear-gradient(transparent 60%, #fff361 60%);
}
#front-page .main section .text {
  font-size: 2.5rem;
  font-weight: var(--Bold);
  transform: scaleX(0.9);
  text-align: center;
}
#front-page .main section .text.margin {
  margin: 2rem 0 4rem;
}
@media screen and (min-width: 601px) {
  #front-page .main section .text.margin {
    margin: 4rem 0 4rem;
  }
}
#front-page .main section .text.min {
  font-size: 2rem;
  margin: 1rem 0 4rem;
}
#front-page .main section aside {
  color: #aaa5a4;
  font-size: 2rem;
  font-weight: bold;
  transform: scaleX(0.9);
  text-align: center;
  margin-bottom: 4rem;
}
#front-page .main section aside.left {
  text-align: left;
}
#front-page .main section aside.margin-bus {
  margin-left: 2rem;
}
@media screen and (min-width: 601px) {
  #front-page .main section aside.margin-bus {
    margin: 0 15rem;
  }
}
#front-page .main .event .content {
  border-bottom: 4px dashed #a0cfee;
  margin: 0 2.5rem 3rem;
  padding: 0 0 3rem;
}
@media screen and (min-width: 601px) {
  #front-page .main .event .content {
    margin: 0 2.5rem 5rem;
    padding: 0 6rem 5rem;
  }
}
#front-page .main .event .content.no-border {
  border-bottom: none;
}
@media screen and (min-width: 601px) {
  #front-page .main .event .flex-pc {
    display: flex;
  }
  #front-page .main .event .flex-pc div:nth-child(1) {
    margin-top: 0.5rem;
  }
  #front-page .main .event .flex-pc div:nth-child(2) .text {
    text-align: left;
  }
}
#front-page .main .event .time {
  display: block;
  width: 13rem;
  color: #fff;
  background-color: #c23800;
  padding: 0.5rem 0;
  margin: 0 auto;
  text-align: center;
  font-size: 2rem;
  font-weight: var(--Bold);
  letter-spacing: 0;
  border-radius: 3rem;
}
#front-page .main .event .dondekorute {
  margin-top: 2rem;
}
@media screen and (min-width: 601px) {
  #front-page .main .event .dondekorute {
    width: 40rem;
    margin: 2rem auto 0;
  }
}
#front-page .main .event .recruit {
  position: relative;
  color: #fff;
  background-color: #c23800;
  font-size: 4rem;
  font-weight: var(--Black);
  padding: 2.5rem 0;
  margin: 5rem 0 1rem;
  text-align: center;
  letter-spacing: 6px;
}
@media screen and (min-width: 601px) {
  #front-page .main .event .recruit {
    padding: 3rem 0;
  }
}
#front-page .main .event .recruit img {
  position: absolute;
  width: 30%;
  top: -4.5rem;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media screen and (min-width: 601px) {
  #front-page .main .event .recruit img {
    top: -7.5rem;
  }
}
#front-page .main .event .recruit div {
  transform: scaleX(0.9);
}
#front-page .main .event dl {
  display: flex;
  margin: 3rem 0 3rem 1rem;
  font-size: 2rem;
  font-weight: var(--Bold);
  flex-wrap: wrap;
}
@media screen and (min-width: 601px) {
  #front-page .main .event dl {
    padding: 0 12rem;
    margin: 5rem 0 5rem 1rem;
    letter-spacing: 4px;
  }
}
#front-page .main .event dl dt {
  width: 25%;
  background-color: #a0cfee;
  text-align: center;
  border-radius: 2rem;
  transform: scaleX(0.9);
  margin-bottom: 1rem;
}
#front-page .main .event dl dd {
  width: 75%;
  margin-left: -1rem;
  transform: scaleX(0.9);
}
#front-page .main .event .form {
  margin: 0 1.5rem 2rem;
}
@media screen and (min-width: 601px) {
  #front-page .main .event .form {
    width: 65rem;
    margin: 0 auto 2rem;
  }
}
#front-page .main .lineup {
  width: fit-content;
  font-family: "source-han-sans-jp-variable", sans-serif;
  font-variation-settings: "wght" 900;
  font-size: 4rem;
  color: #c23800;
  transform: scaleX(0.9);
  text-align: center;
  margin: 2rem auto 1rem;
  background: linear-gradient(transparent 60%, #fff361 60%);
}
#front-page .main .dot {
  width: 0.5rem;
  margin: -0.5rem auto 0;
}
#front-page .main .coming-soon {
  width: 30%;
  margin: 0 auto 4rem;
}
#front-page .main .contest {
  width: fit-content;
  font-size: 2rem;
  font-weight: var(--Medium);
  transform: scaleX(0.9);
  text-align: center;
  background-color: #a0cfee;
  margin: 0 auto;
  padding: 0 2rem;
  border-radius: 2rem;
}
#front-page .main .bus-inner {
  margin: 0 5rem;
}
#front-page .main .bus-inner .bus-schedule {
  margin: 4rem 0 6rem;
}
@media screen and (min-width: 601px) {
  #front-page .main .bus-inner .bus-schedule {
    width: 40rem;
    margin: 4rem auto 6rem;
  }
}
#front-page .main .bus-inner .bus-stop {
  margin-bottom: 4rem;
}
@media screen and (min-width: 601px) {
  #front-page .main .bus-inner .bus-stop {
    width: 55rem;
    margin: 0 auto 4rem;
  }
}

footer {
  font-size: 2.5rem;
  font-weight: var(--Bold);
  color: #fff;
  background-color: #001f42;
  text-align: center;
  padding: 2rem 0;
}
footer div {
  transform: scaleX(0.9);
}
