@charset "utf-8";
/***** 全体 *****/
#wrapper {
  max-width: calc(760px + var(--space-xs) + var(--space-xs));
}
/***** header *****/
.l-header {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}
@media screen and (max-width:768px) {
  .l-header {
    position: static;
  }
}
/***** 下部背景画像 *****/
.p-top-bg {
  background: url("../images/img_top_bg.svg") no-repeat bottom center / 100%;
}
@media screen and (max-width:768px) {
  .p-top-bg {
    background: url("../images/img_top_bg_sp.svg") no-repeat bottom center / 100%;
  }
}
/***** mv *****/
.p-top-mv {
  max-width: 75vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  margin-inline: auto;
}
.p-top-mv__ttl {
  margin-top: var(--space-md);
}
.p-top-mv__date {
  margin: 1vw auto 0;
  max-width: 70%;
}
.p-top-mv__theme {
  margin: 2vw auto;
  max-width: 45%;
}
@media screen and (max-width:768px) {
  .p-top-mv {
    height: 100%;
    max-width: 100%;
  }
  .p-top-mv__ttl {
    margin-top: 3vw;
  }
  .p-top-mv__date {
    margin: 4vw auto 0;
  }
  .p-top-mv__theme {
    margin: 8vw auto 4vw;
    max-width: 70%;
  }
}
/***** 開催概要ボタン *****/
.p-top-info {
  margin-top: 6vw;
}
.p-top-info__btn {
  background-color: var(--sub-color);
  color: #fff;
  text-decoration: none;
  font-size: clamp(1.6rem, 4.3vw, 2.4rem);
  font-weight: 600;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.06em;
  margin-inline: auto;
  padding: var(--space-sm) var(--space-xs);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1vw;
  width: 18em;
  text-align: center;
  border-radius: var(--round-lg);
  box-shadow: 8px 8px 0px var(--sub-color02);
  transition: 0.3s;
  position: relative;
}
.p-top-info__btn:after {
  content: "";
  display: block;
  width: clamp(30px, 8vw, 48px);
  height: clamp(30px, 8vw, 48px);
  background: url("../images/btn_arrow.svg") no-repeat center / 100%;
}
.p-top-info__btn:hover {
  box-shadow: unset;
  transform: translate(7px, 7px);
}
@media screen and (max-width:768px) {
  .p-top-info__btn {
    padding: var(--space-xs);
    width: 100%;
    box-shadow: 4px 4px 0px var(--sub-color02);
  }
}
/***** ダウンロードボタン *****/
.p-top-dl {
  margin-top: 4vw;
}
.p-top-dl__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2vw;
}
.p-top-dl__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1vw;
  background-color: var(--sub-color02);
  color: var(--base-color);
  text-decoration: none;
  font-size: clamp(1.6rem, 4.3vw, 2.2rem);
  font-weight: 600;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.06em;
  text-align: center;
  line-height: 1.5;
  padding: var(--space-xs);
  border-radius: var(--round-lg);
  position: relative;
}
.p-top-dl__btn.btn_a2:before {
  content: "";
  display: block;
  width: clamp(60px, 16vw, 100px);
  height: clamp(60px, 16vw, 100px);
  background: url("../images/icon_btn_a2.svg") no-repeat center / contain;
}
.p-top-dl__btn.btn_a4:before {
  content: "";
  display: block;
  width: clamp(60px, 16vw, 100px);
  height: clamp(60px, 16vw, 100px);
  background: url("../images/icon_btn_a4.svg") no-repeat center / contain;
}
@media screen and (max-width:768px) {
  .p-top-dl {
    margin-top: 5vw;
  }
  .p-top-dl__list {
    grid-template-columns: 1fr;
    gap: 4vw;
  }
}
/***** 事務局情報 *****/
.p-top-secretariat {
  margin-top: 4vw;
  padding-bottom: var(--space-xxl);
  display: flex;
  justify-content: center;
}
.p-top-secretariat__box {
  padding: var(--space-sm) var(--space-lg);
  background-color: var(--base-color);
  border-radius: var(--round-md);
  color: var(--sub-color03);
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 600;
  font-size: clamp(1.6rem, 4.3vw, 1.8rem);
}
.p-top-secretariat__box a {
  color: var(--sub-color03);
}
.p-top-secretariat__ttl {
  text-align: center;
  font-size: clamp(1.6rem, 4.8vw, 2.2rem);
  text-underline-offset: 5px;
  text-decoration: 3px underline wavy var(--sub-color04);
  margin-bottom: var(--space-xs);
}
.p-top-secretariat__table th {
  width: 26%;
  font-weight: 600;
}
.p-top-secretariat__table .disc li::before {
  background-color: var(--sub-color04);
}
@media screen and (max-width:768px) {
  .p-top-secretariat__box {
    width: 100%;
    padding: var(--space-xs);
  }
  .p-top-secretariat__table th {
    width: 32%;
  }
}