@charset "UTF-8";
/* ************************************************ */
img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ************************************************ */
/* ************************************************ */
body.top-page {
  background-color: #FFF4CF;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  position: relative;
}
body.top-page .bg_img01 {
  position: absolute;
  top: 17%;
  right: 0;
  width: 17.673%;
  aspect-ratio: 254.5/456;
  z-index: -1;
}
body.top-page .bg_img02 {
  position: absolute;
  top: 36.7%;
  left: 0;
  width: 19.5834%;
  aspect-ratio: 282/315;
  z-index: -1;
}
body.top-page .bg_img03 {
  position: absolute;
  top: 51.9%;
  right: 0;
  width: 13.298%;
  z-index: -1;
  aspect-ratio: 191.5/437.5;
}
body.top-page .bg_img04 {
  position: absolute;
  top: 27.9%;
  right: 0;
  width: 13.298%;
  z-index: -1;
  aspect-ratio: 191.5/437.5;
}
body.top-page #header .fv_img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1440/1072;
}
body.top-page #header .fv_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.top-page #summer_festival .summer_festival_title {
  width: 41.666%;
  height: 100%;
  aspect-ratio: 600/89.9534;
  margin: 160px auto 0;
}
body.top-page #summer_festival .content {
  width: 69.444%;
  aspect-ratio: 1200/1130;
  margin: auto;
  position: relative;
}
body.top-page #summer_festival .content .summer_festival01 {
  position: absolute;
  top: -13.628%;
  left: 0.25%;
  width: 51.051%;
  aspect-ratio: 619.2738/834;
}
body.top-page #summer_festival .content .summer_festival02 {
  position: absolute;
  top: 14.248%;
  right: 0;
  width: 53.736%;
  aspect-ratio: 673/548.245;
}
body.top-page #summer_festival .content .summer_festival03 {
  position: absolute;
  top: 55.7522%;
  left: 0;
  width: 91.3611%;
  aspect-ratio: 1186.4909/497.3155;
}
body.top-page #summer_festival .content .summer_festival04 {
  width: 54.69%;
  aspect-ratio: 656.28/470.907;
  position: absolute;
  top: 58.23%;
  left: 46%;
}
body.top-page #summer_festival p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2.2vw;
  font-weight: 700;
  border: 8px solid #FFB200;
  background-color: #fff;
  border-radius: 96px;
  width: 76.11%;
  height: 13.6vh;
  margin: 2.64% auto 0;
  padding-left: 7.95%;
  position: relative;
}
body.top-page #summer_festival p::before {
  position: absolute;
  content: "※";
  top: 50%;
  left: -1px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 4vw;
  padding: 0.8% 1.8%;
  color: #277BC0;
  border-radius: 50%;
  background-color: #FFB200;
}
body.top-page #chu-senkai .chu-senkai_title {
  width: 22.22%;
  aspect-ratio: 320/101.945;
  margin: 11% auto 0;
  position: relative;
}
body.top-page #chu-senkai .cho-chin_img {
  position: absolute;
  top: -67.7%;
  left: -136.215%;
  width: 372.85%;
  aspect-ratio: 1193.12/200;
}
body.top-page #chu-senkai .content {
  width: 69.444%;
  aspect-ratio: 1200/1198;
  margin: auto;
  position: relative;
}
body.top-page #chu-senkai .content .chu-senkai01 {
  position: absolute;
  top: 7.846%;
  left: 0.75%;
  width: 61.529%;
  aspect-ratio: 738.351/358.5569;
  z-index: 10;
}
body.top-page #chu-senkai .content .chusen-kai_img {
  position: absolute;
  top: 1.5859%;
  left: 68.41667%;
  width: 28.257%;
  aspect-ratio: 339.074/308.516;
}
body.top-page #chu-senkai .content .chu-senkai02 {
  position: absolute;
  top: 31.6%;
  left: 50.25%;
  width: 50.0909%;
  aspect-ratio: 601.091/452.662;
}
body.top-page #chu-senkai .content .chu-senkai03 {
  position: absolute;
  top: 41.1519%;
  left: 0%;
  width: 53.308%;
  aspect-ratio: 640.6995/705.7399;
}
body.top-page #chu-senkai .content .chu-senkai04 {
  position: absolute;
  top: 72.37%;
  left: 53.66%;
  width: 40.667%;
  aspect-ratio: 488/202.8;
}
body.top-page .place {
  padding: 0 0 8.334%;
  /* padding: 5.694% 0 8.334%; */
}
body.top-page .place .inner {
  width: 69.444%;
  margin: auto;
}
body.top-page .schedule .inner,
body.top-page .layout .inner {
  width: 69.444%;
  max-width: 1000px;
  margin: auto;
}
body.top-page .schedule .inner {
  margin-top: 100px;
}
body.top-page .layout .inner {
  margin-top: 40px;
}
body.top-page .place .inner .place_title {
  width: 27%;
  aspect-ratio: 320/104.945;
  margin: 8% auto 0;
}
body.top-page .place .inner .schedule {
  width: 100%;
  aspect-ratio: 1200/1011.571;
}
body.top-page .place .inner .layout {
  padding-top: 8%;
  width: 100%;
}
body.top-page .place .inner .layout p {
  padding: 1% 2%;
  text-align: left;
  font-size: 18px;
  color: #fff;
  background-color: #FFB200;
}
body.top-page .place .inner .place_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 11%;
  width: 100%;
  margin: auto;
}
body.top-page .place .inner .place_wrap .place_text {
  width: 40.1295%;
  aspect-ratio: 401.295/400;
  margin: auto;
}
body.top-page .place .inner .place_wrap .place_text .place_logo {
  width: 69.7125%;
  aspect-ratio: 279.387/149.099;
  margin: auto;
  -webkit-transform: translateX(-15px);
          transform: translateX(-15px);
}
body.top-page .place .inner .place_wrap .place_text dl {
  padding-top: 8%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
body.top-page .place .inner .place_wrap .place_text dl dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 22.5%;
  min-width: 50px;
  height: 100%;
  background-color: #FFB200;
  border-radius: 30px;
  color: #fff;
  font-size: 1.2vw;
  margin-top: 9.68%;
}
body.top-page .place .inner .place_wrap .place_text dl dd {
  width: 73%;
  font-size: 1.6vw;
  font-weight: 700;
  margin-top: 9.68%;
}
body.top-page .place .inner .place_wrap .place_img {
  width: 60%;
  aspect-ratio: 600/400;
}
body.top-page .place .inner .iframe_wrap {
  position: relative;
  width: 100%;
  padding-top: 40%;
  margin: 5% auto 0;
}
body.top-page .place .inner .iframe_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
body.top-page .place .inner p {
  text-align: center;
  font-size: 18px;
  padding-top: 4.5834%;
}
body.top-page .place .inner .pdf_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 2.9167%;
}
body.top-page .place .inner .pdf_wrap .pdf {
  width: 35.6%;
  aspect-ratio: 747/937;
}
body.top-page .place .inner .pdf_wrap .pdf img {
  -o-object-fit: contain;
     object-fit: contain;
}
body.top-page .place .inner .pdf_wrap .pdf2 {
  width: 63%;
  aspect-ratio: 1032 × 728;
}
body.top-page .place .inner .pdf_wrap .pdf2 img {
  -o-object-fit: contain;
     object-fit: contain;
}
body.top-page .place .inner .pdf3 {
  margin-top: 8%;
  width: 100%;
}
body.top-page .place .inner .company {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 2%;
}
body.top-page .place .inner .company::after {
  content: "";
  display: block;
  width: 19.333%;
  min-width: 180px;
}
body.top-page .place .inner .company li {
  width: 19.333%;
  border-bottom: 1px solid #000;
  padding-bottom: 1%;
}
body.top-page .place .inner .company li:nth-child(n+6) {
  margin-top: 1%;
}
body.top-page footer {
  width: 100%;
  height: 300px;
  padding: 5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #333333;
}
body.top-page footer .footer_title {
  font-size: 24px;
  color: #fff;
  letter-spacing: 0.075em;
  font-weight: 700;
  text-align: center;
}
body.top-page footer .contact {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  padding-top: 10px;
}
body.top-page footer .contact span {
  font-size: 24px;
  color: #FFF4CF;
  letter-spacing: 0.1em;
  font-weight: 700;
}
body.top-page footer p {
  font-size: 14px;
  font-weight: 700;
  padding-top: 10px;
  color: #fff;
  text-align: center;
}
/* 2025/08/05 追加 */
body.top-page .pdf {
    max-width: 640px;
    margin: auto;
}