@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap');

/* -----------------------------------------------
common
----------------------------------------------- */
#event {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
#event img {
  width: 100%;
}

@media only screen and (max-width:640px) {
  #event h1 {
    margin-bottom: 18px;
  }
  .pc_only {
    display: none;
  }
}

@media only screen and (min-width:641px) {
  #event h1 {
    margin-bottom: 18px;
  }
  .sp_only {
    display: none;
  }
}

/* -----------------------------------------------
lead_text_wrap
----------------------------------------------- */
.lead_text_wrap {
  text-align: center;
}
.lead_text_wrap .lead_text {
  font-weight: bold;
}

@media only screen and (max-width:640px) {
  .lead_text_wrap {
    margin-bottom: 40px;
    /*margin-bottom: 80px;*/
  }
  .lead_text_wrap .lead_text {
    font-size: 16px;
    line-height: 1.46;
    margin-bottom: 6px;
  }
  .lead_text_wrap .note {
    font-size: 12px;
    line-height: 1.71;
  }
}

@media only screen and (min-width:641px) {
  .lead_text_wrap {
    margin-bottom: 60px;
    /*margin-bottom: 120px;*/
  }
  .lead_text_wrap .lead_text {
    font-size: 22px;
    line-height: 1.46;
    margin-bottom: 10px;
  }
  .lead_text_wrap .note {
    font-size: 16px;
    line-height: 1.71;
    margin-bottom: 15px;
  }
  .lead_text_wrap .lead_info {
    font-size: 22px;
    line-height: 1.46;
  }
}

/* -----------------------------------------------
present_wrap
----------------------------------------------- */
.present_text h2 {
  font-weight: bold;
}

@media only screen and (max-width:640px) {
  .present_wrap {
    margin-bottom: 60px;
  }
  .present_text {
    margin-bottom: 20px;
  }
  .present_text h2 {
    font-size: 18px;
    line-height: 1.25;
    margin-bottom: 10px;
  }
  .present_text :is(p, ul) {
    font-size: 14px;
    line-height: 1.5;
  }
  .present_img {
    width: 100%;
  }
  .present_text span {
    font-size: 16px;
    background-color: #979393;
    color: #fff;
    margin-bottom: 0.5em;
    padding: 0.25em;
    display: inline-flex;
  }
}

@media only screen and (min-width:641px) {
  .present_wrap {
    display: flex;
    align-items: center;
    gap: 0 20px;
    margin-bottom: 60px;
  }
  .present_text {
    flex: 1;
  }
  .present_text h2 {
    font-size: 25px;
    line-height: 1.25;
    margin-bottom: 20px;
  }
  .present_text :is(p, ul) {
    font-size: 18px;
    line-height: 1.5;
  }
  .present_img {
    width: 249px;
  }
  .present_text span {
    font-size: 20px;
    background-color: #979393;
    color: #fff;
    margin-bottom: 0.5em;
    padding: 0.5em;
    display: inline-flex;
  }
}

/* -----------------------------------------------
bnr_wrap
----------------------------------------------- */


@media only screen and (max-width:640px) {
  .bnr_wrap {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 15px 0;
    margin-bottom: 75px;
  }
}

@media only screen and (min-width:641px) {
  .bnr_wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 2.59%;
    margin-bottom: 75px;
  }
}

/* -----------------------------------------------
anc_wrap
----------------------------------------------- */
.anc_list {
  border: 1px solid #707070;
  box-sizing: border-box;
}
.anc_list_item a {
  display: block;
}
.anc_list_item a::before {
  content: '> ';
}

@media only screen and (max-width:640px) {
  .anc_wrap {
    margin-bottom: 50px;
  }
  .anc_list {
    padding: 20px 20px;
    font-size: 18px;
  }
  .anc_list_item {
    width: 100%;
    border-bottom: 1px solid #707070;
  }
  .anc_list_item a {
    padding: 0.5em 1em;
  }
  .anc_wrap h2 {
    font-size: 18px;
    font-weight:bold;
    line-height: 1.25;
    margin-bottom: 10px;
  }
}

