@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;900&display=swap");
@import url("https://use.typekit.net/ygx6kil.css");
@import "https://cdn.jsdelivr.net/npm/destyle.css@3.0.0/destyle.min.css";
@import url(/common/css/cmn-bar.css);
:root {
  --c-black:#000629;
  --c-black-light:#e4e7ec;
  --c-navy:#111d77;
  --c-red:#e93417;
  --c-yellow:#ffba31;
  --c-theme:#61ac0a;
  --l-height-footer:600px;
  --l-width-drawer:80px
}
@keyframes circle-rotate {
  0% {
    transform:rotate(0deg)
  }
  100% {
    transform:rotate(360deg)
  }
}
@keyframes drawer-bg {
  0% {
    background-position:100% 0%
  }
  100% {
    background-position:0% 0%
  }
}
html {
  width:100%;
  font-size:62.5%
}
body {
  width:100%;
  font-family:"Noto Sans JP", sans-serif;
  font-size:1.6rem;
  font-weight:500;
  line-height:1.75;
  letter-spacing:.025em;
  font-feature-settings:'palt';
  -webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%;
  background:var(--c-black);
  color:#fff
}
@media (max-width: 959px) {
  body {
    font-size:1.5rem
  }
}
@media (max-width: 959px) {
  html,
  body {
    height:100%
  }
}
::-moz-selection {
  background:var(--c-yellow);
  color:#fff
}
::-webkit-selection {
  background:var(--c-yellow);
  color:#fff
}
::selection {
  background:var(--c-yellow);
  color:#fff
}
img::-moz-selection {
  background:transparent
}
img::-webkit-selection {
  background:transparent
}
img::selection {
  background:transparent
}
a {
  color:#fff;
  text-decoration:none;
  outline:none;
  word-break:break-all
}
img,
svg {
  vertical-align:top;
  width:100%;
  height:auto
}
h1,
h2,
h3,
h4,
h5,
h6,
strong {
  font-weight:700
}
em,
th {
  font-weight:500;
  font-style:normal
}
small,
.u-sm {
  font-size:.85em
}
[v-cloak] {
  display:none
}
.c-microcms {
  --micro-color-link:var(--c-black)
}
.ps__rail-x {
  height:5px
}
.ps__thumb-x {
  height:5px;
  bottom:0px
}
@media (min-width: 960px) {
  .ps__thumb-x {
    cursor:grab
  }
}
.ps__thumb-x,
.ps__thumb-y {
  border-radius:0;
  background-color:var(--c-yellow)
}
.ps__rail-x.ps--clicking .ps__thumb-x,
.ps__rail-x:focus>.ps__thumb-x,
.ps__rail-x:hover>.ps__thumb-x {
  height:10px;
  background-color:var(--c-yellow)
}
.ps .ps__rail-x.ps--clicking,
.ps .ps__rail-x:focus,
.ps .ps__rail-x:hover,
.ps .ps__rail-y.ps--clicking,
.ps .ps__rail-y:focus,
.ps .ps__rail-y:hover,
.ps--active-x>.ps__rail-x,
.ps--active-y>.ps__rail-y {
  opacity:1;
  background-color:#fff
}
.ps--focus>.ps__rail-x,
.ps--focus>.ps__rail-y,
.ps--scrolling-x>.ps__rail-x,
.ps--scrolling-y>.ps__rail-y,
.ps:hover>.ps__rail-x,
.ps:hover>.ps__rail-y {
  opacity:1
}
.vbox-container {
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overflow-scrolling:touch
}
.vbox-child {
  box-shadow:unset;
  background-color:transparent !important
}
.vbox-close {
  width:75px;
  height:75px;
  padding:24.375px;
  background:var(--c-red);
  --vbox-tools-color:#fff;
  opacity:1;
  transition:unset
}
@media (max-width: 959px) {
  .vbox-close {
    width:53px;
    height:53px;
    padding:17.225px
  }
}
.gsap-marker-start,
.gsap-marker-end,
.gsap-marker-scroller-start,
.gsap-marker-scroller-end {
  z-index:5000 !important
}
.c-sec__pic {
  overflow:hidden;
  height:480px
}
.c-sec__pic img {
  width:100%;
  height:100%;
  object-fit:cover
}
@media (max-width: 1279px) {
  .c-sec__pic {
    height:390px
  }
}
@media (max-width: 959px) {
  .c-sec__pic {
    height:210px
  }
}
.c-sec__content {
  box-sizing:content-box;
  max-width:1200px;
  margin:-50px auto 0;
  padding:0 60px 120px
}
@media (max-width: 959px) {
  .c-sec__content {
    max-width:600px;
    margin:-25px auto 0;
    padding:0 5vw 10vw
  }
}
.c-sec__content.-positive {
  margin-top:60px
}
@media (max-width: 959px) {
  .c-sec__content.-positive {
    margin-top:7.5vw
  }
}
.c-sec__ttl {
  position:relative;
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:center;
  text-indent:.05em;
  font-size:14rem;
  color:var(--c-yellow);
  text-shadow:6px 8px 0 var(--c-navy);
  text-align:center;
  margin:0 0 60px
}
@media (max-width: 1279px) {
  .c-sec__ttl {
    font-size:12rem;
    text-shadow:5px 7px 0 var(--c-navy)
  }
}
@media (max-width: 959px) {
  .c-sec__ttl {
    font-size:6.5rem;
    text-shadow:4px 6px 0 var(--c-navy);
    margin:0 0 7.5vw
  }
}
.c-sec__teams {
  position:relative;
  overflow:hidden;
  width:100%;
  height:124.6875px
}
@media (max-width: 959px) {
  .c-sec__teams {
    height:83.125px
  }
}
.c-sec__teams div {
  width:4500px;
  display:flex;
  position:absolute;
  left:0;
  top:0
}
@media (max-width: 959px) {
  .c-sec__teams div {
    width:3000px
  }
}
.c-sec__teams img {
  width:1500px
}
@media (max-width: 959px) {
  .c-sec__teams img {
    width:1000px
  }
}
.c-pagettl {
  position:relative;
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:center;
  text-indent:.05em;
  font-size:14rem;
  color:var(--c-yellow);
  text-shadow:6px 8px 0 var(--c-navy);
  text-align:center;
  margin:60px 0
}
@media (max-width: 1279px) {
  .c-pagettl {
    font-size:12rem;
    text-shadow:5px 7px 0 var(--c-navy)
  }
}
@media (max-width: 959px) {
  .c-pagettl {
    font-size:6.5rem;
    text-shadow:4px 6px 0 var(--c-navy);
    margin:7.5vw 0
  }
}
.c-cmnt {
  position:relative;
  display:inline-block
}
@media (min-width: 960px) {
  .c-cmnt {
    transition:color 0.25s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
  }
  .c-cmnt:hover {
    color:var(--c-yellow)
  }
}
.c-cmnt svg {
  width:15px;
  fill:var(--c-yellow);
  position:absolute;
  right:-23px;
  bottom:50%;
  transform:translate(0, 50%)
}
@media (max-width: 959px) {
  .c-cmnt svg {
    width:13px;
    right:-20px
  }
}
.c-comment {
  display:none
}
.c-comment__cont {
  line-height:2
}
.c-comment__cont dl {
  display:flex;
  align-items:center;
  font-weight:700;
  margin:0 0 15px
}
.c-comment__cont dt {
  flex:0 0 auto;
  margin:0 1.5em 0 0;
  font-size:1.7rem
}
.c-comment__cont dd {
  font-size:2.7rem;
  line-height:1.5
}
.c-popup {
  display:none
}
.c-popup__cont {
  padding:45px;
  background:#fff;
  color:var(--c-black)
}
@media (max-width: 959px) {
  .c-popup__cont {
    padding:5vw
  }
}
.c-popup__cont h1 {
  font-size:3.0rem
}
@media (max-width: 959px) {
  .c-popup__cont h1 {
    font-size:2.4rem
  }
}
.c-popup__cont>*+* {
  margin-top:.75em
}
.c-popup__cont ol,
.c-popup__cont ul {
  text-indent:-1em;
  padding-left:1em
}
.c-popup__cont ul {
  font-size:1.3rem
}
@media (max-width: 959px) {
  .c-popup__cont ul {
    font-size:1.2rem
  }
}
.c-popup__cont a {
  color:var(--c-black)
}
@media (max-width: 959px) {
  .u-pc {
    display:none
  }
}
@media (min-width: 960px) {
  .u-sp {
    display:none
  }
}
.u-underline,
.c-microcms a[href],
.s-ticket__seat a,
.s-ticket__publisher a {
  text-decoration:underline
}
@media (min-width: 960px) {
  .u-underline:hover,
  .c-microcms a[href]:hover,
  .s-ticket__seat a:hover,
  .s-ticket__publisher a:hover {
    text-decoration:none
  }
}
.l-loading {
  overflow:hidden;
  width:100%;
  height:100%;
  position:fixed;
  left:0;
  top:0;
  z-index:4000
}
[data-page="second"] .l-loading {
  display:none
}
.l-loading__logo {
  width:90px;
  position:absolute;
  right:50%;
  bottom:50%;
  z-index:2;
  transform:translate(50%, 50%)
}
@media (max-width: 959px) {
  .l-loading__logo {
    width:75px
  }
}
.l-loading__logo span {
  display:block;
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:center;
  text-indent:.05em;
  color:var(--c-navy);
  margin:10px 0 0
}
.l-loading__bg {
  width:100%;
  height:100%;
  background:#fff;
  position:absolute;
  left:0;
  top:0;
  z-index:1
}
.l-wrapper {
  width:100%;
  border-bottom:1px solid transparent
}
.l-content {
  border-bottom:1px solid var(--c-black);
  background:url(../images/bg.png) repeat center top var(--c-black);
  background-size:70px 70px;
  padding:0 var(--l-width-drawer) 0 0;
  margin:0 0 100vh;
  margin:0 0 clamp(var(--l-height-footer), 100vh, 100vh);
  position:relative;
  z-index:3000
}
@media (min-width: 960px) {
  .l-content {
    background-attachment:fixed
  }
}
@media (max-width: 959px) {
  .l-content {
    padding:0
  }
}
.l-footer {
  width:100%;
  height:100vh;
  height:clamp(var(--l-height-footer), 100vh, 100vh);
  padding:0 var(--l-width-drawer) 0 0;
  background:url(../images/footer_opt.jpg) repeat center center;
  background-image:image-set(url(../images/footer_opt.webp) type("image/webp"), url(../images/footer_opt.jpg) type("image/jpeg"));
  background-size:cover;
  position:fixed;
  right:0;
  top:0;
  z-index:2000;
  display:flex;
  align-items:center;
  justify-content:center
}
@media (max-width: 959px) {
  .l-footer {
    padding:0
  }
}
.l-footer__content {
  box-sizing:content-box;
  max-width:1200px;
  margin:0 auto 0;
  padding:0 60px 0;
  text-align:center
}
@media (max-width: 959px) {
  .l-footer__content {
    max-width:600px;
    margin:0 auto 0;
    padding:0 5vw 0
  }
}
@media (max-width: 959px) {
  .l-footer__content {
    font-size:1.4rem
  }
}
.l-footer__logo {
  width:500px;
  margin:0 auto;
  transform:translate(6%, 0)
}
@media (max-width: 959px) {
  .l-footer__logo {
    width:330px
  }
}
.l-footer dl {
  margin:60px 0 0;
  font-weight:700
}
@media (max-width: 959px) {
  .l-footer dl {
    margin:45px 0 0
  }
}
.l-footer dt {
  display:block;
  width:fit-content;
  margin:0 auto 1em;
  color:#fff;
  font-weight:700;
  line-height:1;
  text-align:center;
  padding:.375em 1.5em .5em;
  transform:skew(-30deg);
  background:transparent;
  border:1px solid #fff;
  font-size:1.4rem;
  margin-bottom:10px
}
.l-footer dt span {
  display:block;
  transform:skew(30deg)
}
.l-footer dd+dt {
  margin-top:30px
}
@media (max-width: 959px) {
  .l-footer dd+dt {
    margin-top:20px
  }
}
.l-footer dd span {
  font-size:1.2rem
}
@media (max-width: 959px) {
  .l-footer dd span {
    font-size:1.1rem
  }
}
.l-footer p {
  margin:60px 0 0;
  font-size:1.3rem;
  font-weight:700
}
@media (max-width: 959px) {
  .l-footer p {
    font-size:1.1rem
  }
}
.l-drawer__btn {
  width:var(--l-width-drawer);
  height:100%;
  background:var(--c-navy);
  position:fixed;
  right:0;
  top:0;
  z-index:3001;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer
}
@media (min-width: 960px) {
  .l-drawer__btn:before {
    content:'';
    display:block;
    width:100%;
    height:100%;
    background:var(--c-theme);
    position:absolute;
    left:0;
    top:0;
    transform:scaleX(0);
    transform-origin:left center;
    transition:transform 0.25s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
  }
  .l-drawer__btn:hover:before {
    transform:scaleX(1);
    transform-origin:right center
  }
}
@media (max-width: 959px) {
  .l-drawer__btn {
    width:65px;
    height:65px;
    padding:2px 0 0
  }
}
.l-drawer__btn-mark {
  position:relative;
  width:62.5%;
  text-align:center
}
@media (max-width: 959px) {
  .l-drawer__btn-mark {
    width:33px
  }
}
.l-drawer__btn-mark path {
  fill:#fff;
  transition:fill 0.25s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
}
.l-drawer__btn-text {
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:inherit;
  font-size:1.1rem;
  margin:7px 0 0;
  position:relative;
  width:100;
  height:1em
}
@media (max-width: 959px) {
  .l-drawer__btn-text {
    font-size:1.0rem;
    margin:5px 0 0
  }
}
.l-drawer__btn-menu,
.l-drawer__btn-close {
  width:100%;
  position:absolute;
  left:0;
  top:0;
  display:flex;
  justify-content:center
}
.l-drawer__btn-menu span,
.l-drawer__btn-close span {
  display:block;
  transition:transform 0.25s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s, opacity 0.25s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s, color 0.25s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s
}
.-open .l-drawer__btn-menu span,
.-open .l-drawer__btn-close span {
  color:#fff
}
.l-drawer__btn-menu span {
  transform:translate(0, 0px);
  opacity:1
}
.l-drawer__btn-menu span:nth-of-type(1) {
  transition-delay:.1s
}
.l-drawer__btn-menu span:nth-of-type(2) {
  transition-delay:.2s
}
.l-drawer__btn-menu span:nth-of-type(3) {
  transition-delay:.3s
}
.l-drawer__btn-menu span:nth-of-type(4) {
  transition-delay:.4s
}
.l-drawer__btn-menu span:nth-of-type(5) {
  transition-delay:.5s
}
.-open .l-drawer__btn-menu span {
  transform:translate(0, 5px);
  opacity:0
}
.l-drawer__btn-close span {
  transform:translate(0, -5px);
  opacity:0
}
.l-drawer__btn-close span:nth-of-type(1) {
  transition-delay:.1s
}
.l-drawer__btn-close span:nth-of-type(2) {
  transition-delay:.2s
}
.l-drawer__btn-close span:nth-of-type(3) {
  transition-delay:.3s
}
.l-drawer__btn-close span:nth-of-type(4) {
  transition-delay:.4s
}
.l-drawer__btn-close span:nth-of-type(5) {
  transition-delay:.5s
}
.-open .l-drawer__btn-close span {
  transform:translate(0, 0);
  opacity:1
}
.l-drawer__content {
  width:calc(100% - var(--l-width-drawer));
  height:100%;
  position:fixed;
  right:var(--l-width-drawer);
  top:0;
  z-index:3000;
  display:flex;
  visibility:hidden;
  pointer-events:none;
  transition:visibility 0s linear .5s
}
.-open .l-drawer__content {
  transition:visibility 0s linear 0s;
  visibility:visible;
  pointer-events:auto
}
@media (max-width: 959px) {
  .l-drawer__content {
    width:100%;
    right:0;
    flex-direction:column;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overflow-scrolling:touch
  }
}
.l-drawer__logo {
  position:relative;
  flex-grow:0;
  flex-shrink:0;
  flex-basis:calc(100% / 3);
  background:url(../images/dw1_opt.jpg) no-repeat center center;
  background-image:image-set(url(../images/dw1_opt.webp) type("image/webp"), url(../images/dw1_opt.jpg) type("image/jpeg"));
  background-size:cover;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:clip-path 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  clip-path:inset(0% 0% 0% 100%);
  animation:drawer-bg infinite 50s linear alternate;
  animation-play-state:paused;
  will-change:clip-path
}
.-open .l-drawer__logo {
  clip-path:inset(0% 0% 0% 0%);
  animation-play-state:running
}
@media (max-width: 959px) {
  .l-drawer__logo {
    background-image:url(../images/dw1_sp_opt.jpg);
    background-image:image-set(url(../images/dw1_sp_opt.webp) type("image/webp"), url(../images/dw1_sp_opt.jpg) type("image/jpeg"));
    clip-path:inset(0% 100% 0% 0%);
    flex-basis:25%;
    min-height:175px
  }
}
.l-drawer__logo a {
  display:block;
  width:80%;
  max-width:400px;
  transform:translate(2%, 0)
}
@media (max-width: 959px) {
  .l-drawer__logo a {
    width:70%
  }
}
.l-drawer__logo svg {
  filter:drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.5))
}
.l-drawer__menu {
  flex-grow:0;
  flex-shrink:0;
  flex-basis:calc(100% / 3 * 2);
  background:#fff;
  background-size:cover;
  display:flex;
  align-items:center;
  transition:clip-path 0.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
  clip-path:inset(0% 0% 0% 100%);
  will-change:clip-path
}
.-open .l-drawer__menu {
  clip-path:inset(0% 0% 0% 0%)
}
@media (max-width: 959px) {
  .l-drawer__menu {
    flex:1 1 75%;
    align-items:flex-start
  }
}
.l-drawer__menu-content {
  width:100%;
  padding:10% 0 10% 10%
}
@media (max-width: 959px) {
  .l-drawer__menu-content {
    padding:10vw 7.5vw
  }
}
.l-drawer__menu-content ul {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  transition:opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s, transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
  opacity:0;
  transform:translate(0, 20px)
}
.-open .l-drawer__menu-content ul {
  opacity:1;
  transform:translate(0, 0px)
}
@media (max-width: 959px) {
  .l-drawer__menu-content ul {
    transform:translate(0, 15px);
    display:block
  }
}
@media (min-width: 960px) {
  .l-drawer__menu-content li {
    flex:0 0 50%
  }
  .l-drawer__menu-content li+li {
    margin-top:45px
  }
  .l-drawer__menu-content li:nth-of-type(1),
  .l-drawer__menu-content li:nth-of-type(2) {
    margin-top:0
  }
}
@media (max-width: 959px) {
  .l-drawer__menu-content li+li {
    margin-top:20px
  }
}
.l-drawer__menu-content a {
  color:var(--c-black)
}
.l-drawer__menu-content strong {
  display:block;
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:inherit;
  font-size:6.0rem;
  color:var(--c-red);
  text-shadow:3px 5px 0 var(--c-yellow)
}
@media (min-width: 960px) {
  .l-drawer__menu-content strong {
    transition:transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
    transform:translate(0%, 0)
  }
  .l-drawer__menu-content strong:hover {
    transform:translate(-5%, 0)
  }
}
@media (max-width: 1279px) {
  .l-drawer__menu-content strong {
    font-size:5.2rem
  }
}
@media (max-width: 959px) {
  .l-drawer__menu-content strong {
    font-size:4.2rem;
    text-shadow:2px 4px 0 var(--c-yellow)
  }
}
.l-drawer__menu-content span {
  display:block;
  font-size:1.5rem;
  margin:5px 0 0 2px
}
@media (max-width: 959px) {
  .l-drawer__menu-content span {
    font-size:1.3rem;
    margin:5px 0 0 1px
  }
}
.l-back {
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:inherit;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--c-navy);
  color:#fff;
  box-shadow:3px 4px 0 0 var(--c-yellow)
}
@media (min-width: 960px) {
  .l-back {
    margin:60px auto;
    width:270px;
    height:60px;
    border-radius:30px;
    font-size:1.7rem;
    transition:transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, box-shadow 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s
  }
  .l-back:hover {
    transform:translate(3px, 4px);
    box-shadow:0px 0px 0 0 var(--c-yellow)
  }
}
@media (max-width: 959px) {
  .l-back {
    margin:45px auto;
    width:210px;
    height:48px;
    border-radius:24px
  }
}
[data-page="top"] .l-back {
  display:none
}
.s-fv {
  display:flex;
  align-items:flex-start
}
@media (min-width: 960px) {
  .s-fv {
    position:relative
  }
  .s-fv:before {
    content:'';
    width:100%;
    height:60px;
    background:#fff;
    position:absolute;
    left:0;
    bottom:0;
    z-index:-1
  }
}
@media (max-width: 959px) {
  .s-fv {
    display:block
  }
}
.s-fv__kv {
  overflow:hidden;
  background:var(--c-yellow);
  flex:0 0 60%;
  box-shadow:10px 10px 0 0 var(--c-yellow)
}
@media (max-width: 959px) {
  .s-fv__kv {
    box-shadow:0 8px 0 0 var(--c-yellow)
  }
}
.s-fv__kv img {
  transition:transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transform:rotate(7.5deg) scale(1.25)
}
[data-status="complete"] .s-fv__kv img {
  transform:rotate(0deg) scale(1)
}
.s-fv__desc {
  flex:0 0 40%;
  box-sizing:border-box;
  max-width:1200px;
  margin:0 auto 0;
  padding:90px 5% 90px
}
@media (max-width: 959px) {
  .s-fv__desc {
    max-width:600px;
    margin:0 auto 0;
    padding:calc(7.5vw + 8px) 5vw 10vw
  }
}
.s-fv__logo {
  margin:0 -10% 0 -3%
}
@media (max-width: 959px) {
  .s-fv__logo {
    display:none
  }
}
.s-fv__date {
  margin:4.5vw 0 0
}
@media (max-width: 959px) {
  .s-fv__date {
    margin:5vw 0 0
  }
}
.s-fv__date+.s-fv__date {
  margin:3.5vw 0 0
}
@media (max-width: 959px) {
  .s-fv__date+.s-fv__date {
    margin-top:7.5vw
  }
}
.s-fv__bnr {
  margin:5.5vw 0 0
}
@media (max-width: 959px) {
  .s-fv__bnr {
    margin:15vw 0 0
  }
}
.s-fv__bnr li:not(:first-of-type) {
  margin-top:20px
}
@media (max-width: 959px) {
  .s-fv__bnr li:not(:first-of-type) {
    margin-top:3.75vw
  }
}
.s-fv__movie {
  display:block;
  position:relative
}
.s-fv__movie div {
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  display:flex;
  align-items:center;
  justify-content:center
}
.s-fv__movie div:first-of-type img {
  animation:circle-rotate infinite 15s linear
}
.s-fv__movie span {
  display:block;
  width:30%
}
@media (min-width: 960px) {
  .s-fv__movie span {
    transition:transform .5s ease 0s
  }
  .s-fv__movie:hover div:first-of-type span {
    transform:scale(1.3)
  }
  .s-fv__movie:hover div:last-of-type span {
    transform:scale(0.8)
  }
}
.s-fv__covid {
  position:relative;
  display:block;
  background:var(--c-yellow);
  color:var(--c-black);
  font-size:1.4rem;
  font-weight:700;
  text-align:center;
  padding:15px
}
@media (min-width: 960px) {
  .s-fv__covid {
    transition:color 0.375s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
  }
  .s-fv__covid:hover {
    color:#fff
  }
  .s-fv__covid:hover svg g {
    stroke:#fff
  }
  .s-fv__covid:before {
    content:'';
    display:block;
    width:100%;
    height:100%;
    background:var(--c-red);
    position:absolute;
    left:0;
    top:0;
    transform:scaleX(0);
    transform-origin:right center;
    transition:transform 0.375s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
  }
  .s-fv__covid:hover:before {
    transform:scaleX(1);
    transform-origin:left center
  }
  .s-fv__covid span {
    position:relative;
    display:block
  }
}
.s-fv__covid svg {
  width:14px;
  vertical-align:middle;
  margin:0 0 0 5px
}
.s-fv__covid svg g {
  transition:stroke .25s ease 0s;
  stroke:var(--c-black)
}
.s-topics {
  background:#fff;
  color:var(--c-black)
}
.s-topics__content {
  box-sizing:content-box;
  max-width:1600px;
  margin:0 auto 0;
  padding:90px 60px 75px
}
@media (max-width: 959px) {
  .s-topics__content {
    max-width:600px;
    margin:0 auto 0;
    padding:7.5vw 5vw 7.5vw
  }
}
.s-topics__blocks {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  grid-template-rows:auto;
  grid-column-gap:60px;
  grid-row-gap:0px
}
@media (max-width: 1279px) {
  .s-topics__blocks {
    grid-column-gap:45px
  }
}
@media (max-width: 959px) {
  .s-topics__blocks {
    display:block
  }
}
.s-topics__block {
  position:relative
}
@media (max-width: 959px) {
  .s-topics__block+.s-topics__block {
    margin-top:7.5vw
  }
}
.s-topics__ttl {
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:inherit;
  font-size:6.0rem;
  color:var(--c-red);
  text-shadow:3px 4px 0 var(--c-yellow)
}
@media (max-width: 1279px) {
  .s-topics__ttl {
    font-size:4.2rem;
    text-shadow:2px 3px 0 var(--c-yellow)
  }
}
@media (max-width: 959px) {
  .s-topics__ttl {
    font-size:5.5rem;
    text-shadow:2px 3px 0 var(--c-yellow)
  }
}
.s-topics__more {
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:inherit;
  font-size:1.4rem;
  display:flex;
  align-items:center;
  justify-content:center;
  width:90px;
  height:40px;
  border-radius:20px;
  background:var(--c-black);
  color:#fff;
  box-shadow:3px 4px 0 0 var(--c-red);
  position:absolute;
  right:0;
  top:14px
}
@media (min-width: 960px) {
  .s-topics__more {
    transition:transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, box-shadow 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s
  }
  .s-topics__more:hover {
    transform:translate(3px, 4px);
    box-shadow:0px 0px 0 0 var(--c-red)
  }
}
@media (max-width: 1279px) {
  .s-topics__more {
    width:75px;
    height:36px;
    border-radius:18px;
    box-shadow:2px 3px 0 0 var(--c-red);
    top:2px
  }
  .s-topics__more:hover {
    transform:translate(2px, 3px)
  }
}
@media (max-width: 959px) {
  .s-topics__more {
    position:static;
    width:120px;
    height:40px;
    border-radius:20px;
    margin:5vw auto 0
  }
  .s-topics__more:hover {
    transform:none
  }
}
.s-topics__news {
  margin:35px 0 0
}
@media (max-width: 959px) {
  .s-topics__news {
    margin:5vw 0 0
  }
}
.s-topics__news li {
  border-bottom:1px solid var(--c-black-light);
  padding:0 0 15px;
  margin:15px 0 0
}
.s-topics__news time {
  display:block;
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:inherit;
  letter-spacing:.05em;
  text-align:inherit
}
@media (max-width: 959px) {
  .s-topics__news time {
    display:block;
    font-size:1.2rem
  }
}
.s-topics__news a {
  flex:1 1 auto;
  color:var(--c-black)
}
@media (min-width: 960px) {
  .s-topics__news a:hover {
    transition:color 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
    color:var(--c-red)
  }
}
.s-topics__tw,
.s-topics__tiktok {
  width:100%;
  margin:35px 0 0
}
@media (max-width: 959px) {
  .s-topics__tw,
  .s-topics__tiktok {
    margin:5vw 0 0
  }
}
.s-topics__tw blockquote,
.s-topics__tiktok blockquote {
  border:none;
  overflow:hidden;
  height:100%;
  margin:0
}
.s-topics__tw iframe,
.s-topics__tiktok iframe {
  width:100% !important;
  height:100% !important
}
.s-topics__tw a,
.s-topics__tiktok a {
  font-size:1.5rem;
  text-shadow:none;
  letter-spacing:0;
  color:var(--c-navy);
  height:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  border:1px solid var(--c-black-light)
}
.s-topics__bnr {
  margin:45px 0 0
}
.s-topics__bnr ul {
  display:flex;
  flex-wrap:wrap;
  justify-content:center
}
.s-topics__bnr li {
  flex-grow:0;
  flex-shrink:0
}
@media (min-width: 960px) {
  .s-topics__bnr li {
    flex-basis:calc(25% - 11px);
    margin:15px 7px 0
  }
  .s-topics__bnr li:nth-of-type(1),
  .s-topics__bnr li:nth-of-type(2),
  .s-topics__bnr li:nth-of-type(3),
  .s-topics__bnr li:nth-of-type(4) {
    margin-top:0
  }
  .s-topics__bnr li:nth-of-type(4n+1) {
    margin-left:0
  }
  .s-topics__bnr li:nth-of-type(8n+4),
  .s-topics__bnr li:last-of-type {
    margin-right:0
  }
}
@media (max-width: 959px) {
  .s-topics__bnr li {
    flex-basis:calc(50% - 1.25vw);
    margin:2.5vw 1.25vw 0
  }
  .s-topics__bnr li:nth-of-type(1),
  .s-topics__bnr li:nth-of-type(2) {
    margin-top:0
  }
  .s-topics__bnr li:nth-of-type(odd) {
    margin-left:0
  }
  .s-topics__bnr li:nth-of-type(even),
  .s-topics__bnr li:last-of-type {
    margin-right:0
  }
}
.s-topics__bnr a {
  display:block
}
@media (min-width: 960px) {
  .s-topics__bnr a {
    transition:opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
    opacity:1
  }
  .s-topics__bnr a:hover {
    opacity:.75
  }
}
.s-story {
  box-sizing:content-box;
  max-width:1200px;
  margin:0 auto 0;
  padding:120px 60px 120px
}
@media (max-width: 959px) {
  .s-story {
    max-width:600px;
    margin:0 auto 0;
    padding:7.5vw 5vw 10vw
  }
}
@media (min-width: 960px) {
  .s-story__content {
    display:flex;
    align-items:center;
    position:relative
  }
  .s-story__pic {
    flex:0 0 50%;
    padding:0 7.5% 0 0
  }
  .s-story__pic div {
    overflow:hidden;
    box-shadow:10px 10px 0 0 var(--c-red)
  }
  .s-story__desc {
    flex:0 0 50%;
    line-height:2
  }
  .s-story__desc-ttl {
    writing-mode:vertical-rl;
    font-family:futura-pt-bold, sans-serif;
    font-weight:700;
    font-style:italic;
    line-height:1;
    letter-spacing:.05em;
    text-align:inherit;
    font-size:14rem;
    color:var(--c-yellow);
    text-shadow:8px -6px 0 var(--c-navy);
    position:absolute;
    left:-70px;
    top:-60px
  }
}
@media (min-width: 960px) and (max-width: 1279px) {
  .s-story__desc-ttl {
    font-size:12rem;
    text-shadow:7px -5px 0 var(--c-navy)
  }
}
@media (min-width: 960px) {
  .s-story__desc-heading {
    font-size:2.8rem;
    line-height:1.75;
    margin:0 0 .75em
  }
}
@media (max-width: 959px) {
  .s-story__pic div {
    overflow:hidden;
    box-shadow:8px 8px 0 0 var(--c-red)
  }
  .s-story__desc {
    display:flex;
    margin:-25px 0 0;
    line-height:2
  }
  .s-story__desc-cont {
    flex:1 1 auto;
    padding:calc(33px + 5vw) 0 0 3.75vw
  }
  .s-story__desc-ttl {
    flex:0 0 1em;
    font-family:futura-pt-bold, sans-serif;
    font-weight:700;
    font-style:italic;
    line-height:1;
    letter-spacing:.05em;
    text-align:inherit;
    font-size:6.5rem;
    color:var(--c-yellow);
    text-shadow:6px -4px 0 var(--c-navy)
  }
  .s-story__desc-ttl span {
    writing-mode:vertical-rl;
    display:block;
    position:sticky;
    top:7.5vw
  }
  .s-story__desc-heading {
    flex:1 1 auto;
    font-size:2.2rem;
    line-height:1.75;
    margin:0 0 .5em
  }
}
.s-cast {
  text-align:center
}
.s-cast ul {
  display:grid;
  grid-template-rows:1fr;
  justify-content:center;
  align-items:end
}
@media (min-width: 960px) {
  .s-cast ul {
    grid-template-columns:repeat(auto-fit, 22%);
    gap:2.5% 4%
  }
  .s-cast ul+ul {
    margin-top:60px
  }
}
@media (max-width: 959px) {
  .s-cast ul {
    grid-template-columns:repeat(auto-fit, 47.5%);
    gap:5vw 5%
  }
  .s-cast ul+ul {
    margin-top:7.5vw
  }
}
.s-cast ul+ul {
  margin-top:60px
}
@media (max-width: 959px) {
  .s-cast ul+ul {
    margin-top:7.5vw
  }
}
.s-cast figure {
  position:relative;
  height:0;
  padding-bottom:115%;
  background:var(--c-yellow);
  clip-path:polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%)
}
.s-cast figure a,
.s-cast figure span {
  display:block;
  position:absolute;
  top:3px;
  left:3px;
  width:calc(100% - 6px);
  height:calc(100% - 6px);
  clip-path:polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%)
}
.s-cast figure a img,
.s-cast figure span img {
  width:100%;
  height:100%;
  object-fit:cover
}
@media (min-width: 960px) {
  .s-cast figure a {
    overflow:hidden
  }
  .s-cast figure a img {
    transition:transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s
  }
  .s-cast figure a:hover img {
    transform:scale(1.25)
  }
}
.s-cast figure+dl {
  margin-top:-31px
}
@media (max-width: 959px) {
  .s-cast figure+dl {
    margin-top:-27px
  }
}
.s-cast li>dl {
  position:relative
}
.s-cast li>dl dt {
  display:block;
  width:fit-content;
  margin:0 auto 1em;
  color:#fff;
  font-weight:700;
  line-height:1;
  text-align:center;
  padding:.375em 1.5em .5em;
  transform:skew(-30deg);
  background:var(--c-yellow);
  border:none;
  font-size:1.4rem
}
.s-cast li>dl dt span {
  display:block;
  transform:skew(30deg)
}
@media (max-width: 959px) {
  .s-cast li>dl dt {
    font-size:1.2rem
  }
}
.s-cast li>dl dd {
  margin:10px 0 0;
  font-size:2.0rem;
  font-weight:700
}
@media (max-width: 959px) {
  .s-cast li>dl dd {
    font-size:1.8rem
  }
}
.s-cast li>dl dd span {
  display:block;
  font-size:1.1rem;
  font-weight:500
}
.s-ensemble {
  text-align:center;
  margin:60px 0 0
}
.s-ensemble dt {
  display:block;
  width:fit-content;
  margin:0 auto 1em;
  color:#fff;
  font-weight:700;
  line-height:1;
  text-align:center;
  padding:.375em 1.5em .5em;
  transform:skew(-30deg);
  background:transparent;
  border:1px solid #fff;
  margin-bottom:20px
}
.s-ensemble dt span {
  display:block;
  transform:skew(30deg)
}
.s-ensemble li {
  font-size:1.8rem;
  margin:.25em 0 0
}
@media (max-width: 959px) {
  .s-ensemble li {
    font-size:1.7rem
  }
}
.s-schedule {
  text-align:center
}
.s-schedule__place {
  font-size:1.8rem;
  font-weight:700
}
.s-schedule__place h3 {
  display:block;
  width:fit-content;
  margin:0 auto 1em;
  color:#fff;
  font-weight:700;
  line-height:1;
  text-align:center;
  padding:.375em 1.5em .5em;
  transform:skew(-30deg);
  background:var(--c-red);
  border:none;
  font-size:1.6rem
}
.s-schedule__place h3 span {
  display:block;
  transform:skew(30deg)
}
.s-schedule__place ul {
  margin:20px 0 0
}
.s-schedule__table+.s-schedule__place {
  margin-top:60px
}
.s-schedule__table {
  overflow:hidden;
  position:relative;
  margin:20px 0 0
}
.s-schedule__table table {
  border-collapse:collapse;
  margin:0 auto
}
.s-schedule__table table+table {
  margin-top:15px
}
.s-schedule__table th,
.s-schedule__table td {
  border:2px solid var(--c-black);
  text-align:center;
  white-space:nowrap;
  vertical-align:middle;
  padding:20px 7px 10px
}
@media (min-width: 960px) {
  .s-schedule__table th,
  .s-schedule__table td {
    width:120px
  }
}
@media (max-width: 959px) {
  .s-schedule__table th,
  .s-schedule__table td {
    width:27.5vw;
    padding:15px 7px 5px
  }
}
.s-schedule__table th.-nop,
.s-schedule__table td.-nop {
  font-size:1.4rem;
  font-weight:500;
  color:var(--c-navy)
}
.s-schedule__table th.-nop span,
.s-schedule__table td.-nop span {
  display:block;
  white-space:normal;
  width:1em;
  margin:0 auto;
  line-height:1.5
}
.s-schedule__table thead th,
.s-schedule__table thead td {
  background:var(--c-navy);
  color:#fff
}
.s-schedule__table thead th {
  padding-top:10px;
  padding-bottom:10px
}
.s-schedule__table thead td {
  padding-top:5px;
  padding-bottom:5px;
  font-size:1.3rem
}
.s-schedule__table tbody td {
  background:#fff;
  color:var(--c-black);
  font-weight:700
}
.s-schedule__table tbody img {
  width:38px
}
@media (max-width: 959px) {
  .s-schedule__table tbody img {
    width:34px
  }
}
.s-schedule__table tbody em {
  display:block;
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:inherit;
  font-style:normal;
  margin:7px 0
}
@media (max-width: 959px) {
  .s-schedule__table tbody em {
    margin:5px 0
  }
}
.s-schedule__table tbody a {
  display:block;
  font-size:1rem;
  line-height:1.5;
  letter-spacing:0;
  white-space:normal;
  color:#fff;
  background:var(--c-navy);
  box-shadow:1px 3px 0 0 var(--c-red);
  padding:.5em .75em;
  border-radius:1.5em
}
@media (min-width: 960px) {
  .s-schedule__table tbody a {
    transition:transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, box-shadow 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s
  }
  .s-schedule__table tbody a:hover {
    transform:translate(2px, 2px);
    box-shadow:0px 0px 0 0 var(--c-red)
  }
}
.s-schedule__event {
  max-width:680px
}
@media (min-width: 960px) {
  .s-schedule__event {
    margin:60px auto 0
  }
}
@media (max-width: 959px) {
  .s-schedule__event {
    margin:45px auto 0
  }
}
.s-schedule__event h4 {
  display:block;
  width:fit-content;
  margin:0 auto 1em;
  color:#fff;
  font-weight:700;
  line-height:1;
  text-align:center;
  padding:.375em 1.5em .5em;
  transform:skew(-30deg);
  background:transparent;
  border:1px solid #fff
}
.s-schedule__event h4 span {
  display:block;
  transform:skew(30deg)
}
.s-schedule__event h4[data-tagline="red"] {
  display:block;
  width:fit-content;
  margin:0 auto 1em;
  color:#fff;
  font-weight:700;
  line-height:1;
  text-align:center;
  padding:.375em 1.5em .5em;
  transform:skew(-30deg);
  background:var(--c-red);
  border:none
}
.s-schedule__event h4[data-tagline="red"] span {
  display:block;
  transform:skew(30deg)
}
.s-schedule__event h5 {
  width:fit-content;
  margin:0 auto .625em;
  font-weight:700;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0 .25em;
  letter-spacing:.25em;
  text-indent:.25em
}
.s-schedule__event h5:before,
.s-schedule__event h5:after {
  content:'';
  display:block;
  width:1.75em;
  height:1px;
  background:#fff
}
@media (min-width: 960px) {
  .s-schedule__event h5 {
    font-size:1.8rem
  }
  .s-schedule__event h5:not(:first-of-type) {
    margin-top:30px
  }
}
@media (max-width: 959px) {
  .s-schedule__event h5 {
    font-size:1.7rem
  }
  .s-schedule__event h5:not(:first-of-type) {
    margin-top:20px
  }
}
.s-schedule__event dt {
  font-weight:700
}
@media (min-width: 960px) {
  .s-schedule__event dt {
    font-size:1.8rem
  }
}
@media (max-width: 959px) {
  .s-schedule__event dt {
    font-size:1.7rem
  }
}
.s-schedule__event dt:not(:first-of-type) {
  margin-top:1.25em
}
.s-schedule__event dd dt {
  font-size:inherit;
  margin:0
}
.s-schedule__event dd {
  margin:.25em 0 0
}
@media (min-width: 960px) {
  .s-schedule__event dd {
    font-size:1.5rem
  }
}
@media (max-width: 959px) {
  .s-schedule__event dd {
    font-size:1.4rem
  }
}
.s-schedule__event ul {
  width:fit-content;
  margin:0 auto;
  text-align:left
}
.s-ticket {
  text-align:center
}
.s-ticket__price dt {
  display:block;
  width:fit-content;
  margin:0 auto 1em;
  color:#fff;
  font-weight:700;
  line-height:1;
  text-align:center;
  padding:.375em 1.5em .5em;
  transform:skew(-30deg);
  background:var(--c-red);
  border:none
}
.s-ticket__price dt span {
  display:block;
  transform:skew(30deg)
}
.s-ticket__price dd {
  margin:20px 0 0
}
.s-ticket__price dd+dt {
  margin-top:45px
}
@media (max-width: 959px) {
  .s-ticket__price dd+dt {
    margin-top:30px
  }
}
.s-ticket__price table {
  border-collapse:collapse;
  margin:0 auto;
  caption-side:bottom
}
.s-ticket__price caption {
  font-size:1.4rem
}
@media (max-width: 959px) {
  .s-ticket__price caption {
    font-size:1.3rem
  }
}
.s-ticket__price th,
.s-ticket__price td {
  border:2px solid var(--c-black);
  text-align:center;
  white-space:nowrap;
  vertical-align:middle;
  min-width:90px;
  padding:20px 25px
}
@media (max-width: 959px) {
  .s-ticket__price th,
  .s-ticket__price td {
    padding:15px 2.5vw
  }
}
.s-ticket__price thead th,
.s-ticket__price thead td {
  background:var(--c-navy);
  color:#fff
}
.s-ticket__price thead th {
  padding-top:10px;
  padding-bottom:10px;
  font-size:1.5rem
}
@media (max-width: 959px) {
  .s-ticket__price thead th {
    padding-top:5px;
    padding-bottom:5px;
    font-size:1.4rem
  }
}
.s-ticket__price tbody th,
.s-ticket__price tbody td {
  background:#fff;
  color:var(--c-black);
  font-weight:700
}
.s-ticket__price strong {
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:inherit;
  font-size:1.8rem;
  margin:0 .05em 0 0
}
.s-ticket__seat,
.s-ticket__publisher {
  margin:45px 0 0
}
@media (max-width: 959px) {
  .s-ticket__seat,
  .s-ticket__publisher {
    margin:30px 0 0
  }
}
.s-ticket__seat dt,
.s-ticket__publisher dt {
  display:block;
  width:fit-content;
  margin:0 auto 1em;
  color:#fff;
  font-weight:700;
  line-height:1;
  text-align:center;
  padding:.375em 1.5em .5em;
  transform:skew(-30deg);
  background:transparent;
  border:1px solid #fff;
  margin-bottom:20px
}
.s-ticket__seat dt span,
.s-ticket__publisher dt span {
  display:block;
  transform:skew(30deg)
}
.s-ticket__seat dd,
.s-ticket__publisher dd {
  margin:.25em 0 0
}
.s-ticket__seat dl+dl,
.s-ticket__seat dd+dt,
.s-ticket__publisher dl+dl,
.s-ticket__publisher dd+dt {
  margin-top:15px
}
.s-ticket__seat a,
.s-ticket__publisher a {
  color:#fff
}
.s-ticket__seat dt {
  display:block;
  width:fit-content;
  margin:0 auto 1em;
  color:#fff;
  font-weight:700;
  line-height:1;
  text-align:center;
  padding:.375em 1.5em .5em;
  transform:skew(-30deg);
  background:var(--c-red);
  border:none
}
.s-ticket__seat dt span {
  display:block;
  transform:skew(30deg)
}
.s-ticket__bnr {
  margin:45px 0 0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:15px 30px
}
@media (max-width: 959px) {
  .s-ticket__bnr {
    margin:20px 0 0
  }
}
.s-ticket__bnr li {
  flex:0 0 300px
}
@media (max-width: 959px) {
  .s-ticket__bnr li {
    flex:0 0 260px
  }
}
.s-ticket__caution {
  max-width:680px;
  margin:45px auto 0;
  font-size:1.3rem;
  text-align:left
}
@media (max-width: 959px) {
  .s-ticket__caution {
    margin:30px 0 0;
    font-size:1.2rem
  }
}
.s-ticket__caution li {
  padding-left:1em;
  text-indent:-1em
}
.s-stream,
.s-bluray {
  text-align:center
}
.s-stream h3,
.s-bluray h3 {
  font-size:2.8rem;
  line-height:1.75;
  margin:0 0 1em
}
@media (max-width: 959px) {
  .s-stream h3,
  .s-bluray h3 {
    font-size:2.2rem
  }
}
.s-stream dt,
.s-bluray dt {
  display:block;
  width:fit-content;
  margin:0 auto 1em;
  color:#fff;
  font-weight:700;
  line-height:1;
  text-align:center;
  padding:.375em 1.5em .5em;
  transform:skew(-30deg);
  background:transparent;
  border:1px solid #fff
}
.s-stream dt span,
.s-bluray dt span {
  display:block;
  transform:skew(30deg)
}
.s-stream dt.-red,
.s-bluray dt.-red {
  display:block;
  width:fit-content;
  margin:0 auto 1em;
  color:#fff;
  font-weight:700;
  line-height:1;
  text-align:center;
  padding:.375em 1.5em .5em;
  transform:skew(-30deg);
  background:var(--c-red);
  border:none
}
.s-stream dt.-red span,
.s-bluray dt.-red span {
  display:block;
  transform:skew(30deg)
}
.s-stream dt+dd,
.s-bluray dt+dd {
  margin-top:15px
}
.s-stream dd,
.s-bluray dd {
  margin:.5em 0 0
}
.s-stream dd+dt,
.s-bluray dd+dt {
  margin-top:30px
}
.s-stream dd:has(ul),
.s-bluray dd:has(ul) {
  display:grid;
  place-items:center
}
.s-stream strong,
.s-bluray strong {
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:inherit;
  font-size:2.2rem
}
@media (max-width: 959px) {
  .s-stream strong,
  .s-bluray strong {
    font-size:2.0rem
  }
}
.s-stream ul,
.s-bluray ul {
  font-size:1.3rem;
  text-align:left;
  text-indent:-1em;
  padding-left:1em
}
.s-staff {
  text-align:center
}
.s-staff dt {
  display:block;
  width:fit-content;
  margin:0 auto 1em;
  color:#fff;
  font-weight:700;
  line-height:1;
  text-align:center;
  padding:.375em 1.5em .5em;
  transform:skew(-30deg);
  background:transparent;
  border:1px solid #fff
}
.s-staff dt span {
  display:block;
  transform:skew(30deg)
}
.s-staff dd {
  font-size:1.8rem;
  margin:15px 0 0
}
.s-staff dd+dt {
  margin-top:30px
}
.s-goods__btn {
  margin:0 0 60px
}
@media (max-width: 959px) {
  .s-goods__btn {
    margin:0 0 7.5vw
  }
}
.s-goods__btn a {
  font-size:1.9rem;
  font-weight:700;
  letter-spacing:.125em;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:64px;
  border-radius:32px;
  background:var(--c-red);
  color:#fff;
  box-shadow:3px 4px 0 0 var(--c-yellow)
}
@media (min-width: 960px) {
  .s-goods__btn a {
    transition:transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, box-shadow 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s
  }
  .s-goods__btn a:hover {
    transform:translate(3px, 4px);
    box-shadow:0px 0px 0 0 var(--c-red)
  }
}
@media (max-width: 959px) {
  .s-goods__btn a {
    font-size:1.6rem;
    height:58px
  }
}
.s-goods__desc {
  text-align:center
}
@media (min-width: 960px) {
  .s-goods__desc {
    margin:45px 0
  }
}
@media (max-width: 959px) {
  .s-goods__desc {
    margin:30px 0
  }
}
.s-goods__desc dt {
  display:block;
  width:fit-content;
  margin:0 auto 1em;
  color:#fff;
  font-weight:700;
  line-height:1;
  text-align:center;
  padding:.375em 1.5em .5em;
  transform:skew(-30deg);
  background:var(--c-red);
  border:none
}
.s-goods__desc dt span {
  display:block;
  transform:skew(30deg)
}
.s-goods__items {
  display:flex;
  flex-wrap:wrap;
  gap:45px 2.4%
}
@media (max-width: 959px) {
  .s-goods__items {
    gap:7.5vw 5vw
  }
}
.s-goods__item {
  font-size:1.5rem;
  line-height:1.5;
  flex-grow:0;
  flex-shrink:0;
  flex-basis:calc(25% - 1.8%)
}
@media (max-width: 959px) {
  .s-goods__item {
    font-size:1.4rem;
    flex-basis:calc(50% - 2.5vw)
  }
}
.s-goods__item figure a {
  display:block;
  border:2px solid var(--c-red)
}
@media (min-width: 960px) {
  .s-goods__item figure a {
    overflow:hidden
  }
  .s-goods__item figure a img {
    transition:transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0s
  }
  .s-goods__item figure a:hover img {
    transform:scale(1.125)
  }
}
.s-goods__item h3 {
  font-size:1.9rem;
  margin:15px 0 10px
}
@media (max-width: 959px) {
  .s-goods__item h3 {
    font-size:1.6rem
  }
}
.s-goods__item strong {
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:inherit;
  font-size:2.4rem;
  margin:0 .125em 0 0
}
@media (max-width: 959px) {
  .s-goods__item strong {
    font-size:2.0rem
  }
}
.s-goods__item ul {
  border-top:1px dotted rgba(255, 255, 255, 0.5);
  padding:10px 0 0;
  margin:10px 0 0;
  font-size:1.4rem
}
@media (max-width: 959px) {
  .s-goods__item ul {
    font-size:1.3rem
  }
}
.s-goods__item li+li {
  margin-top:.5em
}
.s-goods__caution {
  position:relative;
  border:1px solid #fff;
  padding:25px;
  margin:45px 0 0;
  font-size:1.4rem
}
@media (max-width: 959px) {
  .s-goods__caution {
    font-size:1.3rem;
    padding:5vw;
    margin:30px 0 0
  }
}
.s-goods__caution h4 {
  margin:1em 0 .25em
}
.s-goods__caution h4:first-child {
  margin-top:0
}
.s-goods__caution h4+h4 {
  margin-top:.5em
}
.s-goods__caution h4+h5 {
  margin-top:.5em
}
.s-goods__caution h4+h6 {
  margin-top:.5em
}
.s-goods__caution h5 {
  margin:1em 0 .25em
}
.s-goods__caution h5:first-child {
  margin-top:0
}
.s-goods__caution h5+h4 {
  margin-top:.5em
}
.s-goods__caution h5+h5 {
  margin-top:.5em
}
.s-goods__caution h5+h6 {
  margin-top:.5em
}
.s-goods__caution h6 {
  margin:1em 0 .25em
}
.s-goods__caution h6:first-child {
  margin-top:0
}
.s-goods__caution h6+h4 {
  margin-top:.5em
}
.s-goods__caution h6+h5 {
  margin-top:.5em
}
.s-goods__caution h6+h6 {
  margin-top:.5em
}
.s-goods__caution ul {
  list-style-position:inside;
  text-indent:-1em;
  padding-left:1em;
  font-size:1.3rem
}
@media (max-width: 959px) {
  .s-goods__caution ul {
    font-size:1.2rem
  }
}
.s-goods__caution li:first-letter {
  font-feature-settings:normal
}
.s-news {
  box-sizing:content-box;
  max-width:860px;
  margin:60px auto 60px;
  padding:0 60px 0
}
@media (max-width: 959px) {
  .s-news {
    max-width:600px;
    margin:30px auto 30px;
    padding:0 5vw 0
  }
}
.s-news li+li {
  margin-top:15px
}
.s-news a {
  background:#fff;
  border:2px solid #fff;
  color:var(--c-black)
}
@media (min-width: 960px) {
  .s-news a {
    display:flex;
    align-items:center;
    gap:0 30px;
    padding:40px 30px;
    transition:border-color 0.25s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
  }
  .s-news a:hover {
    border-color:var(--c-red)
  }
}
@media (max-width: 959px) {
  .s-news a {
    display:block;
    padding:20px 5%
  }
}
.s-news time {
  display:block;
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:inherit;
  font-size:2.0rem;
  padding:0 .125em;
  background:linear-gradient(180deg, transparent 70%, var(--c-yellow) 0%)
}
@media (min-width: 960px) {
  .s-news time {
    flex:0 0 auto
  }
}
@media (max-width: 959px) {
  .s-news time {
    width:fit-content;
    margin:0 0 10px
  }
}
.s-pager {
  box-sizing:content-box;
  max-width:860px;
  margin:60px auto 60px;
  padding:0 60px 0;
  display:flex;
  justify-content:center
}
@media (max-width: 959px) {
  .s-pager {
    max-width:600px;
    margin:30px auto 30px;
    padding:0 5vw 0
  }
}
.s-pager a {
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--c-red);
  border:1px solid #fff;
  margin:0 5px;
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:inherit;
  transition:background-color 0.25s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
}
@media (min-width: 960px) {
  .s-pager a {
    width:50px;
    height:50px
  }
  .s-pager a[href]:hover {
    background-color:var(--c-red)
  }
}
@media (max-width: 959px) {
  .s-pager a {
    width:40px;
    height:40px
  }
}
.s-pager a[href] {
  background-color:transparent
}
.s-article {
  box-sizing:content-box;
  max-width:860px;
  margin:60px auto 60px;
  padding:0 60px 0
}
@media (max-width: 959px) {
  .s-article {
    max-width:600px;
    margin:30px auto 30px;
    padding:0 5vw 0
  }
}
.s-article__header,
.s-article__body,
.s-article__footer {
  background:#fff;
  color:var(--c-black)
}
@media (min-width: 960px) {
  .s-article__header,
  .s-article__body,
  .s-article__footer {
    padding:45px 45px
  }
}
@media (max-width: 959px) {
  .s-article__header,
  .s-article__body,
  .s-article__footer {
    padding:30px 5vw
  }
}
.s-article__header {
  border-bottom:1px solid var(--c-black-light);
  line-height:1.5
}
@media (min-width: 960px) {
  .s-article__header {
    font-size:3.0rem
  }
}
@media (max-width: 959px) {
  .s-article__header {
    font-size:2.5rem
  }
}
.s-article__header time {
  display:block;
  max-width:fit-content;
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:inherit;
  background:var(--c-black);
  color:#fff;
  padding:.25em .5em
}
@media (min-width: 960px) {
  .s-article__header time {
    font-size:1.7rem;
    margin:15px 0 0
  }
}
@media (max-width: 959px) {
  .s-article__header time {
    font-size:1.5rem;
    margin:10px 0 0
  }
}
.s-article__footer {
  border-top:1px solid var(--c-black-light)
}
@media (min-width: 960px) {
  .s-article__footer {
    padding-top:30px;
    padding-bottom:30px
  }
}
@media (max-width: 959px) {
  .s-article__footer {
    padding-top:25px;
    padding-bottom:25px
  }
}
.s-article__footer a {
  font-family:futura-pt-bold, sans-serif;
  font-weight:700;
  font-style:italic;
  line-height:1;
  letter-spacing:.05em;
  text-align:inherit;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:0 10px;
  color:var(--c-black)
}
.s-article__footer a:before {
  content:'';
  display:block;
  width:7px;
  height:7px;
  border-bottom:2px solid var(--c-red);
  border-left:2px solid var(--c-red);
  transform:rotate(45deg);
  transform-origin:center bottom
}
 /* GOODS: SP display adjustment for 2L bromide / CHANNEL-style collection */ @media (max-width: 959px) {
   .s-goods__item:nth-of-type(5),
   .s-goods__item:nth-of-type(6) {
     display: flex;
     flex-direction: column;
     flex-basis: calc(50% - 2.5vw);
  }
   .s-goods__item:nth-of-type(5) h3,
   .s-goods__item:nth-of-type(6) h3 {
     min-height: 48px;
     word-break: keep-all;
     overflow-wrap: anywhere;
  }
}
