<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">:root {
  --color-timetable: #ff7eb9;
  --color-ticket: #ffc442;
}

/*
.overpass-&lt;uniquifier&gt; {
  font-family: "Overpass", serif;
  font-optical-sizing: auto;
  font-weight: &lt;weight&gt;;
  font-style: normal;
}

.noto-sans-jp-&lt;uniquifier&gt; {
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: &lt;weight&gt;;
  font-style: normal;
}

.roboto-regular {
  font-family: "Roboto", serif;
  font-weight: 400;
  font-style: normal;
}

.roboto-medium {
  font-family: "Roboto", serif;
  font-weight: 500;
  font-style: normal;
} */

summary {
  display: block;
}

/* Chrome縲ヾafari */
summary::-webkit-details-marker {
  display: none;
}


.aligncenter {
  display: block;
  margin: 0 auto
}

.alignright {
  float: right
}

.alignleft {
  float: left
}

.alignright,
.alignleft {
  margin: 8px
}

img[class*=wp-image-],
img[class*=attachment-] {
  max-width: 100%;
  height: auto
}

.clearfix {
  zoom: 1;
  overflow: hidden
}

.clearfix:after {
  display: block;
  clear: both;
  content: ""
}

*,
*::before,
*::after {
  box-sizing: border-box
}

ul[class],
ol[class] {
  padding: 0
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0
}

html {
  scroll-behavior: smooth
}

body {
  text-rendering: optimizeSpeed;
  min-height: 100vh;
  line-height: 1.5;
  scroll-behavior: smooth;
  /* font-kerning: auto;
  font-feature-settings: "palt"; */
  display: flex;
  flex-direction: column;
}

ul[class],
ol[class] {
  list-style: none
}

a {
  color: #333;
  text-decoration: none;
  word-break: break-all;
  transition: all .3s ease
}



a:hover {
  color: #e95076
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;

  &amp;[target="_blank"] {
    display: inline-flex;
    align-items: center;
    padding-right: 0.5rem;

    &amp;::after {
      font: var(--fa-font-solid);
      content: '\f08e';
      font-size: 0.625rem;
      width: 24px;
      height: 24px;
      margin-left: 0.5rem;
      background-color: #eee;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      color: #9e9e9e;
      transition: all .3s ease;
    }

    &amp;:hover {
      &amp;::after {
        color: #fff;
        background-color: #e95076
      }

    }
  }
}

img {
  display: block;
  max-width: 100%;
  max-height: 100%;
}

article&gt;*+* {
  margin-top: 1em
}

input,
button,
textarea,
select {
  font: inherit
}

@media(prefers-reduced-motion: reduce) {
  * {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important
  }
}

@media screen and (min-width: 768px) {
  .sp-cont {
    display: none !important
  }
}

@media screen and (max-width: 767px) {
  .pc-cont {
    display: none !important
  }
}

.fc-gray {
  color: #707070
}

.fc-gray02 {
  color: #b6b8bf
}

.fc-primary {
  color: #e95076
}

.fc-second {
  color: #7d142a
}

.fc-blue {
  color: #4b5aa5
}

.fc-white {
  color: #fff
}

.fwm {
  font-weight: 500
}

.fwb {
  font-weight: 700
}

.fz10 {
  font-size: .625rem
}

.fz11 {
  font-size: .6875rem
}

.fz12 {
  font-size: .75rem
}

.fz13 {
  font-size: 0.8125rem;
}

.fz14 {
  font-size: .875rem
}

.fz15 {
  font-size: .9375rem
}

.fz16 {
  font-size: 1rem
}

.fz17 {
  font-size: 1.0625rem
}

@media screen and (max-width: 540px) {
  .fz16 {
    font-size: .875rem
  }
}

.fz18 {
  font-size: 1.125rem
}

.fz20 {
  font-size: 1.25rem
}

@media screen and (max-width: 540px) {
  .fz20 {
    font-size: 1rem
  }
}

.fz22 {
  font-size: 1.375rem
}

@media screen and (max-width: 540px) {
  .fz22 {
    font-size: 1.125rem
  }
}

.fz24 {
  font-size: 1.5rem
}

@media screen and (max-width: 540px) {
  .fz24 {
    font-size: 1.25rem
  }
}

.fz26 {
  font-size: 1.625rem
}

@media screen and (max-width: 540px) {
  .fz26 {
    font-size: 1.125rem
  }
}

.fz28 {
  font-size: 1.75rem
}

@media screen and (max-width: 540px) {
  .fz28 {
    font-size: 1.125rem
  }
}

.fz30 {
  font-size: 1.875rem
}

@media screen and (max-width: 540px) {
  .fz30 {
    font-size: 1.125rem
  }
}

.fz32 {
  font-size: 2rem
}

@media screen and (max-width: 540px) {
  .fz32 {
    font-size: 1.125rem
  }
}

.fz34 {
  font-size: 2.125rem
}

@media screen and (max-width: 540px) {
  .fz34 {
    font-size: 1.125rem
  }
}

.fz36 {
  font-size: 2.25rem
}

@media screen and (max-width: 540px) {
  .fz36 {
    font-size: 1.375rem
  }
}

.mt0 {
  margin-top: 0 !important
}

.mt10 {
  margin-top: 10px
}

@media screen and (max-width: 540px) {
  .mt10 {
    margin-top: 5px
  }
}

.mt20 {
  margin-top: 20px
}

@media screen and (max-width: 540px) {
  .mt20 {
    margin-top: 10px
  }
}

.mt30 {
  margin-top: 30px
}

@media screen and (max-width: 540px) {
  .mt30 {
    margin-top: 15px
  }
}

.mt40 {
  margin-top: 40px
}

@media screen and (max-width: 540px) {
  .mt40 {
    margin-top: 20px
  }
}

.mt50 {
  margin-top: 50px
}

@media screen and (max-width: 540px) {
  .mt50 {
    margin-top: 25px;
  }
}

.mt60 {
  margin-top: 60px
}

@media screen and (max-width: 540px) {
  .mt60 {
    margin-top: 30px
  }
}

.mt70 {
  margin-top: 70px
}

@media screen and (max-width: 540px) {
  .mt70 {
    margin-top: 35px
  }
}

.mt80 {
  margin-top: 80px
}

@media screen and (max-width: 540px) {
  .mt80 {
    margin-top: 40px
  }
}

.mt90 {
  margin-top: 90px
}

@media screen and (max-width: 540px) {
  .mt90 {
    margin-top: 45px
  }
}

.mt100 {
  margin-top: 100px
}

@media screen and (max-width: 540px) {
  .mt100 {
    margin-top: 50px
  }
}

.mb0 {
  margin-bottom: 0 !important
}

.mb10 {
  margin-bottom: 10px
}

@media screen and (max-width: 540px) {
  .mb10 {
    margin-bottom: 5px
  }
}

.mb20 {
  margin-bottom: 20px
}

@media screen and (max-width: 540px) {
  .mb20 {
    margin-bottom: 10px
  }
}

.mb30 {
  margin-bottom: 30px
}

@media screen and (max-width: 540px) {
  .mb30 {
    margin-bottom: 15px
  }
}

.mb40 {
  margin-bottom: 40px
}

@media screen and (max-width: 540px) {
  .mb40 {
    margin-bottom: 20px
  }
}

.mb50 {
  margin-bottom: 50px
}

@media screen and (max-width: 540px) {
  .mb50 {
    margin-bottom: 25px
  }
}

.mb60 {
  margin-bottom: 60px
}

@media screen and (max-width: 540px) {
  .mb60 {
    margin-bottom: 30px
  }
}

.mb70 {
  margin-bottom: 70px
}

@media screen and (max-width: 540px) {
  .mb70 {
    margin-bottom: 35px
  }
}

.mb80 {
  margin-bottom: 80px
}

@media screen and (max-width: 540px) {
  .mb80 {
    margin-bottom: 40px
  }
}

.mb90 {
  margin-bottom: 90px
}

@media screen and (max-width: 540px) {
  .mb90 {
    margin-bottom: 45px
  }
}

.mb100 {
  margin-bottom: 100px
}

@media screen and (max-width: 540px) {
  .mb100 {
    margin-bottom: 50px
  }
}

.mb110 {
  margin-bottom: 110px
}

@media screen and (max-width: 540px) {
  .mb110 {
    margin-bottom: 55px
  }
}

.mb120 {
  margin-bottom: 120px
}

@media screen and (max-width: 540px) {
  .mb120 {
    margin-bottom: 60px
  }
}

.pt0 {
  padding-top: 0
}

.pt10 {
  padding-top: 10px
}

@media screen and (max-width: 540px) {
  .pt10 {
    padding-top: 5px
  }
}

.pt20 {
  padding-top: 20px
}

@media screen and (max-width: 540px) {
  .pt20 {
    padding-top: 10px
  }
}

.pt30 {
  padding-top: 30px
}

@media screen and (max-width: 540px) {
  .pt30 {
    padding-top: 15px
  }
}

.pt40 {
  padding-top: 40px
}

@media screen and (max-width: 540px) {
  .pt40 {
    padding-top: 20px
  }
}

.pt50 {
  padding-top: 50px
}

@media screen and (max-width: 540px) {
  .pt50 {
    padding-top: 25px
  }
}

.pt60 {
  padding-top: 60px
}

@media screen and (max-width: 540px) {
  .pt60 {
    padding-top: 30px
  }
}

.pt70 {
  padding-top: 70px
}

@media screen and (max-width: 540px) {
  .pt70 {
    padding-top: 35px
  }
}

.pt80 {
  padding-top: 80px
}

@media screen and (max-width: 540px) {
  .pt80 {
    padding-top: 40px
  }
}

.pt90 {
  padding-top: 90px
}

@media screen and (max-width: 540px) {
  .pt90 {
    padding-top: 45px
  }
}

.pt100 {
  padding-top: 100px
}

@media screen and (max-width: 540px) {
  .pt100 {
    padding-top: 50px
  }
}

.pt110 {
  padding-top: 110px
}

@media screen and (max-width: 540px) {
  .pt110 {
    padding-top: 55px
  }
}

.pt120 {
  padding-top: 120px
}

@media screen and (max-width: 540px) {
  .pt120 {
    padding-top: 60px
  }
}

.pb0 {
  padding-bottom: 0
}

.pb10 {
  padding-bottom: 10px
}

@media screen and (max-width: 540px) {
  .pb10 {
    padding-bottom: 5px
  }
}

.pb20 {
  padding-bottom: 20px
}

@media screen and (max-width: 540px) {
  .pb20 {
    padding-bottom: 10px
  }
}

.pb30 {
  padding-bottom: 30px
}

@media screen and (max-width: 540px) {
  .pb30 {
    padding-bottom: 15px
  }
}

.pb40 {
  padding-bottom: 40px
}

@media screen and (max-width: 540px) {
  .pb40 {
    padding-bottom: 20px
  }
}

.pb50 {
  padding-bottom: 50px
}

@media screen and (max-width: 540px) {
  .pb50 {
    padding-bottom: 25px
  }
}

.pb60 {
  padding-bottom: 60px
}

@media screen and (max-width: 540px) {
  .pb60 {
    padding-bottom: 30px
  }
}

.pb70 {
  padding-bottom: 70px
}

@media screen and (max-width: 540px) {
  .pb70 {
    padding-bottom: 35px
  }
}

.pb80 {
  padding-bottom: 80px
}

@media screen and (max-width: 540px) {
  .pb80 {
    padding-bottom: 40px
  }
}

.pb90 {
  padding-bottom: 90px
}

@media screen and (max-width: 540px) {
  .pb90 {
    padding-bottom: 45px
  }
}

.pb100 {
  padding-bottom: 100px
}

@media screen and (max-width: 540px) {
  .pb100 {
    padding-bottom: 50px
  }
}

.pb110 {
  padding-bottom: 110px
}

@media screen and (max-width: 540px) {
  .pb110 {
    padding-bottom: 55px
  }
}

.pb120 {
  padding-bottom: 120px
}

@media screen and (max-width: 540px) {
  .pb120 {
    padding-bottom: 60px
  }
}

body {
  color: #333;
  font-style: normal;
  font-weight: 400;
  line-height: 1.75;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
}

body.bg,
body.en {
  background-color: #faf0f0;
}

/* body:not(.home) {
  padding-top: 80px
}

@media screen and (max-width: 768px) {
  body:not(.home) {
    padding-top: 50px
  }
} */

.main {
  background-color: #faf0f0;
  padding-bottom: 100px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .main {
    padding-bottom: 50px
  }
}

.narrow-inner {
  max-width: 880px;
  margin: 0 auto
}

@media screen and (max-width: 768px) {
  .narrow-inner {
    padding-right: 16px;
    padding-left: 16px
  }
}

.inner {
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: 16px;
}

.txt-center {
  text-align: center
}

.txt-right {
  text-align: right
}

hr {
  margin: 40px 0;
  border-top: 1px solid #707070
}

.pos-center {
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.btn-wrap .note {
  margin-left: 1.5rem;
  vertical-align: bottom
}

.btn-wrap .btn {
  display: inline-flex;
  height: 44px;
  padding: 0 1rem;
  border-width: 2px;
  border-style: solid;
  border-radius: 40px;
  font-weight: 500;
  /* font-size: clamp(0.75rem, 0.693rem + 0.24vw, 0.875rem); */
  font-size: 0.875rem;
  line-height: 40px;
  text-align: center;
  align-items: center;
  justify-content: center;
  transition: color 0.2s, background-color 0.2s;
}

.btn-wrap .btn.h36 {
  height: 20px;
}

.btn-wrap .btn.h36 {
  height: 36px;
}

.btn-wrap .btn.h44 {
  height: 44px;
}

.btn-wrap .btn.h48 {
  height: 48px;
}

.btn-wrap .btn.h54 {
  height: 54px;
}

.btn-wrap .btn.h80 {
  height: 80px;
}

.btn-wrap .btn.w160 {
  width: 160px
}

.btn-wrap .btn.w180 {
  width: 180px
}

.btn-wrap .btn.w300 {
  width: 300px
}

@media screen and (max-width: 540px) {
  .btn-wrap .btn.w100p_sm {
    width: 100%
  }
}

.btn-wrap .btn.bg-orange {
  border-color: #333;
  background-color: #ffc442;
}


.btn-wrap .btn.bg-white {
  /* border-color: #fff; */
  background-color: #fff;
  /* color: #00bfbf */
}

/* .btn-wrap .btn.bg-white:hover {
  background-color: #00bfbf;
  color: #fff
} */

.btn-wrap .btn.bg-suntoryhall {
  border-color: #707070;
  background-color: #707070;
  color: #fff
}

.btn-wrap .btn.bg-suntoryhall::after {
  background: url(../img/common/ico-external.svg) no-repeat center center;
  background-size: 13px 13px
}

.btn-wrap .btn.bg-suntoryhall:hover {
  background-color: #fff;
  color: #707070;
}

.btn-wrap .btn.bg-suntoryhall:hover::after {
  background: url(../img/common/ico-external-suntory.svg) no-repeat center center;
  background-size: 13px 13px
}

.btn-wrap .btn.bg-primary {
  border: none;
  /* border-color: #e95076; */
  background: rgb(247, 65, 107);
  background: linear-gradient(90deg, rgba(247, 65, 107, 1) 0%, rgba(255, 150, 175, 1) 90%);
  color: #fff;

}

.btn-wrap .btn.bg-primary:hover {
  background: #fff;
  color: #e95076;
  border: 2px solid #e95076;
}

.btn-wrap .btn.bg-second {
  border-color: #0cc;
  background-color: #0cc;
  color: #fff
}

.btn-wrap .btn.bg-second:hover {
  background-color: #fff;
  color: #0cc
}

.btn-wrap .btn.bg-gray {
  border-color: #333;
  color: #333
}

.btn-wrap .btn.bg-key01 {
  border-color: #ffc442;
  background-color: #ffc442;
  color: #000
}

.btn-wrap .btn.bg-key01:hover {
  background-color: #fff;
  color: #ffc442
}

.btn-wrap .btn.bg-key02 {
  border-color: #09f;
  background-color: #09f;
  color: #fff
}

.btn-wrap .btn.bg-key02:hover {
  background-color: #fff;
  color: #09f
}

.external::after {
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-left: 10px;
  background: url(../img/common/ico-external-bk.svg) no-repeat center center;
  background-size: 13px 13px;
  content: ""
}

.external.primary {
  color: #e95076
}

.external.primary::after {
  background: url(../img/common/ico-external-primary.svg) no-repeat center center;
  background-size: 13px 13px
}

.external.white {
  color: #fff
}

.external.white::after {
  background: url(../img/common/ico-external.svg) no-repeat center center;
  background-size: 13px 13px
}

.m-playtag {
  text-align: center
}

.m-playtag .title {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  color: #09f;
  font-weight: 700
}

.m-playtag .title::before {
  display: block;
  width: 40px;
  height: 40px;
  margin-right: 10px;
  background: url(../img/common/ico-playtag.svg) no-repeat center center;
  background-size: contain;
  content: ""
}

.list-palytag {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 5px;
  justify-content: center
}

.list-palytag li {
  font-size: .75rem;

  a {
    border: 1px solid #09f;
    color: #09f;
    border-radius: 4px;
    padding: 0.5rem 1rem;
  }

}

@media screen and (max-width: 768px) {
  .list-palytag li {
    margin: 10px
  }
}


@media screen and (max-width: 768px) {
  .list-palytag li a {
    padding: 5px 10px;
    border: 1px solid #09f;
    border-radius: 3px
  }
}

/* .list-palytag li a:hover {
  border-bottom: none
} */

.m-playtag.txt-left {
  margin: 30px 0;
  padding: 0;
  text-align: left
}

@media screen and (max-width: 540px) {
  .m-playtag.txt-left {
    margin: 20px 0;
    padding: 0;
  }
}

.m-playtag.txt-left .list-palytag {
  justify-content: flex-start
}

.m-playtag.with-icon {
  display: flex;
  align-items: center;

  p {
    color: #09f;
    font-size: 0.875em;
    font-weight: 500;
    margin-right: 1rem;
  }
}

@media screen and (max-width: 540px) {
  .m-playtag.with-icon {
    flex-direction: column;
    justify-content: center
  }
}

.m-playtag.with-icon::before {
  display: block;
  width: 30px;
  height: 30px;
  margin-right: 0.5rem;
  background: url(../img/common/ico-playtag.svg) no-repeat center center;
  background-size: contain;
  content: ""
}

@media screen and (max-width: 540px) {
  .m-playtag.with-icon::before {
    margin: 0 auto
  }
}

.cols-wrap {
  display: flex
}

@media screen and (max-width: 540px) {
  .cols-wrap {
    flex-direction: column
  }
}

.cols-wrap.col-2&gt;* {
  flex: 1
}

.cols-wrap.col-pc-reverse {
  flex-direction: row-reverse
}

@media screen and (max-width: 540px) {
  .cols-wrap.col-pc-reverse {
    flex-direction: column
  }
}

#breadcrumbs {
  border-top: 1px solid #bcbcbc;
  border-bottom: 1px solid #bcbcbc;
  padding: 1rem;
  margin-block: 100px
}

@media screen and (max-width: 540px) {
  #breadcrumbs {
    margin: 30px 16px 30px;
    font-size: .875rem
  }
}

#breadcrumbs a {
  color: #589f9f
}

.round-box {
  padding: 50px;
  border-radius: 40px;
  background-color: #fff
}

@media screen and (max-width: 540px) {
  .round-box {
    padding: 20px;
    border-radius: 20px
  }
}

.grid {
  position: relative;
  max-width: 1030px;
  width: 100% !important;
  margin-inline: auto;
}

.page-subtitle {
  font-size: clamp(1rem, 0.83rem + 0.73vw, 1.375rem);
  margin-block: -1rem 1rem;
}

.page-title {
  .search-keyword {
    font-size: clamp(1.875rem, 1.364rem + 2.18vw, 3rem);
  }
}

/* @media screen and (max-width: 540px) {
    .page-title {
        margin-bottom: 20px
    }
} */

.ticket-info {
  .narrow-inner {
    max-width: 585px;
  }
}

/* @media screen and (max-width: 540px) {
  .ticket-info {
    margin-top: 40px
  }
} */

.ticket-info .ticket-title {
  margin-block: 50px 40px;
  padding: 10px;
  background-color: #333;
  color: #fff;
  font-size: clamp(1.25rem, 1.023rem + 0.97vw, 1.75rem);
  text-align: center
}

.ticket-info .ticket-title.st-free {
  background-color: #d4d4d4
}

.ticket-info .bx-price {
  /* display: flex;
  align-items: flex-start;
  justify-content: center */
}

@media screen and (max-width: 540px) {
  /* .ticket-info .bx-price {
    flex-direction: column
  } */
}

/* .ticket-info .bx-price-title {
  margin-right: 40px
} */

@media screen and (max-width: 540px) {
  .ticket-info .bx-price-title {
    margin: 0 auto
  }
}

.ticket-info .bx-price-content {
  font-size: 1.25rem
}

@media screen and (max-width: 540px) {
  .ticket-info .bx-price-content {
    font-size: 1rem
  }
}

.ticket-info .bx-price-content&gt;* {
  margin-bottom: .5em
}

.ticket-info .bx-price .price-txt {
  display: flex
}

.ticket-info .bx-price .price-txt span {
  display: inline-block
}

.ticket-info .bx-price .price-txt span+span {
  margin-left: 2em
}

.program .ticket-info .bx-notice {
  border-top: none;
  font-size: 1rem;
}

@media screen and (max-width: 540px) {
  .ticket-info .bx-notice {
    font-size: 1rem
  }
}

.playguide {
  .txt-note {
    color: #7d142a;
  }
}

.playguide-others {
  display: flex;
  max-width: 585px;
  margin-inline: auto;

  .playguide-cont {
    flex: 1;
    flex-direction: column;
  }
}

@media screen and (max-width: 540px) {
  .playguide {
    padding-right: 16px;
    padding-left: 16px
  }
}

.playguide-title {
  max-width: 585px;
  margin: 0 auto 30px;
  padding-top: 100px;
  padding-inline: 1rem;
  border-bottom: 2px solid #d4d4d4;
  position: relative;

  &amp;::after {
    content: '';
    display: block;
    width: 190px;
    height: 2px;
    background-color: #707070;
    position: absolute;
    bottom: -2px;
    left: 0;
  }
}

