@charset "UTF-8";
#kv.top {
 position: relative;
 background: url("../images/bg_postar.png") repeat #fffef2;
 background-size: auto 140%;
 z-index: 10;
 border-bottom-left-radius: 800px 180px;
 border-bottom-right-radius: 800px 180px;
 margin: 0 -120px;
 padding: 0 120px;
 border-bottom: solid 5px #dfaf52;
}
#kv.top:before {
 content: "";
 position: relative;
 display: block;
 width: 100%;
 padding-top: 45%;
}
#kv.top:after {
 content: "";
 display: inline-block;
 background: url("../images/laugh.svg") no-repeat center center;
 background-size: cover;
 width: 30%;
 padding-top: calc(90.36% * 0.30);
 position: absolute;
 top: 8%;
 left: 0;
 right: 0;
 margin: 0 auto;
 z-index: 1;
}
#kv.top h1 {
 width: 10vw;
 position: absolute;
 margin: 0 auto;
 left: 0;
 right: 0;
 top: 4%;
 transform: translateX(-6%);
 z-index: 10;
}
#kv.top .newSpring {
 position: absolute;
 z-index: 4;
 top: 4%;
 left: 0;
 right: 0;
 margin: 0 auto;
 display: flex;
 align-items: center;
 justify-content: center;
}
#kv.top .newSpring img {
 width: 10vw;
 margin: 0 3.9vw;
}
#kv.top .info {
 width: 15vw;
 position: absolute;
 top: 69%;
 left: 60%;
 margin: 0 auto;
 animation: 4s fuwafuwa infinite;
 z-index: 6;
}
#kv.top .ill01 {
 position: absolute;
 display: block;
 background: url("../images/ill01.svg") no-repeat;
 background-size: auto 100%;
 width: 9vw;
 height: calc(9vw * 3);
 left: 51.5%;
 top: 44%;
 margin: 0 auto;
 z-index: 12;
}
#kv.top .ill_daruma {
 position: absolute;
 display: block;
 background: url("../images/ill_daruma.svg") no-repeat;
 background-size: 100%;
 width: 3.4vw;
 height: calc(3.4vw * 1.074);
 left: 59%;
 top: 60%;
 z-index: 5;
}
#kv.top .ill_kadomatsu {
 position: absolute;
 display: block;
 background: url("../images/ill_kadomatsu.svg") no-repeat;
 background-size: 100%;
 width: 4.2vw;
 height: calc(4.2vw * 1.579);
 left: 42.5%;
 top: 87%;
 z-index: 11;
}
#kv.top .ill_mochi {
 position: absolute;
 display: block;
 background: url("../images/ill_mochi.svg") no-repeat;
 background-size: 100%;
 width: 4.2vw;
 height: calc(4.2vw * 1.579);
 left: 67.5%;
 top: 54%;
 z-index: 5;
}
#kv.top .ill_kumo01 {
 position: absolute;
 display: block;
 background: url("../images/kumo01.svg") no-repeat;
 background-size: 100%;
 width: 5.2vw;
 height: calc(5.2vw * 0.519);
 left: 43%;
 top: 55%;
 z-index: 6;
}
#kv.top .ill_kumo02 {
 position: absolute;
 display: block;
 background: url("../images/kumo02.svg") no-repeat;
 background-size: 100%;
 width: 6vw;
 height: calc(6vw * 0.519);
 left: 52.5%;
 top: 38%;
 z-index: 11;
}
#kv.top .ill_balloon_orange {
 position: absolute;
 display: block;
 background: url("../images/balloon_orange.svg") no-repeat;
 background-size: 100%;
 width: 3vw;
 height: calc(3vw * 1.402);
 left: 34.5%;
 top: 16%;
 z-index: 6;
}
#kv.top .ill_balloon_green {
 position: absolute;
 display: block;
 background: url("../images/balloon_green.svg") no-repeat;
 background-size: 100%;
 width: 2.7vw;
 height: calc(2.7vw * 1.456);
 left: 43.5%;
 top: 27%;
 z-index: 6;
}
#kv.top .ill_balloon_pink01 {
 position: absolute;
 display: block;
 background: url("../images/balloon_pink.svg") no-repeat;
 background-size: 100%;
 width: 2.7vw;
 height: calc(2.7vw * 1.456);
 left: 32.5%;
 top: 65%;
 z-index: 6;
 transform: rotate(-40deg);
}
#kv.top .ill_balloon_pink02 {
 position: absolute;
 display: block;
 background: url("../images/balloon_pink.svg") no-repeat;
 background-size: 100%;
 width: 2.7vw;
 height: calc(2.7vw * 1.456);
 left: 59%;
 top: 47%;
 z-index: 6;
}
#kv.top .ill_balloon_yellow {
 position: absolute;
 display: block;
 background: url("../images/balloon_yellow.svg") no-repeat;
 background-size: 100%;
 width: 2.7vw;
 height: calc(2.7vw * 1.402);
 left: 53.3%;
 top: 28%;
 z-index: 4;
}
#kv.top .ill_people_yellow {
 position: absolute;
 display: block;
 background: url("../images/ill_people_yellow.svg") no-repeat;
 background-size: 100%;
 width: 10vw;
 height: calc(10vw * 1.5);
 left: 33.3%;
 top: 24.5%;
 z-index: 3;
}
#kv.top .ill_people_pink {
 position: absolute;
 display: block;
 background: url("../images/ill_people_pink.svg") no-repeat;
 background-size: 100%;
 width: 9vw;
 height: calc(9vw * 1.546);
 left: 38.5%;
 top: 48%;
 z-index: 4;
}
#kv.top .ill_people_orange01 {
 position: absolute;
 display: block;
 background: url("../images/ill_people_orange01.svg") no-repeat;
 background-size: 100%;
 width: 5vw;
 height: calc(5vw * 2.113);
 left: 55%;
 top: 22%;
 z-index: 4;
}
#kv.top .ill_people_orange02 {
 position: absolute;
 display: block;
 background: url("../images/ill_people_orange02.svg") no-repeat;
 background-size: 100%;
 width: 8vw;
 height: calc(8vw * 1.5625);
 left: 35%;
 top: 74%;
 z-index: 4;
}
#kv.top .cloud {
 position: absolute;
 display: block;
 background: url("../images/cloud.png") no-repeat;
 background-size: cover;
 width: 32%;
 padding-top: calc(75.76% * 0.32);
 top: 75%;
 left: 45%;
 transform: translate(-50%, -50%);
 z-index: 2;
}
#kv.top .wave {
 position: absolute;
 display: block;
 background: url("../images/kv_wave.svg") no-repeat center bottom;
 background-size: auto 100%;
 width: 100%;
 height: 100%;
 top: 40%;
 left: 49%;
 transform: translate(-50%, -50%);
 z-index: 1;
}
@keyframes fuwafuwa {
 0%, 100% {
  transform: translateY(0);
 }
 50% {
  transform: translateY(-15px);
 }
}
@keyframes fuwafuwa01 {
 0%, 100% {
  transform: translateY(0);
 }
 50% {
  transform: translateY(-7px);
 }
}
@keyframes fuwafuwa02 {
 0%, 100% {
  transform: translateY(0);
 }
 50% {
  transform: translateY(-12px);
 }
}
@keyframes yurayura01 {
 0%, 100% {
  transform: translateX(0);
 }
 50% {
  transform: translateX(-7px);
 }
}
@keyframes yurayura02 {
 0%, 100% {
  transform: translateX(0);
 }
 50% {
  transform: translateX(-12px);
 }
}
@keyframes yurayura {
 0%, 100% {
  transform: translateY(0);
 }
 50% {
  transform: translateY(15px);
 }
}
@keyframes rotation1 {
 0% {
  transform: rotate(0);
 }
 100% {
  transform: rotate(360deg);
 }
}
#news {
 margin-top: -150px;
 padding: calc(5% + 150px) 0;
 color: #fff;
 position: relative;
 overflow: hidden;
 background-image: conic-gradient(#fbacbc 90deg, transparent 90deg 180deg, #fbacbc 180deg 270deg, transparent 270deg);
 background-size: 42px 42px;
 background-color: #ffa3ac;
 z-index: 4;
}
#news .inner {
 display: flex;
 text-align: left;
 align-items: flex-start;
}
#news .inner #feed {
 position: relative;
 padding-left: 2.5%;
 font-size: 1.6rem;
 padding-top: 1.4em;
}
#news .inner #feed:before {
 content: "";
 display: block;
 height: calc(100% - 1.5em);
 width: 4px;
 background: #1a0b08;
 position: absolute;
 left: 3%;
 top: 1.5em;
}
#news .inner #feed .note {
 padding-left: 3%;
 margin-bottom: 1em;
}
#news .inner #feed .note a {
 color: #1a0b08;
 position: relative;
 line-height: 1.4;
 display: block;
 overflow: visible;
}
#news .inner #feed .note .date {
 display: block;
 color: #1a0b08;
 font-weight: 700;
 position: relative;
 text-align: left;
 margin-bottom: 0.25em;
 letter-spacing: 0.05em;
 font-size: 130%;
 line-height: 1;
}
#news .inner #feed .note:first-of-type .date:after {
 content: "NEW";
 font-family: 'Londrina Solid', sans-serif;
 display: inline-block;
 font-weight: bold;
 background: #ffe546;
 color: #1a0b08;
 border: solid 1px #1a0b08;
 top: 50%;
 transform: translateY(-0.2em);
 line-height: 1;
 font-size: 70%;
 padding: 0.15em 0.25em;
 margin-left: 1em;
 letter-spacing: 0.075em;
}
#news .inner #feed .note h3 {
 text-align: left;
 font-weight: bold;
}
#news #movie .yt {
 position: relative;
 background: url("../images/icon_yt_red.svg") no-repeat center top 40% #fff;
 background-size: auto 20%;
 border-radius: 3px;
}
#news #movie .yt_video {
 box-shadow: 12px 12px 0 rgba(231, 56, 32, 0.3);
 border-radius: 0.7rem;
 overflow: hidden;
}
#news #movie .yt span {
 display: block;
 text-align: center;
 position: absolute;
 top: 56%;
 left: 0;
 right: 0;
 color: #4c4c4c;
 font-weight: bold;
 font-family: 'Patrick Hand', sans-serif;
 font-size: 200%;
}
#about {
 margin: -150px -120px;
 padding: 5% 120px 5%;
 background: #F7F6ED;
 border-top-left-radius: 800px 180px;
 border-top-right-radius: 800px 180px;
 border-bottom-left-radius: 800px 180px;
 border-bottom-right-radius: 800px 180px;
 overflow: hidden;
 border-top: solid 5px #dfaf52;
 border-bottom: solid 5px #dfaf52;
}
#about:before {
 content: "";
 display: block;
 background: url("../images/ill_kadomatsu.svg") no-repeat;
 background-size: cover;
 width: 13vw;
 height: calc(13vw * 1.579);
 position: absolute;
 bottom: 0;
 left: 6%;
 transform: rotate(30deg);
}
#about:after {
 content: "";
 display: block;
 background: url("../images/ill_daruma.svg") no-repeat;
 background-size: cover;
 width: 13vw;
 height: calc(13vw * 1.07);
 position: absolute;
 bottom: 5%;
 right: 6%;
}
#about .secTtl em {
 font-size: 24%;
 top: 1.3em;
}
#about h3 {
 font-size: 3.4rem;
 font-weight: 900;
 margin-bottom: 0.35em;
 color: #e94820;
}
#about p {
 line-height: 1.9;
 font-weight: bold;
 font-size: 2rem;
}
#about strong {
 font-weight: bold;
 font-size: 110%;
 line-height: 1.2;
}
#about .flex {
 display: flex;
 justify-content: center;
 margin: 1em auto 0;
 position: relative;
}
#about .flex dl {
 line-height: 1.2;
 position: relative;
}
#about .flex dl.date {
 padding-right: 7.5vw;
}
#about .flex dl dt {
 font-weight: bold;
 font-size: 1.6rem;
 line-height: 1;
 margin-bottom: 1em;
}
#about .flex dl dt span {
 display: inline-block;
 background: #ffe546;
 color: #1a0b08;
 border: solid 2px #1a0b08;
 padding: 0.4em 1em;
}
#about .flex dl dd {
 font-size: 2rem;
 font-weight: bold;
}
#about .flex dl.place dd {
 font-size: 1.8rem;
}
#about .flex dl.place dd em {
 font-weight: normal;
 display: block;
 padding-top: 1em;
 font-size: 70%;
 opacity: 0.7;
}
#lineup {
 text-align: center;
 padding: 0;
 background-image: radial-gradient(#ffd84d 3px, transparent 3px), radial-gradient(#ffd84d 3px, transparent 3px);
 background-size: 22px 22px;
 background-position: 0 0, 11px 11px;
 background-color: #ffe445;
 z-index: 4;
 border-bottom: solid 5px #dfaf52;
}
#lineup .secTtl {
 margin: 10vw 6% 0 7.5%;
 display: block;
 flex-basis: 15%;
}
#lineup .secTtl .en {
 color: #00ab75;
}
#lineup .secTtl .en:first-letter {
 font-size: 185%;
}
#lineup .secTtl em {
 display: block;
 color: #00ab75;
 text-align: left;
}
.horizontal_scroll {
 --sticky-container-height: 100vh;
 height: var(--sticky-container-height);
 min-height: 100vh;
 box-sizing: border-box;
}
.horizontal_scroll .sticky {
 position: sticky;
 top: 0;
 display: flex;
 flex-direction: column;
 justify-content: center;
 min-height: 100vh;
}
.horizontal_scroll .scroller {
 display: flex;
 overflow: auto;
 /*padding-top: 5%;*/
}
.horizontal_scroll .scroller.nobar {
 overflow: hidden;
}
.horizontal_scroll .scroller > * {
 flex-basis: 55%;
 flex-shrink: 0;
 /*aspect-ratio: 16 / 9;*/
 display: flex;
 justify-content: center;
 align-items: center;
}
.horizontal_scroll .scroller > *:not(:first-child) {
 margin-left: 1%;
}
#lineup .perform {
 position: relative;
 display: block;
 margin-right: 3.5vw;
 text-align: center;
 max-width: 60rem;
}
#lineup .perform.new:before {
 content: "";
 display: block;
 background: url("../images/icon_new.svg") no-repeat;
 background-size: cover;
 width: 6em;
 height: 6em;
 position: absolute;
 top: 0;
 right: -1.5em;
 z-index: 6;
 transform: rotate(18deg);
}
#lineup .perform .day {
 display: block;
 text-align: left;
 margin-bottom: 0.5em;
}
#lineup .perform .day span {
 font-size: 2.4rem;
 position: relative;
 background: #00ab75;
 color: #fff;
 display: inline-block;
 font-weight: bold;
 line-height: 1;
 white-space: nowrap;
 padding: 0.2em 0.5em 0.25em;
 margin: 0 auto 0 0;
 text-align: left;
 border-radius: 3px;
}
#lineup .perform .day em {
 font-size: 60%;
}
#lineup .perform .day em:nth-child(2) small:first-child {
 margin-left: 0.2em;
}
#lineup .perform .day small {
 background: #fff;
 color: #00ab75;
 border-radius: 50%;
 padding: 0.11em 0.1em 0.13em 0.15em;
 font-weight: bold;
 line-height: 1;
 font-size: 120%;
 text-align: center;
 display: inline-block;
 margin-left: -0.15em;
}
#lineup .perform .thumb {
 position: relative;
 overflow: hidden;
 width: 100%;
 background: #fff;
 box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
 border-radius: 9px;
}
#lineup .perform .thumb a {
 display: block;
 position: relative;
}
#lineup .perform .thumb a:before {
 content: "";
 display: block;
 padding-top: 56.25%;
 position: relative;
}
#lineup .perform .thumb a img {
 position: absolute;
 left: 0;
 right: 0;
 top: 0;
 bottom: 0;
 margin: auto;
 transition: 1s;
}
#lineup .perform .thumb a:hover img {
 transform: scale(1.05);
}
#lineup h3 {
 font-size: 2.2rem;
 font-weight: bold;
 position: relative;
 padding: 0.5em 0 0;
 white-space: normal;
}
#lineup h3 em {
 display: block;
 font-size: 68%;
 font-weight: normal;
 padding-left: 0.25em;
}
#lineup .perform .period {
 display: inline-block;
 font-size: 1.2rem;
 background: #fff;
 line-height: 1;
 padding: 0.5em 1em;
 border-radius: 20rem;
 color: #2a2a2a;
 font-weight: 600;
 margin-top: 0.5em;
 box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}
