@import url("reset.css");
@import url("common.css");
@import url("menu.css");
@import url("https://use.fontawesome.com/releases/v6.6.0/css/all.css");
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@700&display=swap");
a.yellowBtn {
  background-color: #ffff00;
  color: #0099ff;
  border: #ffff00 3px solid;
  border-radius: 30px;
  display: block;
  padding: 1em 1.5em 1em 1em;
  font-weight: bold;
  width: 300px;
  font-size: 1.15em;
  position: relative;
  margin: 0 auto;
}
a.yellowBtn::before {
  font: var(--fa-font-solid);
  content: "\f138";
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
}
a.yellowBtn:hover {
  background-color: #fff;
}

a.aquaBtn {
  background-color: #0099ff;
  color: #ffff00;
  border: #0099ff 3px solid;
  border-radius: 30px;
  display: block;
  padding: 1em 1.5em 1em 1em;
  font-weight: bold;
  width: 300px;
  font-size: 1.15em;
  position: relative;
  margin: 0 auto;
}
a.aquaBtn::before {
  font: var(--fa-font-solid);
  content: "\f13a";
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
}
a.aquaBtn:hover {
  background-color: #fff;
}

h2.titleWrap {
  color: #0066cc;
  margin-bottom: 2.5em;
}
h2.titleWrap .main {
  font-family: "Poppins", sans-serif;
  color: #fff;
  -webkit-text-stroke: 2px #0066cc;
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 0.4em;
}

p.center {
  text-align: center;
}

section.about {
  background-image: url(../img/aboutBackSp.png);
  background-position: center center;
  background-size: cover;
  margin-top: -1.5em;
  padding: 6em 0 4em;
}
section.about .topBtnWrap {
  padding-bottom: 3em;
}
section.about .topBtnWrap p {
  width: 80%;
  margin: 0 auto 0.5em;
}
section.about .topBtnWrap a {
  margin-bottom: 1em;
}
section.about .gintengaiLogo {
  width: 60%;
  margin: 0 auto;
}
section.about .subTitle {
  margin: 0 auto 1.5em;
}
section.about .txt {
  margin-bottom: 2em;
}
section.about .txt .aboutTxt {
  color: #0066cc;
  letter-spacing: 1px;
  line-height: 180%;
}

@media only screen and (min-width: 580px) {
  section.about {
    background-image: url(../img/aboutBack.png);
    background-size: cover;
    margin-top: -4.5em;
    padding: 6em 0 4em;
  }
  section.about .topBtnWrap {
    position: relative;
  }
  section.about .topBtnWrap p {
    width: 420px;
  }
  section.about .topBtnWrap .gintengaiLogo {
    position: absolute;
    width: 270px;
    top: 0;
  }
  section.about .wrap .txt {
    text-align: left;
    width: 50%;
  }
  section.about .wrap .txt .aboutTxt {
    line-height: 210%;
    font-size: 1.05em;
  }
  section.about .wrap .img {
    width: 48%;
  }
}
section.vision {
  background-color: #ffffcc;
}
section.vision .wrap {
  background-color: #fff;
  border-radius: 30px;
  padding: 3em 0;
}
section.vision .wrap .txt p {
  color: #0066cc;
  letter-spacing: 1px;
  line-height: 180%;
}
section.vision .wrap .txt p span {
  color: #e5007f;
  font-size: 1.1em;
}
section.vision .wrap .img {
  margin-bottom: 2em;
}

@media only screen and (min-width: 580px) {
  section.vision .wrap {
    padding: 3em;
  }
  section.vision .wrap .txt {
    width: 45%;
    text-align: left;
  }
  section.vision .wrap .img {
    width: 50%;
  }
}
#past h2.titleWrap .main {
  font-size: 37px;
}

