

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

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


div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    font-size: 100%;
    font: inherit;
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline
}

:focus {
    outline: 0
}

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

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

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

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

td:empty,
th:empty {
    opacity: 0
}

input:required,
input {
    box-shadow: none
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px #fff inset
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    -webkit-appearance: none;
    -moz-appearance: none
}

input[type=search] {
    -webkit-appearance: none;
    -moz-appearance: none;
    box-sizing: content-box
}

textarea {
    overflow: auto;
    vertical-align: top;
    resize: vertical
}

audio,
canvas,
video {
    display: inline-block;
    max-width: 100%
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden] {
    display: none
}

a:active,
a:hover {
    outline: none
}

img {
    border: 0;
    max-width: 100%;
    display: inline-block;
    vertical-align: middle;
    height: auto
}

picture {
    display: inline-block
}

figure {
    margin: 0
}

button,
input {
    line-height: normal
}

button,
select {
    text-transform: none
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer;
    border: 0;
    background: transparent
}

button::-moz-focus-inner {
    border: 0
}

button[disabled],
html input[disabled] {
    cursor: default
}

input[type=checkbox],
input[type=radio] {
    padding: 0
}

input[type=search] {
    -webkit-appearance: textfield;
    box-sizing: content-box
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

button {
    border: 0;
    background: transparent
}

textarea {
    overflow: auto;
    vertical-align: top;
    resize: vertical
}

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

hr {
    box-sizing: content-box;
    overflow: visible;
    background: #000;
    border: 0;
    height: 1px;
    line-height: 0;
    margin: 0;
    padding: 0;
    page-break-after: always;
    width: 100%
}

pre {
    font-family: monospace, monospace;
    font-size: 100%
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: none
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 100%
}

small {
    font-size: 75%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -5px
}

sup {
    top: -5px
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1;
    margin: 0;
    padding: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0;
    outline: 0
}

legend {
    color: inherit;
    white-space: normal;
    display: block;
    border: 0;
    max-width: 100%;
    width: 100%
}

fieldset {
    min-width: 0
}

body:not(:-moz-handler-blocked) fieldset {
    display: block
}

progress {
    vertical-align: baseline
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

template {
    display: none
}

html {
    scroll-behavior: smooth;
    scrollbar-gutter: stable;
    font-size: 14px
}

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

img {
    max-width: 100%;
    height: auto
}

a {
    color: #111;
    text-decoration: none
}

@font-face {
    font-family: "nikumaru";
    src: url(../fonts/nikumaru.otf)
}

.ff_kaisei {
    font-family: "Kaisei Opti", serif
}

.bg_pink {
    background-color: #ec4c8b
}

.bg_purple {
    background-color: #d094fc
}

.bg_grad {
    background: linear-gradient(41deg, #ff9cc6 0%, #cbb1ff 37%, #b6c5ff 57%, #cbb1ff 82%, #ff9cc6 100%);
    position: relative;
    overflow: hidden
}

.bg_grad::before {
    content: "";
    width: 100%;
    height: 100%;
    background: url("../img/common/bg_ptn.png") center/406.119px 268.7089px repeat;
    position: absolute;
    top: 0;
    left: 0
}

.bg_grad_y {
    background: linear-gradient(93deg, #ff8bc6 0%, #ff87b1 36%, #ffe0b2 66%, #ff9cc6 100%);
    position: relative;
    overflow: hidden
}

.bg_grad_y::before {
    content: "";
    width: 100%;
    height: 100%;
    background: url("../img/common/bg_ptn.png") center/406.119px 268.7089px repeat;
    position: absolute;
    top: 0;
    left: 0
}

.inner {
    padding: 0 15px;
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto
}

.secBox {
    padding-top: 100px;
    padding-bottom: 100px
}

@media(max-width: 767px) {
    .secBox {
        padding-top: 50px;
        padding-bottom: 50px
    }
}

.wrapper {
    background-color: #fff;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    min-height: 100vh
}

.bg_disco {
    background-image: url("../img/common/bambi_disco_bg.png");
    background-size: cover;
    background-position: center;
    background-repeat: repeat-y;
    margin: 0
}

.head-area,
.nav-area {
    height: 100vh;
    height: 100dvh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    position: sticky;
    top: 0
}

.head-area {
    width: 30%;
    padding: 0 3vw;
    flex: 1
}

.head-area .logo {
    width: 284px
}

.head-area .logo img {
    display: block;
    width: 100%;
    height: 100%
}

@media(max-width: 1000px) {
    .head-area {
        display: none
    }
}

.main-area {
    width: 100%
}

.nav-area {
    flex: 1;
    width: 30%
}

@media(max-width: 1000px) {
    .nav-area {
        display: none
    }
}

.bababaBar {
    background-color: #d4247b;
    color: #fff;
    width: 100%;
    overflow: hidden;
    white-space: nowrap
}

.bababaBar>p {
    -webkit-animation: infinityScrollLeft 35s infinite linear 1s both;
    animation: infinityScrollLeft 35s infinite linear 1s both;
    padding-bottom: 9px;
    padding-top: 9px;
    font-family: "Squada One", cursive;
    font-family: "Squada One", cursive;
    font-size: 16px;
    color: #fff
}

.bababaBar>p>img {
    margin-right: 15px;
    height: 16px
}

@media(max-width: 767px) {
    .bababaBar>p>img {
        height: 12px
    }
}

@-webkit-keyframes infinityScrollLeft {
    from {
        transform: translateX(0)
    }
    to {
        transform: translateX(-100%)
    }
}

@keyframes infinityScrollLeft {
    from {
        transform: translateX(0)
    }
    to {
        transform: translateX(-100%)
    }
}

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

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

.effect-fade-hover {
    transition: opacity .5s
}

@media(any-hover: hover) {
    .effect-fade-hover:hover {
        opacity: .7
    }
}

.effect-scale-hover {
    transition: transform .5s
}

@media(any-hover: hover) {
    .effect-scale-hover:hover {
        transform: scale(1.025)
    }
}

.effect-shine-hover {
    position: relative
}

.effect-shine-hover::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    opacity: 0;
    transition: opacity .5s;
    pointer-events: none
}

@media(any-hover: hover) {
    .effect-shine-hover:hover {
        cursor: pointer
    }
    .effect-shine-hover:hover::before {
        opacity: .3
    }
}

#load-gif {
    display: none
}

.loading-area {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffb7d3
}

.loading-area .cp-round::before,
.loading-area .cp-round::after {
    border-width: 2px;
    border-color: #fff
}

.loading-area .cp-round::after {
    border-top-color: #ec4c8b
}

.linkbtn-wrp.linkbtn--center {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap
}

.linkbtn {
    background: linear-gradient(41deg, #ff9cc6 0%, #cbb1ff 37%, #b6c5ff 57%, #cbb1ff 82%, #ff9cc6 100%);
    border-radius: 25px;
    padding: 5px 0 0;
    border: 1px solid #000;
    font-size: 18px;
    position: relative;
    font-family: "Coiny", cursive;
    line-height: 1;
    transition: opacity .5s;
    overflow: hidden
}

.linkbtn.ff_kaisei {
    font-family: "Kaisei Opti", serif
}

.linkbtn.pt-0 {
    padding-top: 0
}

.linkbtn:before {
    content: "";
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background-color: #fff;
    border-radius: 20px;
    transition: opacity .5s
}

.linkbtn>span {
    position: relative;
    z-index: 1;
    background: linear-gradient(41deg, rgba(255, 156, 198, 0.4) 0%, rgba(203, 177, 255, 0.4) 37%, rgba(182, 197, 255, 0.4) 57%, rgba(203, 177, 255, 0.4) 82%, rgba(255, 156, 198, 0.4) 100%);
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 10px 30px;
    color: #ff97e1;
    font-weight: bold;
    transition: color .5s
}

.linkbtn.linkbtn--yellow {
    background: linear-gradient(93deg, #ff8bc6 0%, #ff87b1 36%, #ffe0b2 66%, #ff9cc6 100%)
}

.linkbtn.linkbtn--yellow>span {
    background: linear-gradient(95deg, rgba(255, 139, 198, 0.4) 0%, rgba(255, 135, 177, 0.4) 36%, rgba(255, 224, 178, 0.4) 66%, rgba(255, 156, 198, 0.4) 100%);
    color: #d4247b
}

@media(any-hover: hover) {
    .linkbtn:hover::before {
        opacity: 0
    }
    .linkbtn:hover>span {
        color: #fff
    }
}

header {
    top: 0;
    left: 0;
    position: fixed;
    z-index: 100;
    width: 100%;
    transition: background .5s
}

header.fixed {
    background: #ff8db6;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    padding: 15px 0
}

header.fixed .header-logo {
    margin-left: 20px;
    width: 170px;
    margin: 0 20px
}

header.fixed .header-list {
    margin-top: 0
}

@media(max-width: 1220px) {
    header.fixed .header-list {
        display: none
    }
}

.header-logo {
    width: 284px;
    display: block;
    margin: 30px auto 0;
    transition: all .5s
}

@media(max-width: 767px) {
    .header-logo {
        width: 174px
    }
}

.header-list {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 50px;
    transition: opacity .5s
}

@media(max-width: 767px) {
    .header-list {
        display: none
    }
}

.header-list>li>a {
    color: #fff;
    font-size: clamp(0.75rem, 0.391rem + 1.331vw, 1.025rem);
    position: relative;
    transition: all .5s;
    font-weight: 500
}

.header-list>li>a::after {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #ec4c8b;
    position: absolute;
    bottom: -2px;
    right: 0;
    left: 0;
    transform: scaleX(0);
    transition: all .5s
}

.header-list>li>a:hover {
    color: #ec4c8b
}

.header-list>li>a:hover::after {
    transform: scaleX(1)
}

.spBtn {
    width: 52px;
    height: 52px;
    position: absolute;
    top: 10px;
    right: 10px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 9px;
    z-index: 1000
}

.spBtn>span {
    position: relative;
    z-index: 1;
    width: 25px;
    height: 1px;
    display: block;
    background-color: #fff;
    transition: all .5s
}

.spBtn.is_active>span:nth-child(1) {
    transform: rotate(45deg);
    top: 10px
}

.spBtn.is_active>span:nth-child(2) {
    transform: scale(0)
}

.spBtn.is_active>span:nth-child(3) {
    transform: rotate(-45deg);
    top: -10px
}

.globalMenu {
    background-color: rgba(161, 40, 110, .42);
    padding-top: 50px;
    padding-bottom: 40px;
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    visibility: hidden;
    opacity: 0;
    transition: opacity .5s
}

.globalMenu.is_active {
    visibility: visible;
    pointer-events: auto;
    opacity: 1
}

.globalMenu .globalMenu-ttl {
    width: 284px;
    margin: 0 auto;
    display: block
}

.globalMenu .globalMenu-ttl img {
    width: 100%;
    height: 100%
}

.globalMenu .globalMenu-list {
    margin: 40px auto 0;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    width: 90%
}

.globalMenu .globalMenu-list>ul {
    background-color: rgba(202, 34, 116, .81);
    display: grid;
    grid-template-columns: 50% 50%
}

.globalMenu .globalMenu-list>ul>li {
    height: 100px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff
}

.globalMenu .globalMenu-list>ul>li>a {
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
    font-family: "Squada One", cursive;
    font-size: 22px;
    transition: opacity .5s
}

.globalMenu .globalMenu-list>ul>li>a.ff_kaisei {
    font-family: "Kaisei Opti", serif
}

@media(any-hover: hover) {
    .globalMenu .globalMenu-list>ul>li:hover>a {
        opacity: .7
    }
}

footer {
    background-color: #ec4c8b;
    position: relative;
    z-index: 1;
    width: 100%;
    margin-top: auto
}

footer .link-area {
    padding-top: 30px;
    padding-bottom: 30px
}

footer .link-area .link-area__ttl {
    width: 100px;
    margin: 0 auto 25px
}

footer .link-area .link-area-sns {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 25px
}

footer .link-area .link-area-sns li {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    overflow: hidden
}

footer .link-area .link-area-sns li a {
    background-color: rgba(255, 255, 255, .28);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    height: 100%;
    font-size: 20px
}

footer .link-area .linkbtn-wrp {
    margin-top: 25px
}

footer .link-area .linkbtn-wrp .linkbtn {
    padding-top: 0
}

footer .copyright {
    width: 100%;
    background: rgba(0, 0, 0, .32);
    color: #fff;
    text-align: center;
    font-size: 10px;
    padding: 5px 0
}

footer .footer_banner {
    margin: 25px auto;
    display: flex;
    justify-content: center;
    max-width: 370px
}

#back-to-top,
#back-to-top2 {
    position: static;
    transform: none
}

body.oh-open #back-to-top,
body.oh-open #back-to-top2 {
    display: none
}

.anker-links-container {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    z-index: 1000;
    max-width: 95vw
}

@media(min-width: 768px) {
    .anker-links-container {
        left: auto;
        right: 20px;
        transform: translateX(0)
    }
}

body.oh-open .anker-links-container {
    display: none
}

.anker-link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px
}

.scheduleList .scheduleList-item {
    background: linear-gradient(41deg, #ff9cc6 0%, #cbb1ff 37%, #b6c5ff 57%, #cbb1ff 82%, #ff9cc6 100%);
    border-radius: 15px;
    padding: 5px;
    border: 1px solid #000;
    overflow: hidden
}

.scheduleList .scheduleList-item:not(:last-child) {
    margin-bottom: 15px
}

.scheduleList .scheduleList-item .scheduleList-item-inner {
    background-color: #fff;
    border-radius: 11px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    flex-wrap: wrap;
    padding: 10px 0;
    border: 1px solid #000
}

.scheduleList .scheduleList-item .scheduleList-item__day {
    width: 15%;
    text-align: center;
    font-family: "Barlow Condensed", sans-serif
}

@media(max-width: 767px) {
    .scheduleList .scheduleList-item .scheduleList-item__day {
        width: 30%
    }
}

.scheduleList .scheduleList-item .scheduleList-item__day .scheduleList-item__day-y {
    font-size: 14px
}

.scheduleList .scheduleList-item .scheduleList-item__day .scheduleList-item__day-md {
    font-size: 26px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    position: relative
}

.scheduleList .scheduleList-item .scheduleList-item__day .scheduleList-item__day-md::before {
    content: "";
    width: 1px;
    height: 90%;
    position: absolute;
    top: 4px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background-color: #111;
    transform: rotate(45deg)
}

.scheduleList .scheduleList-item .scheduleList-item__day .scheduleList-item__day-md .scheduleList-item__day-d {
    margin-top: 1em
}

.scheduleList .scheduleList-item .scheduleList-item__day .scheduleList-item__day-t {
    font-size: 13px
}

.scheduleList .scheduleList-item .scheduleList-item__cnt {
    width: 70%;
    font-family: "Kaisei Opti", serif
}

.scheduleList .scheduleList-item .scheduleList-item__cnt .scheduleList-item__ttl {
    margin-bottom: 15px
}

.scheduleList-item__meta-time,
.scheduleList-item__meta-place {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap
}

.scheduleList-item__meta-time>dt,
.scheduleList-item__meta-place>dt {
    width: 12px
}

.scheduleList-item__meta-time>dd,
.scheduleList-item__meta-place>dd {
    padding-left: 8px
}

.l__schedule__calendar {
    margin-top: 70px;
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    height: 525px
}

@media(max-width: 767px) {
    .l__schedule__calendar {
        aspect-ratio: 1/1;
        margin-top: 30px;
        height: auto
    }
}

.l__schedule__calendar>iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.newsList {
    display: grid;
    gap: 20px 10px;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr))
}