@media screen and (max-width: 540px) {
  .playguide-title {
    padding-top: 50px;
    font-size: 1.125rem
  }
}

.playguide-cont {
  max-width: 585px;
  margin-inline: auto;
  padding-inline: .5rem;

  .playguide-subtitle {
    fw
  }
}

.playguide-cont.sub {
  display: flex;
  align-items: center;
  justify-content: space-around;

}

@media screen and (max-width: 540px) {
  .playguide-cont.sub {
    flex-direction: column;
    padding: 0 0 30px
  }
}

/* .playguide-cont.sub+.sub {
  margin-top: 50px
}

@media screen and (max-width: 540px) {
  .playguide-cont.sub+.sub {
    margin-top: 30px
  }
} */

.playguide-cont.sub .playguide-logo {
  flex-basis: 72px;
  margin-bottom: 20px
}

@media screen and (max-width: 540px) {
  .playguide-cont.sub .playguide-logo {
    flex-basis: inherit;
    width: 50%;
    margin-right: auto;
    margin-bottom: 1rem;
    margin-left: auto;
    text-align: center
  }
}

.playguide-cont.sub .playguide-txt {
  text-align: center
}

.playguide-cont.sub .playguide-txt .btn-wrap {
  margin-top: 1rem
}

.playguide-cont.sub .playguide-txt .btn {
  color: #333
}

@media screen and (max-width: 540px) {
  .playguide-cont.sub .playguide-txt p {
    font-size: .875rem !important
  }

  .playguide-cont.sub .playguide-txt p+p .fc-gray {
    margin-top: 1em
  }

  .playguide-cont.sub .playguide-txt p .fc-gray {
    display: block
  }

  .playguide-cont.sub .playguide-txt p .fc-gray+br {
    display: none
  }
}

.playguide .ticket-btn {
  width: 100%;
  max-width: 440px;
  margin: 20px auto;
  overflow: hidden;
  border-radius: 24px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);

  .h80 {
    height: 80px;
  }
}

.playguide .ticket-btn&gt;* {
  display: flex;
  align-items: center;
  justify-content: center;
}

.playguide .ticket-btn .btn-ticket-main {
  padding: 10px;
  background-color: #ffc442;
  font-weight: 700;
  font-size: 1.125rem;
  text-align: center
}

@media screen and (max-width: 540px) {
  .playguide .ticket-btn .btn-ticket-main {
    padding: 10px 20px;
    font-size: 1rem
  }
}

.playguide .ticket-btn .ticket-status {
  padding: 1rem;
  background-color: #fff;
  font-weight: 700;
  font-size: 1.125rem;
  text-align: center
}

@media screen and (max-width: 540px) {
  .playguide .ticket-btn .ticket-status {
    padding: 15px;
    font-size: 1rem
  }
}

.bx-purchase {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 50px;

  .bx-purchase-cont {
    width: 100%;
  }
}

.bx-purchase p {
  margin: .2em 0
}

@media screen and (max-width: 540px) {
  .bx-purchase p {
    font-size: .875rem
  }
}

.bx-purchase .fc-gray {
  margin-right: 1em
}

@media screen and (max-width: 540px) {
  .bx-purchase .fc-gray {
    display: block;
    margin-top: 1em
  }
}

.mail::after {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 10px;
  background: url(../img/common/ico-mail.svg) no-repeat 0 0;
  background-size: contain;
  content: "";
  vertical-align: top
}

#md-kofes2022 {
  display: none
}

.modaal-container {
  background: none !important
}

.modaal-content-container {
  padding: 0 !important
}

.modaal-container {
  box-shadow: none
}

#md-kofes2022-cont {
  padding: 2rem 20px 1rem;
  border: 4px solid #9e9e9e;
  border-radius: 20px;
  background-color: rgba(255, 255, 255, .6);
  text-align: center
}

#md-kofes2022-cont p {
  max-width: 40em;
  margin: 1rem auto;
  color: #4b5aa5;
  font-weight: 700;
  font-size: 1.0625rem;
  line-height: 2;
  text-align: center
}

@media screen and (max-width: 540px) {
  #md-kofes2022-cont p {
    font-size: .8125rem
  }
}

#md-kofes2022-cont p img {
  margin: 0 auto
}

#md-kofes2022-cont p a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 3rem 1rem;
  border-radius: 10px;
  background-color: #ffc442;
  color: #413c3c;
  font-size: 1.0625rem
}

#md-kofes2022-cont p .mdl-close {
  text-transform: uppercase;
  cursor: pointer
}

#md-kofes2022-cont p .mdl-close::before {
  margin-right: .5rem;
  content: "ﾃ�"
}

@media screen and (max-width: 540px) {
  #md-kofes2022-cont a {
    margin: 12px auto 0
  }
}

#md-kofes2022-cont a:hover {
  color: #333
}

#md-kofes2022-cont .btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 72px;
  padding: 0;
  transform: translateY(-50%);
  border: none;
  background: none;
  cursor: pointer
}

@media screen and (max-width: 540px) {
  #md-kofes2022-cont .btn {
    width: 48px
  }
}

#md-kofes2022-cont .btn::before {
  display: block;
  width: 72px;
  height: 72px;
  background: url("../img/home/close.svg");
  content: ""
}

@media screen and (max-width: 540px) {
  #md-kofes2022-cont .btn::before {
    width: 48px;
    height: 48px;
    background-size: contain
  }
}

#md-kofes2022-cont .btn:hover {
  background: none
}

#md-kofes2022-cont .btn span {
  display: none
}


.round-btns {
  display: flex;
  justify-content: space-evenly;
  gap: 2.4615%;

  li {
    flex: 1;
  }

  a {
    display: flex;
    border: 2px solid #333;
    border-radius: 16px;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 72px;
    box-shadow: 0 3px 0 rgba(0, 0, 0, .1);

    &amp;.btn-timetable {
      background-color: var(--color-timetable);

      img {
        margin-inline-end: 10px;
      }
    }

    &amp;.btn-ticket {
      background-color: var(--color-ticket);

      img {
        margin-inline-end: 25px;
      }
    }
  }
}

header {
  /* z-index: 100;
  position: fixed;
  top: 0;
  left: 0; */
  width: 100%;
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);

  .header-logo {
    display: inline-block;
    padding: 1rem;
  }

  .gn-lang {
    display: flex;
    align-items: center;
    font-size: 0.6875rem;
    font-weight: 500;
    line-height: 1;
    justify-content: center;


    .en {
      margin-inline-start: 1.5rem;
    }

    a {
      font-size: 0.8125rem;
      background-color: #48443b;
      color: #fff;
      border-radius: 5px;
      height: 24px;
      padding-inline: 20px;
      display: inline-flex;
      align-items: center;
    }

    span {
      font-size: 0.6875rem;
      color: #777;
    }

    &amp;::before {
      margin-inline-end: 0.5rem;
      content: '';
      display: block;
      width: 20px;
      height: 20px;
      background: url('../img/common/ico-world.svg') no-repeat center center;
    }

    &amp;.home-lang {
      position: absolute;
      top: 1.5rem;
      right: 150px;
      z-index: 200;

      a {
        background-color: rgba(255, 255, 255, .7);
        color: #333;
        visibility: hidden;
      }

      span {
        color: #fff;
      }

      &amp;:hover {
        a {
          visibility: visible;
        }
      }
    }
  }

  .globalnav {
    display: none;
    overflow-x: auto;
    padding: 90px 2rem 30px;
    max-height: calc(100dvh - 10px);
    overflow-x: auto;

    @media (width &lt; 768px) {
      padding: 1.5rem 20px 30px;
    }

    .gn-title {
      font-size: 0.9375rem;
      font-weight: 700;
      margin-block-start: 2rem;
    }

    .gn-menu {
      display: flex;
      align-items: center;
      margin: 0;
      padding: 0;
      list-style-type: none;
      flex-direction: column;
      align-items: flex-start;

      li {
        width: 100%;
        margin-block-start: .5rem;
        line-height: 1;
      }

      a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-block-start: 1rem;
        text-decoration: none;
      }

      .en {
        font-family: "Overpass", serif;
        font-optical-sizing: auto;
        font-weight: 500;
        font-style: normal;
        margin-inline-end: 1.5rem;
        white-space: nowrap;
      }

      .ja {
        font-weight: 700;
        font-size: clamp(0.75rem, 0.693rem + 0.24vw, 0.875rem);
      }

      .gn-main {
        border-bottom: 1px solid #333;

        .en {
          font-size: 1.5rem;
        }

        .ja {
          max-width: calc(100% - 12em);
          width: 100%;
        }
      }

      .gn-sub {
        border-bottom: 1px solid #d4d4d4;

        .en {
          font-size: 1.125rem;
        }

        .ja {
          max-width: calc(100% - 7em);
          width: 100%;
        }
      }
    }

    .round-btns {
      margin-block: 50px;
    }
  }

  .header-privacypolicy {
    padding-block-start: .5rem;
    border-top: 1px solid #333;

    a {
      display: inline-block;
      padding: 0.5rem;
      font-size: 0.8125rem;
    }
  }
}

header .inner {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: space-between;
  height: 80px;

  /* padding-right: 120px; */
  @media (width &lt; 768px) {
    height: 50px;
    padding-right: 0;
    padding-left: 0
  }
}

/* @media screen and (max-width: 1000px) {
  padding-right: 120px
} */

/*
header .logo {
  width: 232px
}

header .logo img {
  display: block
}

@media screen and (max-width: 1000px) {
  header .logo {
    width: 175px;
    margin: 0 auto
  }
}

@media screen and (max-width: 320px) {
  header .logo {
    width: 130px
  }
} */

header .header-ticket {
  position: absolute;
  top: -200px;
  right: 0
}

.en header .header-ticket {
  display: none
}

@media screen and (max-width: 1200px) {
  header .header-ticket {
    right: 5px
  }
}

@media screen and (max-width: 768px) {
  header .header-ticket {
    width: 90px
  }
}

@media screen and (max-width: 320px) {
  header .header-ticket {
    width: 80px
  }
}

header .header-ticket a {
  position: relative;
  top: 0;
  transition: all .2s ease
}

header .header-ticket a:hover {
  top: 5px
}

.en .menu-trigger {
  display: none !important
}


.menu-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
  z-index: 999;
  position: fixed;
  top: 24px;
  right: 4px;
  width: 82px;
  height: 78px;
  background-color: #333;
  border-radius: 50% 4px 50% 50%;
  transition: all .2s;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;

  &amp;::after {
    content: 'menu';
    text-transform: uppercase;
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    font-size: clamp(0.625rem, 0.511rem + 0.48vw, 0.875rem);
    color: #fff;
    line-height: 1;
    transition: all .2s;
  }

  span {
    display: inline-block;
    /* position: absolute;
      left: 13px; */
    width: 44px;
    height: 1px;
    background-color: #fff;
    transition: all .4s;
    transition: all .2s;

    @media (width &lt; 768px) {
      width: 32px;
    }
  }

  @media (width &lt; 768px) {
    top: 4px;
    width: 64px;
    height: 64px;
  }

  &amp;:hover {
    background-color: #fff;

    &amp;::after {
      color: #333;
    }

    span {
      background-color: #333;
    }
  }
}



.menu-trigger span:nth-of-type(1) {
  /* top: 16px */
}

.menu-trigger span:nth-of-type(2) {
  /* top: 50%; */
  /* transform: translateY(-50%) */
}

.menu-trigger span:nth-of-type(3) {
  /* bottom: 16px */
}

.menu-trigger.active {
  background-color: #fff;

  span {
    background-color: #707070;
  }

  &amp;::after {
    content: '縺ｨ縺倥ｋ';
    font-weight: 500;
    font-size: clamp(0.5rem, 0.386rem + 0.48vw, 0.75rem);
    color: #707070;
  }

}

.menu-trigger.active span:nth-of-type(1) {
  translate: 0 7px;
  rotate: -20deg;

}

.menu-trigger.active span:nth-of-type(2) {
  translate: 0 -7px;
  rotate: 20deg;
}

.nav-open .globalnav {
  z-index: 900;
  display: block;
  position: fixed;
  top: 10px;
  right: 0;
  width: calc(100% - 10px);
  max-width: 500px;
  background-color: #fff;
  border-radius: 40px 0 0 40px;
}

.footer-notice {
  padding: 40px 10px 15px;
  color: #777;
  text-align: center
}

.footer-contents {
  padding-top: 36px;
  padding-bottom: 36px;
  background-color: #604040;
}

.footer-contents .inner {
  position: relative
}

.footer-contents .btn-wrap {
  position: absolute;
  top: 20px;
  right: 16px
}

@media screen and (max-width: 768px) {
  .footer-contents .btn-wrap {
    position: static
  }
}

.footer-contents h5 {
  margin-bottom: 1em;
  color: #cecece;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .footer-contents h5 {
    margin-top: 2em;
    text-align: center
  }
}

.footer-contents-nav {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  height: calc(3em + 96px);
  margin: 0 160px 0 0;
  padding: 0;
  line-height: 1;
  font-family: "Roboto", sans-serif;
  list-style-type: none
}

@media screen and (max-width: 768px) {
  .footer-contents-nav {
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    height: inherit
  }
}

.footer-contents-nav&gt;li {
  display: flex;
  margin-bottom: 2em
}

@media screen and (max-width: 768px) {
  .footer-contents-nav&gt;li {
    width: 50%
  }
}

.footer-contents-nav&gt;li.fn-top {
  margin-bottom: calc(2em + 96px)
}

@media screen and (max-width: 768px) {
  .footer-contents-nav&gt;li.fn-top {
    order: 1;
    width: 100%;
    margin-bottom: 2em
  }
}

.footer-contents-nav&gt;li.fn-about {
  margin-bottom: calc(2em + 96px)
}

@media screen and (max-width: 768px) {
  .footer-contents-nav&gt;li.fn-about {
    flex-direction: column;
    order: 2;
    width: 100%;
    margin-bottom: 2em
  }

  .footer-contents-nav&gt;li.fn-about li {
    margin: 10px 0 0 0
  }
}

@media screen and (max-width: 768px) {
  .footer-contents-nav&gt;li.fn-program {
    order: 3
  }
}

@media screen and (max-width: 768px) {
  .footer-contents-nav&gt;li.fn-artist {
    order: 5
  }
}

@media screen and (max-width: 768px) {
  .footer-contents-nav&gt;li.fn-topics {
    order: 7
  }
}

@media screen and (max-width: 768px) {
  .footer-contents-nav&gt;li.fn-access {
    order: 4
  }
}

@media screen and (max-width: 768px) {
  .footer-contents-nav&gt;li.fn-inquiry {
    order: 6
  }
}

.footer-contents-nav a {
  color: #fff;
  font-weight: 700
}

.footer-contents-nav-sub {
  flex-direction: column
}

.footer-contents-nav-sub li {
  margin-bottom: 1em;
  margin-left: 2em
}

.footer-contents-nav-sub a {
  font-weight: 400
}

.footer-contents-nav-sub a::before {
  content: "-"
}

.footer-contents-organizer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 48px;
}

@media screen and (max-width: 540px) {
  .footer-contents-organizer {
    flex-direction: column;
    align-items: center
  }
}

.footer-contents-organizer li {
  margin: 0 10px 10px 0;
  text-align: center;
  font-size: 0.875rem;
}

@media screen and (max-width: 768px) {
  .footer-contents-organizer li {
    margin: 0 auto 30px;
    text-align: center
  }
}

.footer-contents-organizer .bnr-txt {
  color: #fff;
  font-weight: 700
}

.footer-contents-organizer .bnr-txt.external::after {
  background: url(../img/common/ico-external.svg) no-repeat center center;
  background-size: 13px 13px
}

.footer-contents-organizer .bnr-img {
  display: block;
  width: 264px;
  margin: 0 auto;
  margin-top: 10px
}

.footer-bottom {
  padding: 20px 10px;
  background-color: #2f2f2f;
  color: #fff;
  text-align: center;

}

.footer-bottom a {
  color: #fff;
  font-size: 0.875rem;
}

.footer-bottom .copyright {
  font-size: .75rem
}

.footer .btn-pagetop {}

.pagetop {
  z-index: 99;
  position: sticky;
  bottom: 61px;
  height: 0;
  display: flex;
  justify-content: flex-end;

  .btn-pagetop {
    margin-inline-end: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 82px;
    height: 82px;
    background-color: #604040;
    border-radius: 50%;
    translate: 0 -50%;
    gap: 5px;

    &amp;::before {
      content: '';
      display: block;
      width: 20px;
      height: 2px;
      background-color: #fff;
    }

    &amp;::after {
      content: '';
      display: block;
      width: 16px;
      height: 16px;
      border-left: 2px solid #fff;
      border-top: 2px solid #fff;
      rotate: 45deg;
    }

    span {
      font-size: 0;
    }

  }
}


.waves-container {
  width: 100%;
  position: absolute;
  bottom: -2px;
}

.waves {
  position: relative;
  width: 100%;
  height: 15vh;
  margin-bottom: -7px;
  min-height: 100px;
  max-height: 150px;
}

.parallax&gt;use {
  animation: move-forever 25s cubic-bezier(.55, .5, .45, .5) infinite;
}

.parallax&gt;use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}

.parallax&gt;use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 10s;
}

.parallax&gt;use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 13s;
}

.parallax&gt;use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 20s;
}

@keyframes move-forever {
  0% {
    transform: translate3d(-90px, 0, 0);
  }

  100% {
    transform: translate3d(85px, 0, 0);
  }
}

/*Shrinking for mobile*/
@media (max-width: 768px) {
  .waves {
    height: 40px;
    min-height: 40px;
  }
}





main {
  flex: 1;
  background-color: #faf0f0;
}

