@charset "UTF-8";


/*===================================================
  KitReset
====================================================*/

h1.logo.sp,h1.logo.pc {
    display: none;
}
.drawer__btn{
    display: none;
}
body:not(.page--home) .wrap {
    padding-top: 0;
    overflow: unset;
    padding-bottom: 0;
}
body:not(.page--home) .wrap .header {
padding: 0;
}
.wrap header:has(.wovn-languages) .wovn-languages {
    right: auto !important;
    left: 40px !important;
    top: 40px !important;
}
footer.footer{
    display: none;
}
header:has(.wovn-languages) .wovn-languages .wovn-lang-list {
    color: #b3b3b3;
    background: #FFF;
}
@media screen and (min-width: 1px) and (max-width: 960px) {
body:not(.page--home) header:has(.wovn-languages) .wovn-languages {
    right: auto !important;
    left: 16px !important;
    top: 16px !important;
}
}

/*===================================================
  FRAME
====================================================*/
.allContain{
    background-color: #FAF9F7;
    padding-bottom: 48px;
}
.allContain:before{
    content:"";
    background: url(/static/fcopen/fanplakit/artist/kyary_as63ghT7/feature/event_202606/images/bg.png);
    background-size: cover;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    color: #000;
    transition: 0.3s ease;
}
.headerFix .allContain:before{
    opacity: 0.3;
}
.contentWrap {
    padding-bottom: 80px;
}
.contentWrapClm {
    width: 100%;
    padding: 64px 64px 64px 0;
    box-sizing: border-box;
    margin: 0 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 96px;

}
section{

}
.contentBox {
    background: transparent
}
.contentInner{

}
.eventLogo{
    width: 90%;
    max-width: 500px;
    margin: 0 auto 40px;
    line-height: 0;
}
.event02 .eventLogo{
    max-width: 640px;
}
.turm{
    display: flex;
    justify-content: center;
    gap: 24px;
    background: #ffffff;
    color: #ff9292;
    width: fit-content;
    margin: 0 auto 24px;
    padding: 14px 32px 12px;
    border-radius: 100px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.1em;
    border: 4px solid;
}
.turm dt{

}
.turm dd{
    border-left: 2px solid;
    padding-left: 24px;
}
.lead{
    width: fit-content;
    font-size: 16px;
    margin: 0 auto;
    font-weight: 500;
    max-width: 600px;
    margin-bottom: 40px;
}
.btnEntry{
    text-align: center;
    margin: 0 0 40px;
}
.btnEntry a{
    display: inline-block;
    width: max-content;
    background: #ff9292;
    color: #FFF;
    padding: 24px 40px;
    min-width: 240px;
    text-align: center;
    font-size: 24px;
    font-weight: 600;
    border-radius: 100px;
}
.btnEntry.blankBtn a{
    background: #bbbbbb;
    color: #e2e2e2;
    pointer-events: none;
}
.red{
    color: #ff7979;
    font-weight: 800;
}
.cautionList{
    display: flex;
    gap: 8px;
    flex-direction: column;
    font-size: 16px;
    margin: 0 auto;
    font-weight: 500;
    max-width: 600px;
    border: 2px solid #c5c5c5;
    padding: 24px;
    border-radius: 24px;
}
.cautionList li{
    position: relative;
    padding-left: 16px;
}
.cautionList li .cap{
    position: absolute;
    left: 0;
}
.footerBox {
    position: relative;
    background: #FFF;
    padding: 40px;
    max-width: calc(100% - 96px);
    margin: 0 auto;
    border-radius: 40px;
}
.footerBox a {
    display: block;
    color: #ffacac;
    font-family: "omnes-pro", "游ゴシック体", YuGothic, sans-serif;
    margin-bottom: 16px;
    line-height: 1.1em;
    font-size: 160%;
    font-weight: 800;
    letter-spacing: 0;
}
.footerBox a span {
    font-size: 60%;
    display: block;
    font-weight: 500;
}
.snsList {
    display: flex;
    gap: 12px;
    margin-bottom: 16px;
}
.snsList li {
    width: 20px;
    margin: 0;
}
.snsList li a img {
    filter: invert(1);
    transition: 0.3s ease;
}
.footerBox .copy {
    font-size: 10px;
}
@media screen and (min-width: 961px){

}
@media screen and (min-width: 1px) and (max-width: 960px) {
.contentWrap {
    padding-bottom: 40px;
}
section {
    padding: 0 20px;
}
.contentBox {
    padding: 24px;
}
.turm {
    width: 100%;
    flex-direction: column;
    border-radius: 16px;
    padding: 16px;
    gap: 16px;
}
.turm dt {
    text-align: center;
}
.turm dd {
    border-left: none;
    padding-left: 0;
    border-top: 2px solid;
    padding-top: 16px;
    line-height: 1.3em;
    text-align: center;
}
.lead {
    font-size: 14px;
}
.btnEntry {
    margin: 0 0 24px;
}
.btnEntry a {
    padding: 18px 40px;
    font-size: 20px;
}
.eventLogo{
    width: 90%;
    margin: 0 auto 24px;
}
.event02 .eventLogo {
    width: 100%;
    margin: 0 auto 16px;
}

.cautionList {
    padding: 16px;
}
.footerBox {
    padding: 24px;
    border-radius: 24px;
    max-width: calc(100% - 88px);
}
}