.newsList .newsList-item .newsList-item-meta {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 2px
}

.newsList .newsList-item .newsList-item-meta>dt {
    color: #fff;
    padding: 0 10px;
    font-weight: 100
}

.newsList .newsList-item .newsList-item-meta>dd {
    padding-left: 5px
}

.newsList .newsList-item .newsList-item-cnt {
    position: relative;
    display: block;
    width: 100%
}

.newsList .newsList-item .newsList-item-cnt .newsList-item__bg {
    aspect-ratio: 536/805;
    display: block
}

.newsList .newsList-item .newsList-item-cnt .newsList-item__bg>img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.newsList .newsList-item .newsList-item-cnt .newsList-item__ttl {
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 13px;
    padding: 15px 10px 7px;
    width: 100%;
    color: #fff
}

@media(max-width: 767px) {
    .newsList .newsList-item .newsList-item-cnt .newsList-item__ttl {
        font-size: 10px
    }
}

.newsList .newsList-item .newsList-item-cnt .newsList-item__ttl>span {
    position: relative;
    z-index: 1
}

.newsList .newsList-item .newsList-item-cnt .newsList-item__ttl::before {
    content: "";
    background: linear-gradient(rgba(0, 0, 0, 0) 0%, #000 100%);
    opacity: .7;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0
}

.newsList.load {
    margin-top: 20px
}

.bg_grad .discographyList {
    display: grid;
    gap: 30px
}

@media(max-width: 767px) {
    .bg_grad .discographyList {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr;
        gap: 16px
    }
}

.bg_grad .discographyList .discography-item {
    background-color: #fff;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    padding: 40px;
    border-radius: 50px;
    transition: background-color .5s
}

@media(any-hover: hover) {
    .bg_grad .discographyList .discography-item:hover {
        background-color: #f5f5f5
    }
}

@media(max-width: 767px) {
    .bg_grad .discographyList .discography-item {
        display: block;
        padding: 0;
        border-radius: 0;
        border: 1px solid #000
    }
}

.bg_grad .discographyList .discography-item .discography__img {
    width: 50%;
    border: 2px solid #ccc
}

@media(max-width: 767px) {
    .bg_grad .discographyList .discography-item .discography__img {
        width: 100%;
        border: none
    }
}

.bg_grad .discographyList .discography-item .discography__cnt {
    padding: 20px 15px;
    width: 50%;
    padding-left: 40px
}

@media(max-width: 767px) {
    .bg_grad .discographyList .discography-item .discography__cnt {
        width: 100%;
        padding-left: 15px;
        border-top: 1px solid #000;
        font-size: 13px
    }
}

.bg_grad .discographyList .discography-item .discography__cnt .discography__group {
    font-family: "Kaisei Opti", serif
}

.bg_grad .discographyList .discography-item .discography__cnt .discography__name {
    font-size: 20px;
    font-weight: bold;
    font-family: "Kaisei Opti", serif
}

@media(max-width: 767px) {
    .bg_grad .discographyList .discography-item .discography__cnt .discography__name {
        font-size: 16px
    }
}

.bg_grad .discographyList .discography-item .discography__cnt .discography__day {
    font-weight: bold;
    margin-top: 5px;
    font-family: "Kaisei Opti", serif
}

.bg_grad .discographyList .discography-item .discography__cnt .discography__txt {
    margin-top: 10px
}

.bg_disco .swiper {
    width: 100%;
    height: 100%;
    overflow: overlay
}

.bg_disco .swiper-slide {
    text-align: center;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center
}

.bg_disco .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.bg_disco .swiper {
    width: 100%;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px
}

@media(max-width: 425px) {
    .bg_disco .swiper {
        margin-bottom: 25px
    }
}

.bg_disco .swiper.slider {
    width: 100%;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 50px;
    overflow-x: hidden
}

.bg_disco .discography__overall-img-container {
    width: 90%;
    max-width: 550px;
    margin: 0 auto 30px
}

.bg_disco .swiper-wrapper {
    align-items: center
}

.bg_disco .swiper-slide {
    background-size: cover;
    background-position: center
}

.bg_disco .swiper-slide img {
    width: 100%
}

.bg_disco .slider img {
    -o-object-fit: contain;
    object-fit: contain
}

.bg_disco .thumbnail img {
    -o-object-fit: cover;
    object-fit: cover
}

.bg_disco .modal-container {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    background-color: #fff;
    padding-top: 40px;
    box-sizing: border-box
}

.bg_disco .logo-container {
    margin: 0px auto 20px;
    width: 20%
}

@media(max-width: 1024px) {
    .bg_disco .logo-container {
        width: 30%
    }
}

@media(max-width: 425px) {
    .bg_disco .logo-container {
        width: 40%
    }
}

.bg_disco .logo-container img {
    max-width: 100%;
    height: auto
}

.bg_disco [class^=swiper-button-] {
    width: 60px;
    height: 60px
}

@media(max-width: 1024px) {
    .bg_disco [class^=swiper-button-] {
        width: 40px;
        height: 40px
    }
}

.bg_disco [class^=swiper-button-]::after {
    content: ""
}

.bg_disco .swiper-pagination-bullet {
    background: #fff;
    border: 1px solid #000;
    opacity: 1
}

.bg_disco .swiper-pagination-bullet-active {
    background: #e7c1d9
}

.bg_disco .swiper-button-prev,
.bg_disco .swiper-button-next {
    z-index: 999
}

.bg_disco .swiper-button-prev {
    left: 10px
}

.bg_disco .swiper-button-next {
    right: 10px
}

@media screen and (max-width: 767px) {
    .bg_disco .swiper-button-prev,
    .bg_disco .swiper-button-next {
        width: 30px;
        height: 30px
    }
}

.bg_disco .discographyList {
    display: grid;
    gap: 30px
}

@media(max-width: 767px) {
    .bg_disco .discographyList {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr;
        gap: 16px
    }
}

.bg_disco .discographyList .discography-item {
    background-color: #fff;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    padding: 40px;
    border-radius: 50px;
    transition: background-color .5s;
    border: 1px solid #000
}

@media(any-hover: hover) {
    .bg_disco .discographyList .discography-item:hover {
        background-color: #f5f5f5
    }
}

@media(max-width: 767px) {
    .bg_disco .discographyList .discography-item {
        flex-direction: column
    }
    .bg_disco .discographyList .discography-item .discography__img,
    .bg_disco .discographyList .discography-item .discography__cnt {
        width: 100%
    }
}

.bg_disco .discographyList .discography-item .discography__img {
    width: 50%;
    border: 2px solid #ccc
}

@media(max-width: 767px) {
    .bg_disco .discographyList .discography-item .discography__img {
        width: 100%;
        border: none
    }
}

.bg_disco .discographyList .discography-item .discography__cnt {
    padding: 20px 15px;
    width: 50%;
    padding-left: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center
}

@media(max-width: 767px) {
    .bg_disco .discographyList .discography-item .discography__cnt {
        width: 100%;
        padding-left: 15px;
        font-size: 13px
    }
}

.bg_disco .discographyList .discography-item .discography__cnt .discography__group {
    font-family: "Kaisei Opti", serif
}

.bg_disco .discographyList .discography-item .discography__cnt .discography__name {
    font-family: "Kaisei Opti", serif;
    font-size: 25px;
    font-weight: bold;
    font-family: "Kaisei Opti", serif;
    margin-top: 8px
}

@media(max-width: 767px) {
    .bg_disco .discographyList .discography-item .discography__cnt .discography__name {
        font-size: 22px
    }
}

.bg_disco .discographyList .discography-item .discography__cnt .discography__day {
    font-weight: bold;
    margin-top: 5px;
    font-family: "Kaisei Opti", serif;
    font-size: 10px
}

.bg_disco .discographyList .discography-item .discography__cnt .discography__txt-wrp {
    margin-top: 10px
}

.bg_disco .discographyList .discography-item .discography__cnt .discography__txt {
    margin-top: 5px;
    font-size: 10px
}

.bg_disco .discographyList .discography-item .discography__cnt .discography__link {
    margin-top: 20px;
    width: 100%
}

@media(min-width: 1000px) {
    .bg_disco .discographyList .discography-item .discography__cnt .discography__link {
        width: 70%
    }
}

.bg_disco .discographyList .discography-lyric {
    background-color: rgba(252, 121, 199, .2);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    padding: 40px;
    border-radius: 50px;
    transition: background-color .5s;
    box-shadow: 0 0 8px rgba(0, 0, 0, .4);
    color: #fff;
    flex-direction: column;
    margin-top: 40px
}

.bg_disco .discographyList .discography-lyric .discography__group {
    font-family: "Kaisei Opti", serif
}

.bg_disco .discographyList .discography-lyric .discography__name {
    font-family: "Kaisei Opti", serif;
    font-size: 30px;
    font-weight: bold;
    font-family: "Kaisei Opti", serif;
    margin-top: 8px
}

@media(max-width: 767px) {
    .bg_disco .discographyList .discography-lyric .discography__name {
        font-size: 25px
    }
}

.bg_disco .discographyList .discography-lyric .discography__txt-wrp {
    margin-top: 20px;
    text-align: center;
    font-size: 12px
}

.bg_disco .discographyList .discography-lyric .discography__txt {
    margin-top: 5px;
    font-size: 10px
}

@media(min-width: 768px) {
    .bg_disco .discographyList .discography-lyric .discography__txt {
        font-size: 14px
    }
}

.bg_disco .discographyList .discography-lyric .discography__youtube {
    margin-top: 20px;
    aspect-ratio: 16/9;
    position: relative;
    border-radius: 10px;
    overflow: hidden
}

.bg_disco .discographyList .discography-lyric .discography__youtube>iframe {
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%
}

@media(min-width: 768px) {
    .bg_disco .discographyList .discography-lyric .discography__youtube {
        width: 90%;
        margin-left: auto;
        margin-right: auto
    }
}

.bg_disco .discographyList .discography-lyric .lyric__txt-wrp {
    margin-top: 10px;
    text-align: center;
    font-size: 12px
}

@media(min-width: 768px) {
    .bg_disco .discographyList .discography-lyric .lyric__txt-wrp {
        font-size: 15px
    }
}

.bg_disco .discographyList .discography-lyric .lyric__txt-wrp .short-border-line {
    width: 12%;
    height: 1px;
    background-color: #fff;
    margin: 20px auto 20px
}

@media(max-width: 767px) {
    .discography-detail .discographyList {
        grid-template-columns: 1fr;
        width: 95%;
        margin: 20px auto 0
    }
}

.tag {
    font-family: "Kaisei Opti", serif;
    display: inline-block;
    margin: 4px;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    background-color: #f44336;
    border-radius: 30px;
    text-align: center;
    width: 65px;
    height: 20px
}

.tag-flex {
    display: flex;
    align-items: center;
    width: 75%;
    margin-left: 25%
}

.entry-tag-flex {
    display: flex;
    align-items: center;
    width: 100%
}

.front-tag-flex {
    display: flex;
    align-items: center;
    width: 85%;
    margin-left: 15%
}

.live {
    background: #e84c87;
    color: #fff
}

.magazine {
    background: #4dc3e7;
    color: #fff
}

.tv {
    background: #eda5ff;
    color: #fff
}

.live_streaming {
    background: #ffbc66;
    color: #fff
}

.event {
    background: #7fdbc9;
    color: #fff
}

.new-tag {
    background-color: red;
    color: #fff;
    padding: 5px 10px;
    margin-right: 10px;
    border-radius: 5px;
    font-weight: bold;
    flex-shrink: 0
}

.flex-container {
    display: flex;
    align-items: baseline
}

.date,
.title {
    margin: 10px;
    color: red
}

.new-tag.placeholder {
    background-color: transparent;
    box-shadow: none;
    color: transparent;
    width: 52px
}

.information {
    border: 1px solid #2eff00;
    background: #fff;
    text-align: center;
    margin: 30px auto;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 15px;
    padding: 10px;
    width: 90%
}

.l__information_title {
    margin: 10px;
    font-size: 20px;
    font-weight: bold
}

.tag-date-group {
    display: flex;
    align-items: center;
    margin-right: 10px
}

.flyer {
    max-width: 360px;
    margin: 30px auto;
    position: relative
}

@media print {
    body * {
        visibility: hidden
    }
    #printableArea,
    #printableArea * {
        visibility: visible
    }
    #printableArea {
        position: absolute;
        left: 0;
        top: 0
    }
}