.home {
  .main {
    padding-bottom: 0;
  }

  .narrow-inner {
    max-width: 744px;
    margin-inline: auto;
  }

  header {
    height: 0;

    .site-logo {
      position: absolute;
      top: 0;
      z-index: 100;
      left: -136px;

      @media screen and (768px &lt;=width &lt; 1350px) {
        left: -80px;
      }

      @media screen and (width &lt; 768px) {
        left: 50%;
        translate: -50% 0;
        width: 100vw;
        overflow: hidden;

        img {
          margin-inline: auto;
          width: 120vw;
          max-width: inherit;
          margin-left: -10vw;
        }
      }


    }
  }

  .fv {
    padding-top: 155px;
    background: #E596C0;
    background: radial-gradient(at center top, #E596C0, #A0C5E6);
    background-color: #a1c6e7;
    position: relative;

    @media screen and (768px &lt;=width) {
      height: 760px;
    }

    @media screen and (width &lt; 768px) {
      height: auto;
      padding-block: 88vw 50px;
    }

    .inner {
      position: relative;
    }
  }

  .event-data {
    position: absolute;
    top: 300px;
    left: 0;

    @media screen and (width &lt; 768px) {
      position: static;
      margin-bottom: 1.5rem;

      img {
        margin-inline: auto;
      }
    }

  }

  .mv-img {
    margin: 0 0 0 auto;
    max-width: 744px;
    position: relative;
    width: 100%;
    z-index: 101;

    .swiper-pagination {
      bottom: -30px;
    }

    .swiper-pagination-bullet-active {
      background-color: #838383;
    }

  }

  #mainvisual {
    border-radius: 24px;

    .copyrights {
      color: #fff;
      position: absolute;
      font-size: 0.625rem;
      top: 10px;
      right: 10px;
    }
  }

  .home-bnrs {
    max-width: 752px;
    margin-inline: auto;
    gap: 0;

    li {
      margin-inline: 6px;
    }

    a {
      height: 120px;
      padding-block: 1.5rem;

      @media screen and (width &lt; 768px) {
        height: 56px;
        padding-block: .5rem;
      }

      span {
        height: 100%;
      }

      img {
        height: 100%;
      }

      i {
        width: 40px;
        aspect-ratio: 1 / 1;
        background-color: rgba(255, 255, 255, .3);
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #fff;

        @media screen and (width &lt; 768px) {
          width: 24px;
        }
      }
    }
  }

  .home-pickup {
    border-radius: 50px;
    margin: 120px auto 160px;
    padding: 50px;
    position: relative;
    background-color: #fff;
    max-width: 880px;

    @media screen and (width &lt; 768px) {
      margin: 60px auto 130px;
      padding: 3rem 1rem;
    }

    li {
      margin-top: 1rem;
      border-bottom: 2px solid #d4d4d4;
    }

    h2 {
      border-bottom: 2px solid #333;
      display: flex;
      align-items: flex-end;
      line-height: 1;
      gap: 1.75rem;
      font-weight: 500;

      .en {
        img {
          @media screen and (width &lt; 768px) {
            height: 22px;
          }
        }
      }

      .ja {
        font-size: clamp(0.875rem, 0.761rem + 0.48vw, 1.125rem);
      }
    }

    a {
      display: block;
      padding: 0.5rem 1rem;
    }

    time {
      font-size: clamp(0.75rem, 0.608rem + 0.61vw, 1.063rem);
      margin-right: .75rem;
    }

    .category {
      display: inline-flex;
      align-items: center;
      font-size: 0.75rem;
    }

    p {
      font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
    }
  }

  .home-description {
    h2 {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 2rem;
    }

    p {
      margin-top: 4.25rem;
      font-size: 1.125rem;
    }
  }

  .main-cont-category {
    font-size: clamp(0.75rem, 0.523rem + 0.97vw, 1.25rem);
    font-weight: 700;
  }

  section {
    h3 {
      font-size: clamp(1.375rem, 1.233rem + 0.61vw, 1.688rem);
    }

    p {
      font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
    }
  }

  .main-cont {
    margin-top: 100px;

    .inner {
      position: relative;
    }

    .headline {
      margin-left: 140px;
      margin-bottom: 10px;
      position: relative;
      overflow: hidden;
      max-width: 500px;

      @media screen and (width &lt; 768px) {
        margin-left: 0;

        img {
          max-height: 30px
        }
      }

      &amp;::after {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        background: rgb(250, 240, 240);
        background: linear-gradient(90deg, rgba(250, 240, 240, 0) 0%, rgba(250, 240, 240, 1) 10%);
        position: absolute;
        top: 0;
        left: 0;
        transition: all 1s ease;
      }

      &amp;.aos-animate {
        &amp;::after {
          left: 100%;
        }
      }
    }

    .main-cont-img {
      position: relative;
      padding-bottom: 20px;
      /* max-width: 882px; */
      min-height: 630px;
      padding-left: 0;
      margin-right: 36.6438%;

      /* margin-left: -90px; */
      /* translate: -100vw 0; */
      &amp;::before {
        border-radius: 0 50px 50px 0;
        content: '';
        display: block;
        width: 100vw;
        height: 100%;
        position: absolute;
        top: 0;
        right: 0;

        @media screen and (width &lt; 768px) {
          border-radius: 0;
        }
      }

      @media screen and (width &lt; 768px) {
        border-radius: 0;
        margin-inline: -1rem;
        padding-inline: 0;
        min-height: inherit;
      }
    }

    .main-cont-texts-wrap {
      position: absolute;
      top: 134px;
      right: 60px;

      @media screen and (width &lt; 768px) {
        margin-top: -2rem;
        position: static;
      }
    }

    .main-cont-texts {
      &amp;+.main-cont-texts {
        margin-top: 10px;
      }

      max-width: 554px;
      background-color: #fff;
      border-radius: 8px;
      padding: 40px 48px;

      @media screen and (width &lt; 768px) {
        padding: 20px;
      }

      .list-palytag {
        margin-top: 1rem;
        color: #09f;
        justify-content: flex-start;

        li {
          margin: 2px;
        }

        a {
          border: none;
        }
      }

      .m-playtag {
        flex-direction: row;

        @media screen and (width &lt; 768px) {
          p {
            font-size: 0.75rem;
            margin-right: 0 !important
          }
        }
      }
    }

    &amp;.ambassador {
      .main-cont-category {
        color: #a459dd;
      }

      .round-box {

        /* width: 100vw; */
        &amp;::before {
          background: #a459dd url('../img/home/bg-ambassador.svg') no-repeat center right;
          background-attachment: fixed;
        }
      }

    }

    &amp;.program {
      .main-cont-category {
        color: #f7ac3d;
      }

      .round-box {
        &amp;::before {
          background: #f7ac3d url('../img/home/bg-program.svg') no-repeat center right;
          background-attachment: fixed;
        }
      }

      .img01 {
        margin-left: 95px;

        @media screen and (width &lt; 768px) {
          margin-left: 0;
        }
      }

      .img02 {
        margin-left: 185px;

        @media screen and (width &lt; 768px) {
          margin-left: 57px;
        }
      }
    }

    &amp;.artist {
      .main-cont-category {
        color: #f2cc3b;
      }

      .round-box {
        &amp;::before {
          background: #f2cc3b url('../img/home/bg-artist.svg') no-repeat center right;
          background-attachment: fixed;
        }
      }

      .img01 {
        margin-left: 240px;

        @media screen and (width &lt; 768px) {
          margin-inline: 90px 20px;
        }
      }

      .img02 {
        margin-left: 95px;

        @media screen and (width &lt; 768px) {
          margin-inline: 20px 174px;
        }
      }

      .img03 {
        margin-top: -150px;
        margin-left: 340px;

        @media screen and (width &lt; 768px) {
          margin: -70px 20px 0 174px;
        }
      }
    }

    &amp;.streaming {
      .main-cont-category {
        color: #95dbff;
      }

      .round-box {
        &amp;::before {
          background: #95dbff url('../img/home/bg-streaming.svg') no-repeat center right;
          background-attachment: fixed;
        }
      }

      .img01 {}
    }

    &amp;.mfa {
      .main-cont-category {
        color: #46aa2a;
      }

      .round-box {
        &amp;::before {
          background: #46aa2a url('../img/home/bg-mfa.svg') no-repeat center right;
          background-attachment: fixed;
        }
      }

      .img01 {
        margin-left: 130px;

        @media screen and (width &lt; 768px) {
          margin-inline: 20px 0;
        }
      }

      .img02 {
        margin-left: 95px;

        @media screen and (width &lt; 768px) {
          margin-inline: 0 20px;
        }
      }

      .aos-animate {
        .mask {
          clip-path: polygon(0 20%, 100% 0, 100% 80%, 0 100%);
        }
      }
    }
  }

  .ticket {
    margin-top: 270px;

    @media screen and (width &lt; 768px) {
      margin-top: 100px;
    }

    .inner {
      max-width: 996px;
    }

    .headline {
      h2 {
        display: flex;
        align-items: flex-end;
        line-height: 1;

        @media screen and (width &lt; 768px) {
          img {
            height: 30px;
          }
        }

        .ja {
          color: #ffc442;
          margin-left: 3rem;
        }
      }
    }

    .round-box {
      border: 6px solid #ffc442;

      @media screen and (width &lt; 768px) {
        padding-inline: 14px;
      }
    }

    dt {
      line-height: 1;
      margin-bottom: 1rem;
      font-size: 0.75rem;

      span {
        font-size: 0.6875rem;
        background-color: #eee;
        border-radius: 4px;
        font-size: 0.6875rem;
        display: inline-block;
        padding: 4px 0.5rem;
      }
    }

    dd {
      &amp;+dt {
        margin-top: 1.5rem;
      }

      display: flex;
      align-items: center;
      gap: .5rem;

      span {
        font-size: 0.875rem;
        white-space: nowrap;
      }

      strong {
        font-size: clamp(1.25rem, 1.136rem + 0.48vw, 1.5rem);
      }
    }

    .tb-price {
      width: 100%;
      font-size: clamp(1rem, 0.83rem + 0.73vw, 1.375rem);

      th {
        text-align: left;
        font-weight: 500;

        span {
          font-size: clamp(0.75rem, 0.636rem + 0.48vw, 1rem);
          display: inline-block;
          margin-left: 1rem;
        }
      }

      td {
        max-width: 50%;
        width: 100%;
        font-weight: 500;
      }
    }

    p {
      margin-block: 2rem;
    }

    .btn-wrap {
      @media screen and (width &lt; 540px) {
        align-items: center;
        flex-direction: column;
      }
    }
  }

  .access {
    margin-top: 300px;

    @media screen and (width &lt; 768px) {
      margin-top: 200px;
    }

    .headline {
      max-width: 966px;
      margin-inline: auto;

      h2 {
        display: flex;
        align-items: flex-end;
        line-height: 1;

        @media screen and (width &lt; 768px) {
          img {
            height: 30px;
          }
        }

        .ja {
          color: #a88433;
          margin-left: 3rem;
        }
      }
    }

    .access-wave {
      position: relative;
      border-top: 8px solid #a88433;

      img {
        min-height: 238px;
        object-fit: cover;
        object-position: center bottom;
      }
    }

    .access-cont {
      max-width: 960px;
      margin: 2rem auto;
      justify-content: space-between;

      @media screen and (width &lt; 768px) {
        flex-direction: column;
        gap: 2rem;
      }

      dt {
        span {
          display: inline-block;
          border: 1px solid #48443b;
          padding: 2px 0.5rem;
          font-size: 0.875rem;
          font-weight: 700;
        }
      }
    }
  }

  .forvisitors {
    max-width: 934px;
    margin: 150px auto;
    padding: 3rem 50px 3rem 20px;
    background-color: #fff;
    border-radius: 100px;

    @media screen and (width &lt; 768px) {
      margin-block: 90px 60px;
      border-radius: 48px;
      padding: 1.5rem 1.5rem 1.5rem 0;
    }

    h2 {
      text-align: center;
      font-size: clamp(1rem, 0.659rem + 1.45vw, 1.75rem);
    }

    ul {
      font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
      font-weight: 500;
    }

    li {
      margin-block: 0.5rem;
    }
  }

  .partners {
    margin-top: 4.5rem;
    padding-block: 4.5rem;
    background-color: #fff;

    h2 {}

    .note {
      font-size: 0.6875rem;
    }
  }

  .list-partners {
    margin-block: 1rem 2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem 2rem;
    font-size: 1.125rem;
    font-weight: 500;
  }

  .pickup-list {
    .category {
      &amp;::before {
        display: block;
        width: 16px;
        height: 16px;
        margin-right: 5px;
        background-position: center center;
        background-repeat: no-repeat;
        content: "";

        @media screen and (width &lt; 540px) {
          width: 10px;
          height: 10px;
        }
      }
    }

    .category-report::before {
      background-image: url(../img/topics/ico-report.svg);
      background-size: contain;
    }

    .category-interview::before {
      background-image: url(../img/topics/ico-interview.svg);
      background-size: contain;
    }

    .category-event::before {
      background-image: url(../img/topics/ico-event.svg);
      background-size: contain;
    }

    .category-information::before {
      background-image: url(../img/topics/ico-information.svg);
      background-size: contain;
    }

    .category-news::before {
      background-image: url(../img/topics/ico-news.svg);
      background-size: contain;
    }

    .category-column::before {
      background-image: url(../img/topics/ico-column.svg);
      background-size: contain;
    }

    a {
      &amp;:hover {
        .category-report::before {
          background-image: url(../img/topics/ico-report_hov.svg);
          background-size: contain;
        }

        .category-interview::before {
          background-image: url(../img/topics/ico-interview_hov.svg);
          background-size: contain;
        }

        .category-event::before {
          background-image: url(../img/topics/ico-event_hov.svg);
          background-size: contain;
        }

        .category-information::before {
          background-image: url(../img/topics/ico-information_hov.svg);
          background-size: contain;
        }

        .category-news::before {
          background-image: url(../img/topics/ico-news_hov.svg);
          background-size: contain;
        }

        .category-column::before {
          background-image: url(../img/topics/ico-column_hov.svg);
          background-size: contain;
        }
      }
    }

    .new {
      .article-header {
        display: flex;
        align-items: center;
        gap: 0.5rem;

        &amp;::after {
          content: 'NEW';
          background-color: #ffe719;
          font-size: 0.625rem;
          font-weight: 500;
          padding: 0 5px;
        }
      }
    }
  }
}







/*

.home-location {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 1rem;
  font-weight: 700;
  font-size: .875rem;
  line-height: 1.2857
}

.home-location dd {
  margin-left: 1em;
  padding-left: 1em;
  border-left: 1px solid #000
}

@media screen and (max-width: 540px) {
  .home-location {
    margin: 0 auto .5rem
  }

  .home-location dt {
    font-size: .8125rem
  }

  .home-location dd {
    font-size: .875rem
  }
}

.home-banner {
  position: relative;
  padding: 15px 0 20px;
  background-color: #7d142a
}

.home-banner .swiper-pagination {
  display: flex;
  position: static;
  justify-content: center;
  margin-top: 1rem
}

.home-banner .swiper-pagination span {
  display: block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: #fff;
  font-size: 0
}

.home-banner .swiper-pagination .swiper-pagination-bullet-active {
  opacity: .65
}

.home-banner .fes-date {
  position: absolute;
  top: 0;
  width: 56.4286%;
  padding: 18px 50px;
  transform: translateY(-60%);
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  background-color: #fff;
  text-align: right
}

@media screen and (max-width: 767px) {
  .home-banner .fes-date {
    width: 96vw;
    padding: 20px 10px 20px 24px
  }
}

.home-banner .fes-date img {
  display: block
}

.home-banner p {
  max-width: 780px;
  margin: 0 auto;
  padding-top: 55px;
  padding-bottom: 110px;
  color: #fff;
  font-weight: 700;
  font-size: 1.25rem
}

@media screen and (max-width: 767px) {
  .home-banner p {
    padding: 2rem 2rem 0;
    font-size: .9375rem
  }
}

.home-banner .inner {
  max-width: 1040px
}

@media screen and (max-width: 767px) {
  .home-banner .inner {
    padding: 0
  }
}

.home-banner-slide {
  max-width: 1000px
}

.home-banner-slide .slick-list {
  padding: 0 !important
}

@media screen and (max-width: 767px) {
  .home-banner-slide {
    width: 100vw;
    margin: 0 auto
  }
}

@media screen and (max-width: 767px) {
  .home-banner-slide .slick-slide {
    margin: 0
  }
}

.home-banner-slide .item {
  width: 320px;
  margin: 10px;
  text-align: center
}

@media screen and (max-width: 767px) {
  .home-banner-slide .item {
    width: 100%;
    margin: 0
  }
}

.home-banner-slide .item img {
  margin: 0 auto
}

.home .support {
  margin-bottom: 2rem;
  padding-top: 80px;
  padding-bottom: 20px;
  background-color: #fff
}

.home .support h2 {
  font-weight: 500;
  line-height: 1.1
}

.home .support h2 small {
  font-size: .6875rem
}

.home .support-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-bottom: 3rem
}

.home .support-list li {
  margin: 1rem
}

.home .main {
  overflow: hidden
}

@media screen and (max-width: 768px) {
  .home {
    padding-top: 50px
  }
}

.home .mv {
  position: relative;
  overflow: hidden
}

.home .mv::after {
  display: block;
  z-index: 99;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 14px;
  background: url("../img/home/bg-wave.png") repeat-x center bottom;
  content: ""
}

.home .mv-img {
  opacity: 0;
  transition: opacity .3s linear
}

.home .mv-img.slick-initialized {
  opacity: 1
}

.home .mv .mv-img-wrap {
  display: block !important;
  position: relative
}

.home .mv #svg-bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1500px;
  transform: rotate(180deg)
} */

.en {
  font-family: "Roboto"
}

.en main {
  background: url("../img/en/bg-en.svg") no-repeat center bottom
}

.en .ttl-sec {
  margin-bottom: 1rem;
  font-size: 1.75rem
}

.en .mv::after {
  content: none !important
}

.en .outline {
  padding-top: 100px
}

.en .outline dl {
  padding: 50px 115px;
  border-radius: 20px;
  background-color: #fff
}

@media screen and (max-width: 767px) {
  .en .outline dl {
    padding: 2rem 10px
  }
}

.en .outline dl dt {
  color: #707070;
  font-weight: 700
}

@media screen and (max-width: 767px) {
  .en .outline dl dt {
    font-size: .875rem
  }
}

.en .outline dl dd {
  margin-bottom: 2rem;
  font-size: 1.125rem
}

@media screen and (max-width: 767px) {
  .en .outline dl dd {
    font-size: 1.0625rem
  }
}

.en .venue {
  padding-top: 200px
}

.en .dearvisitors {
  margin-bottom: 150px
}

@media screen and (max-width: 767px) {
  .en .dearvisitors {
    margin-right: 28px;
    margin-left: 28px
  }
}

.en .dearvisitors .inner {
  padding: 50px;
  border-radius: 20px;
  background-color: #fff
}

@media screen and (max-width: 767px) {
  .en .dearvisitors .inner {
    padding: 20px
  }
}

.en .dearvisitors .inner&gt;* {
  max-width: 670px;
  margin-right: auto;
  margin-left: auto
}

.en .dearvisitors .inner h2 {
  font-size: 1.75rem
}

@media screen and (max-width: 767px) {
  .en .dearvisitors .inner h2 {
    font-size: 1.25rem
  }
}

.en .dearvisitors .inner ul {
  padding-left: 1.5rem
}

.en .dearvisitors .inner li {
  margin-top: 1rem;
  font-size: 1.125rem
}

@media screen and (max-width: 767px) {
  .en .access .access-img iframe {
    width: 100vw;
    margin-right: -1rem;
    margin-left: -1rem
  }
}

.en .programs details {
  margin-bottom: 50px
}

@media screen and (max-width: 767px) {
  .en .programs details {
    margin-bottom: 30px
  }
}

.en .programs details[open] summary::after {
  transform: translateY(-50%) rotate(135deg)
}

.en .programs summary {
  display: block;
  position: relative;
  padding: 10px 27px;
  color: #fff;
  font-weight: 700;
  font-size: 1.375rem;
  cursor: pointer
}

@media screen and (max-width: 767px) {
  .en .programs summary {
    font-size: 1.125rem
  }
}

.en .programs summary::-webkit-details-marker {
  display: none
}

.en .programs summary::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 22px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background: url("../img/en/plus.svg") no-repeat 0 0;
  background-size: contain;
  content: "";
  transition: all .2s ease
}

.en .programs summary.day1 {
  background: #37919b
}

.en .programs summary.day2 {
  background: #be5078
}

.en .programs summary.day3 {
  background: #bea064
}

.en .programs summary.day4 {
  background: #4b5aa5
}

.en .programs article {
  display: flex;
  align-items: stretch;
  margin-top: 8px;
  background: #fff
}

@media screen and (max-width: 767px) {
  .en .programs article {
    flex-direction: column
  }
}

.en .programs article dl {
  flex: 1;
  padding: 20px 25px;
  border-right: 1px dashed #cbcbcb;
  font-size: 1.25rem
}

@media screen and (max-width: 767px) {
  .en .programs article dl {
    padding: 10px;
    border-right: none;
    border-bottom: 1px dashed #cbcbcb
  }
}

.en .programs article dl dt {
  font-weight: 700
}

@media screen and (max-width: 767px) {
  .en .programs article dl dt {
    font-size: 1rem
  }
}

.en .programs article dl dd {
  line-height: 1.4667
}

@media screen and (max-width: 767px) {
  .en .programs article dl dd {
    font-size: .9375rem
  }
}

.en .programs article .stub {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 195px;
  margin-top: 0;
  padding: 10px
}

@media screen and (max-width: 767px) {
  .en .programs article .stub {
    width: 100%
  }
}

.en .programs article .stub span {
  font-weight: 700;
  font-size: 1.8125rem
}

@media screen and (max-width: 767px) {
  .en .programs article .stub span {
    font-size: 1rem
  }
}

.en .ticket {
  padding-top: 100px
}

.en .ticket dl {
  max-width: 670px;
  margin: 0 auto;
  margin-top: 2rem;
  padding-left: 20px;
  border-left: 4px solid #333;
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1
}

.en .ticket dl dt::after {
  content: ":"
}

.en .ticket dl dd+dt {
  margin-top: 2rem
}

.en .ticket .notice {
  max-width: 900px;
  margin: 120px auto;
  padding: 1rem;
  background: #efefef
}

.en .ticket .notice * {
  max-width: 670px;
  margin-right: auto;
  margin-left: auto
}

/* @media screen and (max-width: 540px) {
  .home .mv .mv-img-wrap {
    overflow: hidden
  }
}

.home .mv .mv-img-wrap::before {
  display: block;
  width: 100%;
  height: 0;
  content: ""
}

@media screen and (min-width: 541px) {
  .home .mv .mv-img-wrap::before {
    padding-top: 60%
  }
}

@media screen and (max-width: 540px) {
  .home .mv .mv-img-wrap::before {
    padding-top: 110%
  }
}

.home .mv .mv-img-wrap::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  content: ""
}

@media screen and (min-width: 416px) {
  .home .mv .mv-img .mv-img-01::after {
    background-image: url(/assets/img/home/mv01_pc.jpg)
  }
}

@media screen and (max-width: 540px) {
  .home .mv .mv-img .mv-img-01::after {
    background-image: url(/assets/img/home/mv01_sp@2x.jpg)
  }
}

@media screen and (min-width: 416px) {
  .home .mv .mv-img .mv-img-02::after {
    background-image: url(/assets/img/home/mv02_pc.jpg)
  }
}

@media screen and (max-width: 540px) {
  .home .mv .mv-img .mv-img-02::after {
    background-image: url(/assets/img/home/mv02_sp@2x.jpg)
  }
}

@media screen and (min-width: 416px) {
  .home .mv .mv-img .mv-img-03::after {
    background-image: url(/assets/img/home/mv03_pc.jpg)
  }
}

@media screen and (max-width: 540px) {
  .home .mv .mv-img .mv-img-03::after {
    background-image: url(/assets/img/home/mv03_sp@2x.jpg)
  }
}

.home .mv .mv-img .credit {
  z-index: 10;
  position: absolute;
  right: 0;
  bottom: 10px;
  margin: 0 5px;
  color: #fff;
  font-size: .75rem
}

@media screen and (max-width: 540px) {
  .home .mv .mv-img .credit {
    top: 10px;
    right: auto;
    bottom: auto;
    left: 10px;
    font-size: .5625rem
  }
}

@media screen and (max-width: 1200px) {
  .home .mv .mv-img .credit {
    bottom: 100px
  }
}

@media screen and (max-width: 540px) {
  .home .mv .mv-img .credit {
    bottom: 80px
  }
}

.home .mv .mv-logo {
  position: absolute;
  left: 50%;
  width: 102%;
  padding: 10px;
  transform: translate(-50%, -100%);
  background: rgba(255, 247, 242, .9)
}

.home .mv .inner {
  z-index: 2;
  position: absolute;
  bottom: 15px;
  left: 50%;
  width: 410px;
  transform: translateX(-50%)
}

.home .mv-cont {
  position: relative;
  width: 100%
}

.home .mv-cont::before {
  display: block;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 50%;
  width: 150vw;
  height: 100vw;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #fff;
  content: ""
}

@media screen and (max-width: 768px) {
  .home .mv-cont::before {
    width: 200vw
  }
}

.home .mv-cont a {
  display: block;
  position: absolute;
  right: 10px;
  bottom: 40px;
  width: 18.313953488%;
  max-width: 189px
}

.home .mv-cont a img {
  z-index: 1;
  position: relative
}

.home .mv-cont a::before {
  display: block;
  z-index: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(/assets/img/home/mv-cont-btn-bg.svg) no-repeat 0 0;
  background-size: contain;
  content: "";
  transition: all .5s ease
}

.home .mv-cont a:hover::before {
  transform: rotate(360deg)
}

@media screen and (max-width: 1000px) {
  .home .mv-cont a {
    bottom: 20px;
    width: 18.313953488%
  }
}

@media screen and (max-width: 768px) {
  .home .mv-cont {
    position: static;
    width: calc(100% + 32px);
    transform: none
  }

  .home .mv-cont a {
    top: 50%;
    bottom: auto;
    width: 27.61627907%;
    transform: translateY(-40%)
  }

  .home .mv-cont img {
    display: block;
    width: 280px;
    margin-right: auto;
    margin-left: auto
  }
}

.home .mv-btns {
  z-index: 99;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%)
}

.home .mv-btns a {
  position: relative;
  left: -200px;
  margin: 10px 0;
  color: #fff;
  font-weight: 700
}

@media screen and (max-width: 540px) {
  .home .mv-btns a {
    transform: translateX(-20px);
    font-size: .875rem
  }
}

.home .mv-btns a:hover {
  margin-left: 6px
}

.home .mv-btns-timetable {
  display: block;
  width: 180px;
  height: 80px;
  padding: 0 20px;
  border: 2px solid #4b5aa5;
  border-radius: 80px;
  background-color: #4b5aa5;
  line-height: 76px;
  text-align: right
}

.home .mv-btns-areamap {
  display: block;
  width: 180px;
  height: 80px;
  padding: 0 20px;
  border: 2px solid #0cc;
  border-radius: 80px;
  background-color: #0cc;
  line-height: 76px;
  text-align: right
}

@media screen and (max-width: 540px) {
  .home .mv-btns-areamap {
    width: 160px;
    height: 160px;
    transform: translateX(-80px) !important;
    line-height: inherit
  }

  .home .mv-btns-areamap span {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 10%;
    height: 100%;
    transform: translateY(-50%);
    text-align: center;
    writing-mode: vertical-rl
  }
}

.home .mv-btns-rp span {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 20%;
  height: 100%;
  transform: translateY(-50%);
  text-align: center;
  writing-mode: vertical-rl
}

@media screen and (max-width: 540px) {
  .home .mv-btns-rp span {
    right: 10%
  }
} */