@media only screen and (min-width:641px) {
  .anc_wrap {
    margin-bottom: 70px;
  }
  .anc_list {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 1em;
    min-height: 70px;
    padding: 10px;
    font-size: 20px;
  }
  .anc_wrap h2 {
    font-size: 25px;
    font-weight:bold;
    line-height: 1.25;
    margin-bottom: 20px;
  }
}

/* -----------------------------------------------
venue_wrap
----------------------------------------------- */
.venue_title {
  border-bottom: 1px solid #707070;
}
.venue_title::before {
  content: '> ';
}
.venue_list h4 {
  background-color: #979393;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.venue_list_fx .map :is(a, picture, span) {
  display: block;
  text-align: center;
}
.venue_list_fx .text .l_text {
  font-weight: bold;
}
.venue_list_fx .text .l_text span {
  font-weight: normal;
}

.venue_list_fx .text .s_text span{
  color:#c60014;
  font-weight:bold;
}

.venue_list_fx .text .s_text a{
  text-decoration:underline;
}

@media only screen and (max-width:640px) {
  .venue_title {
    font-size: 18px;
    padding-bottom: 10px;
    padding-left: 16px;
    margin-bottom: 25px;
  }
  .venue_con_wrap + .venue_con_wrap {
    margin-top: 100px;
  }
  .venue_content {
    padding: 0 16px;
  }
  .venue_content + .venue_content {
    margin-top: 60px;
  }
  .venue_content h3 {
    font-size: 18px;
    margin-bottom: 16px;
  }
  .venue_list {
    padding: 0 16px;
  }
  .venue_list + .venue_list {
    margin-top: 60px;
  }
  .venue_list h4 {
    font-size: 18px;
    min-width: 120px;
    min-height: 30px;
    margin-bottom: 15px;
  }
  .venue_list_fx {
    padding-left: 16px;
  }
  .venue_list_fx .text {
    margin-bottom: 20px;
  }
  .venue_list_fx .text .l_text {
    font-size: 18px;
    line-height: 1.43;
    margin-bottom: 15px;
  }
  .venue_list_fx .text .s_text {
    font-size: 16px;
    line-height: 1.46;
  }
  .venue_list_fx .text .l_text span {
    font-size: .86em;
  }
  .venue_list_fx .map picture {
    width: 32px;
    margin-inline: auto;
    margin-bottom: 8px;
  }
  .venue_list_fx .map span {
    font-size: 14px;
  }
}

@media only screen and (min-width:641px) {
  .venue_title {
    font-size: 20px;
    padding-bottom: 15px;
    padding-left: 16px;
    margin-bottom: 25px;
  }
  .venue_con_wrap + .venue_con_wrap {
    margin-top: 140px;
  }
  .venue_content {
    padding: 0 16px;
  }
  .venue_content + .venue_content {
    margin-top: 60px;
  }
  .venue_content h3 {
    font-size: 20px;
    margin-bottom: 16px;
  }
  .venue_list {
    padding: 0 16px;
  }
  .venue_list + .venue_list {
    margin-top: 60px;
  }
  .venue_list h4 {
    font-size: 20px;
    min-width: 120px;
    min-height: 30px;
    margin-bottom: 15px;
  }
  .venue_list_fx {
    padding-left: 32px;
    display: flex;
    gap: 0 20px;
  }
  .venue_list_fx .text {
    flex: 1;
  }
  .venue_list_fx .text .l_text {
    font-size: 22px;
    line-height: 1.43;
    margin-bottom: 15px;
  }
  .venue_list_fx .text .s_text {
    font-size: 20px;
    line-height: 1.46;
  }
  .venue_list_fx .text .l_text span {
    font-size: .86em;
  }
  .venue_list_fx .map picture {
    width: 43px;
    margin-inline: auto;
    margin-bottom: 20px;
  }
  .venue_list_fx .map span {
    font-size: 18px;
  }
}