.sec-copyright {
    padding: 0 24px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    max-width: 1000px;
    margin: 0 auto
}

.sec-copyright .jasrac {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}

.sec-copyright p {
    font-size: 13px
}

.sec-copyright .jasrac .item-img {
    width: 40px
}

.sec-copyright .jasrac .item-img img {
    height: auto
}

.sec-copyright .jasrac .item-txt {
    font-size: 12px;
    margin-left: 8px
}

@media screen and (max-width: 1000px) {
    .sec-copyright .jasrac {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center
    }
}

.editor-style h1,
.editor-style h2,
.editor-style h3,
.editor-style h4,
.editor-style h5,
.editor-style h6 {
    font-weight: bold
}

.editor-style h1 {
    font-size: 24px
}

.editor-style h2 {
    font-size: 22px
}

.editor-style h3 {
    font-size: 20px
}

.editor-style h4 {
    font-size: 18px
}

.editor-style h5 {
    font-size: 16px
}

.editor-style h6 {
    font-size: 14px
}

.editor-style a {
    text-decoration: underline
}

.editor-style a:hover {
    text-decoration: none
}

.editor-style strong {
    font-weight: bold
}

.editor-style img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.editor-style img.alignright {
    display: block;
    margin-left: auto
}

.ly__head {
    position: relative;
    z-index: 1;
    padding: 170px 0 50px
}

.ly__ttl {
    width: 210px;
    margin: 0 auto
}

.lybg_position {
    position: relative;
    z-index: 1;
    padding-bottom: 80px;
    min-height: 50vh
}

.lybtn_mt {
    margin-top: 16px
}

.lyList {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 16px;
    margin-bottom: 16px
}

@media(max-width: 767px) {
    .lyList {
        grid-template-columns: 1fr
    }
}

.lyitem_center {
    background-color: #fff;
    border-radius: 11px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    flex-wrap: wrap;
    padding: 10px 0;
    border: 1px solid #000
}

.tx-center {
    text-align: center
}

.lyList-item__meta-time {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap
}

.lyric .scheduleList-item:hover {
    opacity: 1
}

.lyric .scheduleList-item__ttl {
    font-size: 24px
}

.lyric .scheduleList .scheduleList-item:not(:last-child) {
    margin-bottom: 0
}

.lyric .scheduleList-item .scheduleList-item__cnt {
    width: 90%
}

.lyric-detail .lybg_position {
    padding-bottom: 0
}

@media print {
    body * {
        visibility: hidden
    }
    #printableArea,
    #printableArea * {
        visibility: visible
    }
    #printableArea {
        position: absolute;
        left: 0;
        top: 0
    }
}


/*!
	Modaal - accessible modals - v0.4.4
	by Humaan, for all humans.
	http://humaan.com
 */

.modaal-noscroll {
    overflow: hidden
}

.modaal-accessible-hide {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden
}

.modaal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    opacity: 0
}

.modaal-wrapper {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    overflow: auto;
    opacity: 1;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    transition: all 0.3s ease-in-out
}

.modaal-wrapper * {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-backface-visibility: hidden
}

.modaal-wrapper .modaal-close {
    border: none;
    background: transparent;
    padding: 0;
    -webkit-appearance: none
}

.modaal-wrapper.modaal-start_none {
    display: none;
    opacity: 1
}

.modaal-wrapper.modaal-start_fade {
    opacity: 0
}

.modaal-wrapper *[tabindex="0"] {
    outline: none !important
}

.modaal-wrapper.modaal-fullscreen {
    overflow: hidden
}

.modaal-outer-wrapper {
    display: table;
    position: relative;
    width: 100%;
    height: 100%
}

.modaal-fullscreen .modaal-outer-wrapper {
    display: block
}

.modaal-inner-wrapper {
    display: table-cell;
    width: 100%;
    height: 100%;
    position: relative;
    vertical-align: middle;
    text-align: center;
    padding: 80px 25px
}

.modaal-fullscreen .modaal-inner-wrapper {
    padding: 0;
    display: block;
    vertical-align: top
}

.modaal-container {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: auto;
    text-align: left;
    color: #000;
    max-width: 1000px;
    border-radius: 0px;
    background: #fff;
    box-shadow: 0 4px 15px rgba(0, 0, 0, .2);
    cursor: auto
}

.modaal-container.is_loading {
    height: 100px;
    width: 100px;
    overflow: hidden
}

.modaal-fullscreen .modaal-container {
    max-width: none;
    height: 100%;
    overflow: auto
}

.modaal-close {
    position: fixed;
    right: 20px;
    top: 20px;
    color: #fff;
    cursor: pointer;
    opacity: 1;
    width: 50px;
    height: 50px;
    background: rgba(0, 0, 0, 0);
    border-radius: 100%;
    transition: all 0.2s ease-in-out
}

.modaal-close:focus,
.modaal-close:hover {
    outline: none;
    background: #fff
}

.modaal-close:focus:before,
.modaal-close:focus:after,
.modaal-close:hover:before,
.modaal-close:hover:after {
    background: #b93d0c
}

.modaal-close span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden
}

.modaal-close:before,
.modaal-close:after {
    display: block;
    content: " ";
    position: absolute;
    top: 14px;
    left: 23px;
    width: 4px;
    height: 22px;
    border-radius: 4px;
    background: #fff;
    transition: background 0.2s ease-in-out
}

.modaal-close:before {
    transform: rotate(-45deg)
}

.modaal-close:after {
    transform: rotate(45deg)
}

.modaal-fullscreen .modaal-close {
    background: #afb7bc;
    right: 10px;
    top: 10px
}

.modaal-content-container {
    padding: 30px
}

.modaal-confirm-wrap {
    padding: 30px 0 0;
    text-align: center;
    font-size: 0
}

.modaal-confirm-btn {
    font-size: 14px;
    display: inline-block;
    margin: 0 10px;
    vertical-align: middle;
    cursor: pointer;
    border: none;
    background: transparent
}

.modaal-confirm-btn.modaal-ok {
    padding: 10px 15px;
    color: #fff;
    background: #555;
    border-radius: 3px;
    transition: background 0.2s ease-in-out
}

.modaal-confirm-btn.modaal-ok:hover {
    background: #2f2f2f
}

.modaal-confirm-btn.modaal-cancel {
    text-decoration: underline
}

.modaal-confirm-btn.modaal-cancel:hover {
    text-decoration: none;
    color: #2f2f2f
}

@keyframes instaReveal {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@-webkit-keyframes instaReveal {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

.modaal-instagram .modaal-container {
    width: auto;
    background: transparent;
    box-shadow: none !important
}

.modaal-instagram .modaal-content-container {
    padding: 0;
    background: transparent
}

.modaal-instagram .modaal-content-container>blockquote {
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important
}

.modaal-instagram iframe {
    opacity: 0;
    margin: -6px !important;
    border-radius: 0 !important;
    width: 1000px !important;
    max-width: 800px !important;
    box-shadow: none !important;
    -webkit-animation: instaReveal 1s linear forwards;
    animation: instaReveal 1s linear forwards
}

.modaal-image .modaal-inner-wrapper {
    padding-left: 140px;
    padding-right: 140px
}

.modaal-image .modaal-container {
    width: auto;
    max-width: 100%
}

.modaal-gallery-wrap {
    position: relative;
    color: #fff
}

.modaal-gallery-item {
    display: none
}

.modaal-gallery-item img {
    display: block
}

.modaal-gallery-item.is_active {
    display: block
}

.modaal-gallery-label {
    position: absolute;
    left: 0;
    width: 100%;
    margin: 20px 0 0;
    font-size: 18px;
    text-align: center;
    color: #fff
}

.modaal-gallery-label:focus {
    outline: none
}

.modaal-gallery-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    opacity: 1;
    cursor: pointer;
    color: #fff;
    width: 50px;
    height: 50px;
    background: rgba(0, 0, 0, 0);
    border: none;
    border-radius: 100%;
    transition: all 0.2s ease-in-out
}

.modaal-gallery-control.is_hidden {
    opacity: 0;
    cursor: default
}

.modaal-gallery-control:focus,
.modaal-gallery-control:hover {
    outline: none;
    background: #fff
}

.modaal-gallery-control:focus:before,
.modaal-gallery-control:focus:after,
.modaal-gallery-control:hover:before,
.modaal-gallery-control:hover:after {
    background: #afb7bc
}

.modaal-gallery-control span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden
}

.modaal-gallery-control:before,
.modaal-gallery-control:after {
    display: block;
    content: " ";
    position: absolute;
    top: 16px;
    left: 25px;
    width: 4px;
    height: 18px;
    border-radius: 4px;
    background: #fff;
    transition: background 0.2s ease-in-out
}

.modaal-gallery-control:before {
    margin: -5px 0 0;
    transform: rotate(-45deg)
}

.modaal-gallery-control:after {
    margin: 5px 0 0;
    transform: rotate(45deg)
}

.modaal-gallery-next-inner {
    left: 100%;
    margin-left: 40px
}

.modaal-gallery-next-outer {
    right: 45px
}

.modaal-gallery-prev:before,
.modaal-gallery-prev:after {
    left: 22px
}

.modaal-gallery-prev:before {
    margin: 5px 0 0;
    transform: rotate(-45deg)
}

.modaal-gallery-prev:after {
    margin: -5px 0 0;
    transform: rotate(45deg)
}

.modaal-gallery-prev-inner {
    right: 100%;
    margin-right: 40px
}

.modaal-gallery-prev-outer {
    left: 45px
}

.modaal-video-wrap {
    margin: auto 50px;
    position: relative
}

.modaal-video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    box-shadow: 0 0 10px rgba(0, 0, 0, .3);
    background: #000;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto
}

.modaal-video-container iframe,
.modaal-video-container object,
.modaal-video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.modaal-iframe .modaal-content {
    width: 100%;
    height: 100%
}

.modaal-iframe-elem {
    width: 100%;
    height: 100%;
    display: block
}

@media only screen and (min-width: 1400px) {
    .modaal-video-container {
        padding-bottom: 0;
        height: 731px
    }
}

@media only screen and (max-width: 1140px) {
    .modaal-image .modaal-inner-wrapper {
        padding-left: 25px;
        padding-right: 25px
    }
    .modaal-gallery-control {
        top: auto;
        bottom: 20px;
        transform: none;
        background: rgba(0, 0, 0, .7)
    }
    .modaal-gallery-control:before,
    .modaal-gallery-control:after {
        background: #fff
    }
    .modaal-gallery-next {
        left: auto;
        right: 20px
    }
    .modaal-gallery-prev {
        left: 20px;
        right: auto
    }
}

@media screen and (max-width: 900px) {
    .modaal-instagram iframe {
        width: 500px !important
    }
}

@media screen and (max-height: 1100px) {
    .modaal-instagram iframe {
        width: 700px !important
    }
}

@media screen and (max-height: 1000px) {
    .modaal-inner-wrapper {
        padding-top: 60px;
        padding-bottom: 60px
    }
    .modaal-instagram iframe {
        width: 600px !important
    }
}

@media screen and (max-height: 900px) {
    .modaal-instagram iframe {
        width: 500px !important
    }
    .modaal-video-container {
        max-width: 900px;
        max-height: 510px
    }
}

@media only screen and (max-width: 600px) {
    .modaal-instagram iframe {
        width: 280px !important
    }
}

@media only screen and (max-height: 820px) {
    .modaal-gallery-label {
        display: none
    }
}

.modaal-loading-spinner {
    background: none;
    position: absolute;
    width: 200px;
    height: 200px;
    top: 50%;
    left: 50%;
    margin: -100px 0 0 -100px;
    transform: scale(0.25)
}

@-webkit-keyframes modaal-loading-spinner {
    0% {
        opacity: 1;
        transform: scale(1.5)
    }
    100% {
        opacity: .1;
        transform: scale(1)
    }
}

@keyframes modaal-loading-spinner {
    0% {
        opacity: 1;
        transform: scale(1.5)
    }
    100% {
        opacity: .1;
        transform: scale(1)
    }
}

.modaal-loading-spinner>div {
    width: 24px;
    height: 24px;
    margin-left: 4px;
    margin-top: 4px;
    position: absolute
}

.modaal-loading-spinner>div>div {
    width: 100%;
    height: 100%;
    border-radius: 15px;
    background: #fff
}

.modaal-loading-spinner>div:nth-of-type(1)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: 0s;
    animation-delay: 0s
}

.modaal-loading-spinner>div:nth-of-type(2)>div,
.modaal-loading-spinner>div:nth-of-type(3)>div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite
}