/* .home-pickup {
  position: relative;
  padding-top: 100px;
  background-color: #faf7f2
}

@media screen and (max-width: 768px) {
  .home-pickup {
    padding-top: 30px
  }
}

.home-pickup .inner {
  z-index: 10;
  position: relative
}

.home-pickup::before {
  display: block;
  z-index: 0;
  position: absolute;
  top: 50%;
  left: 0;
  width: 834px;
  transform: translate(-30%, -50%);
  content: url(../img/home/bg-triangle01.svg)
}

@media screen and (max-width: 540px) {
  .home-pickup::before {
    top: 20%;
    right: 50%;
    left: auto;
    transform: translate(0, -50%)
  }
}

@media screen and (min-width: 768px) {
  .home-pickup::after {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/home/bg-topics.svg) no-repeat center center;
    content: ""
  }

  .en .home-pickup::after {
    background: url(../img/en/bg-topics.svg) no-repeat center center
  }
}

.home-pickup .pickup {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 800px;
  margin: 0 auto
}

@media screen and (max-width: 768px) {
  .home-pickup .pickup {
    flex-direction: column
  }
}

.home-pickup .pickup h2 {
  width: 6em;
  margin-right: 40px;
  font-weight: 700;
  font-size: 1.25rem
}

@media screen and (max-width: 768px) {
  .home-pickup .pickup h2 {
    margin-right: 0;
    margin-bottom: 1em
  }
}

.home-pickup .pickup h2 span {
  display: block;
  font-weight: 400;
  font-size: 1rem
}

.home-pickup .pickup-list {
  max-width: 640px
}

@media screen and (max-width: 768px) {
  .home-pickup .pickup-list {
    max-width: 100%
  }
}

.home-pickup .pickup-list li+li {
  margin-top: 20px
}

.home-pickup .pickup-list a {
  display: flex;
  align-items: center;
  color: #707070
}

@media screen and (max-width: 768px) {
  .home-pickup .pickup-list a {
    flex-wrap: wrap
  }
}

.home-pickup .pickup-list a:hover {
  color: #e95076
}

.home-pickup .pickup-list a:hover .category {
  border-color: #e95076
}

.home-pickup .pickup-list time {
  display: block;
  font-size: 1.125rem;
  white-space: nowrap
}

.home-pickup .pickup-list .category {
  display: block;
  width: 98px;
  height: 22px;
  margin-right: 24px;
  margin-left: 30px;
  border: 1px solid #707070;
  border-radius: 11px;
  font-size: .875rem;
  line-height: 20px;
  text-align: center
}

.home-pickup .pickup-list p {
  flex: 1;
  font-size: 1.125rem
}

@media screen and (max-width: 768px) {
  .home-pickup .pickup-list p {
    flex: inherit;
    width: 100%
  }
}

.home-pickup .pickup-list p span {
  display: block;
  max-width: 400px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap
}

.home-pickup .logo-kofes {
  width: 300px;
  margin: 70px auto 0;
  padding-bottom: 70px
}

@media screen and (max-width: 540px) {
  .home-pickup .logo-kofes {
    width: 200px
  }
}

.home-pickup .lead p {
  max-width: 670px;
  margin: 0 auto;
  line-height: 2
}

.home-pickup .btn-wrap {
  padding-bottom: 120px
}

.home .eps {
  position: relative
}

.home .eps::before {
  display: block;
  position: absolute;
  top: -138px;
  right: 0;
  width: 0;
  height: 0;
  border-width: 0 0 138px 266px;
  border-style: solid;
  border-color: transparent transparent #ff98b2 transparent;
  content: ""
}

.home .eps::after {
  display: block;
  position: absolute;
  bottom: -138px;
  left: 0;
  width: 0;
  height: 0;
  border-width: 138px 266px 0 0;
  border-style: solid;
  border-color: #ff98b2 transparent transparent transparent;
  content: ""
}

.home .eps .inner {
  display: flex;
  position: relative;
  align-items: center
}

@media screen and (max-width: 540px) {
  .home .eps .inner {
    flex-direction: column;
    padding: 0
  }
}

.home .eps-txt {
  position: absolute;
  width: 470px;
  padding: 20px 40px;
  background-color: rgba(255, 255, 255, .9)
}

@media screen and (max-width: 540px) {
  .home .eps-txt {
    position: static;
    width: 100%;
    padding: 30px 20px;
    background-color: inherit;
    color: #fff
  }

  .home .eps-txt .btn-wrap {
    text-align: center
  }
}

.home .eps-kiyozuka {
  background-color: #bea064
}

.home .eps-program {
  background-color: #4b5aa5
}

.home .eps-program .inner {
  flex-direction: row-reverse
}

@media screen and (max-width: 540px) {
  .home .eps-program .inner {
    flex-direction: column
  }
}

.home .eps-program .eps-txt {
  left: -30px
}

.home .eps-artist {
  background-color: #bf5078
}

.home .eps-kiyozuka .eps-txt,
.home .eps-artist .eps-txt {
  right: -30px
}

.home .access {
  position: relative;
  padding-top: 100px;
  padding-bottom: 200px;
  overflow: hidden
}

.home .access .access-img {
  margin-bottom: 2rem
}

.home .access .access-txt {
  max-width: 780px;
  margin-right: auto;
  margin-left: auto
}

@media screen and (max-width: 540px) {
  .home .access {
    padding-top: 50px;
    padding-bottom: 100px
  }
}

.home .access::before {
  display: block;
  z-index: 1;
  position: absolute;
  top: 60%;
  left: -30%;
  width: 834px;
  transform: translateY(-50%);
  content: url(../img/home/bg-triangle01.svg)
}

@media screen and (max-width: 540px) {
  .home .access::before {
    right: 50%;
    left: auto
  }
}

.home .access::after {
  display: block;
  z-index: 1;
  position: absolute;
  top: -15%;
  right: -30%;
  width: 834px;
  transform: scale(-1, 1);
  content: url(../img/home/bg-triangle01.svg)
}

@media screen and (max-width: 540px) {
  .home .access::after {
    right: auto;
    left: 50%
  }
}

.home .access .inner * {
  z-index: 10;
  position: relative
}

@media screen and (min-width: 768px) {
  .home .access .inner::after {
    display: block;
    z-index: 3;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/home/bg-access01.svg) no-repeat center center;
    content: ""
  }
}

.home .access .ttl-sec {
  margin-top: 140px;
  margin-bottom: 70px
}

@media screen and (max-width: 540px) {
  .home .access .ttl-sec {
    margin-top: 70px;
    margin-bottom: 20px
  }
}

.home .access .main-venue {
  font-weight: 700
}

.home .access .main-venue dt::after {
  content: "��"
}

@media screen and (max-width: 540px) {
  .home .access .main-venue {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px auto
  }
}

.home .access-train h3 {
  color: #707070
}

.home .list-palytag.hide li:nth-child(n+8) {
  display: none
}

#rp {
  display: none
} */

.rp-content {
  padding: 100px 50px;
  background-color: #e95076;
  color: #fff
}

@media screen and (max-width: 540px) {
  .rp-content {
    padding: 30px 20px
  }
}

.rp-content-header {
  display: flex;
  align-items: center
}

@media screen and (max-width: 540px) {
  .rp-content-header {
    flex-direction: column
  }

  .rp-content-header-title {
    width: 50%;
    margin: 0 auto 20px
  }
}

.rp-content-header p {
  margin-left: 20px;
  font-weight: 700;
  font-size: 1.25rem
}

@media screen and (max-width: 540px) {
  .rp-content-header p {
    font-size: 1rem
  }
}

.rp-content-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 1000px;
  margin: 0 auto
}

@media screen and (max-width: 540px) {
  .rp-content-list {
    flex-direction: column;
    flex-wrap: inherit;
    width: 100%
  }
}

.rp-content-list li {
  width: 320px;
  margin-top: 80px
}

@media screen and (max-width: 540px) {
  .rp-content-list li {
    width: 100%;
    margin-top: 40px
  }
}

.rp-content-list figure img {
  margin-bottom: 20px;
  overflow: hidden;
  border-radius: 8px
}

.rp-content-list-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 10px
}

.rp-content a {
  display: block;
  color: #fff;
  font-weight: 700
}

.rp-content a:hover {
  transform: translateY(-6px)
}

.rp-content .mdl-close {
  border-color: #fff;
  background-color: #fff;
  color: #e95076 !important;
  cursor: pointer
}

.rp-content .mdl-close:hover {
  background-color: #e95076 !important;
  color: #fff !important
}

#loader-bg {
  display: none;
  z-index: 10000;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100vw;
  height: 100vh;
  background-color: #fff
}

#loader {
  display: none;
  z-index: 10001;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 240px;
  transform: translate(-50%, -50%);
  text-align: center
}

#loader-circle {
  display: flex;
  justify-content: center;
  margin-top: 30px
}

#loader-circle span {
  display: block;
  width: 12px;
  height: 12px;
  margin: 0 4px;
  border-radius: 50%
}

#loader-circle #ld-01 {
  background-color: #be5078
}

#loader-circle #ld-02 {
  background-color: #413c3c
}

#loader-circle #ld-03 {
  background-color: #37919b
}

#loader-circle #ld-04 {
  background-color: #be5078
}

#loader-circle #ld-05 {
  background-color: #4b5aa5
}

#loader-circle #ld-06 {
  background-color: #bea064
}

#loader-circle #ld-07 {
  background-color: #413c3c
}

#loader-circle #ld-08 {
  background-color: #37919b
}

#loader-circle #ld-09 {
  background-color: #be5078
}

#loader-circle #ld-10 {
  background-color: #413c3c
}

#loader-circle #ld-11 {
  background-color: #4b5aa5
}

.about {
  .kv {
    margin: 120px auto 90px;
    text-align: center
  }


}

@media screen and (max-width: 540px) {
  .about .kv {
    margin: 50px auto
  }
}

.about .kv img {
  width: 100%;
  max-width: 640px;
  margin: 0 auto
}

.about .lead {
  color: #e95076
}

@media screen and (max-width: 540px) {
  .about .lead {
    text-align: left
  }

  .about .lead br {
    display: none
  }
}

.about .round-box figure img {
  width: 200px;
  margin: 0 auto
}

.about .overview-data {
  font-size: 1.125rem
}

.about .overview-data .external {
  display: block;
  color: #9e9e9e;
  text-align: center
}

@media screen and (max-width: 767px) {
  .about .overview-data .external {
    font-size: .8125rem
  }
}

.about .overview-data .external::after {
  opacity: .5
}

.about .overview-data dd {
  font-weight: 700;
  line-height: 1.3
}

.about .overview-data dd a {
  font-weight: 400
}

@media screen and (max-width: 540px) {
  .about .overview-data dd {
    font-size: .9375rem
  }

  .about .overview-data dd a {
    font-size: 1.125rem
  }
}

.about .overview-data.float {
  display: flex;
  justify-content: center
}

@media screen and (max-width: 540px) {
  .about .overview-data.float {
    flex-direction: column
  }
}

.about .overview-data.float dt {
  margin-right: 1em
}

.about .overview-data.column dd+dt {
  margin-top: 2em
}

.about .overview-data dt {
  margin-bottom: 1rem;
  color: #9e9e9e;
  font-weight: 700;
  font-size: .875rem;
  line-height: 1.2
}

.about-venue {
  display: flex;
  /* justify-content: center; */
  text-align: center;
  flex-wrap: wrap;
  gap: 28px;

  @media (width &lt; 540px) {
    gap: 14px;
  }
}

@media screen and (max-width: 540px) {
  .about-venue {
    li {
      width: 47%;
    }

    /* flex-direction: column */
  }

  .about-venue img {
    width: 100%;
    max-width: 100%;
    margin: 0
  }
}

.about-venue&gt;* {
  /* margin: 0 14px */
}

@media screen and (max-width: 540px) {
  .about-venue&gt;* {
    margin-bottom: 40px
  }
}

.about-venue figcaption {
  margin-top: 1em;
  color: #707070;
  font-weight: 700;
  font-size: .875em
}

.privacy-policy main section {
  color: #707070
}

.privacy-policy main .ttl-policy {
  margin-bottom: 40px;
  padding: 10px;
  border-radius: 4px;
  background-color: #456a83;
  color: #fff;
  font-weight: 700;
  font-size: 1.25rem;
  text-align: center
}

.privacy-policy main h2 {
  margin-top: 2em;
  font-size: 1.125rem
}

.privacy-policy main h3 {
  margin-top: 1em;
  font-size: 1rem
}

.privacy-policy main p {
  margin: 1em 0;
  text-indent: 0
}

.privacy-policy main ul {
  list-style-type: disc
}

.privacy-policy main ul li {
  text-indent: 0
}

.privacy-policy main ol {
  padding-left: 30px
}

.privacy-policy main ol&gt;li {
  margin: .5em 0;
  text-indent: 0
}

.privacy-policy main .type-i1 {
  padding: 0;
  list-style: none;
  counter-reset: counter
}

.privacy-policy main .type-i1&gt;li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 1.5em;
  text-indent: -1.5em
}

.privacy-policy main .type-i1&gt;li::before {
  content: "I-" counter(counter) ". ";
  counter-increment: counter
}

.privacy-policy main .type-ii1 {
  padding: 0;
  list-style: none;
  counter-reset: counter
}

.privacy-policy main .type-ii1&gt;li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 1.5em;
  text-indent: -1.5em
}

.privacy-policy main .type-ii1&gt;li::before {
  content: "II-" counter(counter) ". ";
  counter-increment: counter
}

.privacy-policy main .type-brackets {
  padding: 0;
  list-style: none;
  counter-reset: counter
}

.privacy-policy main .type-brackets&gt;li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 2.5em;
  text-indent: -2.5em
}

.privacy-policy main .type-brackets&gt;li::before {
  content: "��" counter(counter) "�� ";
  counter-increment: counter
}

.access-cont {
  display: flex;
  flex-direction: row-reverse
}

.access-cont-right {
  width: 50%
}

.access-cont-left h2 {
  margin-top: 2rem;
  font-weight: 500;
}

@media screen and (max-width: 540px) {
  .access-cont-right {
    width: 100%;
    margin-bottom: 10px
  }
}

@media screen and (max-width: 540px) {
  .access-cont {
    flex-direction: column
  }

  .access-cont-center h2 {
    margin-top: 56px;
    font-size: 1.125rem
  }
}

.access .round-wrap {
  padding-block-start: 70px;
}

.access .location-name {
  display: flex;
  flex-direction: column;
  align-items: flex-start;

  dt {
    border: 1px solid #333;
    border-bottom: none;
    padding: 0.5rem 1rem;
    font-weight: 500;
  }
}

@media screen and (max-width: 540px) {
  .access .location-name {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px auto
  }
}

.access-route {
  margin-top: 90px;
  background-color: #fff
}

.access-route-title {
  padding: 10px;
  transform: translateY(-50%);
  background-color: #333;
  color: #fff;
  text-align: center
}

@media screen and (max-width: 540px) {
  .access-route-title {
    font-size: 1.125rem
  }
}

.access-route-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 20px;
  padding: 0;
  list-style: none;
  counter-reset: my-counter
}

.access-route-list::before,
.access-route-list::after {
  display: block;
  order: 1;
  width: 210px;
  height: 0;
  content: ""
}

@media screen and (max-width: 540px) {

  .access-route-list::before,
  .access-route-list::after {
    width: 100%;
    content: none
  }
}

.access-route-list li {
  position: relative;
  width: 210px;
  margin-bottom: 60px
}

@media screen and (max-width: 540px) {
  .access-route-list li {
    width: 100%;
    margin-bottom: 30px
  }
}

.access-route-list li::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #333;
  content: counter(my-counter);
  color: #fff;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 30px;
  font-family: "Roboto";
  text-align: center;
  counter-increment: my-counter
}

.access-route-list figcaption {
  margin-top: 10px;
  font-weight: 700;
  font-size: .75rem
}

/* .artist-search {
  margin-bottom: 50px
} */

/* .artist-search-box {
  margin-bottom: 4px;
  background-color: #fff
} */


/* .artist-search-cont {
  position: relative;
  padding: 10px
}

.artist-search-cont .btn-wrap {
  position: absolute;
  top: 2px;
  left: 2px
}

.artist-search-cont-preschool {
  display: flex;
  position: absolute;
  top: 10px;
  left: 50%;
  align-items: center;
  width: 50%
}

.artist-search-cont-preschool label {
  display: flex;
  align-items: center;
  line-height: 1
}

.artist-search-cont-preschool label+label {
  margin-left: 10px
}

.artist-search-cont-preschool input {
  display: none
}

.artist-search-cont-preschool input:checked+.input-outer .input-inner {
  background-color: #e95076
}

.artist-search-cont-preschool .input-outer {
  display: block;
  width: 20px;
  height: 20px;
  margin-right: 5px;
  padding: 3px;
  border: 2px solid #e95076;
  border-radius: 50%
}

.artist-search-cont-preschool .input-inner {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%
}

.artist-search-cont-schedule-list {
  display: flex;
  justify-content: space-around;
  margin: 10px 0
}

.artist-search-cont-schedule-list li {
  display: flex;
  position: relative;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  height: 72px;
  margin: 0 5px;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 2px 2px rgba(0, 0, 0, .16);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  transition: all .2 ease;
  transition: all .3s ease
}

.artist-search-cont-schedule-list li#day-all {
  color: #ff8da9
}

.artist-search-cont-schedule-list li#day-all.selected,
.artist-search-cont-schedule-list li#day-all:hover {
  background-color: #ff8da9
}

.artist-search-cont-schedule-list li#day-1 {
  color: #37919b
}

.artist-search-cont-schedule-list li#day-1.selected,
.artist-search-cont-schedule-list li#day-1:hover {
  background-color: #37919b
}

.artist-search-cont-schedule-list li#day-2 {
  color: #be5078
}

.artist-search-cont-schedule-list li#day-2.selected,
.artist-search-cont-schedule-list li#day-2:hover {
  background-color: #be5078
}

.artist-search-cont-schedule-list li#day-3 {
  color: #bea064
}

.artist-search-cont-schedule-list li#day-3.selected,
.artist-search-cont-schedule-list li#day-3:hover {
  background-color: #bea064
}

.artist-search-cont-schedule-list li#day-4 {
  color: #4b5aa5
}

.artist-search-cont-schedule-list li#day-4.selected,
.artist-search-cont-schedule-list li#day-4:hover {
  background-color: #4b5aa5
}

.artist-search-cont-schedule-list li#day-5 {
  color: #e6b313
}

.artist-search-cont-schedule-list li#day-5.selected,
.artist-search-cont-schedule-list li#day-5:hover {
  background-color: #e6b313
}

.artist-search-cont-schedule-list li.selected {
  top: 2px;
  left: 2px;
  box-shadow: 0 0 rgba(0, 0, 0, .16);
  color: #fff !important
}

.artist-search-cont-schedule-list li:hover {
  color: #fff !important
}

.artist-search-cont-schedule-list li .date {
  margin-top: 5px;
  font-size: 1.25rem
}

.artist-search-cont-pulldown {
  width: 100%;
  max-width: 350px;
  margin: 0 auto
}

.artist-search-cont-pulldown&gt;.selected {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 40px;
  margin: 0 auto;
  padding: 10px;
  color: #b6b8bf;
  font-size: .875rem;
  cursor: pointer
}

.artist-search-cont-pulldown&gt;.selected:hover {
  background-color: #f9f9f9
}

.artist-search-cont-pulldown&gt;.selected::after {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 2px;
  background: #ebebeb url(../img/program/ico-arrow-location.svg) no-repeat center center;
  content: ""
}

.artist-search-cont-pulldown&gt;.selected::before {
  content: url(../img/program/ico-search-location.svg)
}

.artist-search-cont-pulldown-list {
  font-size: .75rem;
}

.artist-search-cont-pulldown-list.open {
  display: block
}

.artist-search-cont-pulldown-list li {
  margin: 1em 0;
  cursor: pointer
} */

.type-location .artist-search-cont-pulldown-list li:hover,
.type-location .artist-search-cont-pulldown-list li.selected {
  color: #e95076
}

.type-age .artist-search-cont-pulldown-list li:hover,
.type-age .artist-search-cont-pulldown-list li.selected {
  color: #0cc
}

.artist-search-name {
  margin-right: 20px;
  margin-left: 14px;
  color: #333;
  font-weight: 700
}

.artist-list {
  margin-top: 50px;

  /* margin-right: -20px;
  margin-left: -20px */
  @media screen and (width &lt; 768px) {
    margin-top: 20px;
  }
}

.artist-list .item {
  display: block;
  z-index: 1;
  position: absolute;
  width: 220px;
  margin: 0 18px 48px;
  text-align: center;
  /* opacity: 0; */
  transition: all .2s ease;
}

@media screen and (max-width: 540px) {
  .artist-list .item {
    width: calc(50% - 22px);
    margin: 0 10px 30px
  }
}

