.header .mainvisual {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-height: calc(100vh - 189px); }
  @media (max-width: 768px) {
    .header .mainvisual {
      max-height: none; } }
  .header .mainvisual figure {
    text-align: center; }
    .header .mainvisual figure img {
      max-width: 100%;
      width: 100%; }
  .header .mainvisual .logo {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 58.6%;
    max-width: 750px;
    transform: translateX(-50%); }
    @media (max-width: 768px) {
      .header .mainvisual .logo {
        width: 98%;
        bottom: 3%; } }
.header .day {
  padding: 32px 16px;
  background-color: #000; }
  @media (max-width: 768px) {
    .header .day {
      padding: 16px 15px; } }
  .header .day p {
    width: 720px;
    margin: 0 auto; }
    @media (max-width: 768px) {
      .header .day p {
        width: 100%; }
        .header .day p img {
          width: 100%; } }

.titleEn {
  font-family: 'Fjalla One', sans-serif;
  font-weight: normal;
  font-size: 40px;
  text-align: center; }
  @media (max-width: 768px) {
    .titleEn {
      font-size: 28px; } }

.titleJa {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 40px;
  text-align: center; }
  @media (max-width: 768px) {
    .titleJa {
      font-size: 28px;
      line-height: 1.2; } }

.news {
  padding: 64px 0 50px; }
  @media (max-width: 768px) {
    .news {
      padding: 32px 16px 25px; } }
  .news ul {
    display: table;
    margin: 14px auto 0; }
    @media (max-width: 768px) {
      .news ul {
        display: block; } }
  .news li {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 2.25; }
    @media (max-width: 768px) {
      .news li {
        font-size: 14px; } }
    .news li span {
      padding-right: 32px; }
      @media (max-width: 768px) {
        .news li span {
          display: block; } }

.event {
  padding: 112px 0 110px;
  color: #fff;
  background: #ff6600 url(./img/event_bg.jpg) no-repeat right bottom/auto 100%; }
  @media (max-width: 768px) {
    .event {
      padding: 56px 16px;
      background-image: none; } }
  .event .titleJa + p {
    margin-top: 14px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    text-align: center; }
    @media (max-width: 768px) {
      .event .titleJa + p {
        line-height: 1.4; } }
  .event ul {
    display: flex;
    justify-content: center;
    margin-top: 46px; }
    @media (max-width: 768px) {
      .event ul {
        display: block;
        margin-top: 0; } }
    @media (max-width: 768px) {
      .event ul li {
        margin-top: 22px; } }
    .event ul li:nth-child(2) {
      margin-right: 36px;
      margin-left: 36px; }
      @media (max-width: 768px) {
        .event ul li:nth-child(2) {
          margin-right: 0;
          margin-left: 0; } }
    .event ul li img {
      display: block;
      width: 216px;
      margin: 0 auto; }
    .event ul li p {
      margin-top: 16px;
      text-align: center;
      line-height: 1.71; }
      .event ul li p::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.71) * 0.5em); }
  .event .note {
    margin-top: 40px;
    padding: 0 16px;
    font-size: 16px;
    line-height: 1.2;
    text-align: center;
    text-decoration: underline; }
  .event .eventLogo {
    max-width: 320px;
    width: 100%;
    margin: 40px auto 0; }
  .event .eventOa {
    display: table;
    margin: 40px auto 0;
    padding: 20px 48px;
    text-align: center;
    border: 1px solid #fff; }
    @media (max-width: 768px) {
      .event .eventOa {
        display: block;
        width: 100%;
        margin-top: 20px;
        padding: 20px 16px;
        line-height: 1.4; } }
    .event .eventOa h3 {
      font-size: 24px; }
      @media (max-width: 768px) {
        .event .eventOa h3 {
          font-size: 20px; } }
    .event .eventOa p {
      margin-top: 10px;
      font-size: 20px; }
      @media (max-width: 768px) {
        .event .eventOa p {
          margin-top: 4px;
          font-size: 18px; } }

.entry {
  position: relative;
  padding: 112px 0; }
  @media (max-width: 768px) {
    .entry {
      padding: 56px 16px; } }
  .entry::after {
    content: "";
    position: absolute;
    top: -64px;
    left: -120px;
    width: 470px;
    height: 488px;
    background: url(./img/entry_bg.png) no-repeat 0 0/470px auto; }
    @media (max-width: 768px) {
      .entry::after {
        top: -30px;
        left: -20px;
        width: 120px;
        height: 125px;
        background-size: 120px 125px; } }
  .entry .inner {
    position: relative;
    z-index: 1; }
  .entry .txt {
    margin-top: 32px;
    line-height: 1.71;
    text-align: center; }
    .entry .txt::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.71) * 0.5em); }
    @media (max-width: 768px) {
      .entry .txt {
        margin-top: 24px; } }
  .entry .bosyu {
    display: table;
    margin: 20px auto 0;
    padding: 20px;
    line-height: 1.71;
    text-align: center;
    border: 1px solid #000;
    font-size: 14px; }
    @media (max-width: 768px) {
      .entry .bosyu {
        text-align: left; } }
  .entry .btn {
    margin-top: 38px; }
    @media (max-width: 768px) {
      .entry .btn {
        margin-top: 24px; } }
    .entry .btn a {
      display: block;
      max-width: 480px;
      width: 100%;
      margin-left: auto;
      margin-right: auto;
      padding: 16px 0;
      border: 1px solid #ff6600;
      font-family: 'Fjalla One', sans-serif;
      font-weight: normal;
      color: #ff6600;
      font-size: 40px;
      text-align: center;
      text-decoration: none;
      transition: all .3s ease; }
      .entry .btn a:hover {
        color: #fff;
        background-color: #ff6600; }

.overview {
  padding: 112px 0;
  background-color: #eee; }
  @media (max-width: 768px) {
    .overview {
      padding: 56px 16px; } }
  .overview dl {
    display: flex;
    flex-wrap: wrap;
    width: 960px;
    margin: 46px auto 0;
    font-size: 16px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700; }
    @media (max-width: 768px) {
      .overview dl {
        display: block;
        width: 100%;
        margin-top: 20px;
        font-size: 14px;
        line-height: 1.2; } }
    .overview dl dt {
      width: 72px;
      text-align-last: justify;
      text-justify: inter-ideograph; }
      .overview dl dt:not(:first-of-type) {
        margin-top: 24px; }
      @media (max-width: 768px) {
        .overview dl dt {
          text-align-last: left; } }
    .overview dl dd {
      width: calc(100% - 74px);
      padding-left: 24px; }
      .overview dl dd:not(:first-of-type) {
        margin-top: 24px; }
      .overview dl dd span {
        display: block;
        margin-top: 6px;
        font-size: 14px; }
      @media (max-width: 768px) {
        .overview dl dd {
          width: 100%;
          padding-left: 0;
          margin-top: 12px !important; } }
      .overview dl dd ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start; }
        .overview dl dd ul li {
          margin-right: 1em; }
          @media (max-width: 768px) {
            .overview dl dd ul li {
              margin-top: 4px; } }
      @media (max-width: 768px) {
        .overview dl dd .sponsor li {
          width: 50%;
          margin-right: 0;
          text-align: center; } }
  .overview .supporter,
  .overview .guest {
    margin-top: 44px;
    text-align: center;
    font-weight: bold; }
    .overview .supporter h4,
    .overview .guest h4 {
      font-size: 16px; }
    .overview .supporter p,
    .overview .guest p {
      margin-top: 6px;
      font-size: 28px; }
      .overview .supporter p em,
      .overview .guest p em {
        color: #ff6600;
        font-style: normal; }
    .overview .supporter figure,
    .overview .guest figure {
      width: 100%;
      margin: 16px auto 0; }
      .overview .supporter figure figcaption,
      .overview .guest figure figcaption {
        margin-top: 8px;
        line-height: 1.4;
        font-size: 18px; }
        .overview .supporter figure figcaption span,
        .overview .guest figure figcaption span {
          display: block;
          font-weight: normal;
          font-size: 14px; }