.modaal-loading-spinner>div:nth-of-type(1) {
    transform: translate(84px, 84px) rotate(45deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(2)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .12s;
    animation-delay: .12s
}

.modaal-loading-spinner>div:nth-of-type(2) {
    transform: translate(84px, 84px) rotate(90deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(3)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .25s;
    animation-delay: .25s
}

.modaal-loading-spinner>div:nth-of-type(4)>div,
.modaal-loading-spinner>div:nth-of-type(5)>div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite
}

.modaal-loading-spinner>div:nth-of-type(3) {
    transform: translate(84px, 84px) rotate(135deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(4)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .37s;
    animation-delay: .37s
}

.modaal-loading-spinner>div:nth-of-type(4) {
    transform: translate(84px, 84px) rotate(180deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(5)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.modaal-loading-spinner>div:nth-of-type(6)>div,
.modaal-loading-spinner>div:nth-of-type(7)>div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite
}

.modaal-loading-spinner>div:nth-of-type(5) {
    transform: translate(84px, 84px) rotate(225deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(6)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .62s;
    animation-delay: .62s
}

.modaal-loading-spinner>div:nth-of-type(6) {
    transform: translate(84px, 84px) rotate(270deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(7)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .75s;
    animation-delay: .75s
}

.modaal-loading-spinner>div:nth-of-type(7) {
    transform: translate(84px, 84px) rotate(315deg) translate(70px, 0)
}

.modaal-loading-spinner>div:nth-of-type(8)>div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .87s;
    animation-delay: .87s
}

.modaal-loading-spinner>div:nth-of-type(8) {
    transform: translate(84px, 84px) rotate(360deg) translate(70px, 0)
}

.index .index__ttl {
    margin: 0 auto 50px
}

@media(max-width: 767px) {
    .index .index__ttl {
        margin-bottom: 30px
    }
}

.index .main-area {
    position: relative
}

.index .main-area-inner {
    position: relative;
    z-index: 1
}

.index .l__hero__bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    position: sticky
}

@media(max-width: 767px) {
    .index .l__hero__bg {
        background-image: url(../img/index/hero_bg.gif?062901);
        background-position: 50% 50%;
        background-repeat: no-repeat;
        background-size: cover
    }
}

@media(max-width: 767px) {
    .index .l__hero__bg .mbYTP_wrapper {
        display: none
    }
}

.index .l__hero__menu {
    position: relative;
    height: auto;
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    display: none
}

@media(max-width: 767px) {
    .index .l__hero__menu {
        display: block
    }
}

.index .l__hero__menu .globalMenu-list>ul {
    grid-template-columns: repeat(4, minmax(60px, 1fr))
}

@media(max-width: 767px) {
    .index .l__hero__menu .globalMenu-list>ul {
        grid-template-columns: repeat(2, minmax(60px, 1fr))
    }
}

.index .l__bnr .l__bnr-list {
    border: 5px solid #fff;
    max-width: 1050px;
    margin: 0 auto;
    padding: 80px;
    display: grid;
    gap: 2vw;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr))
}

@media(max-width: 767px) {
    .index .l__bnr .l__bnr-list {
        padding: 15px
    }
}

@media(min-width: 768px) {
    .index .l__bnr .l__bnr-list {
        grid-template-columns: repeat(auto-fit, minmax(270px, 1fr))
    }
}

.index .l__bnr .l__bnr-list .l__bnr-list-item {
    background-color: #fff
}

.index .l__bnr .l__bnr-list .l__bnr-list-item>a {
    display: block;
    width: 100%;
    height: 100%
}

.index .l__bnr .l__bnr-list .l__bnr-list-item .l__bnr-list-img {
    background-color: #bca98b;
    aspect-ratio: 1038/731;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap
}

.index .l__bnr .l__bnr-list .l__bnr-list-item .l__bnr-list-img-thumb {
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    height: 100%;
    margin: auto
}

.index .l__bnr .l__bnr-list .l__bnr-list-item .l__bnr-list-img-thumb>img {
    max-height: 100%
}

.index .l__bnr .l__bnr-list .l__bnr-list-item .l__bnr-list-cnt {
    background-color: #fff;
    padding: 15px 10px
}

.index .l__schedule .inner {
    position: relative;
    z-index: 1
}

.index .l__schedule .l__schedule__ttl {
    width: 214px
}

.index .l__schedule .scheduleList {
    margin-bottom: 50px
}

@media(max-width: 767px) {
    .index .l__schedule .scheduleList {
        margin-bottom: 25px
    }
}

.index .l__schedule .l__schedule__calendar {
    margin-top: 70px;
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    height: 525px
}

@media(max-width: 767px) {
    .index .l__schedule .l__schedule__calendar {
        aspect-ratio: 1/1;
        margin-top: 30px;
        height: auto
    }
}

.index .l__schedule .l__schedule__calendar>iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.index .l__schedule .my-40 {
    margin-top: 40px;
    margin-bottom: 40px
}

.index .l__news {
    background-color: #ffd8e5
}

.index .l__news .l__news__ttl {
    width: 248px
}

@media(max-width: 767px) {
    .index .l__news .newsList-item:nth-child(5) {
        display: none
    }
}

.index .l__news .linkbtn-wrp {
    margin-top: 30px
}

.index .l__profile {
    background-color: #fd5aa3
}

@media(max-width: 767px) {
    .index .l__profile {
        padding-top: 0
    }
}

.index .l__profile .l__profile__img {
    max-width: 890px;
    margin: 0 auto
}

.index .l__profile .l__profile__cnt {
    padding: 30px 0 0;
    max-width: 890px;
    margin: 0 auto
}

.index .l__profile .l__profile__cnt .l__profile__logo {
    width: 230px;
    margin: 0 auto 25px
}

.index .l__profile .l__profile__cnt .l__profile__txt {
    color: #fff;
    padding: 0 40px;
    margin-bottom: 30px
}

.index .l__discography .inner {
    position: relative;
    z-index: 1;
    max-width: 1020px;
    margin: 0 auto
}

@media(min-width: 768px) {
    .index .l__discography .inner .discographyList .discography-item:nth-of-type(n+2) {
        display: none
    }
}

.index .l__discography .inner .l__discography__ttl {
    width: 291px
}

.index .l__discography .inner .linkbtn-wrp {
    margin-top: 35px
}

.index .l__youtube {
    background-color: #ec4c8b;
    overflow: hidden
}

.index .l__youtube .l__youtube__slide {
    width: 100%;
    margin: 0 auto 50px;
    max-width: 890px !important;
    margin: 0 auto !important;
    overflow: visible !important
}

@media(max-width: 767px) {
    .index .l__youtube .l__youtube__slide {
        overflow: hidden !important
    }
}

.index .l__youtube .l__youtube__slide:not(.swiper-initialized) {
    padding: 0 20px
}

.index .l__youtube .l__youtube__slide:not(.swiper-initialized) .swiper-button-prev,
.index .l__youtube .l__youtube__slide:not(.swiper-initialized) .swiper-button-next {
    display: none
}

.index .l__youtube .l__youtube__slide:not(.swiper-initialized) .swiper-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px
}

.index .l__youtube .l__youtube__slide [class^=swiper-button-] {
    width: 60px;
    height: 60px;
    top: 38%;
    transition: opacity .5s
}

.index .l__youtube .l__youtube__slide [class^=swiper-button-]:hover {
    opacity: .7
}

@media(max-width: 767px) {
    .index .l__youtube .l__youtube__slide [class^=swiper-button-] {
        width: 45px;
        height: 45px
    }
}

.index .l__youtube .l__youtube__slide [class^=swiper-button-]::after {
    content: ""
}

.index .l__youtube .l__youtube__slide .swiper-button-next {
    right: 65px
}

@media(max-width: 767px) {
    .index .l__youtube .l__youtube__slide .swiper-button-next {
        right: 17px
    }
}

.index .l__youtube .l__youtube__slide .swiper-button-prev {
    left: 65px
}

@media(max-width: 767px) {
    .index .l__youtube .l__youtube__slide .swiper-button-prev {
        left: 17px
    }
}

.index .l__youtube .l__youtube__ttl {
    width: 194.33333333px
}

.index .l__youtube .l__youtube__slide__mv {
    aspect-ratio: 16/9;
    position: relative;
    border-radius: 10px;
    overflow: hidden
}

.index .l__youtube .l__youtube__slide__mv>iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%
}

.index .l__youtube .l__youtube__slide__txt {
    color: #fff;
    font-size: 18px;
    padding: 5px 15px 0;
    font-family: "Kaisei Opti", serif
}

@media(max-width: 767px) {
    .index .l__youtube .l__youtube__slide__txt {
        font-size: 12px
    }
}

.index .l__youtube .l__youtube__slide .swiper-pagination {
    position: relative;
    margin-top: 15px
}

.index .l__youtube .l__youtube__slide .swiper-pagination .swiper-pagination-bullet {
    background: #fff;
    border: 1px solid #000;
    opacity: 1
}

.index .l__youtube .l__youtube__slide .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #8be8f0
}

.index .l__fanclub_bg_second {
    background-color: #754864
}

.index .l__fanclub {
    background: url("../img/index/fanclub_pc.jpg") center/contain no-repeat
}

.index .l__fanclub .l__fanclub__ttl {
    width: 193.66666667px
}

.index .l__fanclub .l__fanclub__img {
    width: 25%;
    margin: 30px auto 40px
}

.index .l__fanclub .l__fanclub__txt {
    padding: 0 40px;
    color: #fff;
    font-size: 16px;
    max-width: 800px;
    margin: 0 auto
}

@media(max-width: 767px) {
    .index .l__fanclub .l__fanclub__txt {
        font-size: 12px
    }
}

.index .l__fanclub .l__fanclub-btns {
    margin-top: 35px
}

.index .l__fanclub .l__fanclub-btns .linkbtn-wrp:not(:last-child) {
    margin-bottom: 15px
}

.index .l__fanclub .l__fanclub-btns .linkbtn-wrp .linkbtn {
    width: 210px
}

.index .recommend_panel {
    width: 100%;
    position: relative;
    margin: 40px auto
}

.index .recommend_panel p {
    margin: 5px auto
}

.index .recommend_panel__item {
    position: relative
}

.index .recommend_panel:after {
    content: "";
    width: 120px;
    height: 218px;
    background: url(../img/index/balloon.png) center/100% no-repeat;
    display: block;
    position: absolute;
    top: -85px;
    left: 225px;
    right: 0
}

.index .js-toggle-panel {
    display: none
}

.index .l__kokoroe .l__kokoroe__bnr {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    display: block;
    overflow: hidden;
    border-radius: 15px
}

@media(max-width: 767px) {
    .index .l__kokoroe .l__kokoroe__bnr {
        max-width: 266px
    }
}

.index .l__twitter {
    background-color: #ffb7d3
}

.index .l__twitter .inner .l__twitter__ttl {
    width: 200px
}

.index .l__twitter .inner .twitter-timeline {
    width: 100% !important;
    height: 450px
}

.index .announcements__ttl {
    width: 250px;
    margin: 15px auto
}

@media screen and (min-width: 768px) {
    .index .recommend_panel:after {
        content: "";
        width: 180px;
        height: 210px;
        background: url(../img/index/balloon.png) center/100% no-repeat;
        display: block;
        position: absolute;
        top: -66px;
        left: 66%
    }
    .index .l__item__pc {
        display: none
    }
    .index .l__item__sp {
        display: block
    }
}

@media screen and (max-width: 768px) {
    .index .recommend_panel {
        width: 60%
    }
}

@media screen and (max-width: 615px) {
    .index .recommend_panel {
        width: 70%
    }
}

@media screen and (max-width: 550px) {
    .index .recommend_panel {
        width: 75%
    }
}

@media screen and (max-width: 470px) {
    .index .recommend_panel {
        width: 80%
    }
}

@media screen and (max-width: 430px) {
    .index .recommend_panel {
        width: 100%
    }
}

.member .main-area-inner {
    background-color: #ec4c8b;
    position: relative;
    padding: 5px 0
}

.member .main-area-inner::before {
    content: "";
    width: 100%;
    height: 100%;
    background: url("../img/common/bg_ptn.png") center/406.119px 268.7089px repeat;
    position: absolute;
    top: 0;
    left: 0;
    opacity: .4
}

.member .member-cnt {
    position: relative;
    z-index: 1;
    padding-top: 50px;
    padding-bottom: 60px;
    width: calc(100% - 10px);
    margin: 80px auto 5px
}

.member .member-cnt .member-cnt__ttl {
    width: 182px;
    margin: 0 auto 50px
}

.member .member-cnt .memberList {
    padding: 0 25px;
    display: grid;
    gap: 40px 20px;
    grid-template-columns: repeat(3, minmax(60px, 1fr));
    width: 100%;
    max-width: 890px;
    margin: 0 auto
}

@media(max-width: 767px) {
    .member .member-cnt .memberList {
        grid-template-columns: repeat(2, minmax(60px, 1fr))
    }
}

.member .member-cnt .memberList .memberList-item {
    position: relative
}

.member .member-cnt .memberList .memberList-item .memberList-bg {
    width: 100%;
    height: 100%;
    background-color: #fff;
    border-radius: 10px;
    border: 1px solid #000;
    position: absolute;
    top: 7px;
    left: 7px;
    z-index: -1
}

.member .member-cnt .memberList .memberList-item>a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
    background-color: #fff;
    border-radius: 10px;
    border: 1px solid #000;
    transition: background-color .5s
}

@media(any-hover: hover) {
    .member .member-cnt .memberList .memberList-item>a:hover {
        background-color: #f5f5f5
    }
}

.member .member-cnt .memberList .memberList-item>a .memberList-img {
    padding: 5px;
    border-radius: 7px;
    overflow: hidden;
    aspect-ratio: 29/40
}

.member .member-cnt .memberList .memberList-item>a .memberList-img>img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 6px 6px 0 0
}