.artist-list figure {
  position: relative;
  margin-bottom: 25px;
  overflow: hidden;
  border-radius: 16px;
}

.artist-list figure img {
  width: 220px;
  height: 220px;
  object-fit: cover
}

@media screen and (max-width: 540px) {
  .artist-list figure img {
    width: 40vw;
    height: 40vw
  }
}

@media screen and (max-width: 540px) {
  .artist-list figure {
    margin-bottom: 20px
  }
}

.artist-list figure figcaption,
.topics-list figure figcaption,
.kv figcaption {
  width: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  color: #fff;
  font-size: .625rem;
  text-align: right;
  padding: 20px 10px 10px;
  background: rgb(0, 0, 0);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
}

.artist-list .artist-genre {
  height: 24px;
  color: #3f3c3c;
  font-size: .875rem;
  display: flex;
  justify-content: center;
  gap: 0.5rem;

  span {
    border: 1px solid #333;
    border-radius: 4px;
    padding: 2px 10px;
    line-height: 1;
    display: inline-flex;
    height: 100%;
    align-items: center;

  }
}

/* .artist-list .artist-genre span+span::before {
  content: "縲"
} */

.artist-list .artist-name {
  height: 45px;
  margin-top: 5px;
  font-weight: 500;
  line-height: 1.3
}

.artist.single .kv {
  position: absolute;
  top: 0;
  max-width: 364px;
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  border: 2px solid #333;

  @media screen and (width &lt; 768px) {
    position: static;
    width: 66.6667vw;
    margin-inline: auto;
  }

  figure {
    position: relative;
  }

  figcaption {
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: right;
    padding: 10px 1rem;
    color: #fff;
    font-size: .75rem;
    width: 100%;
    line-height: 1;
    background: rgb(0, 0, 0);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
  }
}


@media screen and (max-width: 540px) {
  .artist.single .kv img {
    max-width: 100%;
    max-height: 100%
  }
}


.artist-info {
  position: relative;
  padding-top: 85px;

  @media screen and (width &lt; 768px) {
    padding-top: 0;
  }
}

.artist.single .artist-info-texts {
  padding: 70px 70px 70px 210px;
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 4px;
  margin: 0 0 0 190px;

  @media screen and (width &lt; 768px) {
    margin: -160px 0 0;
    padding: 180px 1rem 1rem;
  }

}

.artist.single .artist-genre {
  color: #333;
  font-size: .75rem;
  display: flex;
  gap: 0.25rem 0.5rem;
  margin-bottom: 1rem;

  span {
    height: 22px;
    border: 1px solid #333;
    border-radius: 4px;
    line-height: 1;
    display: inline-flex;
    height: 100%;
    align-items: center;
    padding: 4px 0.5rem;
  }

}

.artist.single .artist-name {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #707070;
}

.artist.single .artist-name span {
  line-height: 1;

}

.artist.single .artist-name .ja {
  font-weight: 500;
  font-size: clamp(1.125rem, 1.068rem + 0.24vw, 1.25rem);
  border-right: 2px solid #333;
  padding-right: 1rem;
}

.artist.single .artist-name .en {
  font-weight: 500;
  font-size: clamp(0.875rem, 0.818rem + 0.24vw, 1rem);
  text-transform: uppercase;
}

.artist.single .artist-profile {
  margin-top: 1.5em;
  font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
}

/* .program-search,
.artist-search {
  margin-top: 50px
} */

@media screen and (max-width: 768px) {

  .program-search,
  .artist-search {
    z-index: 99;
    margin-top: 20px;
    margin-right: -16px;
    margin-left: -16px;
    padding: 10px 16px;
  }
}

.program-search-box,
.artist-search-box {
  max-width: 934px;
  margin-inline: auto;
  margin-bottom: 1rem;
  background-color: #fff;
  border: 2px solid #d4d4d4;
  border-radius: 20px;

  @media screen and (width &lt; 768px) {
    border-radius: 10px;
    padding: 0 2.6667vw;
  }

  .program-search-title,
  .artist-search-title {
    font-size: clamp(0.75rem, 0.636rem + 0.48vw, 1rem);
    font-weight: 500;
    line-height: 1;
    padding: 1.5rem 4.5%;
    position: relative;

    @media screen and (width &lt; 768px) {
      padding: 0.75rem 0;
    }

    span {
      display: inline-block;
      border-left: 4px solid #707070;
      padding-inline-start: 1%;
    }
  }

  summary {

    &amp;::before,
    &amp;::after {
      content: '';
      display: block;
      width: 12px;
      height: 2px;
      background-color: #707070;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto 2.5% auto auto;
    }

    &amp;::before {
      rotate: 90deg;
    }
  }

  &amp;[open] {
    summary {
      &amp;::before {
        rotate: 0deg;
      }
    }
  }
}

.program-search-cont,
.artist-search-cont {
  @media screen and (768px &lt;=width) {
    padding: 0 4.5%;
  }

}

.program-search-cont .btn-wrap,
.artist-search-cont .btn-wrap {
  position: absolute;
  top: 2px;
  left: 2px
}

@media screen and (max-width: 768px) {

  .program-search-cont .btn-wrap,
  .artist-search-cont .btn-wrap {
    top: auto;
    bottom: 10px;
    left: 50%;
    width: 80%;
    padding: 0;
    transform: translateX(-50%)
  }

  .program-search-cont .btn-wrap span,
  .artist-search-cont .btn-wrap span {
    line-height: 2
  }
}

.program-search-cont-preschool,
.artist-search-cont-preschool {
  display: flex;
  position: absolute;
  top: 10px;
  left: 50%;
  align-items: center;
  width: 50%
}

@media screen and (max-width: 540px) {

  .program-search-cont-preschool,
  .artist-search-cont-preschool {
    position: static;
    width: 100%;
    margin-bottom: 20px
  }
}

.program-search-cont-preschool label,
.artist-search-cont-preschool label {
  display: flex;
  align-items: center;
  line-height: 1
}

.program-search-cont-preschool label+label,
.artist-search-cont-preschool label+label {
  margin-left: 10px
}

.program-search-cont-preschool input,
.artist-search-cont-preschool input {
  display: none
}

.program-search-cont-preschool input:checked+.input-outer .input-inner,
.artist-search-cont-preschool input:checked+.input-outer .input-inner {
  background-color: #e95076
}

.program-search-cont-preschool .input-outer,
.artist-search-cont-preschool .input-outer {
  display: block;
  width: 20px;
  height: 20px;
  margin-right: 5px;
  padding: 3px;
  border: 2px solid #e95076;
  border-radius: 50%
}

.program-search-cont-preschool .input-inner,
.artist-search-cont-preschool .input-inner {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%
}

.program-search-cont-schedule,
.artist-search-cont-schedule {
  overflow-x: auto
}

.program-search-cont-schedule-list {
  display: flex;
  justify-content: center;
  margin: -1rem 0 1rem;
  flex-wrap: wrap;

  @media screen and (width &lt; 540px) {
    margin: -.25rem 0 .5rem;
  }

  .day {
    font-size: clamp(0.75rem, 0.636rem + 0.48vw, 1rem);
  }

  .date {
    margin-block-start: 0.5em;
    font-size: clamp(0.75rem, 0.58rem + 0.73vw, 1.125rem);
  }
}

.program-search-cont-schedule-list li {
  border-width: 1px;
  border-style: solid;
  display: flex;
  position: relative;
  flex: 1;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  height: 72px;
  padding: 0.5em 0 0.75em;
  margin: 5px;
  border-radius: 10px;
  background-color: #eee;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  transition: all .3s ease;

  @media screen and (width &lt; 540px) {
    height: auto;
    margin: 3px;
  }

  &amp;.selected {
    cursor: default;
  }
}

@media screen and (max-width: 540px) {

  .program-search-cont-schedule-list li {
    flex: inherit;
    width: calc((100% - 18px) / 3);
  }
}

.program-search-cont-schedule-list li.day-all {
  color: #ff8da9;
  border-color: #ff8da9;
}

.program-search-cont-schedule-list li.day-all.selected,
.program-search-cont-schedule-list li.day-all:hover {
  background-color: #ff8da9
}

.program-search-cont-schedule-list li#day-1,
.artist-search-cont-schedule-list li#day-1 {
  color: #37919b
}

.program-search-cont-schedule-list li#day-1.selected,
.program-search-cont-schedule-list li#day-1:hover,
.artist-search-cont-schedule-list li#day-1.selected,
.artist-search-cont-schedule-list li#day-1:hover {
  background-color: #37919b
}

.program-search-cont-schedule-list li#day-2,
.artist-search-cont-schedule-list li#day-2 {
  color: #be5078
}

.program-search-cont-schedule-list li#day-2.selected,
.program-search-cont-schedule-list li#day-2:hover,
.artist-search-cont-schedule-list li#day-2.selected,
.artist-search-cont-schedule-list li#day-2:hover {
  background-color: #be5078
}

.program-search-cont-schedule-list li#day-3,
.artist-search-cont-schedule-list li#day-3 {
  color: #e06421
}

.program-search-cont-schedule-list li#day-3.selected,
.program-search-cont-schedule-list li#day-3:hover,
.artist-search-cont-schedule-list li#day-3.selected,
.artist-search-cont-schedule-list li#day-3:hover {
  background-color: #e06421
}

.program-search-cont-schedule-list li#day-4,
.artist-search-cont-schedule-list li#day-4 {
  color: #4b5aa5
}

.program-search-cont-schedule-list li#day-4.selected,
.program-search-cont-schedule-list li#day-4:hover,
.artist-search-cont-schedule-list li#day-4.selected,
.artist-search-cont-schedule-list li#day-4:hover {
  background-color: #4b5aa5
}

.program-search-cont-schedule-list li#day-5,
.artist-search-cont-schedule-list li#day-5 {
  color: #e6b313
}

.program-search-cont-schedule-list li#day-5.selected,
.program-search-cont-schedule-list li#day-5:hover,
.artist-search-cont-schedule-list li#day-5.selected,
.artist-search-cont-schedule-list li#day-5:hover {
  background-color: #e6b313
}

.program-search-cont-schedule-list li.selected {
  color: #fff !important
}

.program-search-cont-schedule-list li:hover {
  color: #fff !important
}

.program-search-cont-pulldown {
  width: 100%;
}

.program-search-cont-pulldown-list,
.artist-search-cont-pulldown-list,
.topics-search-cont-pulldown-list {
  margin-block: -1rem 1rem;
  display: flex;
  flex-wrap: wrap;

  /* gap: 10px; */
  @media screen and (width &lt; 540px) {
    margin: -.25rem 0 .5rem;
  }

  li {
    background-color: #eee;
    border-radius: 10px;
    color: #707070;
    font-size: 0.75rem;
    padding: 0.5rem 1rem;
    margin: 5px;
    cursor: pointer;

    @media screen and (width &lt; 768px) {
      padding: 0.25rem 0.5rem;
      border-radius: 4px;
    }

    &amp;.selected {
      cursor: default;
      background-color: #707070;
      color: #fff;
    }
  }
}

/* .program-search-cont-pulldown&gt;.selected,
.artist-search-cont-pulldown&gt;.selected {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 40px;
  margin: 0 auto;
  padding: 10px;
  color: #b6b8bf;
  font-size: .875rem;
  cursor: pointer
}

.program-search-cont-pulldown&gt;.selected:hover,
.artist-search-cont-pulldown&gt;.selected:hover {
  background-color: #f9f9f9
}

.program-search-cont-pulldown&gt;.selected::after,
.artist-search-cont-pulldown&gt;.selected::after {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 2px;
  content: ""
}

.type-location .program-search-cont-pulldown&gt;.selected::before,
.type-location .artist-search-cont-pulldown&gt;.selected::before {
  content: url(../img/program/ico-search-location.svg)
}

.type-location .program-search-cont-pulldown&gt;.selected::after,
.type-location .artist-search-cont-pulldown&gt;.selected::after {
  background: #ebebeb url(../img/program/ico-arrow-location.svg) no-repeat center center
}

.type-age .program-search-cont-pulldown&gt;.selected::before,
.type-age .artist-search-cont-pulldown&gt;.selected::before {
  content: url(../img/program/ico-search-age.svg)
}

.type-age .program-search-cont-pulldown&gt;.selected::after,
.type-age .artist-search-cont-pulldown&gt;.selected::after {
  background: #ebebeb url(../img/program/ico-arrow-age.svg) no-repeat center center
}
 */


.program.single {
  .program-label {
    display: flex;
    justify-content: space-between;

    .live {
      max-width: 328px;
      width: 100%;

      a {
        width: 100%;
        font-size: 0.875rem;
        font-weight: 500;
        border: 2px solid #333;
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0.25rem 1rem;
        line-height: 1;

        &amp;::before {
          content: '';
          display: block;
          width: 17px;
          height: 21px;
          background: url('../img/common/ico-live.svg') no-repeat center center;
          background-size: contain;
          margin-right: 10px;
        }
      }

      &amp;.pay {

        a {
          background-color: #ffe719;

          &amp;::after {
            content: '�域怏譁呻ｼ�'
          }
        }
      }

      &amp;.free {

        a {
          background-color: #95dbff;

          &amp;::after {
            content: '�育┌譁呻ｼ�'
          }
        }
      }
    }
  }

  .kv-wrap {
    position: relative;
    margin-block: 1rem 2rem;

    .recommended-age {
      position: absolute;
      top: 1rem;
      right: 1rem;
      background-color: rgba(51, 51, 51, .9);
      border-radius: 30px;
      display: flex;
      line-height: 1;
      align-items: center;
      gap: 10px;
      border-radius: 30px;
      padding: 0.5rem 1rem;
      color: #fff;

      dt {
        font-size: 0.625rem;
      }

      dd {
        font-size: 0.75rem;
        font-weight: 500;
      }


    }
  }
}

.program.single .kv,
.plan.single .kv {
  position: relative;
  min-height: 50px;
  margin-bottom: 50px;
}

.program.single .kv figcaption,
.plan.single .kv figcaption {
  position: absolute;
  right: 10px;
  bottom: -1.5rem;
  color: #9e9e9e;
  font-size: .6875rem;
  text-align: right
}

.program.single .program-title,
.plan.single .program-title {
  display: flex;
  align-items: flex-start;
  margin-top: 25px
}

.program.single .program-title::before,
.plan.single .program-title::before {
  display: block;
  width: 26px;
  height: 97px;
  margin-right: 15px;
  background: url(../img/program/ico-ttl-detail.svg) no-repeat 0 0;
  background-size: contain;
  content: ""
}

.program.single .program-title-txt-sub,
.plan.single .program-title-txt-sub {
  font-size: 1.125rem
}

@media screen and (max-width: 540px) {

  .program.single .program-title-txt-sub,
  .plan.single .program-title-txt-sub {
    font-size: .875rem
  }
}

.program.single .program-title-txt-main,
.plan.single .program-title-txt-main {
  font-size: 1.375rem
}

@media screen and (max-width: 540px) {

  .program.single .program-title-txt-main,
  .plan.single .program-title-txt-main {
    font-size: 1rem
  }
}

.program.single .lead,
.plan.single .lead {
  margin-block: 30px 40px;
}

@media screen and (max-width: 540px) {

  .program.single .lead,
  .plan.single .lead {
    font-size: .875rem
  }

  /* .program-detail-info {
    margin-right: -16px;
    margin-left: -16px
  } */
}

.program.single .program-detail-info,
.plan.single .program-detail-info {
  margin-top: 40px;
}

.program.single .program-detail-info dl,
.plan.single .program-detail-info dl {
  display: flex;
  align-items: flex-start;
  margin: 2px 0;

  &amp;+dl {
    border-top: 1px solid #d4d4d4;
  }
}

@media screen and (max-width: 540px) {

  .program.single .program-detail-info dl,
  .plan.single .program-detail-info dl {
    flex-wrap: wrap
  }
}

/* .program.single .program-detail-info dl.admission-age,
.program.single .program-detail-info dl.recommended-age,
.plan.single .program-detail-info dl.admission-age,
.plan.single .program-detail-info dl.recommended-age {
  color: #fff
}

@media screen and (max-width: 540px) {

  .program.single .program-detail-info dl.admission-age dt,
  .program.single .program-detail-info dl.recommended-age dt,
  .plan.single .program-detail-info dl.admission-age dt,
  .plan.single .program-detail-info dl.recommended-age dt,
  .program.single .program-detail-info dl.live dt,
  .plan.single .program-detail-info dl.live dt {
    width: 140px
  }
}

.program.single .program-detail-info dl.admission-age dd,
.program.single .program-detail-info dl.recommended-age dd,
.plan.single .program-detail-info dl.admission-age dd,
.plan.single .program-detail-info dl.recommended-age dd {
  font-weight: 700px
}

.program.single .program-detail-info dl.admission-age,
.plan.single .program-detail-info dl.admission-age {
  background-color: #e95076
}

.program.single .program-detail-info dl.admission-age dt::before,
.plan.single .program-detail-info dl.admission-age dt::before {
  background-image: url(../img/program/ico-accessible.svg);
  background-size: 24px 24px
}

.program.single .program-detail-info dl.recommended-age,
.plan.single .program-detail-info dl.recommended-age {
  background-color: #0cc
}

.program.single .program-detail-info dl.recommended-age dt::before,
.plan.single .program-detail-info dl.recommended-age dt::before {
  background-image: url(../img/program/ico-star.svg);
  background-size: 18px 18px
} */

.program.single .program-detail-info dl.live,
.plan.single .program-detail-info dl.live {
  background-color: gray;
  color: #fff
}

.program.single .program-detail-info dl.live a,
.plan.single .program-detail-info dl.live a {
  color: #ff0;
  font-weight: 700;
  font-size: 1.125rem
}

.program.single .program-detail-info dl.live dt::before,
.plan.single .program-detail-info dl.live dt::before {
  background-image: url(../img/program/ico-live.svg);
  background-size: 17px 21px
}

.program.single .program-detail-info dl.date-time dt.date::before,
.plan.single .program-detail-info dl.date-time dt.date::before {
  background-image: url(../img/program/ico-calendar.svg);
  background-size: 18px 18px
}

.program.single .program-detail-info dl.date-time dt.time::before,
.plan.single .program-detail-info dl.date-time dt.time::before {
  background-image: url(../img/program/ico-time.svg);
  background-size: 16px 16px
}

.program.single .program-detail-info dl.location dt::before,
.plan.single .program-detail-info dl.location dt::before {
  background-image: url(../img/program/ico-location.svg);
  background-size: 14px 19px
}

.program.single .program-detail-info dl.contents dt::before,
.plan.single .program-detail-info dl.contents dt::before {
  background-image: url(../img/program/ico-file.svg);
  background-size: 16px 18px
}

.program.single .program-detail-info dl.performers dt::before,
.plan.single .program-detail-info dl.performers dt::before {
  background-image: url(../img/program/ico-performer.svg);
  background-size: 16px 16px
}

.program.single .program-detail-info dl.performers dd {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1rem;
  justify-content: flex-start;

  .others {
    width: 100%;
  }
}

/* .program.single .program-detail-info dl.performers dd a {
  display: inline-block;
} */

.program.single .program-detail-info dl.performers dd a span+span::before,
.plan.single .program-detail-info dl.performers dd a span+span::before {
  content: ", "
}

.program.single .program-detail-info dl.song dt::before,
.plan.single .program-detail-info dl.song dt::before {
  background-image: url(../img/program/ico-song.svg);
  background-size: 14px 18px
}

.program.single .program-detail-info dt,
.plan.single .program-detail-info dt {
  display: flex;
  align-items: center;
  max-width: 150px;
  width: 100%;
  padding: 12px 1rem;
  font-size: .875rem
}

@media screen and (max-width: 540px) {

  .program.single .program-detail-info dt,
  .plan.single .program-detail-info dt {
    width: 40px;
    padding: 5px
  }

  .program.single .program-detail-info dt span,
  .plan.single .program-detail-info dt span {
    display: none
  }
}

.program.single .program-detail-info dt::before,
.plan.single .program-detail-info dt::before {
  display: block;
  width: 24px;
  height: 24px;
  margin-right: 10px;
  background-position: center center;
  background-repeat: no-repeat;
  content: ""
}

@media screen and (max-width: 540px) {

  .program.single .program-detail-info dt::before,
  .plan.single .program-detail-info dt::before {
    margin: 0 auto;
    margin-right: 5px
  }
}

.program.single .program-detail-info dd,
.plan.single .program-detail-info dd {
  flex: 1;
  padding: 10px;
  font-size: 1.125rem
}

@media screen and (max-width: 540px) {

  .program.single .program-detail-info dd,
  .plan.single .program-detail-info dd {
    padding: 5px;
    font-size: 1rem
  }
}

.program.single .program-detail-info dd+dt,
.plan.single .program-detail-info dd+dt {
  width: auto;
  border-left: 2px solid #fff
}

.program.single .program-detail-info .grad-wrap,
.plan.single .program-detail-info .grad-wrap {
  position: relative
}

.program.single .program-detail-info .grad-wrap .grad-item,
.plan.single .program-detail-info .grad-wrap .grad-item {
  position: relative;
  overflow: hidden
}

.program.single .program-detail-info .grad-wrap .grad-item.is-hide,
.plan.single .program-detail-info .grad-wrap .grad-item.is-hide {
  height: 80px
}

.program-detail-body p,
.plan-detail-body p {
  margin: 1em 0
}

.program-detail-body img,
.plan-detail-body img {
  width: 100%;
  height: auto;
  margin: 30px auto
}

.program .bx-notice,
.plan .bx-notice {
  margin-top: 30px;
  border-top: 2px solid #333;
  font-size: 0.875rem;
}

.program-list {
  margin: 70px auto 0;
  max-width: 1100px;

  @media screen and (width &lt; 768px) {
    margin-top: 30px;
  }

  .grid {
    display: flex;
    flex-wrap: wrap;
    gap: 34px 24px;
    justify-content: space-around;

    &amp;::before,
    &amp;::after {
      content: '';
      display: block;
      height: 0;
      order: 1;
      width: calc((100% - 48px) / 3);
      max-width: 350px;
    }
  }
}