/*===================================================
  OP:LOADER
====================================================*/
.loader{
    position:fixed;
    height:100%;
    width:100%;
    background: #ffacac;
    z-index:99999;
}

/*===================================================
  OP:DETAIL
====================================================*/
.op_detail{

}
.op_detail .detailList {
    display: flex;
    margin: 0 0 2px;
    align-items: stretch;
    background: #e9e9e9;
    padding: 24px;
    border-radius: 8px;
}
.op_detail .detailList:first-child{
    border-radius: 16px 16px 0 0;
}
.op_detail .detailList:last-child{
    border-radius: 0 0 16px 16px;
    margin-bottom: 0;
}
.op_detail .detailList dt{
    width: 20%;
    padding: 0 40px 0 0;
    display: flex;
    align-items: center;
    font-weight: 500;
    line-height: 1.6em;
}
.op_detail .detailList dt:before{
}
.op_detail .detailList dt .txt{
    font-size: 100%;
    line-height: 1.5em;
}
.op_detail .detailList dd{
    width: 80%;
    position: relative;
    padding: 0 0 0 40px;
    display: flex;
    align-items: center;
}
.op_detail .detailList dd:before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 1px;
    background: #000;
}
.op_detail .detailList dd .detailInner{
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* OP:DETAIL:SP-max-960 */
@media screen and (max-width: 960px){
.op_detail .detailList {
    display: block;
}
.op_detail .detailList dt {
    width: 100%;
    padding: 0 0 0 8px;
    margin: 0 0 16px;
    font-size: 100%;
    font-weight: 600;
    border-left: 5px solid;
}
.op_detail .detailList dd {
    width: 100%;
    position: relative;
    padding: 0;
}
.op_detail .detailList dd:before {
    content: none
}
}

/*===================================================
 scrollDown
====================================================*/
.scrollDown{
    position: absolute;
    bottom: 40px;
    right: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 16px;
}
.scrollDown .scrollTxt {
    font-size: 70%;
    transition: 0.5s ease;
    font-family: "Poppins", sans-serif;
    font-weight: 800;
    color: #FFF;
    writing-mode: vertical-rl;
}
.scrollDown .scrollarrow {
    width: 1px;
    height: 60px;
    background: #FFF;
    animation: scrollarrow 3s cubic-bezier(.19,1,.22,1) 0.5s infinite;
}
@keyframes scrollarrow{
  0% {clip-path: inset(0 0 100% 0);}
  25% {clip-path: inset(0 0 0 0);}
  75% {clip-path: inset(0 0 0 0);}
  100% {clip-path: inset(100% 0 0 0);}
}
/*===================================================
  frame
====================================================*/
.frame{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}
.frame .frameInner{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 24px solid #FFACAC;
}
.frame .cloud{
    position: absolute;
    width: 100%;
    max-width: 400px;
    transition: 0.5s ease;
}
.frame .cloud01{
    right: 0;
    top: 0;
}
.frame .cloud02{
    left: 0;
    bottom: 0;
}
.frame .ribbon{
    position: absolute;
    max-width: 300px;
}
.frame .ribbon01{
    top: 11px;
    left: 11px;
}
.frame .ribbon02{
    bottom: 11px;
    right: 11px;
    transform: rotate(180deg);
}
.frame .fvLace{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 56%;
    max-height: 1100px;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    transition: 0.3s ease;
}
.frame .fvLace img{
    animation: circle 120s linear infinite reverse;
}
.fvShine{
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 95%;
    aspect-ratio: 1;
    transition: 0.5s ease;
}
.fvShine img{
    animation: circle 60s linear infinite;
}
@keyframes circle {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.frame .starBox{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 87%;
    aspect-ratio: 1;
    transition: 0.5s ease;
}
.frame .starBox .star{
    position: absolute;
}
.frame .starBox .star01{
    width: 11%;
    aspect-ratio: 1;
    top: 32%;
    left: 2%;
}
.frame .starBox .star02{
    width: 4%;
    aspect-ratio: 1;
    top: 49%;
    left: -1%;
}
.frame .starBox .star03{
    width: 6%;
    aspect-ratio: 1;
    top: 56%;
    left: 5%;
}
.frame .starBox .star04{
    width: 7%;
    aspect-ratio: 1;
    top: 35%;
    right: 5%;
}
.frame .starBox .star05{
    width: 5%;
    aspect-ratio: 1;
    top: 47%;
    right: 0%;
}
.frame .starBox .star06{
    width: 10%;
    aspect-ratio: 1;
    top: 58%;
    right: 5%;
}
/*===================================================
  .headerFix:frame
====================================================*/
.headerFix .frame .cloud01{
    transform: translateX(120%);
}
.headerFix .frame .cloud02{
    transform: translateX(-120%);
}
.headerFix .fvShine {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.5;
}
.headerFix .frame .starBox{
    transform: translate(-50%, -50%) scale(2);
    opacity: 0;
}
.headerFix .frame .fvLace {
    transform: translate(-50%, -50%) scale(2);
    opacity: 0;
}


@media screen and (min-width: 1px) and (max-width: 960px) {
.frame .starBox {
    transform: translate(-50%, -50%) rotate(90deg);
    width: 75vh;
}
.headerFix .frame .starBox {
    transform: translate(-50%, -50%) rotate(90deg) scale(2);
}
.frame .starBox .star01 {
    top: 25%;
    left: 2%;
}
.frame .starBox .star02 {
    top: 58%;
    left: -1%;
}
.frame .starBox .star03 {
    top: 65%;
    left: 5%;
}
.frame .starBox .star04 {
    top: 30%;
    right: 5%;
}
.frame .starBox .star05 {
    top: 40%;
    right: 0%;
}
.frame .starBox .star06 {
    width: 8%;
    top: 63%;
    right: 5%;
}
.fvShine {
    width: auto;
    height: 85%;
}
.headerFix .fvShine{
    transform: translate(-50%, -50%) scale(1.2);
}
.frame .fvLace {
    width: auto;
    height: 60%;
}
.frame .ribbon {
    max-width: 120px;
}
.frame .ribbon01 {
    top: 18px;
    left: 18px;
}
.frame .ribbon02 {
    bottom: 18px;
    right: 18px;
}
.frame .cloud {
    width: 70%;
    max-width: 250px;
}
}




/*===================================================
  visual
====================================================*/
.visual{
    position: relative;
    overflow: hidden;
    pointer-events: none;
    z-index: 1;
}
.visual .heroView{
    position: relative;
    overflow: hidden;
}
.visual .heroView .heroInner{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.fvMainlogo{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 55%;
    aspect-ratio: 700 / 509;
    max-width: 680px;
    transition: 0.3s ease;
}
.fvMainlogo img{
    width: 100%;
    height: 100%;
    aspect-ratio: 700 / 509;
    object-fit: contain;
}

.headerFix .fvMainlogo{
    opacity: 0;
}

@media screen and (min-width: 1px) and (max-width: 960px) {
.fvMainlogo {
    width: 80%;
    max-height: 40%;
}
}

/*===================================================
  event
====================================================*/

.inBox {
    width: 600px;
    max-width: 100%;
    margin: 0 auto 40px;
    position: relative;
    padding: 64px 40px 40px;
    background: #FFF;
    border-radius: 24px;
    border: 4px solid #ff9292;
}

.inBox h3{
    font-weight: 800;
    font-size: 24px;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%);
    background: #faf9f7;
    padding: 8px 32px;
    border-radius: 100px;
    color: #ff9292;
    border: 4px solid #ff9292;
    width: max-content;
}
.soonTxt{
    text-align: center;
    font-weight: 800;
    font-size: 110%;
    color: #ff9292;
}
.methodList{

}
.methodList li{
    position: relative;
    border-bottom: 1px dashed #DDD;
    padding-bottom: 16px;
    margin-bottom: 16px;
    padding-left: 32px;
}
.methodList li:last-child{
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}
.methodList li .point{
    position: absolute;
    left: 0;
    font-family: "ab-countryroad", sans-serif;
    font-size: 12px;
    background: #ff9292;
    color: #FFF;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    aspect-ratio: 1;
    line-height: 1em;
    font-weight: normal;
}
.methodList li .txt{
    font-weight: 600;
    font-size: 16px;
}
.serialList{
    margin-bottom: 0;
}
.serialList li{
    background: #ff9292;
    color: #FFF;
    margin-bottom: 24px;
    padding: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-weight: 500;
    width: 100%;
    border-radius: 16px;
    position: relative;
}
.serialList li:after{
    content: "";
    position: absolute;
    top: 100%;
    left: calc(50% - 12px);
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    border-top: 12px solid #ff9292;
    border-bottom: 0;
}
.serialList li:nth-child(1){
    background: #ffacac;
}
.serialList li:nth-child(1):after{
    border-top: 12px solid #ffacac;
}
.serialList li:nth-child(2){

}
.serialList li:last-child{
    margin-bottom: 0;
    background: #ff8080;
}
.serialList li:last-child:after{
    content: none;
}

.serialList li .point{
    width: 100%;
    display: block;
    border-bottom: 1px solid;
    text-align: center;
    padding-bottom: 8px;
    margin-bottom: 8px;
    line-height: 1.4em;
    font-weight: 600;
    font-size: 16px;
}
.serialList li .txt{
    font-weight: 800;
}
.serialList li .txt span{
    font-family: "ab-countryroad", sans-serif;
    font-size: 120%;
    display: inline-block;
    padding: 0 8px;
    font-weight: normal;
    vertical-align: -2px;
}

.inBox .cautionList{
    border: none;
    padding: 0;
}

@media screen and (min-width: 1px) and (max-width: 960px) {
.inBox {
    padding: 48px 24px 24px;
}
.inBox h3 {
    font-size: 16px;
}
.methodList li {
    padding-left: 30px;
}
.methodList li .txt {
    font-weight: 600;
    font-size: 14px;
}
.methodList li .point {
    top: -1px;
    font-size: 10px;
    width: 22px;
    height: 22px;
}
.serialList li .point {
    font-size: 14px;
}
}