.member .member-cnt .memberList .memberList-item>a .memberList-cnt {
    text-align: center;
    padding: 15px 0 10px;
    font-family: "Kaisei Opti", serif
}

.member .member-cnt .memberList .memberList-item>a .memberList-cnt .memberList-name {
    font-size: 20px;
    letter-spacing: .05em
}

.member .member-cnt .memberList .memberList-item>a .memberList-cnt .memberList-en {
    font-size: 13px
}

.member .member-cnt .memberList .memberList-item>a .memberList-ico {
    display: block;
    width: 30px;
    margin-left: auto;
    margin-right: 5px;
    margin-bottom: 5px
}

.member-profile .sns-link-component {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    margin: 64px auto 40px auto;
    gap: 10px
}

.member-profile .sns-link-component:hover {
    color: #fff
}

.member-profile .sns-link-item {
    border: 1px solid;
    width: 100px;
    text-align: center;
    padding: 8px 0;
    border-radius: 10px;
    cursor: pointer;
    transition: .5s
}

.member-profile .sns-link-item:hover {
    transform: translateY(-5px);
    text-decoration: none;
    color: #fff !important
}

.member-profile .sns-link-border-x {
    border-color: #000
}

.member-profile .sns-link-color-x {
    color: #000
}

.member-profile .sns-link-border-t {
    border-color: #ff0050
}

.member-profile .sns-link-color-t {
    color: #ff0050
}

.member-profile .sns-link-border-i {
    border-color: #c6529a
}

.member-profile .sns-link-color-i {
    color: #c6529a
}

.member-profile .main-area-inner {
    position: relative;
    padding: 5px 0
}

.member-profile .main-area-inner::before {
    content: "";
    width: 100%;
    height: 100%;
    background: url("../img/common/bg_ptn.png") center/406.119px 268.7089px repeat;
    position: absolute;
    top: 0;
    left: 0;
    opacity: .4
}

.member-profile .profile-inner {
    position: relative;
    z-index: 1;
    padding: 40px 30px 60px;
    width: calc(100% - 10px);
    margin: 80px auto 0
}

.member-profile .profile-cnt {
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 10px;
    padding: 30px 30px;
    width: 100%;
    max-width: 890px;
    margin: 0 auto
}

.member-profile .profile__ttl {
    width: 186px;
    margin: 0 auto 50px
}

.member-profile .profile-cnt .profile__slide .swiper-slide {
    text-align: center
}

.member-profile .profile-cnt .profile__slide .swiper-pagination {
    position: relative;
    margin-top: 10px
}

.member-profile .profile-cnt .profile__slide .swiper-pagination .swiper-pagination-bullet {
    background: #fff;
    border: 1px solid #000;
    opacity: 1
}

.member-profile .profile-cnt .profile__slide .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: var(--main-bg-color)
}

.member-profile .profile-cnt .profile__name {
    text-align: center;
    padding-top: 10px
}

.member-profile .profile-cnt .profile__name .profile__name-jp {
    font-size: 24px;
    font-family: "Kaisei Opti", serif
}

.member-profile .profile-cnt .profile__meta-list {
    margin-top: 20px
}

.member-profile .profile-cnt .profile__meta-list .profile__meta:not(:last-child) {
    margin-bottom: 15px
}

.member-profile .profile-twiter {
    margin-top: 30px;
    width: 100%;
    max-width: 890px;
    margin: 30px auto 0
}

.news .wrapper {
    background-color: #ffd8e5
}

.news .main-area-inner {
    background-color: #ffd8e5;
    position: relative
}

.news .news__ttl {
    width: 248px;
    margin: 0 auto 40px
}

.news .news-cnt {
    position: relative;
    z-index: 1;
    padding: 170px 25px 50px
}

@media(max-width: 767px) {
    .news .news-cnt {
        padding-top: 130px
    }
}

.news .linkbtn-wrp {
    margin-top: 35px
}

.news .newsList {
    grid-template-columns: repeat(5, minmax(160px, 1fr));
    max-width: 980px;
    margin: 0 auto
}

@media(max-width: 767px) {
    .news .newsList {
        grid-template-columns: repeat(2, minmax(160px, 1fr))
    }
}

.ticket .main-area,
.schedule .main-area {
    background-color: #fff
}

.ticket .schedule__head,
.schedule .schedule__head {
    padding: 170px 0 50px
}

@media(max-width: 767px) {
    .ticket .schedule__head,
    .schedule .schedule__head {
        padding-top: 130px
    }
}

.ticket .schedule__head .schedule__ttl,
.schedule .schedule__head .schedule__ttl {
    width: 214px;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

.ticket .schedule-cnt,
.schedule .schedule-cnt {
    padding-bottom: 50px
}

.ticket .schedule-cnt .schedule-nav,
.schedule .schedule-cnt .schedule-nav {
    display: grid;
    grid-template-columns: 50% 50%;
    padding-top: 15px;
    margin-bottom: 20px
}

.ticket .schedule-cnt .schedule-nav .schedule-nav-item,
.schedule .schedule-cnt .schedule-nav .schedule-nav-item {
    text-align: center;
    border-bottom: 2px solid #cbcbcb;
    font-family: nikumaru
}

.ticket .schedule-cnt .schedule-nav .schedule-nav-item.is__active,
.schedule .schedule-cnt .schedule-nav .schedule-nav-item.is__active {
    border-bottom-color: #000
}

.ticket .schedule-cnt .schedule-nav .schedule-nav-item>a,
.schedule .schedule-cnt .schedule-nav .schedule-nav-item>a {
    padding-bottom: 10px;
    display: block
}

.ticket .schedule-cnt .scheduleList,
.schedule .schedule-cnt .scheduleList {
    margin-bottom: 35px
}

.ticket .schedule-cnt .scheduleList .scheduleList-item,
.schedule .schedule-cnt .scheduleList .scheduleList-item {
    background: none;
    border-radius: 0;
    padding: 0;
    border: none;
    border-bottom: 1px solid #e4e4e4;
    padding-bottom: 15px
}

.ticket .schedule-cnt .scheduleList .scheduleList-item .scheduleList-item-inner,
.schedule .schedule-cnt .scheduleList .scheduleList-item .scheduleList-item-inner {
    border-radius: 0;
    padding: 0;
    border: none
}

.ticket .schedule-cnt .scheduleList .scheduleList-item .scheduleList-item-inner .scheduleList-item__day,
.schedule .schedule-cnt .scheduleList .scheduleList-item .scheduleList-item-inner .scheduleList-item__day {
    width: 25%
}

.ticket .schedule-cnt .scheduleList .scheduleList-item .scheduleList-item-inner .scheduleList-item__cnt,
.schedule .schedule-cnt .scheduleList .scheduleList-item .scheduleList-item-inner .scheduleList-item__cnt {
    width: 75%
}

.ticket .schedule-cnt .scheduleList .scheduleList-item.finish,
.schedule .schedule-cnt .scheduleList .scheduleList-item.finish {
    position: relative
}

.ticket .schedule-cnt .scheduleList .scheduleList-item.finish::before,
.schedule .schedule-cnt .scheduleList .scheduleList-item.finish::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, .27);
    z-index: 1;
    pointer-events: none;
    width: 100%;
    height: 100%
}

.ticket .schedule-cnt .scheduleList .scheduleList-item.finish::after,
.schedule .schedule-cnt .scheduleList .scheduleList-item.finish::after {
    content: "";
    background: url("../img/common/soldout.png") center/100% no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 2;
    pointer-events: none;
    width: 170px;
    height: 63px
}

.ticket .schedule-cnt .scheduleList .scheduleList-item.finish:hover,
.schedule .schedule-cnt .scheduleList .scheduleList-item.finish:hover {
    opacity: 1
}

.ticket .scheduleList-cnt .scheduleList {
    margin-bottom: 0
}

.ticket .scheduleList-cnt .scheduleList:last-of-type {
    margin-bottom: 35px
}

.ticket .scheduleList-cnt .scheduleList .scheduleList-item {
    padding-top: 15px
}

.ticket .scheduleList-cnt .scheduleList .scheduleList-item:not(:last-child) {
    margin-bottom: 0
}

.ticket-detail .main-area,
.lyric-detail .main-area,
.schedule-detail .main-area {
    background-color: transparent
}

.ticket-detail .main-area-inner,
.lyric-detail .main-area-inner,
.schedule-detail .main-area-inner {
    padding-bottom: 60px
}

.ticket-detail .schedule-detail-cnt,
.lyric-detail .schedule-detail-cnt,
.schedule-detail .schedule-detail-cnt {
    width: calc(100% - 40px);
    max-width: 890px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    word-wrap: break-word
}

.ticket-detail .schedule-detail-cnt::after,
.lyric-detail .schedule-detail-cnt::after,
.schedule-detail .schedule-detail-cnt::after {
    content: "";
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    background: linear-gradient(41deg, #ff9cc6 0%, #cbb1ff 37%, #b6c5ff 57%, #cbb1ff 82%, #ff9cc6 100%);
    position: absolute;
    top: -5px;
    left: -5px;
    border-radius: 10px;
    border: 1px solid #000
}

.ticket-detail .schedule-detail-cnt .inner,
.lyric-detail .schedule-detail-cnt .inner,
.schedule-detail .schedule-detail-cnt .inner {
    position: relative;
    z-index: 1;
    background-color: #fff;
    border-radius: 7px;
    padding-top: 40px;
    padding-bottom: 60px;
    border: 1px solid #000
}

.ticket-detail .schedule-detail-cnt .inner .schedule-detail-meta,
.lyric-detail .schedule-detail-cnt .inner .schedule-detail-meta,
.schedule-detail .schedule-detail-cnt .inner .schedule-detail-meta {
    font-family: "Kaisei Opti", serif
}

.ticket-detail .schedule-detail-cnt .inner .schedule-detail-meta .schedule-detail__ttl,
.lyric-detail .schedule-detail-cnt .inner .schedule-detail-meta .schedule-detail__ttl,
.schedule-detail .schedule-detail-cnt .inner .schedule-detail-meta .schedule-detail__ttl {
    font-size: 20px
}

.ticket-detail .schedule-detail-cnt .inner .schedule-detail-meta .schedule-detail__day,
.lyric-detail .schedule-detail-cnt .inner .schedule-detail-meta .schedule-detail__day,
.schedule-detail .schedule-detail-cnt .inner .schedule-detail-meta .schedule-detail__day {
    margin-top: 5px
}

.ticket-detail .schedule-detail-cnt .inner .schedule-detail-meta .scheduleList-item__meta-time,
.lyric-detail .schedule-detail-cnt .inner .schedule-detail-meta .scheduleList-item__meta-time,
.schedule-detail .schedule-detail-cnt .inner .schedule-detail-meta .scheduleList-item__meta-time {
    margin-top: 10px
}

.ticket-detail .schedule-detail-cnt .inner .schedule-detail-meta .scheduleList-item__meta-place,
.lyric-detail .schedule-detail-cnt .inner .schedule-detail-meta .scheduleList-item__meta-place,
.schedule-detail .schedule-detail-cnt .inner .schedule-detail-meta .scheduleList-item__meta-place {
    margin-top: 5px
}

.ticket-detail .schedule-detail-cnt .inner .schedule-detail-txt p,
.lyric-detail .schedule-detail-cnt .inner .schedule-detail-txt p,
.schedule-detail .schedule-detail-cnt .inner .schedule-detail-txt p {
    margin: 1em auto;
    line-height: 1.533
}

.ticket-detail .linkbtn-wrp,
.lyric-detail .linkbtn-wrp,
.schedule-detail .linkbtn-wrp {
    margin-top: 35px
}

.ticket .schedule-cnt {
    padding-top: 50px
}

.discography .discography__head {
    position: relative;
    z-index: 1;
    padding: 170px 0 50px
}

@media(max-width: 767px) {
    .discography .discography__head {
        padding-top: 130px
    }
}

.discography .discography__head .discography__ttl {
    width: 291px;
    margin: 0 auto
}

.discography .discography-cnt {
    position: relative;
    z-index: 1;
    padding-bottom: 80px
}

.discography .discography-cnt .discographyList {
    margin-bottom: 30px
}

.kokoroe .bg_grad_y {
    background: linear-gradient(84deg, rgba(255, 139, 198, 0.75) 0%, rgba(255, 135, 177, 0.75) 36%, rgba(255, 224, 178, 0.75) 66%, rgba(255, 156, 198, 0.75) 100%)
}

.kokoroe .kokoroe-title-back {
    background: linear-gradient(41deg, rgba(255, 139, 198, 0.75) 0%, rgba(255, 135, 177, 0.75) 36%, rgba(255, 224, 178, 0.75) 66%, rgba(255, 156, 198, 0.75) 100%);
    position: relative;
    width: 100%;
    padding: 100px 0 24px;
    text-align: center
}

.kokoroe .kokoroe-title-back>h2 {
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto
}

.kokoroe .kokoroe-head-title {
    width: 80%;
    margin: 0 auto;
    display: block
}

.kokoroe .kokoroe-member {
    padding: 8px
}

.kokoroe h3.kokoroe-title-back {
    background: none;
    padding-top: 24px;
    position: relative
}

.kokoroe h3.kokoroe-title-back::before {
    content: "";
    background: linear-gradient(41deg, rgba(255, 139, 198, 0.75) 0%, rgba(255, 135, 177, 0.75) 36%, rgba(255, 224, 178, 0.75) 66%, rgba(255, 156, 198, 0.75) 100%);
    display: block;
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%)
}

.kokoroe h3.kokoroe-title-back img {
    position: relative;
    z-index: 1
}

.kokoroe p {
    font-size: 13px;
    font-weight: bold
}