.program-list .item {
  display: none;
  position: relative;
  top: 0;
  /* z-index: 1; */
  /* position: absolute; */
  width: calc((100% - 48px)/3);
  max-width: 350px;
  transition: all .2s ease;

  &amp;.is-show {
    display: block;
  }

  .item-wrap {
    position: relative;
    height: 100%;

    &amp;::before {
      font-weight: 700;
      font-size: 1.125rem;
      text-transform: uppercase;
      border: 2px solid #333;
      color: #fff;
      position: absolute;
      top: 0;
      left: 0;
      translate: 0 -50%;
      z-index: 10;
      width: 82px;
      height: 34px;
      display: flex;
      align-self: center;
      justify-content: center;
    }
  }

  &amp;.day-1 .item-wrap::before {
    content: "day 1";
    background-color: #37919b;
  }

  &amp;.day-2 .item-wrap::before {
    content: "day 2";
    background-color: #be5078;
  }

  &amp;.day-3 .item-wrap::before {
    content: "day 3";
    background-color: #bea064;
  }

  &amp;.day-4 .item-wrap::before {
    content: "day 4";
    background-color: #4b5aa5;
  }

  &amp;.day-5 .item-wrap::before {
    content: "day 5";
    background-color: #e6b313;
  }
}

@media screen and (max-width: 1031px) {
  .program-list .item {
    width: calc((100% - 60px)/3)
  }
}

@media screen and (max-width: 540px) {
  .program-list .item {
    width: calc(100% - 20px);
    max-width: calc(100% - 20px)
  }
}

.program-list .item:hover {
  top: -3px;

  .item-content {
    box-shadow: 0 3px 10px rgba(0, 0, 0, .3)
  }
}

.program-list .item-content {
  transition: all .2s ease;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  border-radius: 0 0 20px 20px;
  border: 2px solid #333;
  overflow: hidden;
}

.program-list .item-content&gt;a {
  display: block;
  position: relative;
}

.program-list .item-content-inner {
  padding: 8px 13px 13px;
  padding-bottom: 16px;
  background-color: #fff
}

@media screen and (max-width: 768px) {
  .program-list .item-content-inner {
    padding-right: 10px;
    padding-bottom: 10px;
    padding-left: 10px
  }
}

/* .program-list .item.day-1 .item-content&gt;a {
  border-top-color: #37919b
}
 */

/* .program-list .item.day-2 .item-content&gt;a {
  border-top-color: #be5078
} */

/* .program-list .item.day-2 .item-content-inner::before {
  content: "day 2";
  background-color: #be5078
} */

/* .program-list .item.day-3 .item-content&gt;a {
  border-top-color: #bea064
} */

/* .program-list .item.day-3 .item-content-inner::before {
  content: "day 3";
  background-color: #bea064
} */

/* .program-list .item.day-4 .item-content&gt;a {
  border-top-color: #4b5aa5
} */

/* .program-list .item.day-4 .item-content-inner::before {
  content: "day 4";
  background-color: #4b5aa5
} */

/* .program-list .item.day-5 .item-content&gt;a {
  border-top-color: #e6b313
} */

/* .program-list .item.day-5 .item-content-inner::before {
  content: "day 5";
  color: #e6b313
} */

.program-list .label-live {
  position: absolute;
  top: -4px;
  right: 96px;
  width: 80px;
  height: 52px;
  background-color: #ffc442;
  color: #fff;
  font-weight: 700;
  font-weight: 700;
  font-size: .75rem;
  line-height: 1;
  text-align: center
}

.program-list .label-live::before {
  display: block;
  width: 30px;
  height: 40px;
  margin: 5px auto 3px;
  background: url("../img/program/ico-live.svg") no-repeat center top;
  background-size: contain;
  content: ""
}

.program-list .label-live::after {
  display: block;
  position: absolute;
  bottom: 0;
  width: 0;
  height: 0;
  border-width: 0 40px 10px 40px;
  border-style: solid;
  border-color: transparent transparent #fff transparent;
  content: ""
}

.program-list .label-recommend {
  position: absolute;
  top: -4px;
  right: 16px;
  width: 80px;
  height: 52px;
  background-color: #0cc;
  color: #fff;
  font-weight: 700;
  font-weight: 700;
  font-size: .75rem;
  line-height: 1;
  text-align: center
}

.program-list .label-recommend::before {
  display: block;
  margin-top: 10px;
  margin-bottom: 3px;
  content: "縺翫☆縺吶ａ"
}

.program-list .label-recommend::after {
  display: block;
  position: absolute;
  bottom: 0;
  width: 0;
  height: 0;
  border-width: 0 40px 10px 40px;
  border-style: solid;
  border-color: transparent transparent #fff transparent;
  content: ""
}

.label-age {
  display: flex;
  color: #e95076;

  dl {
    background-color: #f5e0e7;
    display: flex;
    justify-content: flex-end;
    line-height: 1;
    align-items: center;
    gap: 10px;
    border-radius: 4px;
    padding: 6px 0.5rem;
  }

  dt {
    font-size: 0.625rem;
  }

  dd {
    font-size: 0.75rem;
    font-weight: 500;
  }
}

.program-list {
  .label-age {
    justify-content: flex-end;
    margin-inline-start: auto;
    margin-block-end: 10px;
  }
}

.label-age span {
  display: inline-block;
  height: 18px;
  padding: 0 10px;
  border-radius: 10px;
  background-color: #e95076;
  color: #fff;
  font-weight: 700;
  font-size: .625rem;
  line-height: 18px
}

.program-list .location {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  width: 100%;
}

.program-list .location::before {
  margin-right: 5px;
  width: 13px;
  height: 18px;
  background: url(../img/program/ico-location.svg);
  background-size: contain;
  content: '';
  display: block;
}

.program-list .location span {
  font-weight: 500;
  font-size: .75rem;
  position: relative;
  top: 2px;
}

.program-list .eyecatch {
  margin-bottom: 10px
}

.program-list .date-time {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 2px solid #eee;
  gap: 0 2rem;

}

@media screen and (min-widtH: 415px)and (max-width: 768px) {
  .program-list .date-time {
    font-size: .875rem
  }
}

.program-list .date-time .date {
  display: flex;
  align-items: center
}

.program-list .date-time .date::before {
  margin-right: 5px;
  content: url(../img/program/ico-calendar.svg)
}

.program-list .date-time .time {
  display: flex;
  align-items: center
}

.program-list .date-time .time::before {
  margin-right: 5px;
  content: url(../img/program/ico-time.svg)
}

.program-list .title {
  margin-top: 10px;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.6
}

@media screen and (min-widtH: 415px)and (max-width: 768px) {
  .program-list .title {
    font-size: 1rem
  }
}

.program-list .description {
  margin-top: 10px;
  padding-top: 5px;
  border-top: 2px solid #eee;
  font-size: .875rem;
  width: 100%;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.program-list .ticket-status {
  padding: 20px 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  background-color: #dedede;

  &amp;.pre_public_active,
  &amp;.public_active,
  &amp;.streaming_active {
    background-color: #ffc442;
  }

  &amp;.streaming_free {
    background-color: #95dbff;
  }

  &amp;.close {
    background-color: #959595;
  }

  .ticket-status_main {
    font-size: 1.25rem;
    font-weight: 700;

  }

  .ticket-status_sub {
    font-size: 0.75rem;
    font-weight: 500;
    background-color: #fff;
    border-radius: 20px;
    padding: 5px 1rem;

    &amp;.sub_red_1 {
      color: #f00;
    }
  }
}

.program-list.comingsoon {
  .ticket-status {
    background-color: #dedede !important;
  }

  .ticket-status_main {
    font-size: 0;

    &amp;::before {
      content: '蜈ｬ貍斐メ繧ｱ繝�ヨ2譛�15譌･蜈郁｡檎匱螢ｲ';
      font-size: 1.25rem;
    }
  }

  .ticket-status_sub {
    font-size: 0;
    color: #333 !important;
    background-color: inherit !important;

    &amp;::before {
      content: 'Coming Soon';
      font-size: 0.75rem;
    }
  }
}

.program-list.pre {
  .ticket-status {
    background-color: #ffc442 !important;
  }

  .ticket-status_main {
    font-size: 0;

    &amp;::before {
      content: '蜈ｬ貍斐メ繧ｱ繝�ヨ蜈郁｡瑚ｲｩ螢ｲ荳ｭ';
      font-size: 1.25rem;
    }
  }

  .ticket-status_sub:not(.sub_black_3) {
    color: #333 !important;
    font-size: 0;

    &amp;::before {
      content: '隕冶�繝√こ繝�ヨ3譛�1譌･逋ｺ螢ｲ';
      font-size: 0.75rem;
    }
  }
}



.program-list .price.st-paid {
  background-color: #ffc442
}

.program-list .price.st-paid a,
.program-list .price.st-paid span {
  display: block;
  width: 160px;
  height: 32px;
  margin: 0 auto;
  border: 2px solid #fff;
  border-radius: 16px;
  background-color: #fff;
  color: #ffc442;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 28px;
  text-transform: uppercase
}

.program-list .price.st-paid a:hover,
.program-list .price.st-paid span:hover {
  background-color: #ffc442;
  color: #fff
}

.program-list .price.st-free {
  background-color: #d4d4d4
}

.program-list .price.st-free a,
.program-list .price.st-free span {
  display: block;
  width: 160px;
  height: 32px;
  margin: 0 auto;
  border: 2px solid #fff;
  border-radius: 16px;
  background-color: #fff;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 28px
}

.program-list .price.st-free a:hover,
.program-list .price.st-free span:hover {
  background-color: #d4d4d4;
  color: #fff
}

.program-list .price.st-soldout {
  background-color: #959595
}

.program-list .price.st-soldout span {
  display: block;
  width: 160px;
  height: 32px;
  margin: 0 auto;
  border: 2px solid inherit;
  border-radius: 16px;
  color: #fff;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 28px
}

.bx-plan {
  display: none
}

#plan01 {
  display: block
}

.plan .kv {
  position: relative
}

.plan .kv::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background-color: #e95076;
  content: ""
}

.plan-num-list {
  display: flex;
  position: absolute;
  bottom: 0;
  left: 60px;
  width: 100%;
  overflow-x: auto
}

@media screen and (max-width: 768px) {
  .plan-num-list {
    left: 0
  }
}

.plan-num-list li {
  margin: 0 2px
}

.plan-num-list a {
  display: flex;
  justify-content: center;
  width: 200px;
  height: 40px;
  border: 2px solid #e95076;
  border-bottom: none;
  border-top-right-radius: 8px;
  border-top-left-radius: 8px;
  background-color: #e95076;
  box-shadow: 0 -2px 4px rgba(0, 0, 0, .1);
  color: #fff;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 38px
}

@media screen and (max-width: 768px) {
  .plan-num-list a {
    align-items: flex-end;
    width: auto;
    height: auto;
    padding: 5px 15px;
    line-height: 1
  }
}

.plan-num-list a.current,
.plan-num-list a:hover {
  background-color: #fff;
  color: #e95076
}

@media screen and (max-width: 768px) {
  .plan-num-list a .txt {
    margin-bottom: 2px;
    font-size: .5rem
  }
}

.plan-num-list a .num {
  margin-left: 20px;
  font-family: "Roboto"
}

@media screen and (max-width: 768px) {
  .plan-num-list a .num {
    margin-left: 2px
  }
}

#mdl-about {
  display: none
}

.modaal-content-container {
  padding: 10px
}

.modaal-content-container .mdl-about-content {
  padding: 70px 20px 40px;
  background-color: #c4e6e6;
  text-align: center
}

@media screen and (max-width: 768px) {
  .modaal-content-container .mdl-about-content {
    padding: 30px 20px
  }
}

.modaal-content-container .mdl-about-content dt {
  margin-bottom: 1em;
  font-weight: 700;
  font-size: 1.75rem
}

.modaal-content-container .mdl-about-content dd {
  font-weight: 700;
  font-size: 1.125rem
}

@media screen and (max-width: 768px) {
  .modaal-content-container .mdl-about-content dd {
    text-align: left
  }
}

.modaal-content-container .mdl-about-content .mdl-about-content-agelist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 40px
}

@media screen and (max-width: 768px) {
  .modaal-content-container .mdl-about-content .mdl-about-content-agelist {
    margin-top: 20px
  }
}

.modaal-content-container .mdl-about-content .mdl-about-content-agelist&gt;* {
  margin: 10px
}

@media screen and (max-width: 768px) {
  .modaal-content-container .mdl-about-content .mdl-about-content-agelist&gt;* {
    width: 43%
  }
}

.modaal-content-container .mdl-about-content .mdl-about-content-agelist figcaption {
  color: #589f9f;
  font-weight: 700;
  font-size: 1.25rem
}

.modaal-content-container .mdl-about-content .mdl-close {
  cursor: pointer
}

.recommended-program {
  margin-top: 100px
}

@media screen and (max-width: 540px) {
  .recommended-program {
    margin-top: 50px;
    margin-right: 16px;
    margin-left: 16px
  }
}

#timetable {
  height: 675px;
  margin-top: 240px;
  padding-top: 60px;
  background: url("../img/program/bg_timetable_pc.svg") no-repeat center top;
  background-size: contain
}

@media screen and (max-width: 767px) {
  #timetable {
    max-width: 377px;
    height: 720px;
    margin: 80px auto 20px;
    background: url("../img/program/bg_timetable_sp.svg") no-repeat center top
  }
}

#timetable .page-title {
  margin-top: 10px;
  margin-bottom: 60px;
  text-align: center
}

#timetable .page-title img {
  margin: 0 auto
}

@media screen and (max-width: 767px) {
  #timetable .page-title img {
    width: 220px
  }
}

/* .timetable {
  padding: 0 40px 0;
  overflow: hidden;
  border-radius: 40px;
  background-size: cover;
  text-align: center
}

.timetable-live {
  max-width: 620px;
  margin: 0 auto;
  margin-top: 30px;
  padding: 10px
}

@media screen and (max-width: 767px) {
  .timetable-live {
    margin-top: 10px
  }
}

.timetable.cs {
  position: relative
}

.timetable.cs::before {
  content: "coming soon";
  color: #9e9e9e;
  font-weight: 700;
  font-size: 36px;
  font-family: "Roboto";
  text-transform: uppercase
}

.timetable.cs::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, .4);
  content: ""
}

.timetable .iframe-wrap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 100%
}

.timetable iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.timetable-list {
  display: flex;
  justify-content: center
}

@media screen and (max-width: 767px) {
  .timetable-list {
    flex-direction: column
  }
}

.timetable-list&gt;* {
  margin: 10px
}

.timetable a {
  display: block;
  overflow: hidden;
  border-radius: 24px;
  transition: all .2s ease
}

.timetable a img {
  display: block;
  width: 100%
}

.timetable a:hover {
  transform: translateY(-6px);
  box-shadow: 0 5px 7px rgba(0, 0, 0, .2)
} */

@media screen and (max-width: 540px) {
  .ticket .narrow-inner {
    padding-right: 0;
    padding-left: 0
  }
}

.ticket .bx-pre {
  max-width: 740px;
  margin: 0 auto
}

.ticket .bx-pre .pre-head {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 0;
  border-top: 4px solid #7d142a;
  border-bottom: 4px solid #7d142a;
  font-weight: 700
}

.ticket .bx-pre .pre-head dt {
  margin-right: 1rem;
  padding: 10px;
  background: #7d142a;
  color: #fff;
  font-size: 1.0625rem
}

@media screen and (max-width: 540px) {
  .ticket .bx-pre .pre-head dt {
    margin-right: .5rem;
    font-size: .8125rem
  }
}

.ticket .bx-pre .pre-head dd {
  color: #7d142a;
  font-size: 1.25rem
}

@media screen and (max-width: 540px) {
  .ticket .bx-pre .pre-head dd {
    font-size: 1.0625rem
  }
}

.ticket .bx-pre .pre-body {
  max-width: 670px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 27px
}

.ticket .bx-pre figure {
  margin-bottom: 20px;
  text-align: center
}

.ticket .bx-pre figure img {
  margin: 0 auto
}

.ticket .bx-pre p span {
  color: #7d142a
}

.ticket .bx-pre .pre-ex-wrap {
  position: relative
}

.ticket .bx-pre .pre-ex-wrap::before {
  display: block;
  z-index: 0;
  position: absolute;
  top: 60px;
  left: 50%;
  width: 740px;
  height: calc(100% - 80px);
  transform: translateX(-50%);
  background: #7d142a;
  content: ""
}

@media screen and (max-width: 767px) {
  .ticket .bx-pre .pre-ex-wrap::before {
    width: 100vw
  }
}

.ticket .bx-pre .pre-ex-wrap h2 {
  position: relative;
  margin-bottom: 1rem;
  color: #fff
}

@media screen and (max-width: 767px) {
  .ticket .bx-pre .pre-ex-wrap h2 {
    font-size: 1.0625rem
  }
}

.ticket .bx-pre .pre-ex {
  position: relative;
  padding-right: 20px;
  padding-left: 20px
}

.ticket .bx-pre .pre-ex-inner {
  position: relative;
  max-width: 560px;
  margin: 1.5rem auto;
  padding: 20px;
  border: 2px solid #7d142a;
  border-radius: 12px;
  background: #fff;
  color: #7d142a;
  text-align: center
}

.ticket .bx-pre .pre-ex-inner::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: #7d142a;
  content: "萓�";
  color: #fff;
  line-height: 40px;
  text-align: center
}

.ticket .bx-pre .pre-ex-inner p+p {
  margin-top: .5rem
}

.ticket .page-anchor-wrap {
  display: flex;
  position: relative;
  justify-content: center
}

.ticket .page-anchor-wrap a {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-bottom: 10px;
  border-radius: 10px;
  background: #ffc442;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  font-weight: 700
}

@media screen and (max-width: 767px) {
  .ticket .page-anchor-wrap a {
    font-size: .8125rem
  }
}

.ticket .page-anchor-wrap a+a {
  margin-left: 20px
}

.ticket .page-anchor-wrap a span {
  display: block;
  padding: 1rem 1rem .5rem;
  text-align: center
}

.ticket .page-anchor-wrap a::after {
  display: block;
  width: 7px;
  height: 7px;
  transform: rotate(45deg);
  border-right: 2px solid #707070;
  border-bottom: 2px solid #707070;
  content: ""
}

.ticket .ticket-schedule {
  max-width: 740px;
  margin-top: 130px;
  margin-right: auto;
  margin-left: auto
}

.ticket .ticket-schedule-ttl {
  display: flex;
  align-items: center
}

.ticket .ticket-schedule-ttl span {
  margin: 0 1rem;
  font-weight: 700;
  font-size: 1.5rem
}

@media screen and (max-width: 540px) {
  .ticket .ticket-schedule-ttl span {
    font-size: 1.125rem
  }
}

.ticket .ticket-schedule-ttl::before,
.ticket .ticket-schedule-ttl::after {
  display: block;
  flex: 1;
  height: 2px;
  background: #333;
  content: ""
}

.ticket .ticket-schedule-box {
  margin-top: 1rem;
  padding: 1rem .5rem 1rem;
  background: #fff
}

.ticket .ticket-schedule-box&gt;* {
  max-width: 540px;
  margin-right: auto;
  margin-left: auto
}

.ticket .ticket-schedule-box p+p {
  margin-top: 1rem
}

.ticket .ticket-schedule-box table {
  width: 100%;
  max-width: 540px;
  font-weight: 700;
  font-size: 1.375rem
}

@media screen and (max-width: 767px) {
  .ticket .ticket-schedule-box table {
    font-size: 1.0625rem
  }
}

.ticket .ticket-schedule-box table th {
  width: 9em;
  text-align: right;
  vertical-align: top;
  white-space: nowrap
}

.ticket .ticket-schedule-box table td {
  width: calc(100% - 9em)
}

.ticket .tab-wrap {
  max-width: 640px;
  margin-right: auto;
  margin-left: auto
}

.ticket .tab-wrap .tab-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between
}

.ticket .tab-wrap .tab-head .tab {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: calc(50% - 10px);
  height: 60px;
  padding-bottom: .8rem;
  border: 1px solid #707070;
  border-bottom: none;
  background: #333;
  color: #fff;
  font-weight: 700;
  font-size: 1.125rem;
  cursor: pointer;
  transition: all .2s ease
}

.ticket .tab-wrap .tab-head .tab:hover {
  height: 64px
}

.ticket .tab-wrap .tab-head .tab.active {
  height: 64px;
  background: none;
  color: #333;
  cursor: default
}

.ticket .tab-wrap .tab-cont {
  margin-right: auto;
  margin-left: auto;
  padding: 50px 0
}

@media screen and (max-width: 540px) {
  .ticket .tab-wrap .tab-cont .fc-gray {
    font-size: .9375rem
  }
}

.ticket .tab-wrap .tab-cont ul {
  margin-top: 1rem;
  margin-bottom: 1rem
}

.ticket .tab-wrap .tab-cont[data-tab="2"] {
  display: none
}

.ticket .tab-wrap .tab-cont .playguide-tb {
  width: 100%;
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: 1.125rem;
  text-align: left
}

@media screen and (max-width: 540px) {
  .ticket .tab-wrap .tab-cont .playguide-tb {
    font-size: .9375rem
  }
}

.ticket .tab-wrap .tab-cont .playguide-tb caption {
  font-weight: 700;
  text-align: left
}

.ticket .tab-wrap .tab-cont .playguide-tb th {
  padding-right: 1.5rem;
  font-weight: 400;
  vertical-align: top;
  white-space: nowrap
}

.ticket .tab-wrap .tab-cont .playguide-tb td {
  width: calc(100% - 1.5rem)
}

.ticket .tab-wrap .tab-cont .notice {
  margin: 2rem 0;
  padding: 1rem;
  background: #fff;
  text-align: center
}

.ticket .bx-release {
  margin-top: 35px;
  overflow: hidden;
  border-radius: 2px;
  background-color: #fff
}

.ticket .bx-release .release-title {
  padding: 5px;
  background-color: #d4d4d4;
  font-weight: 400;
  font-size: 1.375rem
}

.ticket .bx-release .release-inner {
  padding: 20px
}

@media screen and (max-width: 540px) {
  .ticket .bx-release .release-inner {
    padding: 15px 10px
  }

  .ticket .bx-release .release-inner .fc-primary span {
    display: inline-block
  }
}