#lineup .price {
 display: block;
 padding: 1rem 0.5rem;
 line-height: 1.2;
 font-size: 1.5rem;
}
#lineup .price strong {
 font-weight: bold;
 display: inline-block;
 position: relative;
 white-space: nowrap;
}
#lineup .price strong:after {
 content: "/";
 padding: 0 0.1em;
}
#lineup .price strong:last-of-type:after {
 display: none;
}
#lineup .ticketLink {
 display: flex;
 flex-wrap: wrap;
 justify-content: flex-start;
}
#lineup .ticketLink > div {
 flex: 1 0 calc(33.333% - 4px);
 max-width: calc(33.333% - 4px);
 margin: 0 2px 4px;
}
#lineup .schedule.archive > li .ticketLink {
 display: block;
}
#lineup .schedule.archive > li .ticketLink > div {
 flex: none;
 max-width: 100%;
}
#lineup .btn {
 position: relative;
}
#lineup .btn a {
 display: block;
 padding: 0.5em 1rem 0.5em 1.5rem;
 text-align: left;
 font-size: 1.3rem;
 white-space: nowrap;
 overflow: hidden;
 background-color: #ec7077;
 letter-spacing: 0;
 color: #fef1e9;
 position: relative;
 box-sizing: border-box;
 font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, Arial, sans-serif;
 border-radius: 20rem;
 box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}