.kokoroe .kokoroe-title01 {
    position: relative;
    display: block;
    z-index: 2;
    width: 70%;
    margin: 24px auto 0;
    padding: 1px 10px 3px;
    background-color: #e6007b;
    border: 1px #000 solid;
    border-radius: 20px;
    text-align: center;
    font-size: 16px;
    font-family: "Kaisei Opti", serif;
    color: #fff
}

.kokoroe .kokoroe-text01 {
    font-size: 8px
}

.kokoroe .kokoroe-text02 {
    font-size: 12px
}

.kokoroe .kokoroe-text03 {
    font-size: 14px
}

.kokoroe .kokoroe-text04 {
    font-size: 18px
}

.kokoroe .kome-text::before {
    content: "窶ｻ"
}

.kokoroe .text-aline-left {
    text-align: left;
    padding-left: 10px
}

.kokoroe .vivid-pink {
    color: #e6007b
}

.kokoroe .kokoroe-list01 {
    padding: 0
}

.kokoroe .kokoroe-list01 li {
    font-size: 13px
}

.kokoroe .kokoroe-list01 li::before {
    content: "繝ｻ"
}

.kokoroe .kokoroe-box01 {
    margin-top: 16px
}

.kokoroe .kokoroe-box02 {
    margin-bottom: 12px
}

.kokoroe .kokoroe-box03 {
    margin-bottom: 24px;
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto
}

.kokoroe .kokoroe-texterea {
    position: relative;
    z-index: 1;
    background-color: #fff;
    border: 1px #000 solid;
    border-radius: 8px;
    display: block;
    font-family: "Kaisei Opti", serif;
    text-align: center
}

.kokoroe .kokoroe-texterea-box01 {
    margin: -16px 6% 0;
    padding: 24px 4% 16px
}

.kokoroe .kokoroe-texterea-box02 {
    margin: 0 6%;
    padding: 16px 4%
}

.kokoroe .kokoroe-texterea-flex {
    display: flex;
    margin-bottom: 8px
}

.kokoroe .kokoroe-img01 {
    width: 30%;
    height: auto;
    -o-object-fit: contain;
    object-fit: contain
}

.kokoroe .kokoroe-img02 {
    height: auto;
    -o-object-fit: contain;
    object-fit: contain
}

.lp .swiper-button-prev::after {
    display: none
}

.lp .swiper-button-next::after {
    display: none
}

.lp .swiper-button-prev,
.lp .swiper-button-next {
    width: 40px;
    height: 40px;
    background-size: contain;
    top: 50%;
    transform: translateY(-50%)
}

@media(min-width: 768px) {
    .lp .swiper-button-prev,
    .lp .swiper-button-next {
        width: 50px;
        height: 50px
    }
}

.lp .swiper-button-prev {
    left: 5px
}

@media(min-width: 768px) {
    .lp .swiper-button-prev {
        left: 23px
    }
}

.lp .swiper-button-next {
    right: 5px
}

@media(min-width: 768px) {
    .lp .swiper-button-next {
        right: 23px
    }
}

.lp .bg_landingpage {
    background: url("images/bg.png");
        background-repeat:repeat-y;

  
    background-position:center top;

 
    background-size:100% auto;
    /*background-repeat: repeat*/
}

.lp .top_mg {
    margin-top: 60px
}

.lp .mg-top-3 {
    margin-top: 3px
}

.lp .mg-top-6 {
    margin-top: 6px
}

.lp .mg-top-10 {
    margin-top: 10px
}

.lp .mg-top-15 {
    margin-top: 15px
}

.lp .mg-top-25 {
    margin-top: 25px
}

.lp .mg-top-25.last-section {
    margin: 25px 6% 0;
    padding: 24px 4% 16px
}

.lp .mg-top-45 {
    margin-top: 45px
}

.lp .mg-bottom-10 {
    margin-bottom: 10px
}

.lp .mg-bottom-25 {
    margin-bottom: 25px
}

.lp .landingpage-middle-area-text.mg-top-32 {
    margin-top: 32px
}

.lp .bg_green {
    background: #98fc04
}

.lp .title-pd {
    padding: 20px 0
}

.lp .bg_grad_y {
    /*background: url("../img/landingpage/haikei-1.png") repeat-y center*/
}

.lp .landingpage-title-back {
    position: relative;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    /*background: url("../img/landingpage/top-haikei.png");*/
    background-repeat: repeat-x
}

.lp .landingpage-title-back>h2 {
    max-width: 1020px;
    margin-left: auto;
    margin-right: auto
}

.lp .landingpage-head-title {
    width: 80%;
    margin: 60px auto;
    display: block
}

.lp .landingpage-member {
    padding: 8px 8px 0 8px
}

.lp .landingpage-img {
    width: 100%;
    height: auto
}

.lp .landingpage-top-box-inner-upper {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    padding-top: 15px
}

.lp .landingpage-top-box-inner-middle {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin: -7px auto;
    width: 93%
}

@media(min-width: 768px) {
    .lp .landingpage-top-box-inner-middle {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        margin: -7px auto;
        width: 70%
    }
}

.lp .landingpage-top-box-inner-bottom {
    display: flex;
    justify-content: center;
    align-items: center
}

.lp .top-image-wrapper {
    width: 50%;
    max-width: 500px;
    height: auto;
    padding: 0 10px
}

@media(min-width: 768px) {
    .lp .top-image-wrapper {
        width: 37%;
        max-width: 500px;
        padding: 0 20px
    }
}

.lp .landingpage-top-monngonn-wrapper {
    width: 88%;
    max-width: 1020px;
    margin: 20px auto
}

@media(min-width: 768px) {
    .lp .landingpage-top-monngonn-wrapper {
        width: 70%
    }
}

.lp .landingpage-top-photos {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
    width: 100%
}

.lp .landingpage-top-photo-wrapper {
    width: 33.333%;
    position: relative;
    height: auto
}

.lp .landingpage-top-photo-wrapper:nth-child(1) {
    left: -3%
}

.lp .landingpage-top-photo-wrapper:nth-child(3) {
    right: -3%
}

.lp .swiper-pagination {
    position: static
}

.lp .landingpage-audition-button {
    width: 80%
}

.lp .landingpage-middle-title {
    width: 58%;
    margin: 25px auto 0;
    position: relative;
    z-index: 99
}

.lp .landingpage-artist-photo {
    width: 90%;
    margin: 20px auto 0
}

.lp .landingpage-jimusho-logo {
    width: 25%;
    margin: 10px auto
}

.lp .landingpage-artist-logo {
    width: 60%;
    margin: 10px auto
}

@media(min-width: 768px) {
    .lp .landingpage-artist-logo {
        width: 45%
    }
}

.lp .landingpage-middle-area-text {
    padding: 0 4px 0;
    margin: 17px auto;
    text-align: left
}

.lp .landingpage-sns-icon {
    width: 40px;
    height: 40px;
    margin: 0 10px
}

.lp .audition-link {
    background-color: #eee2fe;
    color: #000
}

.lp .landingpage-middle-icon {
    width: 50%;
    margin: 15px auto 0
}

.lp .landingpage-middle-icon.mg-top-25 {
    margin-top: 25px
}

.lp .landingpage-photo {
    width: 90%;
    margin: auto
}

.lp .landingpage-photo img {
    margin-top: 8px
}

.lp .landingpage-photo.idle-debut {
    width: 90%;
    margin: 15px auto 0
}

.lp .landingpage-photo.idle-debut img {
    margin-top: 8px
}

.lp h3.landingpage-title-back {
    background: none;
    position: relative
}

.lp h3.landingpage-title-back::before {
    content: "";
    background: #78d4cc;
    display: block;
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%)
}

.lp h3.landingpage-title-back img {
    position: relative;
    z-index: 1
}

.lp p {
    font-size: 13px;
    font-weight: bold
}

.lp .landingpage-title01 {
    position: relative;
    display: block;
    z-index: 2;
    width: 70%;
    margin: 24px auto 0;
    padding: 1px 10px 3px;
    background-color: #78d4cc;
    border: 1px #000 solid;
    border-radius: 20px;
    text-align: center;
    font-size: 16px;
    color: #fff
}

.lp .landingpage-text01 {
    font-size: 8px
}

.lp .landingpage-text02 {
    font-size: 12px
}

.lp .landingpage-text03 {
    font-size: 14px
}

.lp .landingpage-text04 {
    font-size: 18px
}

.lp .kome-text::before {
    content: "窶ｻ"
}

.lp .text-aline-left {
    text-align: left;
    padding-left: 10px
}

.lp .vivid-pink {
    color: #e6007b
}

.lp .landingpage-list01 {
    padding: 0
}

.lp .landingpage-list01 li {
    font-size: 13px
}

.lp .landingpage-list01 li::before {
    content: "繝ｻ"
}

.lp .landingpage-box01 {
    margin-top: 16px
}

.lp .landingpage-box02 {
    margin-bottom: 12px
}

.lp .landingpage-box03 {
    margin: 24px auto;
    width: 100%;
    max-width: 786px;
    text-align: center
}

.lp .landingpage-texterea {
    position: relative;
    z-index: 1;
    background-color: #fff;
    border: 1px #000 solid;
    border-radius: 25px;
    display: block;
    font-family: "Kaisei Opti", serif;
    text-align: center
}

.lp .landingpage-texterea-box01 {
    margin: -22px 6% 0;
    padding: 24px 4% 16px
}

.lp .landingpage-texterea-box02 {
    margin: 0 6%;
    padding: 16px 4%
}

.lp .landingpage-texterea-flex {
    display: flex;
    margin-bottom: 8px
}

.lp .landingpage-iconarea {
    margin: 30px auto 8px
}

.lp .landingpage-iconarea-flex {
    display: flex;
    justify-content: center;
    gap: 5px;
    width: 50%
}

.lp .landingpage-iconarea-flex.mg-top-15 {
    margin: 15px auto 0
}

.lp .landingpage-iconarea-flex.mg-top-25 {
    margin: 25px auto 0
}

.lp .landingpage-suisennbosyu {
    width: 90%;
    margin: 10px auto 5px
}

.lp .landingpage-suisennbosyu-img {
    width: 100%;
    margin: 0 auto
}

@media(min-width: 768px) {
    .lp .landingpage-suisennbosyu-img {
        width: 70%
    }
}

.lp .oubo-link-button {
    width: 100%;
    margin: 0 auto
}

@media(min-width: 768px) {
    .lp .oubo-link-button {
        width: 70%
    }
}

.lp .landingpage-step-text {
    font-size: 19px;
    font-weight: bold;
    color: #ea92b1
}

.lp .landingpage-pink-text {
    font-size: 15px;
    color: #ea92b1;
    margin-top: 10px;
    position: relative
}

.lp .landingpage-pink-text::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    width: 90%;
    background-color: #000;
    margin: -20px auto
}

.lp .landingpage-pink-text-no-border {
    color: #ea92b1;
    margin-top: 10px
}

.lp .tiktok-text-img {
    width: 70%;
    margin: 10px auto
}

.lp .tiktok-appeal-button {
    width: 90%;
    margin: 15px auto 25px
}

.lp .landingpage-highlighting-text {
    font-size: 24px;
    font-weight: bold;
    position: relative;
    display: inline-block
}

.lp .landingpage-highlighting-text::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 12px;
    border-radius: 10px;
    z-index: -1;
    background-color: #fffebd;
    width: 100%
}

.lp .landingpage-arrow-text {
    font-size: 24px;
    color: #b4d5ff
}

.lp .landingpage-label-text {
    background-color: #b4d5ff;
    color: #fff;
    padding: 3px 14px;
    font-size: 17px;
    border-radius: 14px;
    text-shadow: 2px 2px 5px rgba(0, 0, 0, .5);
    display: inline-block
}

.lp .landingpage-text-align-left {
    text-align: left
}

.lp .landingpage-img01 {
    width: 30%;
    height: auto;
    -o-object-fit: contain;
    object-fit: contain
}

.lp .landingpage-img02 {
    height: auto;
    -o-object-fit: contain;
    object-fit: contain
}

.lp .boyoboyo {
    -webkit-animation: squash 1.2s ease-in-out infinite;
    animation: squash 1.2s ease-in-out infinite
}

@-webkit-keyframes squash {
    0% {
        transform: scale(1)
    }
    50% {
        transform: scale(1.1)
    }
    100% {
        transform: scale(1)
    }
}

@keyframes squash {
    0% {
        transform: scale(1)
    }
    50% {
        transform: scale(1.1)
    }
    100% {
        transform: scale(1)
    }
}

.lp .kadai-wrapper {
    display: flex;
    justify-content: center;
    align-items: center
}

.lp .cd-jacket {
    flex-basis: 30%
}

.lp .kadai-erea {
    padding-left: 20px
}

@media(min-width: 768px) {
    .lp .kadai-erea {
        padding-left: 50px
    }
}

.lp .kadai-text {
    margin-bottom: 10px
}

.lp .kadai-icon {
    width: 40px;
    height: 40px;
    margin-right: 5px
}

@media(min-width: 768px) {
    .lp .kadai-icon {
        width: 55px;
        height: 55px
    }
}

.lp .kadai-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center
}

.lp #audition-details {
    padding-top: 100px;
    margin-top: -100px
}

.lp #entry-details {
    padding-top: 100px;
    margin-top: -100px
}

.contact .main-area-inner {
    padding-top: 170px
}

@media(max-width: 767px) {
    .contact .main-area-inner {
        padding-top: 130px
    }
}

.contact .main-area-inner .contact-ttl {
    width: 230px;
    margin: 0 auto 30px;
    position: relative;
    z-index: 1
}

