@charset "UTF-8";
.page_header.summer_festival_2025 .header_bg {
  background: url("../img/summer_festival_2025/header_fes.webp") no-repeat top center/cover;
}
.page_header.summer_festival_2025 .header_bg .txt_pagettl_jp {
  width: 100%;
  max-width: 630px;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 1;
}
.page_header.summer_festival_2025 h1 {
  font-size: 2.2rem;
  font-weight: bold;
}
@media only screen and (max-width: 640px) {
  .page_header.summer_festival_2025 {
    margin-bottom: 50px;
  }
  .page_header.summer_festival_2025 h1 {
    font-size: 1.8rem;
  }
}

#wrapperContent #content.summer_fes_2025 main article section {
  margin-bottom: 100px;
}
#wrapperContent #content.summer_fes_2025 main article section .note {
  font-size: 1.4rem;
}
#wrapperContent #content.summer_fes_2025 main article section .ttl_app {
  margin-bottom: 10px;
  text-align: center;
  color: #E86F4C;
  font-size: 2rem;
  font-weight: bold;
}
#wrapperContent #content.summer_fes_2025 main article section .ttl_app span {
  position: relative;
}
#wrapperContent #content.summer_fes_2025 main article section .ttl_app span::before, #wrapperContent #content.summer_fes_2025 main article section .ttl_app span::after {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background: url(../img/summer_festival_2025/flower.svg) no-repeat center/100%;
  position: absolute;
  top: 50%;
  transform: translateY(calc(-50% + 2px));
}
#wrapperContent #content.summer_fes_2025 main article section .ttl_app span::before {
  left: -35px;
}
#wrapperContent #content.summer_fes_2025 main article section .ttl_app span::after {
  right: -30px;
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.summer_fes_2025 main article section .ttl_app {
    font-size: 1.8rem;
  }
  #wrapperContent #content.summer_fes_2025 main article section .ttl_app span::before, #wrapperContent #content.summer_fes_2025 main article section .ttl_app span::after {
    width: 20px;
    height: 20px;
  }
  #wrapperContent #content.summer_fes_2025 main article section .ttl_app span::before {
    left: -30px;
  }
  #wrapperContent #content.summer_fes_2025 main article section .ttl_app span::after {
    right: -24px;
  }
}
#wrapperContent #content.summer_fes_2025 main article section .btn02.fes {
  width: 320px;
  padding: 29px 0;
  margin: 0 auto;
  background-color: #E86F4C;
  border-color: #E86F4C;
  border-radius: 40px;
  color: #fff;
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0;
  text-indent: 0;
}
#wrapperContent #content.summer_fes_2025 main article section .btn02.fes::after {
  content: "\f08e";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  width: auto;
  height: auto;
  background-color: transparent;
  border-radius: 0;
}
#wrapperContent #content.summer_fes_2025 main article section .btn02.fes:hover {
  background-color: #fff;
  color: #E86F4C;
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.summer_fes_2025 main article section .btn02.fes {
    width: 100%;
    max-width: 90%;
    font-size: 1.8rem;
  }
}
#wrapperContent #content.summer_fes_2025 main article section h2.grad {
  background: #2EB5DA;
  background: linear-gradient(-13deg, rgb(46, 181, 218) 0%, rgb(10, 139, 129) 60%, rgb(0, 61, 129) 80%, rgb(0, 4, 26) 100%);
}
#wrapperContent #content.summer_fes_2025 main article section h3.flower {
  position: relative;
  padding-left: 30px;
  font-size: 2rem;
  font-weight: bold;
  color: #003D81;
}
#wrapperContent #content.summer_fes_2025 main article section h3.flower::before {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background: url(../img/summer_festival_2025/flower.svg) no-repeat center/100%;
  position: absolute;
  top: 0;
  left: 0;
}
#wrapperContent #content.summer_fes_2025 main article section.sec01 .lead_box {
  margin-bottom: 50px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec01 .lead_box .lead_page {
  font-size: 2.8rem;
  font-weight: 500;
}
#wrapperContent #content.summer_fes_2025 main article section.sec01 .flexArea {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 40px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec01 .flexArea .bxL {
  flex-basis: 192px;
  aspect-ratio: 1/1;
  background: url(../img/summer_festival_2025/circle.svg) no-repeat center/100%;
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}
#wrapperContent #content.summer_fes_2025 main article section.sec01 .flexArea .bxL p {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  transform: translateY(-5%);
}
#wrapperContent #content.summer_fes_2025 main article section.sec01 .flexArea .bxL p span {
  color: #FFFB9D;
}
#wrapperContent #content.summer_fes_2025 main article section.sec01 .flexArea .bxR {
  flex-basis: auto;
  margin-left: 30px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec01 .flexArea .bxR dl div {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec01 .flexArea .bxR dl dt {
  flex-basis: 120px;
  padding: 6px 0 8px;
  background: #003D81;
  background: linear-gradient(-12deg, rgb(0, 61, 129) 0%, rgb(10, 139, 129) 100%);
  border-radius: 20px;
  text-align: center;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 1em;
  text-indent: 1em;
  line-height: 1;
}
#wrapperContent #content.summer_fes_2025 main article section.sec01 .flexArea .bxR dl dd {
  flex: 1;
  margin-left: 20px;
  color: #003D81;
  font-size: 1.8rem;
  font-weight: bold;
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.summer_fes_2025 main article section.sec01 .lead_box {
    margin-bottom: 40px;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec01 .lead_box .lead_page {
    font-size: 2.2rem;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec01 .flexArea .bxL {
    flex-basis: 170px;
    margin-bottom: 30px;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec01 .flexArea .bxL p {
    font-size: 2rem;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec01 .flexArea .bxR {
    flex-basis: 100%;
    margin-left: 0;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec01 .flexArea .bxR dl div dt {
    margin: 0 auto 8px;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec01 .flexArea .bxR dl div dd {
    flex-basis: 100%;
    text-align: center;
  }
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea {
  width: calc(100% - 40px);
  margin: 0 auto;
  align-items: flex-start;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxL {
  flex-basis: 40%;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxL figure {
  margin-bottom: 20px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxL .btn02 {
  width: 200px;
  padding: 16px 0;
  margin: 0 auto;
  background-color: #E86F4C;
  border-color: #E86F4C;
  color: #fff;
  letter-spacing: 0;
  text-indent: 0;
  font-size: 1.8rem;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxL .btn02::after {
  background-color: #fff;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxL .btn02:hover {
  background-color: #fff;
  color: #E86F4C;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxL .btn02:hover::after {
  background-color: #E86F4C;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR {
  position: relative;
  flex-basis: 60%;
  padding-top: 20px;
  padding-left: 40px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR h3 {
  margin-bottom: 20px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .show {
  width: 190px;
  height: 190px;
  position: absolute;
  top: -4%;
  right: 4%;
  background: url(../img/summer_festival_2025/bg_waku.svg) no-repeat center/100%;
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .show p {
  flex-basis: 100%;
  font-size: 1.8rem;
  text-align: center;
  color: #003D81;
  font-weight: bold;
  line-height: 1.4;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR dl.time_schedule {
  align-items: flex-start;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 20px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR dl.time_schedule dt {
  flex-basis: 80px;
  font-weight: bold;
  color: #003D81;
  font-family: "Roboto", sans-serif;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR dl.time_schedule dd {
  flex-basis: calc(100% - 80px);
  font-weight: 500;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .stage_event {
  max-width: 370px;
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 20px;
  margin-bottom: 20px;
  background-color: #FDF0E0;
  border-radius: 100px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .stage_event .bx_img {
  flex-basis: 74px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .stage_event .bx_img img {
  width: 100%;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .stage_event .bx_txt {
  flex-basis: calc(100% - 74px);
  padding-left: 16px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .stage_event .bx_txt p {
  font-weight: bold;
  color: #003D81;
  line-height: 1.6;
}
#wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .lead_note {
  font-size: 1.5rem;
  color: #D11017;
  font-weight: 500;
  line-height: 1.6;
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea {
    width: 100%;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR {
    margin-bottom: 40px;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .show {
    width: 160px;
    height: 160px;
    top: 2%;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .show p {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxL {
    order: 2;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR {
    order: 1;
    flex-basis: 100%;
    padding: 0;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .show {
    width: 140px;
    height: 140px;
    top: 1%;
    right: 0;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .show p {
    font-size: 1.3rem;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR dl.time_schedule dt {
    flex-basis: 60px;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR dl.time_schedule dd {
    flex-basis: calc(100% - 60px);
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .stage_event {
    max-width: 100%;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .stage_event .bx_img {
    flex-basis: 60px;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .stage_event .bx_txt {
    flex-basis: calc(100% - 60px);
    padding-left: 13px;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec02 .flexArea .bxR .stage_event .bx_txt p {
    font-size: 1.3rem;
  }
}
#wrapperContent #content.summer_fes_2025 main article section.sec03 .bus_route_wrap {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 30px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec03 .bus_route {
  flex-basis: 100%;
  max-width: 630px;
  padding: 20px 0;
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  background-color: #FDF0E0;
  border-radius: 100px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec03 .bus_route .item {
  flex-basis: auto;
}
#wrapperContent #content.summer_fes_2025 main article section.sec03 .bus_route .item p {
  color: #003D81;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.4;
}
#wrapperContent #content.summer_fes_2025 main article section.sec03 .bus_route .item p span {
  font-size: 0.9em;
}
#wrapperContent #content.summer_fes_2025 main article section.sec03 .bus_route .arw {
  margin: 0 10px 0 5px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec03 .bus_route .arw i {
  color: #003D81;
  transform: rotate(90deg);
}
#wrapperContent #content.summer_fes_2025 main article section.sec03 .timetable_wrap {
  align-items: flex-start;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
#wrapperContent #content.summer_fes_2025 main article section.sec03 .timetable_wrap h3 {
  margin-bottom: 10px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec03 .timetable_wrap h3.h3_1 {
  order: 1;
  flex-basis: 65%;
}
#wrapperContent #content.summer_fes_2025 main article section.sec03 .timetable_wrap h3.h3_2 {
  order: 2;
  flex-basis: 31%;
}
#wrapperContent #content.summer_fes_2025 main article section.sec03 .timetable_wrap .item {
  order: 3;
  flex-basis: 31%;
}
#wrapperContent #content.summer_fes_2025 main article section.sec03 .timetable_wrap .item p.ttl {
  margin-bottom: 5px;
  font-size: 1.8rem;
  font-weight: 500;
  color: #003D81;
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.summer_fes_2025 main article section.sec03 .bus_route {
    max-width: 80%;
    padding: 20px 0;
    border-radius: 40px;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec03 .bus_route .item {
    flex-basis: 100%;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec03 .bus_route .item p {
    font-size: 1.6rem;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec03 .bus_route .arw {
    margin: 5px auto;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec03 .bus_route .arw i {
    transform: rotate(0);
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec03 .timetable_wrap {
    display: block;
    max-width: 90%;
    margin: 0 auto;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec03 .timetable_wrap .item img {
    width: 100%;
  }
}
#wrapperContent #content.summer_fes_2025 main article section.sec04 .lead {
  margin-bottom: 50px;
  font-size: 2rem;
  text-align: center;
}
#wrapperContent #content.summer_fes_2025 main article section.sec04 .lead span {
  font-weight: bold;
  color: #003D81;
}
#wrapperContent #content.summer_fes_2025 main article section.sec04 h3 {
  margin-bottom: 20px;
  text-align: center;
  font-weight: 500;
  font-size: 2rem;
  color: #003D81;
}
#wrapperContent #content.summer_fes_2025 main article section.sec04 .txt_note {
  max-width: 780px;
  margin: 0 auto 40px;
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.summer_fes_2025 main article section.sec04 .lead, #wrapperContent #content.summer_fes_2025 main article section.sec04 h3 {
    font-size: 1.8rem;
  }
}
#wrapperContent #content.summer_fes_2025 main article section.sec05 .faq_icon {
  width: 52px;
  height: 52px;
  padding-top: 0.12em;
  border-radius: 50%;
  font-size: 4rem;
  font-family: "Roboto Condensed", sans-serif;
  color: #fff;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
#wrapperContent #content.summer_fes_2025 main article section.sec05 .faq_icon::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 6px 0 6px;
  position: absolute;
  bottom: -12px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
#wrapperContent #content.summer_fes_2025 main article section.sec05 .detailsToggle {
  margin-top: 30px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec05 .detailsToggle summary {
  padding: 18px 20px 22px 92px;
  font-size: 2rem;
}
#wrapperContent #content.summer_fes_2025 main article section.sec05 .detailsToggle summary .que {
  background-color: #003D81;
  position: absolute;
  top: -10px;
  left: 20px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec05 .detailsToggle summary .que::after {
  border-color: #003D81 transparent transparent transparent;
}
#wrapperContent #content.summer_fes_2025 main article section.sec05 .detailsToggle summary::before {
  content: none;
}
#wrapperContent #content.summer_fes_2025 main article section.sec05 .detailsToggle .inner {
  align-items: flex-start;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 20px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec05 .detailsToggle .inner .ans {
  position: relative;
  background-color: #2EB5DA;
}
#wrapperContent #content.summer_fes_2025 main article section.sec05 .detailsToggle .inner .ans::after {
  border-color: #2EB5DA transparent transparent transparent;
}
#wrapperContent #content.summer_fes_2025 main article section.sec05 .detailsToggle .inner .txtArea {
  flex-basis: calc(100% - 52px);
  margin-top: 10px;
  padding-left: 20px;
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.summer_fes_2025 main article section.sec05 .faq_icon {
    width: 40px;
    height: 40px;
    font-size: 2.8rem;
    padding-top: 0.2em;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec05 .faq_icon::after {
    bottom: -8px;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec05 .detailsToggle {
    margin-top: 20px;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec05 .detailsToggle summary {
    padding: 12px 30px 14px 60px;
    font-size: 1.6rem;
    line-height: 1.2;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec05 .detailsToggle summary .que {
    top: -5px;
    left: 10px;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec05 .detailsToggle summary::after {
    right: 10px;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec05 .detailsToggle .inner {
    padding: 10px;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec05 .detailsToggle .inner .txtArea {
    flex-basis: calc(100% - 40px);
    margin-top: 5px;
    padding-left: 10px;
  }
}
#wrapperContent #content.summer_fes_2025 main article section.sec07 .flexArea {
  align-items: stretch;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
#wrapperContent #content.summer_fes_2025 main article section.sec07 .flexArea .bx {
  flex-basis: calc(50% - 10px);
  padding: 20px;
  text-align: center;
  background-color: #F7F7F7;
  border-radius: 15px;
}
#wrapperContent #content.summer_fes_2025 main article section.sec07 .flexArea .bx h3 {
  color: #003D81;
  font-size: 2rem;
  line-height: 1.4;
}
#wrapperContent #content.summer_fes_2025 main article section.sec07 .flexArea .bx .txt {
  margin: 20px 0;
  font-size: 1.8rem;
  font-weight: 500;
}
#wrapperContent #content.summer_fes_2025 main article section.sec07 .flexArea .bx .address {
  font-size: 1.5rem;
  line-height: 1.6;
}
#wrapperContent #content.summer_fes_2025 main article section.sec07 .flexArea .bx .address.tel {
  font-family: "Roboto", sans-serif;
}
#wrapperContent #content.summer_fes_2025 main article section.sec07 .flexArea .bx .address.tel::before {
  content: "TEL：";
}
#wrapperContent #content.summer_fes_2025 main article section.sec07 .flexArea .bx .address.mail {
  font-family: "Roboto", sans-serif;
}
#wrapperContent #content.summer_fes_2025 main article section.sec07 .flexArea .bx .address.mail::before {
  content: "mail：";
}
@media only screen and (max-width: 768px) {
  #wrapperContent #content.summer_fes_2025 main article section.sec07 .flexArea .bx {
    padding: 20px 0;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec07 .flexArea .bx .txt {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 640px) {
  #wrapperContent #content.summer_fes_2025 main article section.sec07 .flexArea {
    gap: 20px 0;
  }
  #wrapperContent #content.summer_fes_2025 main article section.sec07 .flexArea .bx {
    flex-basis: 100%;
  }
}/*# sourceMappingURL=layout_summer_fes_2025.css.map */