@charset "UTF-8";
/* =========================================================
   Main Visual
========================================================= */
.new-era__hero {
 position: relative;
 display: grid;
 grid-template-columns: 50% 50%;
 width: 100%;
 height: 100vh;
 min-height: 1030px;
 overflow: hidden;
 background: #4f597f;
}
.new-era__hero-content {
 position: relative;
 width: 100%;
 height: 100%;
 overflow: hidden;
 background: #4f597f;
 color: #ffffff;
}
.new-era__hero-copy {
 position: absolute;
 top: 4.5%;
 left: 50%;
 z-index: 3;
 margin: 0;
 color: #ffffff;
 writing-mode: vertical-rl;
 text-orientation: upright;
 font-size: 18px;
 font-weight: 700;
 line-height: 1.85;
 letter-spacing: 4px;
 transform: translateX(-50%);
}
.new-era__hero-title {
 position: absolute;
 top: 35%;
 left: 50%;
 z-index: 2;
 width: 86%;
 max-width: 650px;
 margin: 0;
 transform: translateX(-50%);
}
.new-era__hero-title img {
 display: block;
 width: 100%;
 height: auto;
 object-fit: contain;
}
.new-era__hero-movie {
 position: absolute;
 bottom: 4.5%;
 z-index: 4;
 display: block;
  left: 50%;
  width: 250px;
  margin-left: -125px;
 text-decoration: none;
 transition:
  opacity 0.3s ease, transform 0.3s ease;
}
.new-era__hero-movie img {
 display: block;
 width: 100%;
 height: auto;
 object-fit: contain;
}
.new-era__hero-visual {
 position: relative;
 width: 100%;
 height: 100%;
 margin: 0;
 overflow: hidden;
}
.new-era__hero-visual img {
 display: block;
 width: 100%;
 height: 100%;
 object-fit: cover;
 /*
    人物素材へ差し替えたあと、
    顔位置はここで調整
  */
 object-position: center center;
}
.new-era__hero-ticket {
 position: fixed;
 left: 0;
 bottom: 4.5%;
 z-index: 50;
 display: block;
 width: 72px;
 text-decoration: none;
 transition:
  opacity 0.3s ease, transform 0.3s ease;
}
.new-era__hero-ticket img {
 display: block;
 width: 100%;
 height: auto;
 object-fit: contain;
}
@media (hover: hover) {
 .new-era__hero-movie:hover {
  opacity: 0.82;
  transform: translateY(-4px);
 }
 .new-era__hero-ticket:hover {
  opacity: 0.9;
  transform: translateY(-4px);
 }
}
@media (min-width: 1600px) {
 .new-era__hero-title {
  width: 82%;
  max-width: 690px;
 }
 .new-era__hero-copy {
  font-size: 20px;
 }
 .new-era__hero-ticket {
  width: 76px;
 }
.new-era__hero-visual img {
 object-position: top center;
}
}
@media (max-width: 1100px) {
 .new-era__hero {
  min-height: 680px;
 }
 .new-era__hero-copy {
  top: 4%;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 3px;
 }
 .new-era__hero-title {
  top: 34%;
  width: 90%;
 }
 .new-era__hero-ticket {
  bottom: 4%;
  width: 64px;
 }
}
@media (max-width: 768px) {
 .new-era__hero {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: auto;
  overflow: hidden;
 }
 .new-era__hero-visual {
  order: 1;
  width: 100%;
  height: 105vw;
  max-height: 650px;
 }
 .new-era__hero-visual img {
  object-position: top center;
 }
 .new-era__hero-content {
  order: 2;
  width: 100%;
  height: auto;
  min-height: 650px;
  padding: 0;
  background: #4f597f;
 }
 .new-era__hero-copy {
  top: 30px;
  font-size: 18px;
  line-height: 1.75;
  left: 0;
  letter-spacing: 3px;
  text-align: center;
  transform: translateX(0);
  width: 100%;
  writing-mode: horizontal-tb;
 }
 .new-era__hero-title {
  top: 95px;
  width: min(92%, 500px);
  max-width: none;
 }
 .new-era__hero-ticket {
  bottom: 24px;
  width: 58px;
 }
 @media (hover: hover) {
  .new-era__hero-movie:hover {
   transform:
    translateX(-50%) translateY(-4px);
  }
 }
}
@media (max-width: 480px) {
 .new-era__hero-visual {
  height: 110vw;
 }
 .new-era__hero-content {
  min-height: 590px;
 }
 .new-era__hero-copy {
  top: 25px;
  font-size: 12px;
  letter-spacing: 2.5px;
 }
 .new-era__hero-title {
  top: 70px;
  width: 94%;
 }
 .new-era__hero-movie {
  bottom: 28px;
 }
 .new-era__hero-ticket {
  bottom: 20px;
  opacity: 0;
  width: 52px;
 }
 .is-animation {
  bottom: 20px;
  opacity: 1;
  transition: 1s;
  width: 52px;
 }
}
@media (max-width: 375px) {
 .new-era__hero-content {
  min-height: 520px;
 }
 .new-era__hero-movie {
  bottom: 30px;
 }
}

