@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
/* ===========================================
 * TOP
 * ======================================== */
.topWrap {
  padding-top: 60px;
  padding-bottom: 120px;
  padding-left: 50px;
  background: center top / 100% auto no-repeat url(/img/event/pro-hv/top_kv.jpg);
  background-color: #0F0E0E;
}
.kvLogo {
  width: calc(597px / 2);
}
.kvLogoIcon {
  line-height: 0;
  display: block;
}
.kvLogotext {
  margin-top: 13px;
  text-align: center;
  font: 700 24px / 1.5 "Noto Serif JP", serif;
  color: #FFFFFF;
}
.kvMessage {
  width: fit-content;
  margin-top: 40px;
}
.kvMessageTitle {
  margin-bottom: 40px;
  font: 700 37px / 1.3 "Noto Serif JP", serif;
  color: #FFFFFF;
  display: block;
}
.kvMessageText {
  font: 600 16px / 2.0 "Noto Sans JP", sans-serif;
  color: #FFFFFF;
}

/* ===========================================
 * SECTION 01
 * ======================================== */
.section01Wrap {
  padding: 40px 20px;
  background-color: #0F0E0E;
}
/* SYSTEM */
/* ======================================= */
.hacobune-app-container {
  padding: 0!important;
  background-color: #0F0E0E!important;
}
.hacobune-unit-video-outline {
  padding: 0!important;
}
.hacobune-readmore {
  margin: 0!important;
}
.hacobune-readmore-wrapper {
  margin: 0!important;
}

/* ===========================================
 * SECTION 02・SECTION 03
 * ======================================== */
.section02Wrap,
.section03Wrap {
  padding: 20px;
  background-color: #0F0E0E;
}
.section02Inner,
.section03Inner {
  width: 100%;
  margin-inline: auto;
}
.section02Title,
.section03Title {
  margin-bottom: 10px;
  font: 900 20px / 1.5 "Noto Sans JP", sans-serif;
  color: #FFFFFF;
  display: block;
}
.section02img,
.section03img {
  width: 100%;
}
.section02Text,
.section03Text {
  margin-top: 10px;
  text-align: right;
  font: 500 12px / 1.6 "Noto Sans JP", sans-serif;
  color: #FFFFFF;
}

/* ===========================================
 * SECTION 04
 * ======================================== */
.section04Wrap {
  padding-block: 30px 50px;
  background: center top / cover no-repeat url(/img/event/pro-hv/sec04_bg.jpg);
  background-color: #0F0E0E;
}
.section043Inner {
  width: 100%;
  margin-inline: auto;
}
.section04Title {
  margin-bottom: 10px;
  text-align: center;
  font: 900 20px / 1.5 "Noto Sans JP", sans-serif;
  color: #FFFFFF;
  display: block;
}
.section04Text {
  margin-bottom: 20px;
  text-align: center;
  font: 500 15px / 1.5 "Noto Sans JP", sans-serif;
  color: #FFFFFF;
  display: block;
}
.section04Contents {
  width: min(100%, 293px);
  margin-inline: auto;
  border: 1px solid #FFFFFF;
}
.section04ContentsText {
  width: 100%;
  height: 40px;
  font: 900 16px / 1.0 "Noto Sans JP", sans-serif;
  color: #FFFFFF;
  background-color: #0F0E0E;
  display: flex;
  align-items: center;
  justify-content: center;
  > span {
    width: fit-content;
    display: block;
  }
}
.section04ContentsImg {
  line-height: 0;
  display: block;
}

/* ===========================================
 * SECTION 05
 * ======================================== */
.section05Wrap {
  padding-block: 45px 90px;
  background-color: #0F0E0E;
}
.section05Inner {
  width: 100%;
  margin-inline: auto;
}
.section05Title {
  margin-bottom: 20px;
  text-align: center;
  font: 900 30px / 1.5 "Noto Sans JP", sans-serif;
  color: #FFFFFF;
  display: block;
}
.section05TextContainer {
  display: grid;
  gap: 30px;
}
.section05Text {
  text-align: center;
  font: 700 15px / 2.0 "Noto Sans JP", sans-serif;
  color: #FFFFFF;
  display: block;
}

/* ===========================================
 * SECTION 07
 * ======================================== */
.section07Wrap {
  padding-block: 0;
}
.section07Inner {
  width: 100%;
  margin-inline: auto;
}
.section07Title {
  width: 100%;
  max-width: 600px;
  height: 3em;
  margin-inline: auto;
  margin-bottom: 20px;
  text-align: center;
  font: 700 20px / 1.0 "Noto Sans JP", sans-serif;
  color: #FFFFFF;
  background-color: #0F0E0E;
  display: flex;
  align-items: center;
  justify-content: center;
  > span {
    width: fit-content;
    display: block;
  }
}

/* SYSTEM */
/* ======================================= */
.block-thumbnail-t {
  display: flex;
  justify-content: center;
}
.block-link {
  display: none;
}
.block-top-event {
  padding-block: 0;
}
.block-section--header > span {
  display: none;
}
