@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;
}

.red {
  color: #ff0000;
  font-weight: var(--Black);
}

/* 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 8rem;
  }
}
#front-page .about .top-text2 {
  font-size: 3rem;
  font-weight: var(--Black);
  line-height: 2;
  text-align: center;
  margin: 8rem auto;
  transform: scaleX(0.9);
}
@media screen and (min-width: 601px) {
  #front-page .about .top-text2 {
    margin: 8rem auto 4rem;
  }
}
#front-page .about .schedule {
  width: auto;
  margin: 0 1.5rem 8rem;
}
@media screen and (min-width: 601px) {
  #front-page .about .schedule {
    width: 85rem;
    margin: 0 auto 6rem;
  }
}
#front-page .main {
  background-color: #a0cfee;
  padding: 2rem 1rem 10rem;
}
@media screen and (min-width: 601px) {
  #front-page .main {
    padding: 0 0 7rem;
  }
}
#front-page .main section {
  border-radius: 2rem;
  border: 1px solid #000;
  background-color: #fff;
  margin: 3rem 1.25rem 0 0.75rem;
  padding-bottom: 4rem;
  filter: drop-shadow(0.75rem 0.75rem #c23801);
}
@media screen and (min-width: 601px) {
  #front-page .main section {
    margin: 3rem auto 0 auto;
    padding-bottom: 3rem;
    border-radius: 0;
    border: none;
    margin: 3rem 0;
    background-color: unset;
    filter: none;
  }
}
#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.625rem;
  font-weight: var(--Black);
  padding: 0.5rem 0;
  margin: 4rem 0 1rem;
  text-align: center;
}
#front-page .main section h2.min {
  font-size: 3.5rem;
}
@media screen and (min-width: 601px) {
  #front-page .main section h2.min {
    font-size: 5rem;
  }
}
#front-page .main section h2 div {
  transform: scaleX(0.9);
}
#front-page .main section h2 .yellow {
  color: #ffff00;
}
#front-page .main section .text {
  display: block;
  font-size: 2.75rem;
  font-weight: var(--Bold);
  transform: scaleX(0.9);
  text-align: center;
  margin: 6rem 2.5rem;
  line-height: 2;
}
#front-page .main section a {
  color: #c23801;
  text-decoration: underline;
}
#front-page .main section .photo-contest {
  width: 100%;
}
@media screen and (min-width: 601px) {
  #front-page .main section .pc-inner {
    max-width: 105rem;
    margin: 8rem auto 3rem;
    background-color: #fff;
  }
}
#front-page .main section .step {
  width: 95%;
  margin: 0 auto;
}
@media screen and (min-width: 601px) {
  #front-page .main section .step {
    display: flex;
    padding-bottom: 3rem;
  }
}
@media screen and (min-width: 601px) {
  #front-page .main section .step .step-pc-inner {
    width: 16%;
  }
}
#front-page .main section .step .step-pc-inner img {
  display: block;
  width: 8rem;
  margin: 4rem auto 2rem;
}
@media screen and (min-width: 601px) {
  #front-page .main section .step .step-pc-inner img {
    width: 100%;
  }
}
#front-page .main section .step .step-title {
  font-size: 3.75rem;
  font-weight: var(--Black);
  color: #c23801;
  text-align: center;
  margin-bottom: 2rem;
  transform: scaleX(0.95);
}
@media screen and (min-width: 601px) {
  #front-page .main section .step .step-title {
    font-size: 4.25rem;
    margin: 4rem 0 1rem;
    text-align: left;
  }
}
#front-page .main section .step .step-content {
  font-size: 3rem;
  font-weight: var(--Bold);
  text-align: center;
  line-height: 1.6;
  padding-bottom: 3rem;
}
@media screen and (min-width: 601px) {
  #front-page .main section .step .step-content {
    text-align: left;
    padding: 0 2rem;
    font-size: 2.5rem;
  }
}
#front-page .main section .step .step-content .orange {
  display: inline-block;
  color: #fff;
  background-color: #c23801;
  margin: 0.5rem;
  padding: 0 0.5rem;
}
@media screen and (min-width: 601px) {
  #front-page .main section .step .step-content .orange {
    margin: 0;
    padding: 0 0.25rem;
  }
}
#front-page .main section .step .step-content .aside {
  margin-top: 3rem;
}
@media screen and (min-width: 601px) {
  #front-page .main section .step .step-content .aside {
    margin-top: 1.5rem;
  }
}
#front-page .main .blue-dot {
  background-image: url("./images/dot-blue.png");
  background-repeat: repeat-x;
  background-position-y: bottom;
}
#front-page .main .button {
  margin: 0 2.5rem 8rem;
}
@media screen and (min-width: 601px) {
  #front-page .main .button {
    width: 65rem;
    margin: 6rem auto 10rem;
  }
}
#front-page .main .prize {
  width: 65%;
  font-size: 2.75rem;
  font-weight: var(--Black);
  color: #c23801;
  line-height: 1;
  margin: 0 auto;
  padding: 4rem 0;
}
@media screen and (min-width: 601px) {
  #front-page .main .prize {
    display: flex;
    width: 100%;
    padding: 4rem 0 3rem;
    line-height: 1.2;
  }
}
@media screen and (min-width: 601px) {
  #front-page .main .prize .prize-pc-inner {
    width: 35%;
    margin: 0 2.5rem;
  }
}
#front-page .main .prize .prize-pc-inner img {
  display: block;
}
@media screen and (min-width: 601px) {
  #front-page .main .prize .prize-pc-inner img {
    padding: 0;
  }
}
#front-page .main .prize .prize-pc-inner img.first {
  width: 27rem;
}
@media screen and (min-width: 601px) {
  #front-page .main .prize .prize-pc-inner img.first {
    width: 100%;
  }
}
#front-page .main .prize .prize-pc-inner img.second {
  width: 27rem;
  margin-left: 2rem;
}
@media screen and (min-width: 601px) {
  #front-page .main .prize .prize-pc-inner img.second {
    width: 75%;
    margin-left: auto;
    margin-right: 2rem;
  }
}
#front-page .main .prize .prize-pc-inner img.third {
  width: 27rem;
  margin-left: 4rem;
}
@media screen and (min-width: 601px) {
  #front-page .main .prize .prize-pc-inner img.third {
    width: 75%;
    margin-left: auto;
  }
}
#front-page .main .prize .prize-text {
  letter-spacing: 1px;
}
@media screen and (min-width: 601px) {
  #front-page .main .prize .prize-text.small {
    margin-top: -1.5rem;
  }
}
@media screen and (min-width: 601px) {
  #front-page .main .prize .prize-text {
    font-size: 4.5rem;
  }
}
#front-page .main .prize .prize-text span {
  font-size: 4rem;
}
@media screen and (min-width: 601px) {
  #front-page .main .prize .prize-text span {
    font-size: 5.5rem;
  }
}

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);
}
