@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900&display=swap");
/* -- FOUNDATION -- */
/* reset CSS */
abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: 700;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

/* reset CSS ここまで */
html {
  font-size: 62.5%;
}

body {
  font: 1.6rem/1.5 sans-serif;
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  position: relative;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

a {
  text-decoration: none;
  color: #333;
  transition: 0.5s;
}

li {
  list-style: none;
}

main {
  display: block;
}

p {
  font-family: "Noto Sans JP", sans-serif;
}

/* -- LAYOUT -- */
@media (min-width:768px) and (max-width:1100px) {
  .btn-menu-open__in {
    width: 6.5em !important;
    height: 6.5em !important;
  }
}
@media (max-width:767px) {
  .btn-menu-open__in {
    width: 7.5em !important;
    height: 7.5em !important;
  }
}
.kv_wrap {
  position: relative;
  width: 100%;
  z-index: 0;
}
.kv_logo {
  position: absolute;
  width: 37.625vw;
  left: 31.15vw;
  top: 7.8vw;
}
@media (max-width:767px) {
  .kv_logo {
    width: 96.5333333333vw;
    left: 2.8vw;
    top: 19.0666666667vw;
  }
}
.kv_bg {
  position: relative;
  z-index: -1;
}
.kv_bg img {
  width: 100%;
  max-width: none;
  height: auto;
}
.kv_day {
  position: absolute;
  width: 36.775vw;
  left: 38.15vw;
  top: 1.75vw;
}
@media (max-width:767px) {
  .kv_day {
    width: 83.0666666667vw;
    left: 16.9333333333vw;
    top: 2.9333333333vw;
  }
}
.kv_person {
  position: absolute;
}
.kv_person.person-01 {
  width: 23.6vw;
  left: 7.3vw;
  bottom: 0.7vw;
}
@media (max-width:767px) {
  .kv_person.person-01 {
    width: 54.1333333333vw;
    left: 0;
    bottom: 1.7333333333vw;
  }
}
.kv_person.person-02 {
  width: 25.9vw;
  right: 3.4vw;
  bottom: 0.7vw;
}
@media (max-width:767px) {
  .kv_person.person-02 {
    width: 44.9333333333vw;
    right: 0;
    bottom: 1.7333333333vw;
  }
}

.main {
  overflow: hidden;
  position: relative;
}

.sponsor {
  background: #fff url(../../img/about_bg.png) repeat left top;
  padding: 50px 0 0;
}
@media (max-width:767px) {
  .sponsor {
    padding: 4.8vw 0 0;
  }
}
.sponsor_wrap {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.sponsor_bnr {
  width: 100%;
  max-width: 220px;
  margin: 0 10px 20px;
}
@media (max-width:767px) {
  .sponsor_bnr {
    max-width: 170px;
    margin: 0 5px 10px;
  }
}

.about {
  background: #fff url(../../img/about_bg.png) repeat left top;
  padding: 50px 0 0;
  position: relative;
}
@media (max-width:767px) {
  .about {
    padding: 4.8vw 0 0;
  }
}
.about .about_inner {
  position: relative;
  padding: 0 40px;
  z-index: 1;
}
@media (max-width:767px) {
  .about .about_inner {
    padding: 0;
  }
}
.about_goods {
  display: block;
  max-width: 1000px;
  margin-inline: auto;
  margin-bottom: 50px;
}
.about_goods .is-on {
  display: none;
}
@media (max-width:767px) {
  .about_goods {
    padding: 0 2.6666666667vw;
  }
}
.about_suzuri {
  display: block;
  max-width: 600px;
  margin-inline: auto;
  margin-bottom: 50px;
}
.about_suzuri .is-on {
  display: none;
}
@media (min-width:768px) {
  .about_suzuri:hover {
    transform: scale(1.01);
  }
  .about_suzuri:hover .is-on {
    display: block;
  }
  .about_suzuri:hover .is-off {
    display: none;
  }
}
@media (max-width:767px) {
  .about_suzuri {
    padding: 0 2.6666666667vw;
  }
}
.about_bnr {
  display: block;
  max-width: 1000px;
  margin-inline: auto;
}
.about_bnr p {
  text-align: center;
  margin-top: 10px;
  font-weight: bold;
  font-size: 2.4rem;
  color: #df2f1c;
}
@media (max-width:767px) {
  .about_bnr p {
    font-size: 1.6rem;
  }
}
.about_bnr .is-on {
  display: none;
}
@media (min-width:768px) {
  .about_bnr:hover .is-on {
    display: block;
  }
  .about_bnr:hover .is-off {
    display: none;
  }
}
@media (max-width:767px) {
  .about_bnr {
    padding: 0 2.6666666667vw;
  }
}
.about_ttl {
  position: relative;
  max-width: 968px;
  margin: 58px auto 0;
  background: transparent url(../../img/illust01.png) no-repeat center bottom/61.673553719% auto;
  padding-bottom: 60px;
}
.about_ttl::before {
  position: absolute;
  content: "";
  left: -430px;
  top: -55px;
  width: 495px;
  height: 458.5px;
  background: url(../../img/fireworks_l.png) no-repeat center center/contain;
  z-index: -1;
}
@media (max-width:767px) {
  .about_ttl::before {
    display: none;
  }
}
.about_ttl::after {
  position: absolute;
  content: "";
  right: -414px;
  top: -28px;
  width: 495px;
  height: 458.5px;
  background: url(../../img/fireworks_r.png) no-repeat center center/contain;
  z-index: -1;
}
@media (max-width:767px) {
  .about_ttl::after {
    display: none;
  }
}
@media (max-width:767px) {
  .about_ttl {
    width: 93vw;
    background: transparent url(../../img/illust01_sp.png) no-repeat center bottom/44.1577060932% auto;
    padding-bottom: 25.3333333333vw;
    margin: 7.2vw auto 0;
  }
}
.about_artists {
  position: relative;
  margin-inline: auto;
  max-width: 1145px;
  width: min(1145px, 95.4166666667vw);
  height: min(496px, 41.3333333333vw);
  margin-top: 6px;
}
.about_artists::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: min(152px, 12.6666666667vw);
  height: min(145.5px, 12.125vw);
  background: url(../../img/balloon.png) no-repeat center center/contain;
  z-index: 1;
}
@media (max-width:767px) {
  .about_artists {
    margin-top: 0;
    width: 100%;
    height: 117.4666666667vw;
    background: transparent url(../../img/about_fireworks_bg_sp.png) no-repeat top center/contain;
    padding-bottom: 11.3333333333vw;
  }
  .about_artists::before {
    left: 1.4666666667vw;
    top: 1.4666666667vw;
    width: 20.2vw;
    height: 20.7333333333vw;
    background: url(../../img/balloon_sp.png) no-repeat center center/contain;
    z-index: 1;
  }
}
.about_artist {
  position: absolute;
}
.about_artist.artist-01 {
  width: min(319px, 26.5833333333vw);
  top: min(84px, 7vw);
  left: min(99px, 8.25vw);
}
@media (max-width:767px) {
  .about_artist.artist-01 {
    width: 46.8666666667vw;
    top: 14.6666666667vw;
    left: 3.2vw;
  }
}
.about_artist.artist-02 {
  width: min(298.5px, 24.875vw);
  top: min(112px, 9.3333333333vw);
  left: min(440px, 36.6666666667vw);
}
@media (max-width:767px) {
  .about_artist.artist-02 {
    width: 45.6666666667vw;
    top: 15.8666666667vw;
    left: 51.8666666667vw;
  }
}
.about_artist.artist-03 {
  width: min(328.5px, 27.375vw);
  top: min(72px, 6vw);
  right: min(60px, 5vw);
}
@media (max-width:767px) {
  .about_artist.artist-03 {
    width: 48.8666666667vw;
    top: 64.2666666667vw;
    left: 25.6vw;
    right: auto;
  }
}
.about_hashtag {
  text-align: center;
  margin-top: 10px;
  padding-top: 30px;
  padding-bottom: 50px;
  background: transparent url(../../img/illust02.png) no-repeat center center/563.5px auto;
}
@media (max-width:767px) {
  .about_hashtag {
    background: transparent url(../../img/illust02_sp.png) no-repeat center center/84.5333333333vw auto;
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.about_hashtag strong {
  font-size: 2.818rem;
  line-height: 1.7033356991;
  color: #df2f1c;
  background: linear-gradient(transparent 70%, #ffee00 70%);
}
.about_hashtag strong a {
  color: #df2f1c;
  transition: 0.3s;
}
.about_hashtag strong a:hover {
  color: #034f95;
}
@media (max-width:767px) {
  .about_hashtag strong {
    font-size: 6.172vw;
    line-height: 2.2270597961;
    text-align: center;
  }
}
.about_txt {
  font-size: 1.8rem;
  font-weight: bold;
  color: #034f95;
  line-height: 1.8333333333;
  text-align: center;
  letter-spacing: -0.02em;
  margin-top: 50px;
}
.about_txt strong {
  font-size: 2.818rem;
  line-height: 1.7033356991;
  color: #df2f1c;
  background: linear-gradient(transparent 70%, #ffee00 70%);
}
.about_txt strong a {
  color: #df2f1c;
  transition: 0.3s;
}
.about_txt strong a:hover {
  color: #034f95;
}
@media (max-width:767px) {
  .about_txt strong {
    font-size: 4.8386666667vw;
    line-height: 1.7034995867;
    text-align: center;
  }
}
.about_txt span {
  display: block;
  margin: 20px 0 50px;
}
@media (max-width:767px) {
  .about_txt span {
    margin: 1.6vw 0 9.0666666667vw;
    text-align: center;
  }
}
@media (min-width:768px) and (max-width:1100px) {
  .about_txt {
    font-size: 1.8rem;
  }
}
@media (max-width:767px) {
  .about_txt {
    font-size: 4vw;
    font-weight: normal;
    line-height: 1.5333333333;
    text-align: left;
    padding: 0 2.4vw;
  }
  .about_txt div {
    display: block;
    text-align: center;
  }
}
.about_bg_ft {
  position: relative;
  margin-top: -8.1vw;
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 30%, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0) 100%);
  margin-bottom: -2px;
}
@media (max-width:767px) {
  .about_bg_ft {
    margin-top: 21.2vw;
  }
}
.about_bg_rocket {
  position: absolute;
  width: 30.65vw;
  top: 0;
  left: 13.4vw;
}
@media (max-width:767px) {
  .about_bg_rocket {
    width: 55.6vw;
    top: -16vw;
    left: 31.6vw;
  }
}

.summary {
  background-color: #fff;
  padding: 28px 0 88px;
  position: relative;
  overflow: hidden;
}
@media (min-width:768px) and (max-width:1100px) {
  .summary {
    padding-bottom: 76vw;
    background: #fff url(../../img/summary_fireworks_bg_sp.png) no-repeat bottom 2vw center/contain;
  }
}
@media (max-width:767px) {
  .summary {
    padding: 1.3333333333vw 0 76vw;
    background: #fff url(../../img/summary_fireworks_bg_sp.png) no-repeat bottom 2vw center/contain;
  }
}
.summary_inner {
  text-align: center;
  padding: 0 40px;
}
@media (max-width:767px) {
  .summary_inner {
    padding: 0 2.6666666667vw;
  }
}
.summary_ttl {
  position: relative;
  width: 283px;
  margin: 0 auto 0;
}
.summary_ttl::before {
  position: absolute;
  content: "";
  width: 2000px;
  height: 149.5px;
  top: -48px;
  left: 50%;
  transform: translateX(-50%);
  background: transparent url(../../img/flag.png) no-repeat center center/contain;
}
@media (max-width:767px) {
  .summary_ttl::before {
    background: transparent url(../../img/flag_sp.png) no-repeat center center/contain;
    top: -8.4vw;
    width: 100vw;
    height: 16.8666666667vw;
  }
}
@media (max-width:767px) {
  .summary_ttl {
    width: 34.2666666667vw;
    padding-left: 3.3333333333vw;
  }
}
.summary_table {
  box-sizing: border-box;
  position: relative;
  max-width: 870px;
  margin-inline: auto;
  margin-top: 60px;
  z-index: 1;
}
.summary_table img.map {
  width: 65px;
  height: auto;
}
@media (max-width:767px) {
  .summary_table {
    margin-top: 0;
    padding: 0 3.6vw;
  }
}
.summary_table::before {
  position: absolute;
  content: "";
  top: -33px;
  left: -30px;
  width: 207.5px;
  aspect-ratio: 207.5/64;
  background: transparent url(../../img/summary_table_m.png) no-repeat center center/contain;
}
@media (max-width:767px) {
  .summary_table::before {
    width: 38vw;
    top: -4.5333333333vw;
    left: -1.2vw;
  }
}
.summary_table_wrapper {
  background-color: #045dae;
  padding: 56px 35px 58px;
  border-radius: 15px;
}
@media (max-width:767px) {
  .summary_table_wrapper {
    padding: 10.9333333333vw 4vw 3.7333333333vw;
    border-radius: 2vw;
  }
}
.summary_table_wrapper::before {
  position: absolute;
  content: "";
  top: -30px;
  left: -362px;
  width: 375px;
  height: 375px;
  background: transparent url(../../img/fireworks02_l.png) no-repeat center center/contain;
  z-index: -1;
}
@media (min-width:768px) and (max-width:1100px) {
  .summary_table_wrapper::before {
    display: none;
  }
}
@media (max-width:767px) {
  .summary_table_wrapper::before {
    display: none;
  }
}
.summary_table_wrapper::after {
  position: absolute;
  content: "";
  top: 13px;
  right: -320px;
  width: 384px;
  height: 385px;
  background: transparent url(../../img/fireworks02_r.png) no-repeat center center/contain;
  z-index: -1;
}
@media (min-width:768px) and (max-width:1100px) {
  .summary_table_wrapper::after {
    display: none;
  }
}
@media (max-width:767px) {
  .summary_table_wrapper::after {
    display: none;
  }
}
.summary_table_row {
  display: flex;
  border-bottom: 1px dashed #fff;
  padding-bottom: 18px;
}
.summary_table_row:not(:first-child) {
  padding-top: 18px;
}
@media (max-width:767px) {
  .summary_table_row {
    display: block;
    padding-bottom: 3.6vw;
  }
  .summary_table_row:not(:first-child) {
    padding-top: 5.2vw;
  }
  .summary_table_row:last-child {
    border: none;
  }
  .summary_table_row:nth-child(1) .summary_table_head img {
    width: 14.2666666667vw;
  }
  .summary_table_row:nth-child(2) .summary_table_head img {
    width: 9.2vw;
  }
  .summary_table_row:nth-child(3) .summary_table_head img {
    width: 9.4666666667vw;
  }
  .summary_table_row:nth-child(4) .summary_table_head img {
    width: 9.3333333333vw;
  }
  .summary_table_row:nth-child(5) .summary_table_head img {
    width: 36.5333333333vw;
  }
  .summary_table_row:nth-child(6) .summary_table_head img {
    width: 9.2666666667vw;
  }
}
.summary_table_head {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 216px;
  padding-left: 22px;
  text-align: left;
}
@media (max-width:767px) {
  .summary_table_head {
    padding-left: 1.3333333333vw;
  }
}
.summary_table_body {
  font-size: 1.986rem;
  font-weight: bold;
  color: #fff;
  line-height: 40px;
  text-align: left;
}
.summary_table_body a {
  padding-left: 24px;
}
@media (min-width:768px) {
  .summary_table_body a {
    transition: 0.5s;
  }
  .summary_table_body a:hover {
    opacity: 0.6;
  }
}
@media (max-width:767px) {
  .summary_table_body {
    font-size: 4.64vw;
    line-height: 1.3793103448;
    padding: 2vw 1.7333333333vw 0 0;
  }
  .summary_table_body a {
    display: inline-block;
    width: 13.4666666667vw;
    padding-left: 2.6666666667vw;
  }
  .summary_table_body span {
    font-size: 3.7333333333vw;
  }
  .summary_table_body small {
    font-size: 3.2vw;
  }
}
.summary_ticket {
  box-sizing: border-box;
  position: relative;
  max-width: 870px;
  margin-inline: auto;
  margin-top: 130px;
  color: #fff;
  z-index: 1;
}
@media (max-width:767px) {
  .summary_ticket {
    margin-top: 11.3333333333vw;
    padding: 0 2.9333333333vw;
  }
}
.summary_ticket::before {
  position: absolute;
  content: "";
  top: -23px;
  right: 15px;
  width: 207.5px;
  aspect-ratio: 207.5/64;
  background: transparent url(../../img/summary_ticket_m.png) no-repeat center center/contain;
}
@media (max-width:767px) {
  .summary_ticket::before {
    width: 37.4666666667vw;
    top: -2.8vw;
    right: -0.9333333333vw;
  }
}
.summary_ticket_wrapper {
  background-color: #ef2f16;
  padding: 60px 30px 58px;
  border-radius: 15px;
}
@media (max-width:767px) {
  .summary_ticket_wrapper {
    padding: 7.3333333333vw 0 58px;
    border-radius: 2vw;
  }
}
.summary_ticket_wrapper::before {
  position: absolute;
  content: "";
  top: -78px;
  left: -513px;
  width: 575px;
  height: 557px;
  background: transparent url(../../img/fireworks03_l.png) no-repeat center center/contain;
  z-index: -1;
}
@media (min-width:768px) and (max-width:1100px) {
  .summary_ticket_wrapper::before {
    display: none;
  }
}
@media (max-width:767px) {
  .summary_ticket_wrapper::before {
    display: none;
  }
}
.summary_ticket_wrapper::after {
  position: absolute;
  content: "";
  top: 307px;
  right: -357px;
  width: 480px;
  height: 465px;
  background: transparent url(../../img/fireworks03_r.png) no-repeat center center/contain;
  z-index: -1;
}
@media (min-width:768px) and (max-width:1100px) {
  .summary_ticket_wrapper::after {
    display: none;
  }
}
@media (max-width:767px) {
  .summary_ticket_wrapper::after {
    display: none;
  }
}
.summary_ticket_ttl {
  position: relative;
  max-width: 730px;
  padding-right: 14px;
  margin-inline: auto;
}
@media (max-width:767px) {
  .summary_ticket_ttl {
    width: 76.8vw;
    padding-right: 0.2666666667vw;
  }
}
.summary_ticket_ttl::before {
  position: absolute;
  content: "";
  bottom: -58px;
  left: 50%;
  transform: translateX(-50%);
  width: 107%;
  aspect-ratio: 803/32.5;
  background: transparent url(../../img/summary_ticket_border.png) no-repeat center center/contain;
}
@media (max-width:767px) {
  .summary_ticket_ttl::before {
    bottom: -8.6666666667vw;
    width: 105%;
    aspect-ratio: 1228/65;
    background: transparent url(../../img/summary_ticket_border_sp.png) no-repeat center center/contain;
  }
}
.summary_ticket_lead {
  font-size: 1.849rem;
  line-height: 46.23px;
  letter-spacing: -0.03em;
  margin-top: 80px;
  padding-left: 12px;
}
.summary_ticket_lead span {
  display: block;
  font-size: 2.835rem;
  line-height: 63.25px;
  letter-spacing: -0.03em;
  font-weight: bold;
  margin-top: -8px;
}
.summary_ticket_lead strong {
  display: block;
  font-size: 3.884rem;
  font-weight: bold;
  letter-spacing: -0.03em;
  line-height: 58.25px;
  margin-top: -5px;
}
@media (max-width:767px) {
  .summary_ticket_lead {
    font-size: 3.7426666667vw;
    line-height: 1.2981831136;
    margin-top: 11.6vw;
    padding-left: 0;
  }
  .summary_ticket_lead span {
    font-size: 3.2vw;
    line-height: 1;
    margin-top: 6.4vw;
    padding-left: 0;
    padding-right: 1.3333333333vw;
  }
  .summary_ticket_lead span.tokuten {
    margin-top: 2.5333333333vw;
  }
  .summary_ticket_lead strong {
    font-size: 5.1786666667vw;
    line-height: 1;
    margin-top: 2.5333333333vw;
    padding-left: 4.8vw;
  }
}
.summary_ticket_btn {
  display: block;
  max-width: 604px;
  margin-inline: auto;
  margin-top: 47px;
}
@media (max-width:767px) {
  .summary_ticket_btn {
    width: 80.5333333333vw;
    margin-top: 7.2vw;
  }
}
.summary_ticket_btn .is-on {
  display: none;
}
@media (min-width:768px) {
  .summary_ticket_btn:hover {
    transform: scale(1.01);
  }
  .summary_ticket_btn:hover .is-on {
    display: block;
  }
  .summary_ticket_btn:hover .is-off {
    display: none;
  }
}
.summary_ticket_btn_end {
  display: block;
  max-width: 604px;
  margin-inline: auto;
  margin-top: 47px;
  filter: grayscale(100%);
}
@media (max-width:767px) {
  .summary_ticket_btn_end {
    width: 80.5333333333vw;
    margin-top: 7.2vw;
  }
}
.summary_ticket_btn_end .is-on {
  display: none;
}
.summary_ticket_attention {
  font-size: 1.6rem;
  font-weight: 900;
  margin-top: 6px;
  padding-right: 48px;
}
@media (max-width:767px) {
  .summary_ticket_attention {
    font-size: 2.7786666667vw;
    margin-top: 1.3333333333vw;
    padding-right: 0;
  }
}
.summary_ticket_end {
  font-size: 1.8rem;
  font-weight: normal;
  margin-top: 16px;
}
@media (max-width:767px) {
  .summary_ticket_end {
    font-size: 3.312vw;
    margin-top: 2.6666666667vw;
    padding-right: 0;
  }
}
.summary_ticket_note {
  font-size: 1.6rem;
  line-height: 26px;
  margin-top: 37px;
}
.summary_ticket_note a {
  color: #fff;
}
@media (max-width:767px) {
  .summary_ticket_note {
    font-size: 2.4053333333vw;
    line-height: 1.3858093126;
    margin-top: 5.4666666667vw;
  }
}
.summary_bg_person {
  position: absolute;
}
.summary_bg_person.person-01 {
  width: 302px;
  left: calc(50% - 533px);
  bottom: 0;
  transform: translateX(-50%);
  z-index: 1;
}
@media (min-width:768px) and (max-width:1100px) {
  .summary_bg_person.person-01 {
    width: 48.8vw;
    left: calc(50% - 20.5333333333vw);
  }
}
@media (max-width:767px) {
  .summary_bg_person.person-01 {
    width: 48.8vw;
    left: calc(50% - 20.5333333333vw);
  }
}
.summary_bg_person.person-02 {
  width: 233.5px;
  left: calc(50% + 576px);
  transform: translateX(-50%);
  bottom: 415px;
  z-index: 2;
}
@media (min-width:768px) and (max-width:1100px) {
  .summary_bg_person.person-02 {
    width: 40.4666666667vw;
    left: calc(50% + 24.2666666667vw);
    bottom: -30vw;
  }
}
@media (max-width:767px) {
  .summary_bg_person.person-02 {
    width: 40.4666666667vw;
    left: calc(50% + 24.2666666667vw);
    bottom: -30vw;
  }
}

.artist {
  background: #fff url(../../img/about_bg.png) top center repeat;
  padding: 110px 0 0;
  position: relative;
}
@media (max-width:767px) {
  .artist {
    padding: 13.8666666667vw 0 0;
  }
}
.artist_inner {
  padding: 0 40px;
}
@media (max-width:767px) {
  .artist_inner {
    padding: 0 5.3333333333vw;
  }
}
.artist_ttl {
  position: relative;
  max-width: 361px;
  margin-inline: auto;
  z-index: 2;
}
@media (max-width:767px) {
  .artist_ttl {
    max-width: 48.2666666667vw;
  }
}
.artist_contents {
  position: relative;
  box-sizing: border-box;
  max-width: 950px;
  margin-inline: auto;
  margin-top: 77px;
  z-index: 1;
}
@media (max-width:767px) {
  .artist_contents {
    margin-top: 11.4666666667vw;
    padding-bottom: 22.9333333333vw;
  }
}
.artist_contents::before {
  position: absolute;
  content: "";
  top: -213px;
  left: -420px;
  width: 575px;
  height: 557px;
  background: transparent url(../../img/fireworks03_l.png) no-repeat center center/contain;
  z-index: -1;
}
@media (max-width:767px) {
  .artist_contents::before {
    top: -27.8666666667vw;
    background: transparent url(../../img/artist_fireworks_bg_sp.png) no-repeat center center/contain;
    width: calc(100% + 10.6666666667vw);
    height: auto;
    aspect-ratio: 1500/1030;
    left: 50%;
    transform: translateX(-50%);
  }
}
.artist_contents::after {
  position: absolute;
  content: "";
  top: -204px;
  right: -342px;
  width: 605px;
  height: 586px;
  background: transparent url(../../img/fireworks04_r.png) no-repeat center center/contain;
  z-index: -1;
}
@media (max-width:767px) {
  .artist_contents::after {
    display: none;
  }
}
.artist_content {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background-color: #fff;
  border-radius: 18px;
  padding: 47px 40px 77px;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
.artist_content:not(:first-child) {
  margin-top: 54px;
}
.artist_content:nth-of-type(1)::before {
  position: absolute;
  content: "";
  left: -10px;
  bottom: 100px;
  transform: translateX(-100%);
  width: 130px;
  height: 123px;
  background: transparent url(../../img/illust03.png) no-repeat center center/130px auto;
}
.artist_content:nth-of-type(2)::before {
  position: absolute;
  content: "";
  right: -10px;
  bottom: 100px;
  transform: translateX(100%);
  width: 124px;
  height: 122px;
  background: transparent url(../../img/illust04.png) no-repeat center center/124px auto;
}
.artist_content:nth-of-type(3)::before {
  position: absolute;
  content: "";
  left: -10px;
  bottom: -20px;
  transform: translate(-100%, 100%);
  width: 224px;
  height: 125px;
  background: transparent url(../../img/illust05.png) no-repeat center center/224px auto;
}
@media (max-width:767px) {
  .artist_content {
    padding: 7.4666666667vw 5.8666666667vw 13.3333333333vw;
    justify-content: center;
  }
  .artist_content:not(:first-child) {
    margin-top: 22.9333333333vw;
  }
  .artist_content:nth-of-type(1)::before {
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 110%);
    width: 36.4vw;
    height: 19.4666666667vw;
    background: transparent url(../../img/illust03_sp.png) no-repeat center center/36.4vw auto;
  }
  .artist_content:nth-of-type(2)::before {
    right: auto;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 110%);
    width: 36.2666666667vw;
    height: 19.3333333333vw;
    background: transparent url(../../img/illust04_sp.png) no-repeat center center/36.2666666667vw auto;
  }
  .artist_content:nth-of-type(3)::before {
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 110%);
    width: 29.8666666667vw;
    height: 16.6666666667vw;
    background: transparent url(../../img/illust05.png) no-repeat center center/29.8666666667vw auto;
  }
}
.artist_img {
  width: 50%;
}
@media (max-width:767px) {
  .artist_img {
    width: 100%;
  }
}
.artist_name {
  width: 40%;
  padding-bottom: 13px;
}
@media (max-width:767px) {
  .artist_name {
    width: 82%;
    padding-bottom: 6.5333333333vw;
  }
}
.artist_txt {
  font-size: 1.6rem;
  line-height: 33px;
  margin-top: 53px;
  padding: 0 8px;
  transition: 0.5s;
}
.artist_txt strong {
  display: block;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 40px;
  color: #0d6abf;
  margin-bottom: 15px;
}
.artist_txt span {
  cursor: pointer;
  font-weight: 900;
  text-decoration: underline;
}
@media (max-width:767px) {
  .artist_txt {
    font-size: 3.444vw;
    line-height: 1.8583042973;
    margin-top: 5.3333333333vw;
    padding: 0 8px;
  }
  .artist_txt strong {
    font-size: 4.8413333333vw;
    line-height: 1.5202423575;
    text-align: center;
    margin-bottom: 4vw;
    white-space: nowrap;
  }
}

.bg_ft {
  position: relative;
  margin-top: 154px;
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
  margin-bottom: -2px;
}
@media (max-width:767px) {
  .bg_ft {
    margin-top: 28vw;
  }
}

.bg_rocket {
  position: absolute;
  width: 11.525vw;
  top: -6.5vw;
  right: 14.35vw;
}
@media (max-width:767px) {
  .bg_rocket {
    width: 26vw;
    top: -20vw;
    right: 0;
  }
}

.footer_bg {
  background: #00a7e9;
}
.footer_bg p {
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff;
  padding: 20px 0;
}
@media (max-width:767px) {
  .footer_bg p {
    padding: 4.6666666667vw 0;
  }
}

@keyframes bgchange {
  0% {
    background-color: #0b063b;
  }
  10% {
    background-color: #4f4890;
  }
  25% {
    background-color: #47b5ee;
  }
  40% {
    background-color: #47b5ee;
  }
  65% {
    background-color: #ff7c49;
  }
  80% {
    background-color: #ff7c49;
  }
  100% {
    background-color: #0b063b;
  }
}
.page-top {
  display: none;
  position: fixed;
  bottom: 40px;
  right: min(90px, 4.5vw);
  cursor: pointer;
  z-index: 20;
  transition: 0.5s;
}
.page-top img {
  width: min(68px, 7.4vw);
  height: auto;
}
@media (max-width:767px) {
  .page-top img {
    width: 13.0666666667vw;
  }
}
@media (min-width:768px) {
  .page-top:hover {
    opacity: 0.6;
  }
}
@media (max-width:767px) {
  .page-top {
    position: absolute;
    bottom: 30.6666666667vw;
    right: 50%;
    transform: translateX(50%);
  }
}

@media (min-width:768px) and (max-width:1100px) {
  .footer_listen.sp {
    display: block !important;
  }
}

/* -- UTILITY -- */
/* 共通フッター用 もしくはブレイクポイントごとの表示指定 */
.pcDetail {
  display: block;
}

.spDetail {
  display: none;
}

.pc {
  display: block;
}

.tb {
  display: none;
}

.sp {
  display: none;
}

@media (max-width:980px) {
  .spDetail {
    display: block;
  }
  .pcDetail {
    display: none;
  }
}
@media (min-width:768px) and (max-width:1100px) {
  .pcDetail {
    display: none;
  }
  .pc {
    display: block;
  }
  .tb {
    display: block;
  }
  .sp {
    display: none;
  }
}
@media (max-width:767px) {
  .pcDetail {
    display: none;
  }
  .spDetail {
    display: block;
  }
  .pc {
    display: none;
  }
  .tb {
    display: none;
  }
  .sp {
    display: block !important;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.wow {
  visibility: hidden;
}

.timetable {
  padding: 0 0 50px;
}
@media (max-width:767px) {
  .timetable {
    padding: 4.8vw 0 50px;
  }
}
.timetable_ttl {
  position: relative;
  max-width: 336px;
  margin: 58px auto 0;
  padding-bottom: 60px;
}
@media (max-width:767px) {
  .timetable_ttl {
    width: 41.5vw;
    padding-bottom: 30px;
    margin: 0px auto 0;
  }
}
.timetable_wrap {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 50px;
  background: #ef2f16;
  padding: 20px 40px;
  border-radius: 20px;
}
.timetable_wrap_ttl {
  text-align: center;
  padding-bottom: 20px;
}
@media (max-width:767px) {
  .timetable_wrap {
    width: 86%;
    margin: 0 auto 25px;
    padding: 10px 20px;
  }
}
.timetable_content {
  width: 100%;
  margin: 0 auto 50px;
}
@media (max-width:767px) {
  .timetable_content {
    margin: 0 auto 10px;
  }
}
.timetable_content h2 {
  color: #045dae;
  font-size: 3.6rem;
  font-weight: 900;
  margin-bottom: 15px;
}
@media (max-width:767px) {
  .timetable_content h2 {
    font-size: 2rem;
  }
}
.timetable_content h3 {
  color: #333;
  font-size: 2.2rem;
  font-weight: 900;
  margin-bottom: 15px;
}
@media (max-width:767px) {
  .timetable_content h3 {
    font-size: 1.4rem;
  }
}
.timetable_content p {
  color: #333;
  font-size: 1.6rem;
  margin-bottom: 15px;
}
@media (max-width:767px) {
  .timetable_content p {
    font-size: 1.2rem;
  }
}
.timetable_content_line {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.timetable_content_lt {
  width: 20%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5%;
  border-radius: 20px 0 0 0;
  background: #045dae;
}
@media (max-width:767px) {
  .timetable_content_lt {
    width: 10%;
  }
}
.timetable_content_rt {
  width: 60%;
  padding: 2.5% 5%;
  background: #FFF;
  border-radius: 0 20px 0 0;
}
@media (max-width:767px) {
  .timetable_content_rt {
    width: 70%;
  }
}
.timetable_content_lb {
  width: 20%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5%;
  border-radius: 0 0 0 20px;
  background: #045dae;
  border-top: #FFF 3px solid;
}
@media (max-width:767px) {
  .timetable_content_lb {
    width: 10%;
  }
}
.timetable_content_rb {
  width: 60%;
  padding: 2.5% 5%;
  background: #FFF;
  border-radius: 0 0 20px 0;
  border-top: #045dae 3px solid;
}
@media (max-width:767px) {
  .timetable_content_rb {
    width: 70%;
  }
}
.timetable_content_left {
  width: 20%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5%;
  border-top: #FFF 3px solid;
  background: #045dae;
}
@media (max-width:767px) {
  .timetable_content_left {
    width: 10%;
  }
}
.timetable_content_right {
  width: 60%;
  padding: 2.5% 5%;
  background: #FFF;
  border-top: #045dae 3px solid;
}
@media (max-width:767px) {
  .timetable_content_right {
    width: 70%;
  }
}/*# sourceMappingURL=style.css.map */