#lineup .btn a:after {
 border-top: 2px solid #ec7077;
 border-right: 2px solid #ec7077;
}
#lineup .btn a .note {
 display: inline-block;
 padding-left: 0.25em;
 color: #f5e772;
 font-weight: 700;
}
#lineup .btn.online a {
 background-color: #515ba0;
}
#lineup .btn.online a:after {
 border-top: 2px solid #515ba0;
 border-right: 2px solid #515ba0;
}
#lineup .btn.online.set a {
 background-color: #F5631E;
}
#lineup .btn.online.set a:hover {
 background-color: #ea5006 !important;
}
#lineup .btn.online.set a:after {
 border-top: 2px solid #F5631E;
 border-right: 2px solid #F5631E;
}
#lineup .btn.online.set a:hover:after {
 border-top: 2px solid #ea5006 !important;
 border-right: 2px solid #ea5006 !important;
}
#lineup .btn a:hover {
 color: #f5e772;
}
#lineup .btn.none a, #lineup .btn.disabled a {
 pointer-events: none;
 color: rgba(247, 237, 210, 0.5);
 background-color: rgba(109, 111, 144, 0.85);
}
#lineup > em {
 line-height: 1.5;
 text-align: center;
 padding-top: 0.5rem;
 display: block;
 white-space: normal;
}
#lineup .btn.big {
 margin: 1rem auto 0;
}
#lineup .btn.big a {
 border-radius: 20rem;
 font-size: 1.7rem;
 padding: 0.85em 8rem 0.75em 6rem;
}
#lineup .more {
 font-family: 'Odibee Sans', cursive;
 font-size: 200%;
 text-align: center;
}
#lineup .btn {
 text-align: center;
 font-family: 'Odibee Sans', cursive;
 font-weight: 700;
 font-size: 2rem;
}
#lineup .playguidLink {
 display: flex;
 justify-content: space-between;
 margin-top: 2px;
}
#lineup .playguidLink li {
 flex: 1 0 calc(33.333% - 2px);
 max-width: calc(33.333% - 2px);
}
#lineup .playguidLink li a {
 box-shadow: none !important;
 -webkit-box-shadow: none !important;
 font-size: 1.2rem !important;
}
#lineup .playguidLink li a:before {
 width: 15px;
 height: 15px;
 right: 0.75rem;
}
#lineup .playguidLink li a:after {
 right: 1.25rem;
 width: 4px;
 height: 4px;
 border-top: 2px solid #515ba0;
 border-right: 2px solid #515ba0;
}
#lineup .streaming {
 display: block;
 background-color: #46b266;
 text-align: center;
 position: relative;
 padding: 7.5rem 0;
 margin: 4.5rem 0 0;
}
#lineup .streaming .wave {
 position: absolute;
 width: 100%;
 height: 50%;
 bottom: 0;
 left: 0;
 z-index: 2;
 transform: rotate(180deg);
}
#lineup .streaming:before {
 content: "";
 display: block;
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
 background: url(../images/dotted_w.svg) repeat;
 background-size: 16px auto;
 opacity: 0.16;
}
#lineup .streaming .secTtl .en {
 color: #FFD539;
}
#lineup .streaming .secTtl .en:first-letter {
 color: #EFC221;
}
#lineup .streaming .secTtl em {
 color: #FFFFFF;
}
#ticket {
 overflow: hidden;
 z-index: 4;
 background-image: conic-gradient(#fbacbc 90deg, transparent 90deg 180deg, #fbacbc 180deg 270deg, transparent 270deg);
 background-size: 42px 42px;
 background-color: #ffa3ac;
 border-bottom-left-radius: 800px 180px;
 border-bottom-right-radius: 800px 180px;
 margin: 0 -120px;
 padding: 5% 120px calc(5% + 30px);
 border-bottom: solid 5px #dfaf52;
}
#ticket .secTtl {
 font-size: 7.5rem;
}
#ticket .secTtl em {
 font-size: 32%;
}
#ticket .inner .ticketInfo {
 text-align: center;
}
#ticket .inner .ticketInfo h3 {
 font-weight: bold;
 font-size: 2.4rem;
 margin-top: 3.5rem;
 text-align: center;
 margin-bottom: 2rem;
}
#ticket .inner .ticketInfo h3:first-of-type {
 margin-top: 0;
}
#ticket .inner .ticketInfo .card {
 background: #fff;
 color: #241C1C;
 display: flex;
 align-items: stretch;
 border-radius: 1.2rem;
 overflow: hidden;
 box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
 margin-bottom: 1.75em;
}
#ticket .inner .ticketInfo .card h4 {
 font-size: 1.6rem;
 background: #e94820;
 color: #fff;
 line-height: 1;
 display: block;
 padding: 0.5em 1.5em;
 flex: 1 0 11rem;
 max-width: 11rem;
 position: relative;
}
#ticket .inner .ticketInfo .card h4 span {
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 line-height: 1;
 left: 0;
 right: 0;
 margin: 0 auto;
 text-align: center;
 display: block;
}
#ticket .inner .ticketInfo .txt {
 flex: 1 0 calc(100% - 11rem);
 text-align: left;
 padding: 3.5rem 3.5rem 2.5rem;
}
#ticket .inner .ticketInfo .txt h5 {
 font-weight: bold;
 margin: 1em 0 0.5em;
 position: relative;
 padding-left: 0.9em;
 font-size: 1.8rem;
 line-height: 1.2;
 text-align: left;
}
#ticket .inner .ticketInfo .txt h5:first-of-type {
 margin: 0 0 0.5em;
}
#ticket .inner .ticketInfo .txt h5:before {
 content: "";
 display: block;
 background: #00ab75;
 width: 0.7em;
 height: 0.7em;
 border-radius: 50%;
 position: absolute;
 top: 0.3em;
 left: 0;
}
#ticket .inner .ticketInfo ul.period {
 display: flex;
 flex-wrap: wrap;
 border-bottom: solid 1px #ccc;
 padding-bottom: 0.25em;
}
#ticket .inner .ticketInfo ul.period:last-child {
 border-bottom: none;
}
#ticket .inner .ticketInfo ul.period li {
 flex: 1 0 50%;
 max-width: 50%;
 padding: 0 1.5rem 1rem 0;
}
#ticket .inner .ticketInfo ul.period li dl.disable {
 pointer-events: none;
 opacity: 0.3;
}
#ticket .inner .ticketInfo .target {
 display: block;
 text-align: center;
}
#ticket .inner .ticketInfo .target ul {
 display: inline-block;
 text-align: left;
 background: #efefef;
 padding: 2.5rem;
 border-radius: 1.2rem;
}
#ticket .inner .ticketInfo .target ul li {
 font-size: 1.3rem;
 position: relative;
}
#ticket .inner .ticketInfo .target ul li.soldout {
 color: #ccc;
}
#ticket .inner .ticketInfo .target ul li.soldout:after {
 content: "入場チケットSOLDOUT";
 color: #18395c;
 background: #fcc92c;
 display: inline-block;
 font-size: 1.2rem;
 line-height: 1.1;
 font-weight: bold;
 padding: 0.25em 0.5em;
}
#ticket .inner .ticketInfo ul.period li dl dt {
 margin-bottom: 0.5rem;
}
#ticket .inner .ticketInfo ul.period li dl dt span {
 display: inline-block;
 background: #e50012;
 padding: 0.5rem 0.75rem;
 line-height: 1;
 font-weight: bold;
 color: #fff;
 font-size: 1.4rem;
 white-space: nowrap;
}
#ticket .inner .ticketInfo ul.period li dl dd {
 font-weight: bold;
}
#ticket .inner .ticketInfo ul.period li dl dd em {
 display: block;
 font-size: 70%;
 font-weight: normal;
}
#ticket .inner .ticketInfo .fanyLink {
 display: flex;
 align-items: center;
 justify-content: center;
 margin-top: 1.5rem;
}
#ticket .inner .ticketInfo .fanyLink li {
 margin-right: 1.5rem;
}
#ticket .inner .ticketInfo .playguidLink {
 display: flex;
 justify-content: center;
}
#ticket .inner .ticketInfo .playguidLink li {
 margin: 0.5rem 1.5rem 0 0;
}
#ticket .inner .ticketInfo .playguidLink li a em {
 display: inline-block;
 line-height: 1;
 padding-left: 0.5em;
}
#ticket .inner p {
 font-weight: 600;
}
#ticket .inner p small {
 font-size: 80%;
}
#ticket .inner p a {
 display: inline-block;
 vertical-align: bottom;
 font-size: 100%;
 line-height: inherit;
 color: #e50012;
}
#goods {
 background-image: radial-gradient(#ffd84d 3px, transparent 3px), radial-gradient(#ffd84d 3px, transparent 3px);
 background-size: 22px 22px;
 background-position: 0 0, 11px 11px;
 background-color: #ffe445;
 padding: calc(5% + 150px) 0 5%;
 text-align: center;
 margin-top: -150px;
 z-index: 3;
 border-bottom: solid 5px #dfaf52;
 overflow: hidden;
}
#goods h2 {
 position: relative;
 font-size: 7.0rem;
 display: inline-block;
}
#goods h2 small {
 display: inline-block;
 font-size: 32.5%;
 font-weight: bold;
 position: absolute;
 top: 0;
 left: 0;
 transform: translateX(2.5em)translateY(0.2em);
}
#goods h2 .en {
 font-family: 'Londrina Solid', sans-serif;
 line-height: 1;
 display: inline-block;
 color: #1a0b08;
 position: relative;
}
#goods h2 .en:first-letter {
 font-size: 160%;
}
#goods .image {
 width: 60rem;
 margin: 0 auto;
 border-radius: 9px;
 overflow: hidden;
}
#goods p {
 font-weight: bold;
 margin-top: 1.5em;
}
#goods ul {
    display: flex;
    align-items: stretch;
    margin-top: 1.5em;
}
#goods ul li {
    margin: 0 0.75em;
}
#goods dl {
    margin-top: 1.5em;
}
#goods dl dt {
    font-weight: bold;
    background: #00ab75;
    color: #fff;
    width: 6em;
    margin: 0 auto;
}
#goods dl dd {
    padding-top: 0.5em;
    font-weight: bold;
}
#goods dl dd span {
    white-space:nowrap;
}
#goods .note {
    padding: 1em 0;
}
#access {
 background-image: radial-gradient(#f7f7f7 3px, transparent 3px), radial-gradient(#f7f7f7 2px, transparent 2px);
 background-size: 15px 15px;
 background-position: 0 0, 7.5px 7.5px;
 background-color: #f3f3f2;
 padding: 5% 0 0;
 text-align: center;
 z-index: 3;
 border-bottom: solid 5px #dfaf52;
}
#access .secTtl {
 font-size: 7.5rem;
}
#access .secTtl em {
 top: 0.5em;
 right: 2.5em;
}
#access .hall {
 font-size: 1.8rem;
 line-height: 1.4;
 font-weight: bold;
}
#access .hall strong {
 font-size: 115%;
 letter-spacing: 0.2em;
 font-weight: bold;
 color: #e50012;
}
#access .address {
 font-size: 1.4rem;
 margin: 2rem auto;
}
#access .tableWrap {
 padding: 1.5rem;
 border-radius: 1.2rem;
 background: rgba(255, 255, 255, 0.9);
 width: 84%;
 margin: 0 auto;
}
#access table {
 letter-spacing: 0.025em;
 line-height: 1.4;
 text-align: left;
 font-size: 1.5rem;
}
#access table tr {
 border-bottom: dashed 1px #C8C8BC;
}
#access table tr:last-of-type {
 border-bottom: none;
}
#access table tr:first-of-type {
 bborder-bottom: dashed 1px #C8C8BC;
}
#access table tr th {
 border-right: dashed 1px #C8C8BC;
 padding: 0.75em;
 vertical-align: middle;
}
#access table tr th:first-of-type {
 width: 50%;
}
#access table tr:first-of-type th:last-of-type {
 border-right: none;
}
#access table tr:first-of-type th {
 text-align: center;
 font-weight: bold;
}
#access table tr td {
 padding: 0.75em;
 text-align: center;
 vertical-align: middle;
}
#access .flex {
 display: flex;
 justify-content: center;
 align-items: center;
 margin: 2.5rem auto 5vw;
}
#access .flex .btn {
 position: relative;
 z-index: 3;
 white-space: nowrap;
 text-align: center;
 display: block;
 margin: 0 1.5rem;
}
#access .btn a {
 border-radius: 20rem;
 border: none;
 background-color: #222;
}
#access .btn a:after {
 border-top: 2px solid #222;
 border-right: 2px solid #222;
}
#access .map {
 position: relative;
 z-index: 10;
 background: #cecece;
 width: 100vw;
 margin: 0 calc(50% - 50vw);
 height: 25rem;
}
#access .map:before {
 content: "";
 display: block;
 padding-top: 58%;
}
#access .map iframe {
 width: 100%;
 height: 100%;
 position: absolute;
 left: 0;
 right: 0;
 top: 0;
 bottom: 0;
 margin: auto;
}
@media screen and (max-width: 999px) {
 .mfp-content {
  box-sizing: border-box;
  padding: 2% 5%;
 }
 .mfp-content .petit {
  background: url("../images/laughes2025petit_popup_sp.jpg") no-repeat;
  background-size: cover;
  width: 100%;
  padding-top: 100%;
 }
 .mfp-content .petit img {
  display: none;
 }
 #kv.top {
  background: url("../images/kv_sp.png") no-repeat center top;
  background-size: cover;
  width: 100%;
  display: block;
  margin-bottom: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  margin: 0;
  padding: 0;
  padding-top: 121%;
  border-bottom: solid 3px #dfaf52;
 }
 #kv.top:before, #kv.top:after, #kv.top h1, #kv.top .newSpring, #kv.top .info, #kv.top .ill01, #kv.top .ill_daruma, #kv.top .ill_kadomatsu, #kv.top .ill_mochi, #kv.top .ill_kumo01, #kv.top .ill_kumo02, #kv.top .ill_balloon_orange, #kv.top .ill_balloon_green, #kv.top .ill_balloon_pink01, #kv.top .ill_balloon_pink02, #kv.top .ill_balloon_yellow, #kv.top .ill_people_yellow, #kv.top .ill_people_pink, #kv.top .ill_people_orange01, #kv.top .ill_people_orange02, #kv.top .cloud, #kv.top .wave {
  display: none;
 }
 #news {
  margin-top: -150px;
  padding: calc(5% + 150px) 0;
 }
 #news .inner {
  display: block;
 }
 #news .inner #feed {
  padding: 2.5% 0 0;
  font-size: 1.5rem;
 }
 #news .inner #feed:before {
  left: 0;
  top: 0.5em;
  height: 100%;
 }
 #news .inner #feed .note {
  padding-left: 1.5rem;
  margin-bottom: 1.25em;
 }
 #news .inner #feed a {
  font-size: 1.3rem;
 }
 #about {
  margin: -150px -1.5rem;
  padding: 5% 1.5rem 5%;
  border-top: solid 3px #dfaf52;
  border-bottom: solid 3px #dfaf52;
 }
 #about:before {
  width: 20vw;
  height: calc(20vw * 1.579);
  left: 0;
 }
 #about:after {
  width: 19vw;
  height: calc(19vw * 1.07);
  bottom: 2%;
  right: 0;
 }
 #about h3 {
  font-size: 1.9rem;
  margin-bottom: 0.35em;
 }
 #about p {
  font-size: 1.4rem;
 }
 #about .flex {
  display: block;
  margin: 1em auto 0;
 }
 #about .flex dl.date {
  padding: 0 0 1.5em;
 }
 #about .flex dl dt {
  font-size: 1.4rem;
 }
 #about .flex dl dd {
  font-size: 1.8rem;
 }
 #about .flex dl.place dd {
  font-size: 1.6rem;
 }
 #about .flex dl.place dd em {
  opacity: 1;
 }
 #lineup {
  border-bottom: solid 3px #dfaf52;
 }
 #lineup .secTtl {
  font-size: 6rem;
 }
 #lineup .perform {
  margin: 0 3%;
  width: 98vw;
 }
 #lineup .perform.new:before {
  width: 3em;
  height: 3em;
  top: 0.25em;
  right: 0;
 }
 #lineup .perform .day span {
  font-size: 1.9rem;
 }
 #lineup h3 {
  font-size: 1.6rem;
 }
 #lineup .perform .period {
  font-size: 1.1rem;
 }
 #lineup .price {
  font-size: 1.4rem;
 }
 #lineup .btn a {
  font-size: 1.2rem;
 }
 #lineup .ticketLink {
  display: block;
 }
 #lineup .ticketLink > div {
  flex: none;
  max-width: 100%;
  margin-bottom: 4px;
 }
 #lineup .ticketLink > div.fany, #lineup .ticketLink > div.online {
  flex: none;
  max-width: 100%;
 }
 #ticket {
  margin: 0 -1.5rem;
  padding: 5% 1.5rem calc(5% + 30px);
  border-bottom: solid 3px #dfaf52;
 }
 #ticket .secTtl {
  font-size: 5rem;
 }
 #ticket .inner .ticketInfo h3 {
  font-size: 1.9rem;
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
 }
 #ticket .inner .ticketInfo .card {
  display: block;
 }
 #ticket .inner .ticketInfo .card h4 {
  font-size: 1.5rem;
  flex: none;
  padding: 0.75em;
  max-width: 100%;
 }
 #ticket .inner .ticketInfo .card h4 span {
  position: relative;
  top: auto;
  line-height: 1;
  transform: translateY(0);
 }
 #ticket .inner .ticketInfo .txt {
  flex: none;
  text-align: center;
  padding: 2.5rem 1.5rem 1rem;
 }
 #ticket .inner .ticketInfo ul.period {
  display: block;
 }
 #ticket .inner .ticketInfo ul.period li {
  flex: none;
  max-width: 100%;
  margin: 0 0 1.5rem;
 }
 #ticket .inner .ticketInfo ul.period li dl dd {
  font-size: 1.3rem;
 }
 #ticket .inner .ticketInfo p {
  font-size: 1.2rem;
 }
 #ticket .inner .ticketInfo .fanyLink {
  display: block;
  width: 84%;
  margin: 1.5rem auto 0;
 }
 #ticket .inner .ticketInfo .fanyLink li {
  margin: 0 0 0.5rem;
 }
 #ticket .inner .ticketInfo .fanyLink li a {
  display: block;
 }
 #ticket .inner .ticketInfo .playguidLink {
  display: block;
  width: 84%;
  margin: 0 auto;
 }
 #ticket .inner .ticketInfo .playguidLink li {
  margin: 0 0 0.5rem;
 }
 #ticket .inner .ticketInfo .playguidLink li a {
  display: block;
 }
 #goods {
  padding: calc(5% + 120px) 0 5%;
  margin-top: -120px;
  border-bottom: solid 3px #dfaf52;
 }
 #goods h2 {
  font-size: 5rem;
 }
 #goods h2 small {
  font-size: 32%;
 }
 #goods .image {
  width: 100%;
 }
 #goods p {
  font-size: 1.3rem;
 }
 #goods ul {
    display: block;
    font-size: 1.3rem;
}
#goods ul li {
    margin: 0 0 0.75em;
}
#goods dl {
    font-size: 1.3rem;
}
 #access {
  padding: 5% 1.5rem 0;
  border-bottom: solid 3px #dfaf52;
 }
 #access .secTtl {
  font-size: 5rem;
 }
 #access .hall {
  font-size: 1.6rem;
 }
 #access .address {
  font-size: 1.2rem;
  margin: 1rem auto;
 }
 #access .tableWrap {
  padding: 1.5rem 0;
  width: 100%;
 }
 #access table {
  width: 96%;
  margin: 0 auto;
  font-size: 1.2rem;
 }
 #access .flex {
  display: block;
  margin: 1rem auto 2.5rem;
 }
 #access .flex .btn {
  width: 80%;
  margin: 0 auto 1rem;
 }
 #access .btn a {
  display: block;
 }
 #access .map {
  height: 20rem;
 }
}