.contact .main-area-inner .wpcf7 {
    width: calc(100% - 40px);
    max-width: 1020px;
    margin: 30px auto 50px;
    position: relative;
    z-index: 1;
    border: 1px solid #000;
    padding: 5px;
    border-radius: 10px;
    background-color: #fff
}

.contact .main-area-inner .contactform {
    border: 1px solid #000;
    border-radius: 7px;
    background-color: #fff;
    padding: 40px 32px 60px
}

.contact .main-area-inner .contactform .wpcf7-list-item {
    margin: 0 20px 0 0
}

.contact .main-area-inner .contactform .wpcf7-list-item label:hover {
    cursor: pointer
}

.contact .main-area-inner .contactform-inner {
    margin-bottom: 20px
}

.contact .main-area-inner .contactform-item:not(:last-child) {
    margin-bottom: 32px
}

.contact .main-area-inner .contactform-item>dt {
    font-weight: 500;
    margin-bottom: 12px
}

.contact .main-area-inner .contactform-item>dt p::before {
    content: "莉ｻ諢�";
    display: inline-block;
    font-size: .8em;
    background: #ec4c8b;
    color: #fff;
    padding: .2em .5em;
    line-height: 1;
    margin-right: 1em;
    border-radius: 3px
}

.contact .main-area-inner .contactform-item>dt.require p::before {
    content: "蠢���"
}

.contact .main-area-inner .contactform-item>dd {
    margin-top: 5px
}

.contact .main-area-inner .contactform-item input.wpcf7-text,
.contact .main-area-inner .contactform-item textarea {
    width: 100%;
    padding: .5em .7em;
    border-radius: 3px;
    border: 1px solid #bbb
}

.contact .main-area-inner .wpcf7-acceptance label:hover {
    cursor: pointer
}

.contact .main-area-inner .contactform-btn {
    margin-top: 30px
}

.contact .main-area-inner .contactform-btn .linkbtn.disable {
    pointer-events: none
}

.contact .main-area-inner .contactform-btn .linkbtn.disable .wpcf7-submit {
    color: #b7b7b7
}

.contact .main-area-inner .contactform-btn .wpcf7-submit {
    position: relative;
    z-index: 1;
    padding: 10px 30px;
    display: block;
    width: 100%;
    font-size: 14px;
    line-height: 1;
    color: #000
}

.contact .main-area-inner .contactform-btn .wpcf7-spinner {
    position: absolute
}

.photo .swiper {
    width: 100%;
    height: 100%;
    overflow: overlay
}

.photo .swiper-slide {
    text-align: center;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center
}

.photo .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.photo .swiper {
    width: 100%;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px
}

.photo .swiper-wrapper {
    align-items: center
}

.photo .swiper-slide {
    background-size: cover;
    background-position: center
}

.photo .swiper-slide img {
    width: 100%
}

.photo .slider img {
    height: 70vh;
    -o-object-fit: contain;
    object-fit: contain
}

.photo .thumbnail img {
    height: 300px;
    -o-object-fit: cover;
    object-fit: cover
}

.photo .thumbnail .swiper-slide {
    opacity: .5
}

.photo .thumbnail .swiper-slide-thumb-active {
    opacity: 1
}

.photo .modal-container {
    position: fixed;
    width: 100%;
    height: 100vh;
    min-height: 100%;
    text-align: center;
    background: rgba(0, 0, 0, .5);
    padding: 40px 0;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    z-index: 1000;
    transform: translate(-50%, -50%);
    max-height: 500px;
    overflow-y: auto;
    top: 50%;
    left: 50%
}

.photo .modal-container:before {
    content: "";
    vertical-align: middle;
    height: 100%
}

.photo .modal-container.active {
    opacity: 1;
    visibility: visible;
    pointer-events: all
}

.photo .modal-body {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 1000px;
    width: 99%
}

.photo .modal-close {
    position: absolute;
    top: 31%;
    right: 2%;
    color: #fff;
    font-size: 1.6rem
}

.photo .modal-content {
    background: #fff;
    padding: 10px;
    position: relative
}

.photo .effect-fade-hover.modal-opened {
    opacity: 1
}

.photo .newsList {
    margin-bottom: 20px
}