section.performers {
  background-image: url(../img/performersBack.jpg);
  background-size: cover;
  background-position: center center;
}
section.performers .pastItem {
  background-color: #fff;
  border-radius: 30px;
  padding: 3em 0;
  margin-bottom: 1em;
}
section.performers .pastItem .pastTitle {
  color: #e5007f;
  margin-bottom: 1em;
}
section.performers .pastItem .pastTitle .main {
  font-size: 1.3em;
}
section.performers .pastItem .pastTitle .sub {
  font-weight: normal;
}
section.performers .pastItem .wrap .img {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 0.5em;
}
section.performers .pastItem .wrap .img .imgItem {
  margin-bottom: 0.5em;
}
section.performers .pastItem .wrap .img .imgItem:nth-child(n+2) {
  width: 49%;
}
section.performers .pastItem .wrap .txt {
  padding: 0 1em;
}
section.performers .pastItem .wrap .txt p {
  margin-bottom: 1.5em;
}
section.performers .pastItem .wrap .txt p.schedule {
  text-align: left;
}
section.performers .pastItem .wrap .txt .performerTitie {
  color: #e5007f;
  margin-bottom: 1em;
  font-size: 1.2em;
}
section.performers .pastItem .wrap .txt ul {
  display: grid;
  width: fit-content;
  column-gap: 3em;
  grid-template-columns: repeat(2, auto);
  padding-left: 2em;
}
section.performers .pastItem .wrap .txt ul li {
  list-style: disc;
  text-align: left;
  margin-bottom: 0.3em;
}

@media only screen and (min-width: 580px) {
  #past h2.titleWrap .main {
    font-size: 48px;
  }
  section.performers .pastItem {
    padding: 2em 3em;
    text-align: left;
  }
  section.performers .pastItem .pastTitle .main {
    font-size: 1.5em;
    padding-right: 0.5em;
  }
  section.performers .pastItem .wrap {
    align-items: flex-start;
  }
  section.performers .pastItem .wrap .img {
    width: 45%;
  }
  section.performers .pastItem .wrap .txt {
    width: 50%;
    font-weight: normal;
    padding: 0;
  }
  section.performers .pastItem .wrap .txt p {
    line-height: 200%;
  }
  section.performers .pastItem .wrap .txt ul li {
    margin-bottom: 0.6em;
  }
}
section.management .wrap {
  margin-bottom: 5em;
}
section.management .wrap .img {
  width: 75%;
  margin: 0 auto 2em;
}
section.management .wrap .txt .name {
  margin-bottom: 1.5em;
}
section.management .wrap .txt .name span {
  background: #0099ff;
  color: #ffff00;
  padding: 0.2em 1em;
  display: inline-block;
  font-weight: normal;
  margin-bottom: 1em;
  font-size: 0.85em;
}
section.management .wrap .txt .name p img {
  width: 250px;
}
section.management .wrap .txt p.coment {
  font-weight: normal;
  text-align: left;
}

@media only screen and (min-width: 580px) {
  section.management .wrap .img {
    width: 45%;
    margin: 0;
  }
  section.management .wrap .txt {
    width: 48%;
  }
  section.management .wrap .txt .name {
    display: flex;
    align-items: center;
  }
  section.management .wrap .txt .name span {
    margin-bottom: 0em;
  }
  section.management .even {
    flex-direction: row-reverse;
  }
}
section.joinUs {
  background-image: url(../img/joinUsBack.png);
  background-size: contain;
  background-position: center center;
}
section.joinUs h2.titleWrap {
  margin-bottom: 3.5em;
}
section.joinUs .eventOverview {
  border: #0099ff 2px solid;
  border-radius: 20px;
  background-color: #fff;
  padding: 2em 1em 1em;
  position: relative;
  margin-bottom: 3em;
}
section.joinUs .eventOverview .title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -1em;
  background-color: #0099ff;
  color: #fff;
  border-radius: 30px;
  padding: 0.4em 1em 0.6em;
  font-size: 1.5em;
  font-weight: normal;
  letter-spacing: 2px;
  width: 200px;
}
section.joinUs .eventOverview table {
  font-size: 1.1em;
}
section.joinUs .eventOverview table th {
  color: #0099ff;
  padding-bottom: 0.5em;
  line-height: 150%;
}
section.joinUs .eventOverview table td {
  padding-left: 1em;
  padding-bottom: 0.5em;
  line-height: 150%;
  text-align: left;
}
section.joinUs .detailItem {
  background-color: #ffff00;
  color: #0099ff;
  padding: 1.5em;
  margin-bottom: 1em;
  text-align: left;
  border-radius: 20px;
}
section.joinUs .detailItem .title {
  border-bottom: #0099ff 1px solid;
  padding-bottom: 0.5em;
  font-size: 1.2em;
  margin-bottom: 0.5em;
}
section.joinUs .detailItem .contents {
  font-weight: normal;
}