.ticket .bx-release .release-inner .border {
  display: inline-block;
  position: relative;
  margin: 10px 0 0
}

.ticket .bx-release .release-inner .border span {
  display: inline-block;
  z-index: 10;
  position: relative;
  margin: 10px 0
}

.ticket .bx-release .release-inner .border span::before {
  display: block;
  z-index: -1;
  position: absolute;
  bottom: 5px;
  width: 100%;
  height: 10px;
  background-color: #ff0;
  content: ""
}

.ticket .bx-release .release-benefit {
  position: relative;
  padding: 20px;
  background-color: #e95076;
  color: #fff
}

@media screen and (max-width: 540px) {
  .ticket .bx-release .release-benefit {
    margin-top: 30px
  }
}

.ticket .bx-release .release-benefit-title {
  font-weight: normal
}

.ticket .bx-release .release-benefit::before {
  display: block;
  position: absolute;
  top: 6px;
  left: 10%;
  width: 100px;
  height: 113px;
  transform: translateY(-50%);
  background: url(../img/ticket/ico-benefits.svg) no-repeat 0 0;
  background-size: contain;
  content: ""
}

@media screen and (max-width: 540px) {
  .ticket .bx-release .release-benefit::before {
    left: 10px;
    width: 72px;
    height: 82px;
    background-size: contain
  }
}

.ticket .bx-ticket-notice {
  margin: 50px 0 70px
}

.ticket .bx-ticket-notice-title {
  margin-bottom: 1em
}

.ticket .bx-ticket-notice-title span {
  border-bottom: 2px solid #e95076
}

.ticket .bx-ticket-notice-body {
  font-size: 1.125rem
}

.ticket .bx-ticket-notice-body ul {
  padding-left: 1.5rem
}

@media screen and (max-width: 540px) {
  .ticket .bx-ticket-notice-body {
    font-size: .875rem
  }
}

.ticket .bx-ticket-notice-body .border {
  text-decoration: underline
}

.ticket .bx-ticket-notice-body .note {
  font-size: .875rem
}


.ticket-title2 {
  padding: 16px 0;
  text-align: center
}

.ticket-title2.st-paid {
  background-color: #ffc442
}

.ticket-title2.st-paid a,
.ticket-title2.st-paid span {
  display: block;
  width: 160px;
  height: 32px;
  margin: 0 auto;
  border: 2px solid #fff;
  border-radius: 16px;
  background-color: #fff;
  color: #ffc442;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 28px;
  text-transform: uppercase
}

.ticket-title2.st-paid a:hover,
.ticket-title2.st-paid span:hover {
  background-color: #ffc442;
  color: #fff
}

@media screen and (max-width: 540px) {
  .ticket .ticket-info {
    margin-right: -16px;
    margin-left: -16px
  }
}

.topics-search {
  margin-top: 50px
}

.topics-search-box {
  margin-bottom: 4px;
  background-color: #fff
}

.topics-search-title {
  height: 48px;
  background-color: #e95076;
  color: #fff;
  font-size: 18px;
  line-height: 48px;
  text-align: center
}

.topics-search-cont {
  position: relative;
  padding: 10px
}

.topics-search-cont .btn-wrap {
  position: absolute;
  top: 2px;
  left: 2px
}

.topics-search-cont-preschool {
  display: flex;
  position: absolute;
  top: 10px;
  left: 50%;
  align-items: center;
  width: 50%
}

.topics-search-cont-preschool label {
  display: flex;
  align-items: center;
  line-height: 1
}

.topics-search-cont-preschool label+label {
  margin-left: 10px
}

.topics-search-cont-preschool input {
  display: none
}

.topics-search-cont-preschool input:checked+.input-outer .input-inner {
  background-color: #e95076
}

.topics-search-cont-preschool .input-outer {
  display: block;
  width: 20px;
  height: 20px;
  margin-right: 5px;
  padding: 3px;
  border: 2px solid #e95076;
  border-radius: 50%
}

.topics-search-cont-preschool .input-inner {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%
}

.topics-search-cont-schedule-list {
  display: flex;
  justify-content: space-around;
  margin: 10px 0
}

.topics-search-cont-schedule-list li {
  display: flex;
  position: relative;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  height: 72px;
  margin: 0 5px;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 2px 2px rgba(0, 0, 0, .16);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  transition: all .2 ease;
  transition: all .3s ease
}

.topics-search-cont-schedule-list li.day-all {
  color: #ff8da9;
}

.topics-search-cont-schedule-list li.day-all.selected,
.topics-search-cont-schedule-list li.day-all:hover {
  background-color: #ff8da9;
}

.topics-search-cont-schedule-list li#day-1 {
  color: #37919b
}

.topics-search-cont-schedule-list li#day-1.selected,
.topics-search-cont-schedule-list li#day-1:hover {
  background-color: #37919b
}

.topics-search-cont-schedule-list li#day-2 {
  color: #be5078
}

.topics-search-cont-schedule-list li#day-2.selected,
.topics-search-cont-schedule-list li#day-2:hover {
  background-color: #be5078
}

.topics-search-cont-schedule-list li#day-3 {
  color: #bea064
}

.topics-search-cont-schedule-list li#day-3.selected,
.topics-search-cont-schedule-list li#day-3:hover {
  background-color: #bea064
}

.topics-search-cont-schedule-list li#day-4 {
  color: #4b5aa5
}

.topics-search-cont-schedule-list li#day-4.selected,
.topics-search-cont-schedule-list li#day-4:hover {
  background-color: #4b5aa5
}

.topics-search-cont-schedule-list li#day-5 {
  color: #e6b313
}

.topics-search-cont-schedule-list li#day-5.selected,
.topics-search-cont-schedule-list li#day-5:hover {
  background-color: #e6b313
}

.topics-search-cont-schedule-list li.selected {
  top: 2px;
  left: 2px;
  box-shadow: 0 0 rgba(0, 0, 0, .16);
  color: #fff !important
}

.topics-search-cont-schedule-list li:hover {
  color: #fff !important
}

.topics-search-cont-schedule-list li .date {
  margin-top: 5px;
  font-size: 1.25rem
}

.topics-search-cont-pulldown {
  width: 100%;
  max-width: 350px;
  margin: 0 auto
}

.topics-search-cont-pulldown&gt;.selected {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 40px;
  margin: 0 auto;
  padding: 10px;
  color: #b6b8bf;
  font-size: .875rem;
  cursor: pointer
}

.topics-search-cont-pulldown&gt;.selected:hover {
  background-color: #f9f9f9
}

.topics-search-cont-pulldown&gt;.selected::after {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 2px;
  background: #ebebeb url(../img/program/ico-arrow-location.svg) no-repeat center center;
  content: ""
}

.topics-search-cont-pulldown&gt;.selected::before {
  content: url(../img/program/ico-search-location.svg)
}

/* .topics-search-cont-pulldown-list {
  display: none;
  font-size: .75rem;
  text-align: center
} */

/* .topics-search-cont-pulldown-list.open {
  display: block
} */

/* .topics-search-cont-pulldown-list li {
  margin: 1em 0;
  cursor: pointer
}

.type-location .topics-search-cont-pulldown-list li:hover,
.type-location .topics-search-cont-pulldown-list li.selected {
  color: #e95076
}

.type-age .topics-search-cont-pulldown-list li:hover,
.type-age .topics-search-cont-pulldown-list li.selected {
  color: #0cc
} */

.topics-search-name {
  margin-right: 20px;
  margin-left: 14px;
  color: #333;
  font-weight: 700
}

.topics-list {
  margin-top: 22px;
  margin-right: -10px;
  margin-left: -10px
}

.topics-list .item {
  z-index: 1;
  position: absolute;
  /* width: calc((100% - 60px)/3); */
  aspect-ratio: 320 / 348;
  width: 320px;
  margin: 10px;
  background-color: #fff;
  transition: all .2s ease;

  @media screen and (max-width: 540px) {
    aspect-ratio: inherit;
  }
}


.topics-category {
  display: inline-flex;
  align-items: center;

  &amp;.new {
    &amp;::after {
      content: 'NEW';
      font-size: 0.625rem;
      font-weight: 500;
      display: inline-block;
      background-color: #ffe719;
      padding: 2px 4px;
      line-height: 1;
      color: #333;
      margin-inline-start: 0.5rem;
    }
  }
}


@media screen and (max-width: 1031px) {
  .topics-list .item {
    width: calc((100% - 60px)/3)
  }
}

@media screen and (max-width: 540px) {
  .topics-list .item {
    width: calc(100% - 20px);
    max-width: calc(100% - 20px)
  }
}

.topics-list .item:hover {
  margin-top: 6px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .16)
}

.topics-list .item-content {
  position: relative;
  height: 100%;
}

.topics-list .item-content a {
  display: block;
  height: 100%;

  /* display: block; */
  /* padding: 0 16px 40px; */
  /* border-top: 4px solid #aaa */
  .item-content-inner {
    height: 100%;
    display: flex;

    @media screen and (768px &lt;=width) {
      flex-direction: column;
    }

    .item-texts {
      padding: 8px 10px;
      flex: 1;
      display: flex;
      flex-direction: column;

      time {
        margin-block-start: auto;
      }
    }
  }
}

@media screen and (max-width: 540px) {
  .topics-list .item-content a {
    padding: 0
  }
}

.topics-list .item-content time {
  color: #b6b8bf;
  font-size: .75rem
}

@media screen and (max-width: 540px) {
  .topics-list .item-content time {
    position: static
  }
}

@media screen and (max-width: 540px) {
  .topics-list .item-content-inner {
    display: flex;
  }
}

.topics-list figure {
  position: relative;

  @media screen and (width &lt; 768px) {
    width: 48.5714%;
  }

  img {
    width: 100%;
    aspect-ratio: 320 / 180;
    object-fit: contain;
  }
}

/* @media screen and (min-width: 541px) {
  .topics-list figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    transform: translate(-50%, -50%)
  }
}

@media screen and (max-width: 540px) {
  .topics-list figure img {
    width: 126px;
    height: 126px;
    object-fit: cover
  }
}

@media screen and (max-width: 540px) {
  .topics-list figure {
    width: 126px;
    height: 126px;
    margin-right: 10px;
    margin-bottom: 0;
    padding-top: 0
  }
} */

.topics-category {
  display: flex;
  align-items: center;
  color: #aaa;
  font-weight: 500;
  font-size: clamp(0.563rem, 0.506rem + 0.24vw, 0.688rem);
}

.topic-description {
  margin-block: 2.5rem;
  display: flex;
  flex-direction: column;

  @media (width &lt; 890px) {
    margin-block-end: 1.5rem;
  }

  &amp;::before,
  &amp;::after {
    content: "";
    display: block;
    height: 7px;
    border: 1px solid #333;
  }

  p {
    padding: 1rem;
    margin: 0;
    font-size: 1.25rem;
    font-weight: 500;

    @media (width &lt; 890px) {
      padding-inline: 0.5rem;
      font-size: 1rem;
    }
  }
}

/* @media screen and (max-width: 540px) {
  .topics-list .topics-category {
    margin-top: 10px;

  }
} */

.topics-category::before {
  display: block;
  width: 16px;
  height: 16px;
  margin-right: 5px;
  background-position: center center;
  background-repeat: no-repeat;
  content: "";

  @media screen and (width &lt; 540px) {
    width: 10px;
    height: 10px;
  }
}

.category-report .topics-category::before {
  background-image: url(../img/topics/ico-report.svg);
  background-size: contain;
}

.category-interview .topics-category::before {
  background-image: url(../img/topics/ico-interview.svg);
  background-size: contain;
}

.category-event .topics-category::before {
  background-image: url(../img/topics/ico-event.svg);
  background-size: contain;
}

.category-information .topics-category::before {
  background-image: url(../img/topics/ico-information.svg);
  background-size: contain;
}

.category-news .topics-category::before {
  background-image: url(../img/topics/ico-news.svg);
  background-size: contain;
}

.category-column .topics-category::before {
  background-image: url(../img/topics/ico-column.svg);
  background-size: contain;
}

.topics-list .topics-title {
  margin-block: 5px;
  font-weight: 500;
  font-size: clamp(0.75rem, 0.636rem + 0.48vw, 1rem);
  width: 100%;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-height: 1.375;
}

/* @media screen and (max-width: 540px) {
  .topics-list .topics-title {
    width: calc(100% - 136px);
    font-size: 1rem
  }
} */

.topics-list .topics-lead {
  font-size: .75rem;
  width: 100%;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.3333;

}

@media screen and (max-width: 540px) {
  .topics-list .topics-lead {
    display: none;
  }
}

.topics-data {
  margin-top: .5em;
  display: flex;
  align-items: center;
  gap: 2rem;
  line-height: 1;
}

.topics-title-wrap {
  margin: 60px 0 40px;
  padding-left: 6px;
  border-left: 8px solid #333
}

@media screen and (max-width: 540px) {
  .topics-title-wrap {
    margin: 30px 0 30px
  }
}

@media screen and (max-width: 540px) {
  .topics-title-wrap .topics-title {
    font-size: 1.125rem
  }
}

.topics-title-wrap .topics-lead {
  margin-top: 1em;
  font-size: 1.125rem
}

@media screen and (max-width: 540px) {
  .topics-title-wrap .topics-lead {
    margin-top: .5em;
    font-size: 1rem
  }
}

.topics-title-wrap .entry-date {
  color: #6a6a6a
}

@media screen and (max-width: 540px) {
  .topics-title-wrap .entry-date {
    font-size: .875rem
  }
}

.topic-link,
.wp-block-file {
  font-size: 1.125rem !important;
  margin-block-start: 1.5rem;
  background: #fff5f7;
  border-radius: 16px;
  padding: 1rem 1.5rem;
  line-height: 1.2;

  a {
    color: #f7416b;
    font-weight: 500;
    text-decoration: none;
    /* overflow-wrap: break-word; */
  }
}

.topics-title-inner {
  padding-left: 25px;
  border-left: 2px solid #333
}

.topics-body {
  font-size: 1.125rem;
  .wp-caption-text {
    font-size: 0.875rem;
  }
}

.topics-body p {
  margin-block: 1em;
}

.topics .kv {
  position: relative;
}

.recommended-topics .item {
  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
  transition: all .2s ease
}

.recommended-topics .item:hover {
  margin-top: 6px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .16)
}

.important-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  padding: 3px;
  background-color: #333;
  text-align: center
}

@media screen and (max-width: 767px) {
  .important-bar {
    height: 44px
  }
}

.bnr-youtubelive {
  margin-top: 66px;
  padding-bottom: 20px
}

.bnr-youtubelive img {
  display: inherit;
  margin: 0
}

.bnr-youtubelive .bnr_youtube {
  display: block;
  position: relative;
  max-width: 740px;
  margin-right: auto;
  margin-left: auto
}

@media screen and (max-width: 767px) {
  .bnr-youtubelive .bnr_youtube {
    padding-left: 20px
  }
}

.bnr-youtubelive .bnr_youtube .bnr {
  z-index: 2;
  position: relative
}

.bnr-youtubelive .bnr_youtube .badge {
  z-index: 3;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%)
}

@media screen and (max-width: 767px) {
  .bnr-youtubelive .bnr_youtube .badge {
    left: 20px;
    width: 60px
  }
}

.bnr-youtubelive .bnr_youtube .ani {
  z-index: 3;
  position: absolute;
  right: 20px;
  bottom: 0;
  width: 58px
}

@media screen and (max-width: 767px) {
  .bnr-youtubelive .bnr_youtube .ani {
    right: 10px;
    width: 30px
  }
}

.bnr-youtubelive .bnr_youtube::before {
  display: block;
  z-index: 1;
  position: absolute;
  top: -16px;
  right: -16px;
  width: calc(100% + 32px);
  height: calc(100% + 32px);
  border-radius: 32px;
  content: "";
  animation: bnrOp 1s linear infinite alternate
}

@media screen and (max-width: 767px) {
  .bnr-youtubelive .bnr_youtube::before {
    top: -8px;
    right: -8px;
    width: calc(100% - 4px);
    height: calc(100% + 16px);
    border-radius: 16px
  }
}

.bnr-youtubelive .bnr_youtube.day-1::before {
  background-color: #0cc
}

.bnr-youtubelive .bnr_youtube.day-2::before {
  background-color: #e95076
}

.bnr-youtubelive .bnr_youtube.day-3::before {
  background-color: #ffc442
}

.bnr-youtubelive .bnr_youtube.day-4::before {
  background-color: #2975c1
}

@-webkit-keyframes bnrOp {
  0% {
    opacity: .05
  }

  100% {
    opacity: .3
  }
}

@keyframes bnrOp {
  0% {
    opacity: .05
  }

  100% {
    opacity: .3
  }
}

.important-notice main {
  background: none;
  font-size: 1.125rem;
  line-height: 1.5
}

.important-notice main h2 {
  font-size: 1.75rem
}

@media screen and (max-width: 767px) {
  .important-notice main h2 {
    font-size: 1.125rem
  }
}

@media screen and (max-width: 767px) {
  .important-notice main {
    font-size: 1rem
  }
}

.important-notice .inner {
  max-width: calc(780px + 2rem)
}

.important-notice .diamond&gt;li {
  position: relative;
  margin: .75rem 0;
  padding-left: 15px
}

.important-notice .diamond&gt;li:before {
  position: absolute;
  top: .7rem;
  left: 0;
  width: 7px;
  height: 7px;
  transform: rotate(45deg);
  background-color: #333;
  content: ""
}

@media screen and (max-width: 767px) {
  .important-notice .diamond&gt;li:before {
    top: .5rem
  }
}

.important-notice .diamond ul {
  list-style-type: disc
}

.important-notice .diamond ul li {
  margin: .5rem 0
}

.important-notice small {
  color: #707070
}

.cowntdown {
  position: relative;
  margin-bottom: 1rem
}

.cowntdown-cont {
  display: flex;
  z-index: 99;
  position: absolute;
  top: -100px;
  right: -40px;
  align-items: center;
  justify-content: center;
  width: 350px;
  padding: 2rem 1rem 1rem;
  border-radius: 10px;
  background-color: #e5c559;
  color: #fff
}

@media screen and (max-width: 1020px) {
  .cowntdown-cont {
    position: static;
    margin: 0 auto
  }
}

.areamap {
  position: relative;
  margin-top: 260px;
  padding: 26px 30px;
  border-top: 10px solid #bea064;
  border-bottom: 10px solid #bea064;
  background-color: #fff
}

@media screen and (max-width: 767px) {
  .areamap {
    margin-right: -16px;
    margin-bottom: 300px;
    margin-left: -16px;
    padding: 32px 0;
    border-top-width: 5px;
    border-bottom-width: 5px
  }
}

.areamap-title {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 10px;
  margin-top: -5px;
  transform: translateY(-50%)
}

@media screen and (max-width: 767px) {
  .areamap-title {
    right: 50%;
    width: 280px;
    transform: translate(50%, -50%)
  }
}

.areamap_img {
  z-index: 9;
  position: relative;
  width: 58.5106%
}

@media screen and (max-width: 767px) {
  .areamap_img {
    width: 100%
  }
}

.areamap_img .markers {
  display: none
}

.areamap_img .markers.is-show {
  display: block
}

.areamap_img .markers a {
  position: absolute
}

.areamap_img .markers a:hover {
  animation: bounce 1s linear infinite alternate
}

.areamap_img .markers span {
  display: none
}

.areamap_img .markers .loc-okura {
  top: 5%;
  left: 35%
}

.areamap_img .markers .loc-ana {
  top: 39%;
  left: 31%
}

.areamap_img .markers .loc-suntory {
  top: 33%;
  left: 47%
}

.areamap_img .markers .loc-karajan {
  top: 41%;
  left: 60%
}

.areamap_img .markers .loc-mori {
  top: 57%;
  left: 60%
}

.areamap_img .markers.fun a::before {
  display: block;
  width: 28px;
  height: 42px;
  background: url("../img/about/marker_fun.svg") no-repeat 0 0;
  background-size: contain;
  content: ""
}

.areamap_img .markers.eat a::before {
  display: block;
  width: 28px;
  height: 42px;
  background: url("../img/about/marker_eat.svg") no-repeat 0 0;
  background-size: contain;
  content: ""
}

.areamap_img .markers.stay a::before {
  display: block;
  width: 28px;
  height: 42px;
  background: url("../img/about/marker_stay.svg") no-repeat 0 0;
  background-size: contain;
  content: ""
}

.areamap_img .markers.other a::before {
  display: block;
  width: 28px;
  height: 42px;
  background: url("../img/about/marker_other.svg") no-repeat 0 0;
  background-size: contain;
  content: ""
}

.areamap_text {
  z-index: 11;
  position: absolute;
  top: 50%;
  right: 36px;
  width: 40.6383%;
  padding: 34px;
  transform: translateY(-50%);
  border: 1px solid #fff;
  border-radius: 13px;
  background-color: #589f9f;
  color: #fff
}

@media screen and (max-width: 767px) {
  .areamap_text {
    top: 90%;
    right: 50%;
    width: calc(100vw - 30px);
    padding: 20px 20px 30px;
    transform: translateX(50%)
  }
}

.areamap_text h2 {
  margin: 1.5rem 0 1rem;
  color: #ff0;
  font-weight: 700;
  font-size: 1rem
}

.areamap_text p {
  line-height: 1.5
}

@media screen and (max-width: 767px) {
  .areamap_text p {
    font-size: .875rem
  }
}

.areamap_label {
  position: absolute;
  top: 0;
  right: 35px;
  transform: translateY(-34px)
}

.areamap_label span {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 35px;
  padding: 0 1rem;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
  background-color: #589f9f;
  font-weight: 700;
  font-size: .875rem
}

.areamap .marker_list {
  display: flex;
  justify-content: space-around
}

.areamap .marker_list .btn-marker {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border: 2px solid #333;
  border-radius: 16px;
  background-color: #fff;
  box-shadow: 0 4px 0 rgba(0, 0, 0, .16);
  transition: all .2s ease
}

.areamap .marker_list .btn-marker .marker_img {
  display: block;
  width: 20px;
  height: 30px;
  background: url("../img/about/maker_selected.svg") no-repeat center center
}

.areamap .marker_list .btn-marker .marker_img img {
  opacity: 1;
  transition: all .2s ease
}