.photo .modal-header {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    background: linear-gradient(41deg, #ff9cc6 0%, #cbb1ff 37%, #b6c5ff 57%, #cbb1ff 82%, #ff9cc6 100%);
    border-radius: 1rem 1rem 0 0;
    padding: 1rem;
    position: relative;
    margin: 0 auto;
    width: 99%;
    max-width: 1000px
}

.photo .modal-title {
    font-size: 1.5rem;
    font-weight: bold;
    color: #fff;
    word-break: auto-phrase;
    text-align: left;
    width: 95%
}

.photo .photo_data_wrap {
    margin: 8px 16px 12px;
    text-align: left
}

.photo .photo_data_wrap a:link {
    color: #00e
}

.photo .photo_data_wrap a:visited {
    color: #551a8b
}

.photo .photo_data_wrap a:active {
    color: red
}

.photo .photo_place {
    font-weight: bold;
    font-size: 1.2rem;
    text-align: center;
    margin: 5px 0 10px 0
}

.photo .photo_description {
    word-break: auto-phrase
}

.photo [class^=swiper-button-] {
    width: 60px;
    height: 60px
}

@media(max-width: 767px) {
    .photo [class^=swiper-button-] {
        width: 45px;
        height: 45px
    }
}

.photo [class^=swiper-button-]::after {
    content: ""
}

.photo .swiper-pagination-bullet {
    background: #fff;
    border: 1px solid #000;
    opacity: 1
}

.photo .swiper-pagination-bullet-active {
    background: #8be8f0
}

.photo .swiper-button-prev,
.photo .swiper-button-next {
    z-index: 999
}

.photo .swiper-button-prev {
    left: 10px
}

.photo .swiper-button-next {
    right: 10px
}

@media screen and (max-width: 812px) {
    .photo .swiper.thumbnail .swiper-slide img {
        height: 100px
    }
    .photo .slider img {
        height: 320px
    }
    .photo .modal-container {
        max-height: 500px;
        overflow-y: scroll
    }
    .photo .swiper-button-prev,
    .photo .swiper-button-next {
        width: 40px;
        height: 40px
    }
}

@media screen and (max-width: 767px) {
    .photo .modal-title {
        font-size: 1.25rem
    }
}

.modal-open {
    overflow: hidden
}

.announcements .schedule-cnt .scheduleList .scheduleList-item .scheduleList-item-inner .scheduleList-item__cnt {
    width: 63%
}

.announcements .announcements-new {
    position: relative
}

.announcements .announcements-new::before {
    content: "NEW";
    position: absolute;
    background-color: red;
    color: #fff;
    padding: 1px 5px;
    border-radius: 5px;
    font-weight: bold;
    font-size: 10px;
    margin-left: 1%;
    top: 40px
}

.announcements .schedule-cnt {
    background-color: #fff;
    position: relative;
    z-index: 1
}

.announcements .schedule-cnt .schedule-nav {
    grid-template-columns: 100%
}

.announcements .schedule-cnt .schedule-nav-item {
    padding-bottom: 10px
}

.announcements .schedule-cnt .scheduleList-item-inner {
    display: flex;
    align-items: center
}

.announcements .schedule-cnt .scheduleList-item-inner .scheduleList-item__ttl {
    margin-bottom: 0
}

.announcements .scheduleList-item__day {
    margin-left: 20px
}

.cp-spinner {
    width: 48px;
    height: 48px;
    display: inline-block;
    box-sizing: border-box;
    position: relative
}

.cp-round:before {
    border-radius: 50%;
    content: " ";
    width: 48px;
    height: 48px;
    display: inline-block;
    box-sizing: border-box;
    border-top: solid 6px #bababa;
    border-right: solid 6px #bababa;
    border-bottom: solid 6px #bababa;
    border-left: solid 6px #bababa;
    position: absolute;
    top: 0;
    left: 0
}

.cp-round:after {
    border-radius: 50%;
    content: " ";
    width: 48px;
    height: 48px;
    display: inline-block;
    box-sizing: border-box;
    border-top: solid 6px #f56151;
    border-right: solid 6px transparent;
    border-bottom: solid 6px transparent;
    border-left: solid 6px transparent;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation: cp-round-animate 1s ease-in-out infinite;
    animation: cp-round-animate 1s ease-in-out infinite
}

@-webkit-keyframes cp-round-animate {
    0% {
        transform: rotate(0deg)
    }
    100% {
        transform: rotate(360deg)
    }
}

@keyframes cp-round-animate {
    0% {
        transform: rotate(0deg)
    }
    100% {
        transform: rotate(360deg)
    }
}

.cp-pinwheel {
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: inline-block;
    box-sizing: border-box;
    border-top: solid 24px #0fd6ff;
    border-right: solid 24px #58bd55;
    border-bottom: solid 24px #eb68a1;
    border-left: solid 24px #f3d53f;
    -webkit-animation: cp-pinwheel-animate 1s linear infinite;
    animation: cp-pinwheel-animate 1s linear infinite
}

@-webkit-keyframes cp-pinwheel-animate {
    0% {
        border-top-color: #0fd6ff;
        border-right-color: #58bd55;
        border-bottom-color: #eb68a1;
        border-left-color: #f3d53f;
        transform: rotate(0deg)
    }
    25% {
        border-top-color: #eb68a1;
        border-right-color: #f3d53f;
        border-bottom-color: #0fd6ff;
        border-left-color: #58bd55
    }
    50% {
        border-top-color: #0fd6ff;
        border-right-color: #58bd55;
        border-bottom-color: #eb68a1;
        border-left-color: #f3d53f
    }
    75% {
        border-top-color: #eb68a1;
        border-right-color: #f3d53f;
        border-bottom-color: #0fd6ff;
        border-left-color: #58bd55
    }
    100% {
        border-top-color: #0fd6ff;
        border-right-color: #58bd55;
        border-bottom-color: #eb68a1;
        border-left-color: #f3d53f;
        transform: rotate(360deg)
    }
}

@keyframes cp-pinwheel-animate {
    0% {
        border-top-color: #0fd6ff;
        border-right-color: #58bd55;
        border-bottom-color: #eb68a1;
        border-left-color: #f3d53f;
        transform: rotate(0deg)
    }
    25% {
        border-top-color: #eb68a1;
        border-right-color: #f3d53f;
        border-bottom-color: #0fd6ff;
        border-left-color: #58bd55
    }
    50% {
        border-top-color: #0fd6ff;
        border-right-color: #58bd55;
        border-bottom-color: #eb68a1;
        border-left-color: #f3d53f
    }
    75% {
        border-top-color: #eb68a1;
        border-right-color: #f3d53f;
        border-bottom-color: #0fd6ff;
        border-left-color: #58bd55
    }
    100% {
        border-top-color: #0fd6ff;
        border-right-color: #58bd55;
        border-bottom-color: #eb68a1;
        border-left-color: #f3d53f;
        transform: rotate(360deg)
    }
}

.cp-balls {
    -webkit-animation: cp-balls-animate 1s linear infinite;
    animation: cp-balls-animate 1s linear infinite
}

.cp-balls:before {
    border-radius: 50%;
    content: " ";
    width: 24px;
    height: 24px;
    display: inline-block;
    box-sizing: border-box;
    background-color: #0fd6ff;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation: cp-balls-animate-before 1s ease-in-out infinite;
    animation: cp-balls-animate-before 1s ease-in-out infinite
}

.cp-balls:after {
    border-radius: 50%;
    content: " ";
    width: 24px;
    height: 24px;
    display: inline-block;
    box-sizing: border-box;
    background-color: #eb68a1;
    position: absolute;
    bottom: 0;
    right: 0;
    -webkit-animation: cp-balls-animate-after 1s ease-in-out infinite;
    animation: cp-balls-animate-after 1s ease-in-out infinite
}

@-webkit-keyframes cp-balls-animate {
    0% {
        transform: rotate(0deg)
    }
    100% {
        transform: rotate(360deg)
    }
}

@keyframes cp-balls-animate {
    0% {
        transform: rotate(0deg)
    }
    100% {
        transform: rotate(360deg)
    }
}

@-webkit-keyframes cp-balls-animate-before {
    0% {
        transform: translate(-5px, -5px)
    }
    50% {
        transform: translate(0px, 0px)
    }
    100% {
        transform: translate(-5px, -5px)
    }
}

@keyframes cp-balls-animate-before {
    0% {
        transform: translate(-5px, -5px)
    }
    50% {
        transform: translate(0px, 0px)
    }
    100% {
        transform: translate(-5px, -5px)
    }
}

@-webkit-keyframes cp-balls-animate-after {
    0% {
        transform: translate(5px, 5px)
    }
    50% {
        transform: translate(0px, 0px)
    }
    100% {
        transform: translate(5px, 5px)
    }
}

@keyframes cp-balls-animate-after {
    0% {
        transform: translate(5px, 5px)
    }
    50% {
        transform: translate(0px, 0px)
    }
    100% {
        transform: translate(5px, 5px)
    }
}

.cp-bubble {
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: inline-block;
    box-sizing: border-box;
    background: #58bd55;
    -webkit-animation: cp-bubble-animate 1s linear infinite;
    animation: cp-bubble-animate 1s linear infinite
}

.cp-bubble:before {
    border-radius: 50%;
    content: " ";
    width: 24px;
    height: 24px;
    display: inline-block;
    box-sizing: border-box;
    background-color: #58bd55;
    position: absolute;
    left: -1.2px;
    -webkit-animation: cp-bubble-animate-before 1s ease-in-out infinite;
    animation: cp-bubble-animate-before 1s ease-in-out infinite
}

.cp-bubble:after {
    border-radius: 50%;
    content: " ";
    width: 24px;
    height: 24px;
    display: inline-block;
    box-sizing: border-box;
    background-color: #58bd55;
    position: absolute;
    right: -1.2px;
    -webkit-animation: cp-bubble-animate-after 1s ease-in-out infinite;
    animation: cp-bubble-animate-after 1s ease-in-out infinite
}

@-webkit-keyframes cp-bubble-animate {
    0% {
        opacity: .5;
        transform: scale(1) translateX(0px)
    }
    25% {
        opacity: 1;
        transform: scale(1.1) translateX(-15px)
    }
    50% {
        opacity: 1;
        transform: scale(1.2) translateX(15px)
    }
    100% {
        opacity: .5;
        transform: scale(1) translateX(0px)
    }
}

@keyframes cp-bubble-animate {
    0% {
        opacity: .5;
        transform: scale(1) translateX(0px)
    }
    25% {
        opacity: 1;
        transform: scale(1.1) translateX(-15px)
    }
    50% {
        opacity: 1;
        transform: scale(1.2) translateX(15px)
    }
    100% {
        opacity: .5;
        transform: scale(1) translateX(0px)
    }
}

@-webkit-keyframes cp-bubble-animate-before {
    0% {
        opacity: .5;
        transform: scale(1)
    }
    25% {
        transform: scale(1.1)
    }
    50%,
    100% {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes cp-bubble-animate-before {
    0% {
        opacity: .5;
        transform: scale(1)
    }
    25% {
        transform: scale(1.1)
    }
    50%,
    100% {
        opacity: 1;
        transform: scale(1)
    }
}

@-webkit-keyframes cp-bubble-animate-after {
    0%,
    50% {
        opacity: .5;
        transform: scale(1)
    }
    50% {
        transform: scale(1.1)
    }
    75%,
    100% {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes cp-bubble-animate-after {
    0%,
    50% {
        opacity: .5;
        transform: scale(1)
    }
    50% {
        transform: scale(1.1)
    }
    75%,
    100% {
        opacity: 1;
        transform: scale(1)
    }
}

.cp-flip {
    transform-style: preserve-3d;
    perspective: 10em
}

.cp-flip:before {
    width: 48px;
    height: 48px;
    display: inline-block;
    box-sizing: border-box;
    background: #f56151;
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation: cp-flip-animate-before 2s linear infinite;
    animation: cp-flip-animate-before 2s linear infinite
}

@-webkit-keyframes cp-flip-animate-before {
    0% {
        transform: rotateY(0deg) rotateX(0deg)
    }
    25% {
        transform: rotateY(360deg) rotateX(0deg)
    }
    50% {
        transform: rotateY(360deg) rotateX(360deg)
    }
    75% {
        transform: rotateY(0deg) rotateX(360deg)
    }
    100% {
        transform: rotateY(0deg) rotateX(0deg)
    }
}

@keyframes cp-flip-animate-before {
    0% {
        transform: rotateY(0deg) rotateX(0deg)
    }
    25% {
        transform: rotateY(360deg) rotateX(0deg)
    }
    50% {
        transform: rotateY(360deg) rotateX(360deg)
    }
    75% {
        transform: rotateY(0deg) rotateX(360deg)
    }
    100% {
        transform: rotateY(0deg) rotateX(0deg)
    }
}

.cp-hue {
    width: 24px;
    height: 24px;
    display: inline-block;
    box-sizing: border-box;
    background: #f56151;
    border-radius: 50%;
    -webkit-animation: cp-hue-animate 1s ease-in-out infinite;
    animation: cp-hue-animate 1s ease-in-out infinite
}

.cp-hue:before {
    border-radius: 0% 12px 12px 0%;
    content: " ";
    width: 12px;
    height: 24px;
    display: inline-block;
    box-sizing: border-box;
    background: #fff;
    position: absolute;
    top: 0;
    right: 0;
    -webkit-animation: cp-hue-animate-before 1s ease-in-out infinite;
    animation: cp-hue-animate-before 1s ease-in-out infinite
}

@-webkit-keyframes cp-hue-animate {
    0% {
        background: #f56151
    }
    25% {
        background: #58bd55
    }
    50% {
        background: #eb68a1
    }
    75% {
        background: #f3d53f
    }
    100% {
        background: #f56151
    }
}

@keyframes cp-hue-animate {
    0% {
        background: #f56151
    }
    25% {
        background: #58bd55
    }
    50% {
        background: #eb68a1
    }
    75% {
        background: #f3d53f
    }
    100% {
        background: #f56151
    }
}

@-webkit-keyframes cp-hue-animate-before {
    0% {
        transform: rotateY(0deg);
        transform-origin: left center;
        opacity: .5
    }
    30%,
    70% {
        transform: rotateY(180deg);
        transform-origin: left center;
        opacity: .2
    }
    100% {
        transform: rotateY(0deg);
        opacity: .5
    }
}

@keyframes cp-hue-animate-before {
    0% {
        transform: rotateY(0deg);
        transform-origin: left center;
        opacity: .5
    }
    30%,
    70% {
        transform: rotateY(180deg);
        transform-origin: left center;
        opacity: .2
    }
    100% {
        transform: rotateY(0deg);
        opacity: .5
    }
}

.cp-skeleton {
    border-radius: 50%;
    border-top: solid 6px #f56151;
    border-right: solid 6px transparent;
    border-bottom: solid 6px transparent;
    border-left: solid 6px transparent;
    -webkit-animation: cp-skeleton-animate 1s linear infinite;
    animation: cp-skeleton-animate 1s linear infinite
}

.cp-skeleton:before {
    border-radius: 50%;
    content: " ";
    width: 48px;
    height: 48px;
    display: inline-block;
    box-sizing: border-box;
    border-top: solid 6px transparent;
    border-right: solid 6px transparent;
    border-bottom: solid 6px transparent;
    border-left: solid 6px #f56151;
    position: absolute;
    top: -6px;
    left: -6px;
    transform: rotateZ(-30deg)
}

.cp-skeleton:after {
    border-radius: 50%;
    content: " ";
    width: 48px;
    height: 48px;
    display: inline-block;
    box-sizing: border-box;
    border-top: solid 6px transparent;
    border-right: solid 6px #f56151;
    border-bottom: solid 6px transparent;
    border-left: solid 6px transparent;
    position: absolute;
    top: -6px;
    right: -6px;
    transform: rotateZ(30deg)
}

@-webkit-keyframes cp-skeleton-animate {
    0% {
        transform: rotate(0deg);
        opacity: 1
    }
    50% {
        opacity: .7
    }
    100% {
        transform: rotate(360deg);
        opacity: 1
    }
}

@keyframes cp-skeleton-animate {
    0% {
        transform: rotate(0deg);
        opacity: 1
    }
    50% {
        opacity: .7
    }
    100% {
        transform: rotate(360deg);
        opacity: 1
    }
}

.cp-eclipse {
    width: 12px;
    height: 12px;
    display: inline-block;
    box-sizing: border-box;
    border-radius: 50%;
    background: #f3d53f;
    margin: 12px;
    -webkit-animation: cp-eclipse-animate 1s ease-out infinite;
    animation: cp-eclipse-animate 1s ease-out infinite
}

.cp-eclipse:before {
    border-radius: 50%;
    content: " ";
    width: 48px;
    height: 48px;
    display: inline-block;
    box-sizing: border-box;
    border-top: solid 6px transparent;
    border-right: solid 6px #f3d53f;
    border-bottom: solid 6px transparent;
    border-left: solid 6px transparent;
    position: absolute;
    top: -2px;
    left: -2px
}

.cp-eclipse:after {
    border-radius: 50%;
    content: " ";
    width: 48px;
    height: 48px;
    display: inline-block;
    box-sizing: border-box;
    border-top: solid 6px transparent;
    border-right: solid 6px transparent;
    border-bottom: solid 6px transparent;
    border-left: solid 6px #f3d53f;
    position: absolute;
    top: -2px;
    right: -2px
}

@-webkit-keyframes cp-eclipse-animate {
    0% {
        transform: rotate(0deg)
    }
    100% {
        transform: rotate(360deg)
    }
}

@keyframes cp-eclipse-animate {
    0% {
        transform: rotate(0deg)
    }
    100% {
        transform: rotate(360deg)
    }
}

.cp-boxes:before {
    width: 24px;
    height: 24px;
    display: inline-block;
    box-sizing: border-box;
    content: " ";
    background: #58bd55;
    position: absolute;
    top: 3px;
    left: 0;
    -webkit-animation: cp-boxes-animate-before 1s ease-in-out infinite;
    animation: cp-boxes-animate-before 1s ease-in-out infinite
}

.cp-boxes:after {
    width: 24px;
    height: 24px;
    display: inline-block;
    box-sizing: border-box;
    content: " ";
    background: #58bd55;
    position: absolute;
    top: 3px;
    right: 0;
    -webkit-animation: cp-boxes-animate-after 1s ease-in-out infinite;
    animation: cp-boxes-animate-after 1s ease-in-out infinite
}

@-webkit-keyframes cp-boxes-animate-before {
    0% {
        transform: translateX(-24px) rotate(45deg)
    }
    50% {
        transform: translateX(-8px) rotate(225deg)
    }
    100% {
        transform: translateX(-24px) rotate(45deg)
    }
}

@keyframes cp-boxes-animate-before {
    0% {
        transform: translateX(-24px) rotate(45deg)
    }
    50% {
        transform: translateX(-8px) rotate(225deg)
    }
    100% {
        transform: translateX(-24px) rotate(45deg)
    }
}

@-webkit-keyframes cp-boxes-animate-after {
    0% {
        transform: translateX(24px) rotate(45deg)
    }
    50% {
        transform: translateX(8px) rotate(-225deg)
    }
    100% {
        transform: translateX(24px) rotate(45deg)
    }
}

@keyframes cp-boxes-animate-after {
    0% {
        transform: translateX(24px) rotate(45deg)
    }
    50% {
        transform: translateX(8px) rotate(-225deg)
    }
    100% {
        transform: translateX(24px) rotate(45deg)
    }
}

.cp-morph {
    width: 48px;
    height: 48px;
    display: inline-block;
    box-sizing: border-box;
    background: #0fd6ff;
    -webkit-animation: cp-morph-animate 1s linear infinite;
    animation: cp-morph-animate 1s linear infinite
}

@-webkit-keyframes cp-morph-animate {
    0% {
        transform: rotate(0deg) scale(1);
        border-radius: 0%;
        background: #f3d53f
    }
    25%,
    75% {
        transform: rotate(180deg) scale(0.4);
        border-radius: 50%;
        background: #0fd6ff
    }
    100% {
        transform: rotate(360deg) scale(1);
        border-radius: 0%;
        background: #f3d53f
    }
}

@keyframes cp-morph-animate {
    0% {
        transform: rotate(0deg) scale(1);
        border-radius: 0%;
        background: #f3d53f
    }
    25%,
    75% {
        transform: rotate(180deg) scale(0.4);
        border-radius: 50%;
        background: #0fd6ff
    }
    100% {
        transform: rotate(360deg) scale(1);
        border-radius: 0%;
        background: #f3d53f
    }
}

.cp-heart {
    -webkit-animation: cp-heart-animate 2s ease-in-out infinite;
    animation: cp-heart-animate 2s ease-in-out infinite
}

.cp-heart:before {
    border-radius: 12px 12px 0 0;
    content: " ";
    width: 24px;
    height: 35px;
    display: inline-block;
    box-sizing: border-box;
    background-color: #eb68a1;
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    left: 8px
}

.cp-heart:after {
    border-radius: 12px 12px 0 0;
    content: " ";
    width: 24px;
    height: 35px;
    display: inline-block;
    box-sizing: border-box;
    background-color: #eb68a1;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 8px
}

@-webkit-keyframes cp-heart-animate {
    0% {
        transform: scale(0.9);
        transform-origin: center
    }
    15% {
        transform: scale(1.4);
        transform-origin: center
    }
    30% {
        transform: scale(0.9);
        transform-origin: center
    }
    45% {
        transform: scale(1.4);
        transform-origin: center
    }
    60%,
    100% {
        transform: scale(0.9);
        transform-origin: center
    }
}

@keyframes cp-heart-animate {
    0% {
        transform: scale(0.9);
        transform-origin: center
    }
    15% {
        transform: scale(1.4);
        transform-origin: center
    }
    30% {
        transform: scale(0.9);
        transform-origin: center
    }
    45% {
        transform: scale(1.4);
        transform-origin: center
    }
    60%,
    100% {
        transform: scale(0.9);
        transform-origin: center
    }
}

.cp-meter {
    border-radius: 50%;
    border-top: solid 6px #0fd6ff;
    border-right: solid 6px #0fd6ff;
    border-bottom: solid 6px #0fd6ff;
    border-left: solid 6px #0fd6ff;
    width: 48px;
    height: 48px;
    display: inline-block;
    box-sizing: border-box
}

.cp-meter:before {
    border-radius: 3px;
    content: " ";
    width: 6px;
    height: 12px;
    display: inline-block;
    box-sizing: border-box;
    background-color: #0fd6ff;
    position: absolute;
    top: 5px;
    left: 16px;
    transform-origin: center bottom;
    -webkit-animation: cp-meter-animate-before 1s linear infinite;
    animation: cp-meter-animate-before 1s linear infinite
}

@-webkit-keyframes cp-meter-animate-before {
    0% {
        transform: rotate(-45deg)
    }
    100% {
        transform: rotate(315deg)
    }
}

@keyframes cp-meter-animate-before {
    0% {
        transform: rotate(-45deg)
    }
    100% {
        transform: rotate(315deg)
    }
}