@media only screen and (min-width: 580px) {
  section.joinUs {
    background-size: cover;
  }
  section.joinUs .eventOverview {
    width: 550px;
    margin: 0 auto 5em;
    padding: 2em 3em 1em;
  }
  section.joinUs .detailWrap {
    margin-bottom: 3em;
  }
  section.joinUs .detailWrap .detailItem {
    display: flex;
    align-items: stretch;
  }
  section.joinUs .detailWrap .detailItem .title {
    border-bottom: none;
    border-right: #0099ff 1px solid;
    width: 250px;
    padding-bottom: 0;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  section.joinUs .detailWrap .detailItem .contents {
    padding-left: 2em;
  }
}
section.flow {
  background-color: #e0f2ff;
}
section.flow .flowWrap {
  border-radius: 30px;
  background-color: #fff;
  padding: 4em 1em 2em 1em;
}
section.flow .flowWrap .wrap {
  display: flex;
}
section.flow .flowWrap .wrap .img {
  width: 50px;
  padding-right: 0.8em;
}
section.flow .flowWrap .wrap .txt {
  text-align: left;
  flex: 1;
}
section.flow .flowWrap .wrap .txt .flowItem {
  margin-bottom: 0.7em;
}
section.flow .flowWrap .wrap .txt .flowItem .title {
  font-size: 1.1em;
  margin-bottom: 0.4em;
}
section.flow .flowWrap .wrap .txt .flowItem .before {
  color: #0099ff;
}
section.flow .flowWrap .wrap .txt .flowItem .onTheDay {
  color: #e5007f;
}
section.flow .flowWrap .wrap .txt .flowItem p {
  font-size: 0.8em;
  font-weight: normal;
}

@media only screen and (min-width: 580px) {
  section.flow .flowWrap {
    width: 800px;
    margin: 0 auto;
    padding: 4em 3em 2em 3em;
  }
  section.flow .flowWrap .wrap {
    margin-bottom: 1em;
  }
  section.flow .flowWrap .wrap .img {
    width: 110px;
    padding: 0 2em;
  }
  section.flow .flowWrap .wrap .txt .flowItem p {
    padding-left: 2em;
  }
}
section.contact a.yellowBtn {
  width: 350px;
}
section.contact .wrap .contactItem {
  margin-bottom: 3em;
}
section.contact .wrap .contactItem p {
  margin-bottom: 1em;
}
section.contact .wrap .contactItem:last-child {
  margin-bottom: 0;
}

@media only screen and (min-width: 580px) {
  section.contact .wrap {
    display: flex;
    max-width: 85%;
    margin: 0 auto;
  }
  section.contact .wrap .contactItem {
    margin-bottom: 0;
    width: 50%;
  }
}
footer {
  background-image: url(../img/footerBack.jpg);
  padding: 5em 0 0;
  background-size: cover;
  background-position: center center;
}
footer .logo {
  margin-bottom: 2em;
}
footer ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 3em;
}
footer ul li {
  width: 33.3%;
  font-weight: normal;
  color: #0099ff;
  margin-bottom: 1em;
  border-right: #0099ff 1px solid;
}
footer ul li:nth-child(3n), footer ul li:last-child {
  border-right: none;
}
footer .copy {
  font-size: 0.7em;
  color: #0099ff;
  font-weight: normal;
}

@media only screen and (min-width: 580px) {
  footer .logo {
    width: 400px;
    margin: 0 auto 2em;
  }
  footer .footerMenu ul {
    flex-wrap: nowrap;
  }
  footer .footerMenu ul li {
    padding: 0 1em;
    width: auto;
  }
  footer .footerMenu ul li:nth-child(3n) {
    border-right: #0099ff 1px solid;
  }
}