.areamap .marker_list .btn-marker .marker_label {
  margin-top: 5px;
  color: #707070;
  font-weight: 700;
  font-size: .8125rem;
  line-height: 1;
  transition: all .2s ease
}

.areamap .marker_list .btn-marker:hover {
  cursor: pointer
}

.areamap .marker_list .btn-marker:hover[data-category=fun] {
  border-color: #0cc
}

.areamap .marker_list .btn-marker:hover[data-category=eat] {
  border-color: #e95076
}

.areamap .marker_list .btn-marker:hover[data-category=stay] {
  border-color: #ffc442
}

.areamap .marker_list .btn-marker:hover[data-category=other] {
  border-color: #4b5aa5
}

.areamap .marker_list .btn-marker.selected {
  transform: translateY(4px);
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0)
}

.areamap .marker_list .btn-marker.selected .marker_label {
  color: #fff
}

.areamap .marker_list .btn-marker.selected .marker_img img {
  opacity: 0
}

.areamap .marker_list .btn-marker.selected[data-category=fun] {
  border-color: #0cc;
  background-color: #0cc
}

.areamap .marker_list .btn-marker.selected[data-category=eat] {
  border-color: #e95076;
  background-color: #e95076
}

.areamap .marker_list .btn-marker.selected[data-category=stay] {
  border-color: #ffc442;
  background-color: #ffc442
}

.areamap .marker_list .btn-marker.selected[data-category=other] {
  border-color: #4b5aa5;
  background-color: #4b5aa5
}

@-webkit-keyframes bounce {

  0%,
  100%,
  20%,
  50%,
  80% {
    transform: translateY(0)
  }

  40% {
    transform: translateY(-6px)
  }

  60% {
    transform: translateY(-3px)
  }
}

@keyframes bounce {

  0%,
  100%,
  20%,
  50%,
  80% {
    transform: translateY(0)
  }

  40% {
    transform: translateY(-6px)
  }

  60% {
    transform: translateY(-3px)
  }
}

.special-list {
  margin-top: 1.5rem
}

@media screen and (max-width: 767px) {
  .special-list {
    margin-right: -5px;
    margin-left: -5px
  }
}

.special-list .item {
  display: block;
  z-index: 1;
  position: absolute;
  width: 160px;
  height: 155px;
  margin: 5px
}

@media screen and (max-width: 767px) {
  .special-list .item {
    width: 30.6667vw;
    height: 29.3333vw
  }
}

.special-list .item img {
  width: 160px;
  max-width: inherit;
  height: 155px;
  object-fit: cover;
  border-radius: 8px
}

@media screen and (max-width: 767px) {
  .special-list .item img {
    width: 30.6667vw;
    height: 29.3333vw
  }
}

.special-list .item.w2 {
  width: 320px
}

.special-list .item.w2 img {
  width: 320px
}

@media screen and (max-width: 767px) {
  .special-list .item.w2 img {
    width: 61.3333vw
  }
}

@media screen and (max-width: 767px) {
  .special-list .item.w2 {
    width: 61.3333vw
  }
}

.special-list .item.h2 {
  height: 320px
}

.special-list .item.h2 img {
  height: 320px
}

@media screen and (max-width: 767px) {
  .special-list .item.h2 img {
    height: 61.3333vw
  }
}

@media screen and (max-width: 767px) {
  .special-list .item.h2 {
    height: 61.3333vw
  }
}

.special-list .item-content {
  position: relative;
  width: 100%;
  height: 100%
}

@media screen and (min-width: 768px) {
  .modaal-gallery-item img {
    width: auto !important;
    max-width: 1000px;
    height: auto !important;
    max-height: 700px
  }
}

.modaal-gallery-item img:hover {
  cursor: url("/assets/img/gallery/btn-close.png"), pointer !important
}

.bg.special {
  background-color: #7d142a
}

/* .bg.special #breadcrumbs,
.bg.special .page-title {
    color: #fff
} */

.bg.special .program-search {
  background: none
}

@media screen and (max-width: 767px) {
  .bg.special .program-search {
    margin-right: 0;
    margin-left: 0;
    padding: 0
  }
}

@media screen and (max-width: 767px) {
  .bg.special main .inner {
    padding-right: 10px;
    padding-left: 10px
  }
}

.special.modaal-noscroll {
  cursor: url("/assets/img/gallery/btn-close.png"), pointer !important
}



.page-title {
  display: flex;
  align-items: center;
  line-height: 1;
  gap: 60px;

  @media (width &lt; 768px) {
    gap: 24px;
  }

  .page-title-ja {
    font-size: clamp(1rem, 0.85rem + 0.64vw, 1.25rem);
    font-weight: 500;
    position: relative;
    top: .8rem;

    @media (width &lt; 768px) {
      top: 0.4rem;
    }

  }
}

.page-description {
  margin-block-start: 1rem;
  font-size: clamp(0.688rem, 0.545rem + 0.61vw, 1rem);
}

.page-header {
  background-color: #faf7f2;

  .inner {
    max-width: 1200px;
    height: 260px;
    display: flex;
    padding-block-start: 94px;
    flex-direction: column;
    padding-inline: 11%;

    @media (width &lt; 540px) {
      height: auto;
      padding: 44px 20px 50px;
    }
  }

  &amp;+.page-body {
    padding-top: 0;
    margin-block-start: -50px;
  }
}

.page-body {
  padding-top: 90px;
  overflow: hidden;

  @media (width &lt; 768px) {
    padding-top: 1.5rem;
  }

  .about-cont {
    .inner {
      position: relative;
      padding: 100px 2rem;

      @media (width &lt; 768px) {
        padding-block: 66px;
      }

      div {
        position: relative;
        width: 100%;
        max-width: 1000px;
        margin-inline: auto;
      }

      &amp;::before {
        content: '';
        display: block;
        width: 100vw;
        height: 100%;
        background-color: #fff;
        border-radius: 0 40px 40px 0;
        border: 5px solid #333;
        border-left: none;
        position: absolute;
        top: 0;
        right: 1rem;
        z-index: 0;

        @media (width &lt; 768px) {
          border-width: 2px;
        }
      }
    }

    .about-cont-head {
      display: flex;
      flex-direction: row-reverse;
      justify-content: space-between;
      gap: 60px;

      @media (width &lt; 768px) {
        flex-direction: column;
      }

      .about-cont-head-img {
        max-width: 274px;
        width: 33%;
        min-width: 208px;
        margin-inline: auto;
      }

      .about-cont-head-text {
        flex: 1;

        h2 {
          max-width: 27em;
          font-size: clamp(1.125rem, 1.011rem + 0.48vw, 1.375rem);
          font-weight: 500;

        }

        p {
          margin-block-start: 2rem;
          font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
        }
      }
    }

    .about-cont-body {
      margin-block-start: 100px;

      h2 {
        text-align: center;
        font-size: clamp(1.375rem, 1.091rem + 1.21vw, 2rem);
        font-weight: 500;
      }

      figure {
        margin-block-start: 1rem;

        img {
          margin-inline: auto;
        }
      }

      .about-details {
        /* border-top: 2px dotted #d6e8e6; */
        margin: 46px auto;

        dt,
        dd {
          border-bottom: 2px dotted #d6e8e6;
        }

        dt {
          vertical-align: top;
          padding: 1.9rem 1rem 0.5rem;
          text-align: center;
          color: #707070;
          font-size: 0.8125rem;
          font-weight: 500;
          white-space: nowrap;
          position: relative;
          line-height: 1.2308;

          @media (width &lt; 768px) {
            padding: 1.9rem 1rem 0.5rem;
          }

          &amp;::before {
            position: absolute;
            top: 1.6rem;
            left: 0;
            content: '';
            display: block;
            width: 14px;
            height: 18px;
            background: url('../img/program/ico-song.svg') no-repeat center center;
            background-size: contain;
          }

          @media (width &lt; 768px) {
            border-bottom: none;
            text-align: left;

            br {
              display: none;
            }
          }

          span {
            font-size: 0.625rem;
            font-weight: 400;
          }
        }

        dd {
          padding-block: 1.5rem 0.5rem;
          font-size: clamp(0.875rem, 0.761rem + 0.48vw, 1.125rem);

          @media (width &lt; 768px) {
            padding-block: 0.5rem;
          }

          a[target="_blank"] {
            display: inline-flex;
            align-items: center;

            &amp;::after {
              font: var(--fa-font-solid);
              content: '\f08e';
              font-size: 0.625rem;
              width: 24px;
              height: 24px;
              margin-left: 0.5rem;
              background-color: #eee;
              display: inline-flex;
              align-items: center;
              justify-content: center;
              border-radius: 50%;
              color: #9e9e9e;
              transition: all .3s ease;
            }

            &amp;:hover {
              &amp;::after {
                color: #fff;
                background-color: #e95076
              }

            }
          }
        }

        @media (540px &lt;=width) {
          display: table;

          dl {
            display: table-row;

          }

          dt,
          dd {
            display: table-cell;

          }
        }
      }
    }
  }
}

body.program {
  .program-forparents {
    margin: 40px auto 50px;
    max-width: 744px;
    background-color: #faeeac;
    border: 2px solid #333;
    border-radius: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 1.5rem 1.5rem;

    @media screen and (width &lt; 744px) {
      border-radius: 0;
      border-left: none;
      border-right: none;
      margin: 40px -1rem 20px;
    }
  }

  .program-forparents-title {
    background-color: #fff;
    border: 2px solid #333;
    border-radius: 30px;
    font-size: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);
    font-weight: 700;
    line-height: 1;
    padding: 0.5rem 1.5rem;
    margin-inline: auto;
    display: inline-block;
    translate: 0 -50%;
  }

  .program-forparents-texts {
    font-size: clamp(0.875rem, 0.761rem + 0.48vw, 1.125rem);
  }
}

.round-wrap {
  max-width: 998px;
  margin-inline: auto;
  background: #fff;
  border-radius: 16px;
  padding: 1rem 100px 4.5rem;

  @media screen and (width &lt; 768px) {
    padding: 1rem;
  }
}

.page-ctrl {
  display: flex;
  justify-content: flex-end;
  margin-block: 50px 1rem;

  a {
    display: block;
    border: 2px solid #f7416b;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: bold;
    text-decoration: none;
    color: #f7416b;
    padding: 0.5rem 1rem;

    span {
      margin-inline-start: 0.5rem;
    }
  }
}


.btn-youtube {
  background-color: #95dbff;
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 396px;
  width: 100%;
  height: 64px;
  margin-inline: auto;
  position: relative;

  &amp;::after {
    font: var(--fa-font-solid);
    content: '\f08e';
    font-size: 0.625rem;
    color: #333;
    transition: all .3s ease;
    position: absolute;
    width: 10px;
    height: 10px;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto 30px auto auto;
  }

  &amp;:hover {
    background-color: #f7416b;
    color: #fff;

    &amp;::after {
      color: #fff;
    }
  }
}

.btn-streamingplus {
  background-color: #333;
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 396px;
  width: 100%;
  height: 64px;
  margin-inline: auto;
  position: relative;

  &amp;::after {
    font: var(--fa-font-solid);
    content: '\f08e';
    font-size: 0.625rem;
    color: #fff;
    transition: all .3s ease;
    position: absolute;
    width: 10px;
    height: 10px;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto 30px auto auto;
  }

  &amp;:hover {
    background-color: #f7416b;
  }
}

.ticket-nav {
  display: flex;
  justify-content: center;
  gap: 1rem;
  max-width: 585px;
  margin-inline: auto;

  a {
    flex: 1;
    height: 72px;
    background-color: #eee;
    border: 2px solid #333;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    font-size: 0.875rem;
    font-weight: 500;

    &amp;::after {
      width: 12px;
      height: 10px;
      font: var(--fa-font-solid);
      content: '\f107';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto auto 10px;

    }
  }
}

.recommended-program-title {
  font-size: clamp(1.25rem, 1.023rem + 0.97vw, 1.75rem);
}

.icon-playtag {
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #09f;
  font-weight: 500;
  font-size: 1.25rem;
}

.tb-schedule {
  max-width: 700px;
  margin-inline: auto;
  border-collapse: collapse;

  caption {
    font-size: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);
    font-weight: 500;
    text-align: left;

  }

  th,
  td {
    vertical-align: top;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    font-weight: 400;
    font-size: clamp(0.875rem, 0.818rem + 0.24vw, 1rem);
    padding: 0.5rem;

    @media (width &lt; 768px) {
      padding-inline: 0;
    }
  }

  .schedule-date {
    text-align: left;

    span {
      @media (768px &lt;=width) {
        display: inline-block;

        &amp;+span {
          margin-left: 1em;
        }
      }

      @media (width &lt; 768px) {
        display: block;
      }
    }

    &amp;+td {
      text-align: left;
    }
  }

  .program-name {
    width: auto;
  }

  .program-ticket {
    white-space: nowrap;
    text-align: right;
    padding-inline-start: 1rem;
  }

}

.tb-ticket {
  max-width: 650px;
  margin-inline: auto;
  border-spacing: 4px;
  margin-block: 20px 50px;
  font-size: clamp(1rem, 0.773rem + 0.97vw, 1.5rem);

  caption {
    text-align: left;
    font-weight: 700;
  }

  th,
  td {
    background-color: #eee;
    padding: 0.5rem 1rem;
    vertical-align: top;
  }

  th {
    white-space: nowrap;
  }
}

.notice-bull {
  margin-block: 1.5rem;

  li {
    list-style-type: disc;
    margin-inline-start: 1.5em;
  }

  font-size: 0.875rem;
}

body.streaming {
  .round-wrap {
    padding: 2rem 20px 4rem;
  }

  .bnr_wrap {
    margin-block: 1.5rem;
  }

  .ticket-title {
    margin-inline: -20px;
  }

  .narrow-inner {
    padding-inline: 0;
  }
}

.streaming-nav {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 20px;
  margin-block: 60px 30px;

  @media (width &lt; 768px) {
    margin-block: 0 30px;
  }

  .nav-btn {
    transition: all 0.2s ease;
    display: inline-flex;
    height: 59px;
    border: 1px solid #333;
    border-bottom: none;
    max-width: 268px;
    width: 100%;
    justify-content: center;
    background-color: #333;
    align-items: flex-end;
    cursor: pointer;

    @media (width &lt; 768px) {
      height: 51px;
    }

    span {
      padding: 1rem;
      font-size: clamp(0.938rem, 0.824rem + 0.57vw, 1.25rem);
      font-weight: 700;
      color: #fff;
      line-height: 1;
    }

    &amp;:hover {
      height: 62px;

      @media (width &lt; 768px) {
        height: 53px;
      }
    }

    &amp;.is-active {
      height: 64px;
      background-color: #fff;
      cursor: default;

      @media (width &lt; 768px) {
        height: 56px;
      }

      span {
        color: #333;
      }
    }
  }
}

.personality {
  display: flex;
  justify-content: space-between;
  max-width: 564px;
  margin: 2rem auto;
  gap: 24px;

  figure {
    figcaption {
      text-align: center;
      font-size: clamp(0.813rem, 0.67rem + 0.61vw, 1.125rem);
    }
  }
}

.streaming-cont {
  display: none;
  max-width: 744px;
  margin-inline: auto;

  &amp;.is-active {
    display: block;
  }

  p {
    margin-block: 1rem;
  }
}

body.timetable {
  .list-days {
    display: flex;
    gap: 20px;
    justify-content: center;

    @media (width &lt; 768px) {
      gap: 4px;
    }

    a {
      display: flex;
      flex-wrap: wrap;
      height: 80px;
      border-radius: 4px;
      border: 1px solid #333;
      align-items: center;
      justify-content: center;
      color: #fff;
      text-align: center;
      line-height: 1;
      padding-block-start: 5px;

      &amp;::after {
        font: var(--fa-font-solid);
        content: '\f107';
        width: 100%;
      }

      span {
        display: inline-block;
        line-height: 1;
        font-weight: 700;
      }

      &amp;.day-1 {
        background-color: #16A499;
      }

      &amp;.day-2 {
        background-color: #be5078;
      }

      &amp;.day-3 {
        background-color: #e06421;
      }

      &amp;.day-4 {
        background-color: #4b5aa5;
      }

      .day {
        font-size: clamp(0.688rem, 0.545rem + 0.61vw, 1rem);
        width: 100%;
      }

      .date {
        font-size: clamp(1.125rem, 1.068rem + 0.24vw, 1.25rem);
      }

      .dow {
        font-size: clamp(0.75rem, 0.523rem + 0.97vw, 1.25rem);
      }
    }

  }
}

.timetable {
  .timetable-cont {
    padding-top: 70px;
  }

  .section-header {
    max-width: 934px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: 700;

    .day {
      margin-top: 1rem;
    }

    .date {
      font-size: clamp(2rem, 1.943rem + 0.24vw, 2.125rem);
    }
  }

  .section-body {
    max-width: 934px;
    margin-inline: auto;

    .fig-timetable {
      display: block;
      margin-block: 1rem;
    }
  }
}


.musicforall {
  .page-body {
    overflow: visible;
  }

  .round-wrap {
    padding: 2.5rem 3.5rem;
  }

  .sec-lead {
    padding-top: 0 !important;

    .round-wrap {
      @media screen and (768px &lt;=width) {
        position: relative;
        padding-right: 410px;

        &amp;::before,
        &amp;::after {
          content: '';
          display: block;
          width: 200px;
          aspect-ratio: 1 / 1;
          position: absolute;
        }

        &amp;::before {
          background: url('../img/musicforall/lead01.png') no-repeat center center;
          background-size: contain;
          top: -70px;
          right: 186px;
        }

        &amp;::after {
          background: url('../img/musicforall/lead02.png') no-repeat center center;
          background-size: contain;
          top: 65px;
          right: -12px;
        }
      }
    }
  }

  .contents-nav {
    max-width: 744px;
    margin: 80px auto 0;

    ul {
      list-style-type: none;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 28px 16px;
    }

    a {
      display: flex;
      height: 48px;
      align-items: center;
      border: 2px solid #333;
      border-radius: 12px;
      font-size: 1.125rem;
      font-weight: 500;
      padding-inline: 8px;

      &amp;::after {
        width: 24px;
        height: 24px;
        font: var(--fa-font-solid);
        content: '\f107';
        background-color: #c0dcaa;
        border-radius: 50%;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        font-size: 12px;
        color: #707070;
      }
    }

    .nav-icon {
      display: block;
      width: 40px;
      aspect-ratio: 1 / 1;
    }

    .nav-name {
      margin-inline: auto;
    }

    .nav-main {
      width: 174px;
      background-color: #46aa2a;
      color: #fff;
    }

    .nav-sub {
      .nav-icon {
        width: 24px;
      }

      width: 238px;
      background-color: #fff;
      color: #46aa2a;
    }
  }

  .list-mfa-imgs {
    max-width: 622px;
    margin-inline: auto;

    .img-wrap {
      display: flex;
      gap: 46px;
    }

    figure {
      flex: 1;
    }

    figcaption {
      text-align: center;
      margin-block: 0.25rem;
    }
  }

  .sec-title-wrap {
    border-bottom: 4px solid #46aa2a;
    padding-inline: 1rem;
    margin-block-end: 2rem;

    .sec-title {
      margin-bottom: 10px;
      max-width: 998px;
      margin-inline: auto;
      display: flex;
      align-items: center;

      .mfa-icon {
        display: block;
        width: 56px;
        margin-right: 18px;
      }
    }
  }

  .cont-main {
    .sec-title-wrap {
      border-bottom: 4px solid #46aa2a;
    }
  }

  .cont-sub {
    .sec-title-wrap {
      border-bottom: 4px solid #333;
    }
  }

  .txt-round {
    margin-block: 2rem;
    display: flex;
    justify-content: center;

    p {
      border-radius: 8px;
      padding: .25rem 2rem;
      background-color: #fff;
    }

    &amp;.c-green {
      p {
        border: 2px solid #46aa2a;
      }

    }

    &amp;.c-white {
      p {
        border: 2px solid #fff;
      }
    }
  }

  .bg-gray {
    border: 1px solid #eee;
    margin-top: calc(81px + 2rem);
    background-color: #eee;
    padding-block-end: 1px;
    margin-inline: -3.5rem;

    .box-mfa-imgs {
      margin-top: -81px;
    }
  }

  .box-mfa-imgs {

    max-width: 738px;
    margin-inline: auto;
  }


  .mfa {
    padding-top: 140px;

    .section-header {
      margin-bottom: 2rem;

      h2 {
        font-size: clamp(1.375rem, 1.205rem + 0.73vw, 1.75rem);
        margin-bottom: 1rem;
      }

      p {
        font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
      }
    }

    .btn-wrap {
      gap: 46px;
      margin-block-start: 30px;
    }

    .btn {
      background-color: #46aa2a;
      border: none;
      color: #fff;
      height: 48px;
      line-height: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 288px;
      /* width: 100%; */
      position: relative;
      padding-inline: 3rem;

      &amp;::after {
        width: 14px;
        aspect-ratio: 1 / 1;
        font: var(--fa-font-solid);
        content: '\f08e';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto 1rem auto auto;
      }
    }
  }

  .note {
    margin-block: 1rem;
  }

  .mfa-contact {
    margin-top: 1.5rem;
    padding-top: 2.5rem;
    border-top: 1px solid #333;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;

    dd {
      display: flex;
      gap: 40px;
      align-items: center;
    }
  }
}

.text {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-family: "Roboto Mono", monospace;
  font-size: 5vw;
  font-weight: 700;
  text-transform: uppercase;
}

.text.is-active {
  --opacity: 1;
}

.char {
  display: inline-block;
  opacity: var(--opacity, 0);
  transition: opacity 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  transition-delay: calc(0.05s * var(--char-index));
}

/* 蛻晄悄CSS */
.container {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #3c3c3c;
}

.visuallyHidden {}

.mask {
  clip-path: polygon(0 10%, 0 0, 0 90%, 0 100%);
  transition: all 0.5s ease;
}

.aos-animate {
  .mask {
    clip-path: polygon(0 12%, 100% 0, 100% 88%, 0 100%);
  }
}

.error404 {
  main {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-top: 3rem;

    img {
      margin-inline: auto;
    }

    p {
      font-size: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);
      font-weight: 700;
      margin-block: 3rem;
    }
  }
}</pre></body></html>