/* =========================================================
   About
========================================================= */
.new-era__about {
 position: relative;
 display: grid;
 grid-template-columns: minmax(0, 48%) minmax(0, 52%);
 align-items: center;
 width: 100%;
 min-height: 1024px;
 padding: 90px 0 15px 8.3%;
 overflow: hidden;
 background:
  linear-gradient(110deg, #dff3f8 0%, #e8f5f8 48%, #f7f8f7 100%);
}
.new-era__about-content {
 position: relative;
 z-index: 3;
 width: 100%;
 max-width: 690px;
 padding-right: 60px;
}
.new-era__about-header {
 margin-bottom: 48px;
}
.new-era__about-title {
 margin: 0 0 38px;
 color: #4d587f;
 font-family: cofo-raffine, sans-serif;
 font-size: 100px;
 font-style: normal;
 font-weight: 500;
 line-height: 0.95;
}
.new-era__about-lead {
 margin: 0;
 color: #111111;
 font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
 font-size: 22px;
 font-weight: 900;
 line-height: 2;
 letter-spacing: 3px;
}
.new-era__about-description {
 width: 100%;
 max-width: 650px;
}
.new-era__about-description p {
 margin: 0;
 color: #333;
 font-size: 18px;
 font-weight: 400;
 line-height: 2;
 letter-spacing: 0.4px;
}
.new-era__about-description p + p {
 margin-top: 32px;
}
.new-era__about-button {
 display: inline-flex;
 align-items: center;
 justify-content: space-between;
 width: 266px;
 min-height: 74px;
 margin-top: 42px;
 padding: 0 23px 0 78px;
 color: #ffffff;
 background: #4e5985;
 border-radius: 999px;
 font-size: 18px;
 font-weight: 700;
 line-height: 1;
 letter-spacing: 0.2px;
 transition:
  transform 0.3s ease, opacity 0.3s ease;
}
.new-era__about-button-arrow {
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 24px;
 font-weight: 300;
 line-height: 1;
 transform: translateY(-1px);
}
@media (hover: hover) {
 .new-era__about-button:hover {
  opacity: 0.8;
  transform: translateY(-3px);
 }
}
.new-era__about-visual {
 position: relative;
 justify-self: end;
 width: 760px;
 height: 760px;
 margin: 0 -135px 0 0;
}
/* Circular portrait */
.new-era__about-photo {
 position: absolute;
 top: 50%;
 left: 50%;
 z-index: 2;
 display: block;
 width: 640px;
 height: 640px;
 overflow: hidden;
 border-radius: 50%;
 transform: translate(-50%, -50%);
}
.new-era__about-photo img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: center 25%;
}
.new-era__about-circle-text {
 position: absolute;
 top: 50%;
 left: 50%;
 z-index: 3;
 display: block;
 width: 800px;
 height: 800px;
 pointer-events: none;
 transform: translate(-50%, -50%) rotate(-38deg);
}
.new-era__about-circle-text {
 position: absolute;
 top: 50%;
 left: 50%;
 z-index: 3;
 display: block;
 width: 800px;
 height: 800px;
 pointer-events: none;
 will-change: transform;
 animation: about-circle-rotate 45s linear infinite;
}
@keyframes about-circle-rotate {
 from {
  transform: translate(-50%, -50%) rotate(-38deg);
 }
 to {
  transform: translate(-50%, -50%) rotate(322deg);
 }
}
.new-era__about-circle-text svg {
 display: block;
 width: 100%;
 height: 100%;
 overflow: visible;
}
.new-era__about-circle-text text {
 fill: transparent;
 stroke: #4b557c;
 stroke-width: 0.75px;
 font-family: cofo-raffine, sans-serif;
 font-size: 35px;
 font-weight: 500;
 letter-spacing: 2px;
}
/* subtle outer guide circle */
.new-era__about-visual::before {
 position: absolute;
 top: 50%;
 left: 50%;
 z-index: 1;
 width: 690px;
 height: 690px;
 border: 1px solid rgba(77, 88, 127, 0.08);
 border-radius: 50%;
 content: "";
 transform: translate(-50%, -50%);
}
@media (min-width: 1600px) {
 .new-era__about {
  min-height: 1080px;
  padding-left: calc((100vw - 1536px) / 2 + 128px);
 }
 .new-era__about-content {
  max-width: 730px;
 }
 .new-era__about-visual {
  width: 820px;
  height: 820px;
  margin-right: -135px;
 }
 .new-era__about-photo {
  width: 680px;
  height: 680px;
 }
 .new-era__about-circle-text {
  width: 860px;
  height: 860px;
 }
}
@media (max-width: 1200px) {
 .new-era__about {
  grid-template-columns: 52% 48%;
  min-height: 850px;
  padding-left: 6%;
 }
 .new-era__about-content {
  padding-right: 30px;
 }
 .new-era__about-title {
  font-size: 78px;
 }
 .new-era__about-lead {
  font-size: 20px;
  line-height: 1.85;
  letter-spacing: 2px;
 }
 .new-era__about-description p {
  font-size: 16px;
 }
 .new-era__about-visual {
  width: 620px;
  height: 620px;
  margin-right: -145px;
 }
 .new-era__about-photo {
  width: 510px;
  height: 510px;
 }
 .new-era__about-circle-text {
  width: 660px;
  height: 660px;
 }
 .new-era__about-circle-text text {
  font-size: 35px;
 }
 .new-era__about-visual::before {
  width: 550px;
  height: 550px;
 }
}
@media (max-width: 768px) {
 .new-era__about {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: auto;
  padding: 70px 24px 70px;
 }
 /* Left content */
 .new-era__about-content {
  width: 100%;
  max-width: none;
  padding: 0;
 }
 .new-era__about-header {
  margin-bottom: 32px;
 }
 .new-era__about-title {
  margin-bottom: 30px;
  font-size: 58px;
  line-height: 1;
  letter-spacing: -3px;
 }
 .new-era__about-lead {
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 1.6px;
 }
 .new-era__about-description {
  max-width: none;
 }
 .new-era__about-description p {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.2px;
 }
 .new-era__about-description p + p {
  margin-top: 25px;
 }
 /* Button */
 .new-era__about-button {
  width: 200px;
  min-height: 54px;
  margin-top: 32px;
  padding: 0 18px 0 54px;
  font-size: 14px;
 }
 .new-era__about-button-arrow {
  font-size: 24px;
 }
 /* Visual */
 .new-era__about-visual {
  align-self: flex-end;
  width: 480px;
  height: 480px;
  margin: 5% -165px -30px 0;
 }
 .new-era__about-photo {
  width: 370px;
  height: 370px;
 }
 .new-era__about-circle-text {
  width: 490px;
  height: 490px;
 }
 .new-era__about-circle-text text {
  stroke-width: 0.65px;
  font-size: 36px;
 }
 .new-era__about-visual::before {
  width: 405px;
  height: 405px;
 }
}
/* =========================================================
   Cast
========================================================= */
.new-era__cast-detail {
 position: relative;
 width: 100%;
 min-height: 1420px;
 padding: 0 5.8% 160px;
 overflow: hidden;
 background:
  linear-gradient(135deg, #dff4f8 0%, #f5f9f9 48%, #f8e8ec 100%);
}
.new-era__cast-detail-circle {
 position: absolute;
 top: 30px;
 left: 50%;
 z-index: 0;
 width: 1757px;
 height: 1757px;
 border-radius: 50%;
 background: rgba(255, 255, 255, 0.55);
 transform: translateX(-50%);
 pointer-events: none;
}
.new-era__cast-detail-content {
 position: relative;
 z-index: 2;
 width: 100%;
 max-width: 1280px;
 margin: 0 auto;
 padding-top: 0;
}
.new-era__cast-detail-title {
 margin: 0 0 38px;
 color: #4d587f;
 font-family: cofo-raffine, sans-serif;
 font-size: 100px;
 font-style: normal;
 font-weight: 500;
 line-height: 0.95;
 text-align: center;
}
.new-era__cast-detail-main {
 width: 100%;
 margin-bottom: 20px;
}
.new-era__cast-detail-main .new-era__cast-detail-member {
 width: 370px;
 margin: 0 auto;
}
.new-era__cast-detail-main .new-era__cast-detail-photo {
 width: 370px;
 height: auto;
}
.new-era__cast-detail-main .new-era__cast-detail-member figcaption {
 margin-top: 10px;
 font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
 font-size: 24px;
 font-weight: 700;
 letter-spacing: 0.2em;
}
.new-era__cast-detail-member {
 margin: 0;
 text-align: center;
}
.new-era__cast-detail-photo {
 position: relative;
 display: block;
 width: 100%;
 overflow: hidden;
}
.new-era__cast-detail-photo img {
 display: block;
 width: 100%;
 height: 100%;
 object-fit: cover;
}
.new-era__cast-detail-member figcaption {
 margin-top: 11px;
 color: #111111;
 font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
 font-size: 20px;
 font-weight: 700;
 line-height: 1.4;
 letter-spacing: 2px;
}
.new-era__cast-detail-profile {
 position: absolute;
 right: 8px;
 bottom: 8px;
 display: flex;
 align-items: center;
 justify-content: center;
 width: 25px;
 height: 25px;
 color: #ffffff;
 background: rgba(255, 255, 255, 0.26);
 border: 1px solid rgba(255, 255, 255, 0.95);
 border-radius: 50%;
 font-size: 15px;
 font-weight: 300;
 line-height: 1;
 backdrop-filter: blur(2px);
 transition:
  transform 0.3s ease, background 0.3s ease;
}
@media (hover: hover) {
 .new-era__cast-detail-photo:hover .new-era__cast-detail-profile {
  background: rgba(78, 89, 133, 0.82);
  transform: rotate(90deg);
 }
}
.new-era__cast-detail-groups {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 36px;
 width: 100%;
 margin-top: 14px;
}
.new-era__cast-detail-group {
 position: relative;
}
.new-era__cast-detail-category {
 margin: 0 0 20px;
 color: #4d587f;
 font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
 font-size: 19px;
 font-weight: 700;
 line-height: 1;
 letter-spacing: 4px;
 text-align: center;
}
.new-era__cast-detail-list {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 18px;
 margin: 0;
 padding: 0;
 list-style: none;
}
.new-era__cast-detail-list li {
 min-width: 0;
}
.new-era__cast-detail-list .new-era__cast-detail-photo {
 aspect-ratio: 0.75;
}
.new-era__staff-detail {
 position: relative;
 z-index: 2;
 display: grid;
 grid-template-columns: 320px minmax(0, 600px);
 justify-content: center;
 align-items: start;
 gap: 80px;
 width: 100%;
 max-width: 1120px;
 margin: 78px auto 0;
}
.new-era__staff-detail-title {
 margin: 0;
 color: #4d587f;
 font-family: cofo-raffine, sans-serif;
 font-size: 100px;
 font-weight: 500;
 line-height: 1;
 text-align: right;
}
.new-era__staff-detail-list {
 display: grid;
 gap: 9px;
 margin: 0;
}
.new-era__staff-detail-list > div {
 display: grid;
 grid-template-columns: auto 1fr;
 align-items: baseline;
 gap: 8px;
 color: #111111;
 font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
 font-size: 20px;
 font-weight: 700;
 line-height: 1.65;
 letter-spacing: 1.2px;
}
.new-era__staff-detail-list dt, .new-era__staff-detail-list dd {
 margin: 0;
}
.new-era__staff-detail-list dt::after {
 content: "：";
 margin-left: 2px;
}
.new-era__staff-detail-separator {
 margin-top: 24px;
}
@media (min-width: 1400px) {
 .new-era__cast-detail {
  min-height: 1440px;
 }
 .new-era__cast-detail-content {
  max-width: 1260px;
 }
 .new-era__cast-detail-list {
  gap: 20px;
 }
}
@media (max-width: 1100px) {
 .new-era__cast-detail {
  min-height: 1260px;
  padding-right: 5%;
  padding-left: 5%;
 }
 .new-era__cast-detail-circle {
  top: 25px;
  width: 1200px;
  height: 1200px;
 }
 .new-era__cast-detail-title {
  font-size: 66px;
 }
 .new-era__cast-detail-main .new-era__cast-detail-member {
  width: 245px;
 }
 .new-era__cast-detail-main .new-era__cast-detail-photo {
  width: 245px;
  height: 326px;
 }
 .new-era__cast-detail-groups {
  gap: 26px;
 }
 .new-era__cast-detail-category {
  font-size: 12px;
 }
 .new-era__cast-detail-member figcaption {
  font-size: 13px;
 }
 .new-era__staff-detail {
  grid-template-columns: 250px minmax(0, 1fr);
  gap: 55px;
  max-width: 900px;
 }
 .new-era__staff-detail-title {
  font-size: 62px;
 }
 .new-era__staff-detail-list > div {
  font-size: 12px;
 }
}
@media (max-width: 768px) {
 .new-era__cast-detail {
  min-height: auto;
  padding: 50px 20px 80px;
 }
 .new-era__cast-detail-circle {
  top: 65px;
  width: 820px;
  height: 820px;
 }
 /* Cast Title */
 .new-era__cast-detail-title {
  margin-bottom: 30px;
  font-size: 54px;
  letter-spacing: -2px;
 }
 /* Main Cast */
 .new-era__cast-detail-main {
  margin-bottom: 28px;
 }
 .new-era__cast-detail-main .new-era__cast-detail-member {
  width: 231px;
 }
 .new-era__cast-detail-main .new-era__cast-detail-photo {
  width: 231px;
  height: 308px;
 }
 .new-era__cast-detail-main .new-era__cast-detail-member figcaption {
  font-size: 16px;
  letter-spacing: 3px;
 }
 /* Groups */
 .new-era__cast-detail-groups {
  display: block;
  margin-top: 0;
 }
  .new-era__cast-detail-groups li {
   margin: 0 auto;
  max-width: 210px;
 }
 .new-era__cast-detail-group {
  width: 100%;
  margin-bottom: 42px;
 }
 .new-era__cast-detail-group:last-child {
  margin-bottom: 0;
 }
 .new-era__cast-detail-category {
  margin-bottom: 10px;
  font-size: 14px;
  letter-spacing: 3px;
 }
 .new-era__cast-detail-list {
  gap: 12px;
 }
 .new-era__cast-detail-list .new-era__cast-detail-photo {
  aspect-ratio: 0.76;
 }
 .new-era__cast-detail-member figcaption {
  margin-top: 8px;
  font-size: 14px;
  letter-spacing: 1.5px;
 }
 .new-era__cast-detail-profile {
  right: 6px;
  bottom: 6px;
  width: 22px;
  height: 22px;
  font-size: 13px;
 }
 /* Staff */
 .new-era__staff-detail {
  display: block;
  width: 100%;
  margin-top: 70px;
 }
 .new-era__staff-detail-title {
  margin-bottom: 34px;
  font-size: 52px;
  text-align: left;
 }
 .new-era__staff-detail-list {
  gap: 7px;
 }
 .new-era__staff-detail-list > div {
  grid-template-columns: 153px minmax(0, 1fr);
  gap: 4px;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.5px;
 }
 .new-era__staff-detail-separator {
  margin-top: 20px;
 }
}
@media (max-width: 429px) {
  .new-era__staff-detail-list > div dt {
  grid-template-columns: 153px minmax(0, 1fr);
  gap: 4px;
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: 0.5px;
 }
}
/* =========================================================
   Schedule & Ticket
========================================================= */
.new-era__schedule-detail {
 position: relative;
 width: 100%;
 padding: 70px 6% 80px;
 overflow: hidden;
 /* 背景は画像で再現 */
 background-image: url("../img/bkg_schedule.webp");
 background-position: center top;
 background-repeat: no-repeat;
 background-size: cover;
}
/* =========================================================
   Schedule
========================================================= */
.new-era__schedule-detail-content {
 position: relative;
 z-index: 2;
 width: 100%;
 max-width: 1180px;
 margin: 0 auto;
}
.new-era__schedule-detail-title {
 margin: 0 0 60px;
 color: #4d587f;
 font-family: cofo-raffine, sans-serif;
 font-size: 100px;
 font-weight: 500;
 line-height: 1;
 text-align: center;
}
.new-era__schedule-venues {
 display: grid;
 gap: 48px;
}
.new-era__schedule-venue {
 display: grid;
 grid-template-columns: minmax(0, 1fr) 500px;
 align-items: center;
 gap: 0px;
}
.new-era__schedule-info {
 min-width: 0;
}
.new-era__schedule-city {
 margin: 0 0 28px;
 color: transparent;
 font-family: avenir-next-lt-pro-condensed, sans-serif;
 font-size: 120px;
 font-weight: 700;
 line-height: 0.95;
 letter-spacing: 0;
 -webkit-text-stroke: 1.5px #161927;
 text-stroke: 1.5px #161927;
}
.new-era__schedule-date {
 display: flex;
 align-items: center;
 gap: 10px;
 margin-bottom: 8px;
}
.new-era__schedule-date-item {
 display: flex;
 align-items: flex-end;
 font-family: avenir-next-lt-pro-condensed, sans-serif;
 gap: 5px;
 margin: 0;
}
.new-era__schedule-date-item time {
 display: flex;
 align-items: flex-end;
 gap: 5px;
}
.new-era__schedule-date-item strong {
 color: #4d587f;
 font-size: 60px;
 font-weight: 700;
 line-height: 1;
 letter-spacing: -0.05em;
}
.new-era__schedule-date-item time > span {
 color: #4d587f;
 font-size: 30px;
 font-weight: 700;
 letter-spacing: -0.03em;
 margin-bottom: 7px;
 writing-mode: vertical-rl;
 transform: rotate(0deg);
}
.new-era__schedule-date-item time > span.sat {
 color: #4d587f;
 font-size: 30px;
 font-weight: 700;
 letter-spacing: 0.05em;
 margin-bottom: 5px;
 writing-mode: vertical-rl;
 transform: rotate(0deg);
}
.new-era__schedule-date-item time > span.mon {
 color: #4d587f;
 font-size: 30px;
 font-weight: 700;
 letter-spacing: -0.06em;
 margin-bottom: 5px;
 writing-mode: vertical-rl;
 transform: rotate(0deg);
}
.new-era__schedule-times {
 display: flex;
 flex-direction: column;
 gap: 1px;
 padding-bottom: 2px;
}
.new-era__schedule-times > span {
 color: #4d587f;
 font-size: 20px;
 font-weight: 700;
 line-height: 1.3;
 white-space: nowrap;
}
.new-era__schedule-date-slash {
 color: #4d587f;
 font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
 font-size: 42px;
 font-weight: 300;
 margin-bottom: 5px;
}
.new-era__schedule-hall {
 margin: 8px 0 5px;
 color: #4d587f;
 font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
 font-size: 36px;
 font-weight: 700;
 line-height: 1.3;
 letter-spacing: 1px;
}
.new-era__schedule-address {
 margin: 0;
 color: #222222;
 font-style: normal;
 font-size: 18px;
 font-weight: 500;
 line-height: 1.6;
 letter-spacing: 0.4px;
}
.new-era__schedule-map {
 position: relative;
 width: 100%;
 height: 290px;
 margin: 0;
 overflow: hidden;
 border: 1px solid #4d587f;
 background: #ffffff;
}
.new-era__schedule-map iframe {
 display: block;
 width: 100%;
 height: 100%;
 border: 0;
}
/* =========================================================
   Ticket
========================================================= */
.new-era__ticket-detail {
 position: relative;
 z-index: 3;
 width: 100%;
 max-width: 1180px;
 margin: 55px auto 0;
 padding: 42px 5% 48px;
 background: rgba(255, 255, 255, 0.93);
 border-radius: 22px;
 box-shadow:
  0 14px 40px rgba(40, 48, 74, 0.06);
 backdrop-filter: blur(4px);
 -webkit-backdrop-filter: blur(4px);
}
.new-era__ticket-detail-title {
 margin: 0 0 36px;
 color: #4d587f;
 font-family: cofo-raffine, sans-serif;
 font-size: 100px;
 font-weight: 500;
 line-height: 1;
 text-align: center;
}
.new-era__ticket-price-list {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 16px;
 margin: 0;
}
.new-era__ticket-price {
 display: grid;
 grid-template-columns: 38% 62%;
 align-items: center;
 min-height: 190px;
 border: 1px solid #252a38;
}
.new-era__ticket-price dt {
 display: flex;
 align-items: center;
 justify-content: center;
 min-height: 64px;
 margin: 0;
 padding: 0 15px;
 color: #4d587f;
 border-right: 3px dotted #7d8399;
 font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
 font-size: 36px;
 font-weight: 700;
 line-height: 1;
}
.new-era__ticket-price dd {
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 margin: 0;
 padding: 40px 10px;
 color: #4d587f;
 text-align: center;
}
.new-era__ticket-price dd strong {
 font-family: avenir-next-lt-pro-condensed, sans-serif;
 font-size: 54px;
 font-weight: 700;
 line-height: 1.15;
}
.new-era__ticket-price dd strong span {
 font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
 font-size: 36px;
 font-weight: 700;
 line-height: 1.15;
 margin-left: 5px;
}
.new-era__ticket-price dd small {
 margin-top: 3px;
 font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
 font-size: 20px;
 font-weight: 700;
}
.new-era__ticket-price-note {
 margin: 15px 0;
 color: #222222;
 font-size: 16px;
 line-height: 1.6;
}
.new-era__ticket-seating-chart {
 align-items: center;
 display: flex;
 justify-content: space-between;
 margin: 5% auto 100px;
 width: 80%;
}
.new-era__ticket-seating-chart .osaka-seat {
 width: 47.5%;
}
.new-era__ticket-seating-chart .tokyo-seat {
 width: 47.5%;
}
body.home .figure-warp {
    padding: 0!important;
}
.new-era__ticket-sales-detail {
 border-top: 1px solid #252a38;
}
.new-era__ticket-sale-detail {
 display: grid;
 grid-template-columns: minmax(0, 1fr) 260px 260px;
 align-items: center;
 gap: 24px;
 min-height: 103px;
 padding: 20px 0;
 border-bottom: 1px solid #252a38;
}
.new-era__ticket-sale-heading h3 {
 margin: 0;
 color: #4d587f;
 font-size: 24px;
 font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
 font-weight: 700;
 line-height: 1.25;
}
.new-era__ticket-sale-heading h3 small {
 font-size: 18px;
 font-weight: 500;
}
.new-era__ticket-sale-heading > a {
 display: inline-block;
 margin-top: 5px;
 color: #666;
 font-size: 18px;
 line-height: 1.3;
 text-decoration: underline;
}
.new-era__ticket-sale-heading > a:hover {
 text-decoration: none;
}
.new-era__ticket-sale-period {
 display: flex;
 flex-direction: column;
 gap: 2px;
 margin: 0;
 color: #222222;
 font-size: 18px;
 line-height: 1.5;
 font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
}
.new-era__ticket-purchase {
 display: flex;
 align-items: center;
 justify-content: space-between;
 width: 100%;
 min-height: 70px;
 padding: 0 16px 0 27px;
 color: #ffffff;
 background: #4d587f;
 border-radius: 999px;
 font-size: 18px;
 font-weight: 700;
 line-height: 1;
 transition:
  opacity 0.25s ease, transform 0.25s ease;
 font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
 font-weight: 900;
}
.new-era__ticket-purchase span:last-child {
 font-size: 18px;
 font-weight: 300;
}
@media (hover: hover) {
 .new-era__ticket-purchase:hover {
  opacity: 0.8;
  transform: translateY(-2px);
 }
}
.new-era__ticket-notes-detail {
 margin: 46px 0;
 padding: 0;
 list-style: none;
}
.new-era__ticket-notes-detail li {
 position: relative;
 margin-bottom: 3px;
 padding-left: 23px;
 color: #222222;
 font-size: 16px;
 line-height: 1.55;
}
.new-era__ticket-notes-detail li::before {
 position: absolute;
 top: 5px;
 left: 0;
 width: 16px;
 height: 16px;
 background: #4d587f;
 border-radius: 50%;
 content: "";
}
@media (min-width: 1440px) {
 .new-era__schedule-detail {
  padding-top: 75px;
  padding-bottom: 90px;
 }
 .new-era__schedule-detail-content, .new-era__ticket-detail {
  max-width: 1200px;
 }
 .new-era__schedule-venue {
  grid-template-columns: minmax(0, 1fr) 510px;
  gap: 78px;
 }
 .new-era__schedule-map {
  height: 300px;
 }
}
@media (max-width: 1200px) {
.new-era__schedule-venue {
 display: grid;
 grid-template-columns: minmax(0, 1fr) 345px;
 align-items: center;
 gap: 0px;
}
 .new-era__schedule-map {
  height: 207px;
 }
}
@media (max-width: 1024px) {
 .new-era__schedule-detail {
  padding: 55px 15px 60px;
  /*
      PC用背景画像をそのまま使用する場合、
      スマホでは中央基準でトリミング
    */
  background-position: center top;
  background-size: auto 100%;
 }
 .new-era__schedule-detail-title {
  margin-bottom: 40px;
  font-size: 50px;
 }
 .new-era__schedule-venues {
  gap: 55px;
 }
 .new-era__schedule-venue {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 25px;
 }
 .new-era__schedule-city {
  margin-bottom: 22px;
  font-size: 51px;
  letter-spacing: -2px;
  -webkit-text-stroke-width: 1px;
 }
 .new-era__schedule-date-item time {
    gap: 2px;
}
 .new-era__schedule-date {
  gap: 4px;
 }
 .new-era__schedule-date-item {
  gap: 2px;
 }
 .new-era__schedule-date-item strong {
  font-size: 34px;
 }
 .new-era__schedule-date-item time > span {
  font-size: 17px;
  letter-spacing: 0.01em;
  margin-bottom: 3px;
 }
 .new-era__schedule-times > span {
  font-size: 14px;
  line-height: 1;
 }
 .new-era__schedule-date-item time > span.mon {
  font-size: 17px;
  margin-bottom: 3px;
 }
  .new-era__schedule-date-item time > span.sat {
  font-size: 17px;
  margin-bottom: 3px;
 }
 .new-era__schedule-date-slash {
  font-size: 24px;
 }
 .new-era__schedule-hall {
  font-size: 22px;
 }
 .new-era__schedule-address {
  font-size: 14px;
 }
 .new-era__schedule-notice {
  font-size: 12px;
 }
 .new-era__schedule-map {
  width: 100%;
  height: 58vw;
  max-height: 320px;
  border-width: 1px;
 }
 .new-era__ticket-detail {
  margin-top: 45px;
  padding: 35px 17px 32px;
  border-radius: 17px;
 }
 .new-era__ticket-detail-title {
  margin-bottom: 28px;
  font-size: 50px;
 }
 .new-era__ticket-price-list {
  gap: 9px;
 }
 .new-era__ticket-price {
  grid-template-columns: 40% 60%;
  min-height: 82px;
 }
 .new-era__ticket-price dt {
  min-height: 48px;
  padding: 0 5px;
  border-right-width: 2px;
  font-size: 17px;
 }
 .new-era__ticket-price dd {
  padding: 7px 4px;
 }
 .new-era__ticket-price dd strong {
  font-size: 27px;
 }
 .new-era__ticket-price dd small {
  font-size: 12px;
 }
 .new-era__ticket-price dd strong span {
    font-size: 12px;
  margin-left: 2px;
}
 .new-era__ticket-price-note {
  margin: 12px 0 25px;
  font-size: 10px;
 }
 .new-era__ticket-seating-chart {
 align-items: center;
 display: flex;
 justify-content: space-between;
 margin: 5% auto 45px;
 width: 100%;
}
.new-era__ticket-seating-chart .osaka-seat {
 width: 49.5%;
}
.new-era__ticket-seating-chart .tokyo-seat {
 width: 49.5%;
}
 .new-era__ticket-sale-detail {
  grid-template-columns: minmax(0, 1fr) 145px;
  gap: 9px 12px;
  min-height: auto;
  padding: 15px 0;
 }
 .new-era__ticket-sale-heading {
  grid-column: 1;
  grid-row: 1;
 }
 .new-era__ticket-sale-heading h3 {
  font-size: 14px;
 }
 .new-era__ticket-sale-heading h3 small {
  font-size: 12px;
 }
 .new-era__ticket-sale-heading > a {
  font-size: 12px;
 }
 .new-era__ticket-sale-period {
  grid-column: 1;
  grid-row: 2;
  font-size: 12px;
 }
 .new-era__ticket-purchase {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  min-height: 40px;
  padding: 0 10px 0 15px;
  font-size: 12px;
 }
 .new-era__ticket-purchase span:last-child {
  font-size: 16px;
 }
 .new-era__ticket-notes-detail {
  margin: 22px 0;
 }
 .new-era__ticket-notes-detail li {
  padding-left: 9px;
  font-size: 10px;
  line-height: 1.5;
 }
 .new-era__ticket-notes-detail li::before {
  top: 4px;
  width: 5px;
  height: 5px;
 }
}
@media (max-width: 429px) {
 .new-era__ticket-price dt {
  font-size: 14px;
 }
 .new-era__ticket-price dd strong {
  font-size: 24px;
 }
}

/* -------------------------
     Official
  ------------------------- */
.new-era__official-detail {
 position: relative;
 width: 100%;
 display: flex;
 align-items: center;
 overflow: hidden;
 background:
  linear-gradient(90deg, #dff4f8 0%, #edf7f9 30%, #ffffff 50%, #f8eef1 72%, #f5dfe5 100%);
}
.new-era__official-inner {
 width: 100%;
 max-width: 1280px;
 margin: 0 auto;
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 align-items: center;
 gap: 100px;
 padding: 60px 7%;
}
.new-era__official-group {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 10px;
}
.new-era__official-heading {
 display: flex;
 flex-direction: column;
 align-items: center;
 margin: 0;
 color: #4d587f;
 font-family: avenir-next-lt-pro-condensed, sans-serif;
 font-weight: 400;
 line-height: 1;
 text-align: center;
}
.new-era__official-heading span {
 display: block;
 font-size: 24px;
 font-weight: 700;
 letter-spacing: -1px;
 line-height: 1.3;
 white-space: nowrap;
}
.new-era__official-heading strong {
 display: block;
 margin-top: 28px;
 font-size: 24px;
 font-weight: 700;
 letter-spacing: -1px;
}
.new-era__official-group--serika .new-era__official-heading {
 color: #cf6879;
}
.new-era__official-links {
 display: flex;
 align-items: center;
 gap: 12px;
}
.new-era__official-link {
 display: block;
 color: inherit;
 text-decoration: none;
}
.new-era__official-icon {
 position: relative;
 display: flex;
 align-items: center;
 justify-content: center;
 width: 75px;
 height: 75px;
 border: 1px solid currentColor;
 border-radius: 50%;
 background-color: #fff;
 transition:
  transform 0.35s ease, background-color 0.35s ease, color 0.35s ease;
}
.new-era__official-group--newera .new-era__official-icon {
 color: #4d587f;
}
.new-era__official-icon--x {
 font-family:
  Arial, Helvetica, sans-serif;
 font-size: 72px;
 font-weight: 200;
 line-height: 1;
}
.new-era__official-group--serika .new-era__official-icon {
 color: #cf6879;
}
.new-era__official-icon img {
 display: block;
 width: 36px;
 height: 36px;
 object-fit: contain;
}
@media (hover: hover) {
 .new-era__official-link:hover .new-era__official-icon {
  transform: translateY(-5px);
 }
}
@media (max-width: 1100px) {
 .new-era__official-detail {
  min-height: 460px;
 }
 .new-era__official-inner {
  gap: 55px;
  padding-right: 5%;
  padding-left: 5%;
 }
 .new-era__official-group {
  gap: 28px;
 }
 .new-era__official-heading span, .new-era__official-heading strong {
  font-size: 28px;
 }
 .new-era__official-heading strong {
  margin-top: 22px;
 }
 .new-era__official-icon {
  width: 82px;
  height: 82px;
 }
 .new-era__official-icon--x {
  font-size: 61px;
 }
 .new-era__official-icon img {
  width: 45px;
  height: 45px;
 }
}
@media (max-width: 768px) {
 .new-era__official-detail {
  min-height: auto;
  background:
   linear-gradient(180deg, #e0f5f9 0%, #f4fafb 45%, #ffffff 52%, #f9eef1 70%, #f5dfe5 100%);
 }
 .new-era__official-inner {
  display: flex;
  flex-direction: column;
  gap: 70px;
  padding: 70px 24px;
 }
 .new-era__official-group {
  width: 100%;
  gap: 15px;
 }
 .new-era__official-heading span, .new-era__official-heading strong {
  font-size: 24px;
 }
 .new-era__official-heading strong {
  margin-top: 18px;
 }
 .new-era__official-icon {
  width: 64px;
  height: 64px;
 }
 .new-era__official-icon--x {
  font-size: 53px;
 }
 .new-era__official-icon img {
  width: 32px;
  height: 32px;
 }
}
/* -------------------------
     Footer
  ------------------------- */
.new-era__footer-detail {
 width: 100%;
 color: #ffffff;
 background: #4f597f;
}
.new-era__footer-detail-inner {
 display: grid;
 grid-template-columns: 32% minmax(0, 68%);
 align-items: center;
 width: 100%;
 max-width: 1440px;
 margin: 0 auto;
 padding: 100px 7%;
}
.new-era__footer-brand {
 display: flex;
 flex-direction: column;
 justify-content: center;
 padding-right: 60px;
 border-right: 1px solid rgba(255, 255, 255, 0.8);
}
.new-era__footer-main-logo {
 width: 100%;
 max-width: 360px;
 margin: 0 auto;
}
.new-era__footer-main-logo img {
 display: block;
 width: 100%;
 height: auto;
 object-fit: contain;
}
.new-era__footer-copyright {
 display: block;
 margin-top: 36px;
 font-size: 12px;
 font-weight: 400;
 line-height: 1.5;
 text-align: center;
}
.new-era__footer-credits {
 padding-left: 60px;
}
.new-era__footer-credit-row {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 50px;
 margin-bottom: 25px;
}
.new-era__footer-credit-group {
 display: flex;
 align-items: center;
 gap: 24px;
}
.new-era__footer-credit-label {
 flex: 0 0 auto;
 margin: 0;
 color: #ffffff;
 font-size: 18px;
 font-weight: 400;
 line-height: 1;
 letter-spacing: 1px;
}
.new-era__footer-credit-logos {
 display: flex;
 align-items: center;
 gap: 24px;
 margin: 0;
 padding: 0;
 list-style: none;
}
.new-era__footer-credit-logos li {
 display: flex;
 align-items: center;
 font-family: YakuHanJP, 'Noto Sans JP', sans-serif;
 font-size: 22px;
 font-weight: 700;
}
.new-era__footer-credit-logos img {
 display: block;
 width: auto;
 max-width: 100%;
 height: 52px;
 object-fit: contain;
 /*
    白ロゴ素材を使用する場合は削除可能
  */
 filter: brightness(0) invert(1);
}
.new-era__footer-credit-logos img.hoppy {
 height:28px;
}
.new-era__footer-credit-logos img.hankyu {
 height:57px;
}


.new-era__footer-credit-group--cooperation {
 display: flex;
 align-items: center;
 gap: 16px;
 margin-bottom: 25px;
}
.new-era__footer-credit-group--cooperation .new-era__footer-credit-logos {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 align-items: center;
 gap: 36px;
 width: 100%;
}
.new-era__footer-credit-set {
 display: flex;
 align-items: center;
 gap: 18px;
 min-width: 0;
}
.new-era__footer-credit-badge {
 flex: 0 0 auto;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-width: 60px;
 min-height: 24px;
 padding: 0 0px;
 border: 1px solid rgba(255, 255, 255, 0.9);
 border-radius: 6px;
 color: #ffffff;
 font-size: 12px;
 font-weight: 400;
 line-height: 1;
 white-space: nowrap;
}
.new-era__footer-credit-set img {
 flex: 0 1 auto;
 display: block;
 width: auto;
 max-width: 150px;
 height: 48px;
 object-fit: contain;
}
/* KYODO系 */
.new-era__footer-credit-set img:nth-of-type(2) {
 max-width: 130px;
 height: 70px;
}
.new-era__footer-contact {
 display: grid;
 gap: 0px;
 margin-top: 10px;
 font-style: normal;
}
.new-era__footer-contact p {
 margin: 0;
 color: #ffffff;
 font-size: 15px;
 font-weight: 400;
 line-height: 1.7;
 letter-spacing: 0.2px;
}
.new-era__footer-contact strong {
 font-weight: 700;
}
.new-era__footer-contact a {
 color: #ffffff;
 text-decoration: none;
}
.new-era__footer-contact span {
 color: #ffffff;
}
@media (hover: hover) {
 .new-era__footer-contact a:hover {
  text-decoration: underline;
 }
}
@media (max-width: 1100px) {
 .new-era__footer-detail-inner {
  grid-template-columns: 32% minmax(0, 68%);
  min-height: 560px;
  padding-right: 5%;
  padding-left: 5%;
 }
 .new-era__footer-brand {
  padding-right: 40px;
 }
 .new-era__footer-main-logo {
  max-width: 280px;
 }
 .new-era__footer-copyright {
  font-size: 9px;
 }
 .new-era__footer-credits {
  padding-left: 45px;
 }
 .new-era__footer-credit-row {
  gap: 28px;
  margin-bottom: 38px;
 }
 .new-era__footer-credit-group {
  gap: 16px;
 }
 .new-era__footer-credit-label {
  font-size: 17px;
 }
 .new-era__footer-credit-logos {
  gap: 15px;
 }
 .new-era__footer-credit-logos img {
  height: 40px;
 }
 .new-era__footer-credit-group--cooperation {
  gap: 16px;
 }
 .new-era__footer-credit-group--cooperation .new-era__footer-credit-logos {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
 }
 .new-era__footer-credit-set {
  gap: 10px;
 }
 .new-era__footer-credit-badge {
  min-width: 70px;
  min-height: 30px;
  padding: 0 8px;
  font-size: 11px;
 }
 .new-era__footer-credit-set img {
  max-width: 100px;
  height: 36px;
 }
 .new-era__footer-credit-set img:nth-of-type(2) {
  max-width: 90px;
  height: 52px;
 }
 .new-era__footer-contact p {
  font-size: 10px;
 }
}
@media (max-width: 1024px) {
 .new-era__footer-detail-inner {
  display: flex;
  flex-direction: column;
  min-height: auto;
  padding: 60px 24px 50px;
 }
 .new-era__footer-brand {
  width: 100%;
  min-height: auto;
  padding: 0 0 42px;
  border-right: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.7);
 }
 .new-era__footer-main-logo {
  max-width: 240px;
 }
 .new-era__footer-copyright {
  margin-top: 24px;
  font-size: 12px;
 }
 .new-era__footer-credits {
  width: 100%;
  padding: 42px 0 0;
 }
 .new-era__footer-credit-row {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: start;
  gap: 30px;
  margin-bottom: 0px;
  text-align: center;
 }
 .new-era__footer-credit-group {
  display: block;
  margin: 0;
  text-align: center;
 }
 .new-era__footer-credit-label {
  display: block;
  margin-bottom: 15px;
  font-size: 15px;
 }
 .new-era__footer-credit-logos {
  display: block;
  text-align: center;
 }
  .new-era__footer-credit-logos li {
   align-items: center;
   display: block;
   font-size: 20px;
   justify-content: center;
   margin: 0 0 30px;
 }
 .new-era__footer-credit-logos img {
  max-width: 100%;
  height: 34px;
  margin: 0 auto;
 }
 .new-era__footer-credit-group--cooperation {
  display: block;
  margin-bottom: 38px;
 }
 .new-era__footer-credit-group--cooperation .new-era__footer-credit-label {
  margin-bottom: 18px;
 }
 .new-era__footer-credit-group--cooperation .new-era__footer-credit-logos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
 }
 .new-era__footer-credit-set {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  min-width: 0;
 }
 .new-era__footer-credit-badge {
  min-width: 68px;
  min-height: 28px;
  padding: 0 8px;
  font-size: 12px;
  width: 100%;
 }
 .new-era__footer-credit-set img {
  width: auto;
  max-width: 102.5px;
  height: 60px;
 }
 .new-era__footer-credit-set img:nth-of-type(2) {
  max-width: 108px;
  height: 44px;
 }
 .new-era__footer-contact {
  gap: 12px;
  margin-top: 0;
 }
 .new-era__footer-contact p {
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
 }
}