@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700&display=swap');

html,body,a,p,ul,li,h1,h2,h3,h4,h5,h6,figure,dl,dt,dd{margin:0;padding:0;}

*{
    box-sizing: border-box;
   
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    tap-highlight-color: rgba(0, 0, 0, 0);
    outline: none;
}

@font-face {
	font-family: 'iowan_old_style';
	src: url(/static/mga/feature/anniv_live2025/new_250605/font/iowan_old_style.ttf);
}

html{
    
}
body{
    overflow-x: hidden;
    -webkit-touch-callout:none;
  color: #fff;
     font-family: YakuHanJP_Noto, "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
    
}

.pc-back{
    display: block;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
      background: url(/static/mga/feature/anniv_live2025/new_250605/img/back.svg);
    background-size: 600px auto;
    animation: back-anime 50s linear infinite;
}
.pc-back:before{
    content: "";
    display: block;
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    height:40vh;
      background: url(/static/mga/feature/anniv_live2025/new_250605/img/frozen.png);
    background-size: auto 100%;
    z-index: 2;
    opacity: 0.3;
}
.pc-back:after{
    content: "";
    display: block;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:40vh;
      background: url(/static/mga/feature/anniv_live2025/new_250605/img/frozen.png);
    background-size: auto 100%;
    z-index: 2;
    opacity: 0.3;
    transform: scale(-1,-1);
}
@keyframes back-anime {
from { background-position: 0 0; }
to { background-position: 600px 0px; }
}

img{
    width: 100%;
    height: auto;
    pointer-events: none;
    user-select: none;
    display: block;
    font-size: 0;
    
}

a{
    color: inherit;
    text-decoration: none;
}


li{
    list-style-type: none;
}


.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.2px;

}

.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}


.sp{
    display: none;
    
}


@media screen and (max-width: 896px){
    
    body{
        -ms-overflow-style: none;
    }
    body::-webkit-scrollbar {
  display: none;
}
    
    body.nav-open{
  touch-action: none;
  -webkit-overflow-scrolling: none;
  overflow: hidden;
  overscroll-behavior: none;
    }
    .pc{
        display: none;
    }
    
    .sp{
        display: block;
    }
    .pc-back{
    display: none;
}
}
.gritter-txt span{
     background-image: url(/static/mga/feature/anniv_live2025/new_250605/img/h2-back.jpg);
    background-size: 500px auto;
  -webkit-background-clip: text;
  color: transparent;
    display: inline-block;
}
.gritter-txt:before,.gritter-txt:after{
    content: "~";
     background-image: url(/static/mga/feature/anniv_live2025/new_250605/img/h2-back.jpg);
    background-size: 500px auto;
  -webkit-background-clip: text;
  color: transparent;
    display: inline-block;
    margin: 0 0.2em;
}
.gritter-txt span:nth-child(2){
  animation-delay: 0.05s !important;
}
.gritter-txt span:nth-child(3){
  animation-delay: 0.1s !important;
}
.gritter-txt span:nth-child(4){
  animation-delay: 0.15s !important;
}
.gritter-txt span:nth-child(5){
  animation-delay: 0.2s !important;
}
.gritter-txt span:nth-child(6){
  animation-delay: 0.25s !important;
}

.gritter-txt span:nth-child(7){
  animation-delay: 0.3s !important;
}

.gritter-txt span:nth-child(8){
  animation-delay: 0.35s !important;
}

.gritter-txt span:nth-child(9){
  animation-delay: 0.4s !important;
}

.gritter-txt span:nth-child(10){
  animation-delay: 0.45s !important;
}

.gritter-txt span:nth-child(11){
  animation-delay: 0.5s !important;
}

.gritter-txt span:nth-child(12){
  animation-delay: 0.55s !important;
}

.gritter-txt span:nth-child(13){
  animation-delay: 0.6s !important;
}

.gritter-txt span:nth-child(14){
  animation-delay: 0.65s !important;
}

.gritter-txt span:nth-child(15){
  animation-delay: 0.7s !important;
}

.gritter-txt span:nth-child(16){
  animation-delay: 0.75s !important;
}

.gritter-txt span:nth-child(17){
  animation-delay: 0.8s !important;
}

.gritter-txt span:nth-child(18){
  animation-delay: 0.85s !important;
}

.gritter-txt span:nth-child(19){
  animation-delay: 0.9s !important;
}

.gritter-txt span:nth-child(20){
  animation-delay: 0.95s !important;
}

.gritter-txt span:nth-child(21){
  animation-delay: 1s !important;
}

.gritter-txt span{
    display: inline-block !important;
    
}

a.gritter-txt:hover span{
    opacity: 0;
    animation: hover  0.8s forwards cubic-bezier(0,.69,.41,1);
}
@keyframes hover  {
  0% {
     transform:translateY(-60%);
      opacity: 0;
  }
   
  100% {
   transform:translate(0%);
      opacity: 1;
  }
}

.wrap{
    
}

main{
    width: 100%;
   position: relative;
    box-shadow: 0 0 40px rgba(0,0,0,.5);

    z-index: 4;
    background: #000;
}
main:after{
    content: "";
    display: block;
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:#000;
    opacity: 0.6;
    transition-duration: 0.4s;
}

.toppage.pagetop main:after{
    opacity: 0;
}
#kv-video,#kv-image{
    width: 100%;
    height: 100lvh;
    object-fit: cover;
    object-position: center;
    position: fixed;
    top: 0%;
    z-index: -1;
}


.frame{
    width: 100%;
    height: 100dvh;
    position: fixed;
    top: 0%;
    z-index: 9999;
    pointer-events: none;
    
    
}
.frame:before,.frame:after{
     content: "";
    display: block;
    position: absolute;
    top:50%;
    width: 55.5px;
    height: 104px;
     background: url(/static/mga/feature/anniv_live2025/new_250605/img/frame-middle.png) no-repeat;
    background-size: 100% 100%;
    background-position: center;
     z-index: 9;
    transform: translateY(-50%);
    
}

.frame:before{
    left: 0;
    transform: scale(-1,1) translateY(-50%);;
}

.frame:after{
    right: 0;
}

.frame-top:after{
      content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
     background: url(/static/mga/feature/anniv_live2025/new_250605/img/frame-hn-top.png);
    background-position: center;
    background-size: auto 100%;
    z-index: 9;
    width: calc(100% - 1089.5px);
    height: 52.8px;
}


.frame-bottom:after{
      content: "";
    display: block;
     position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
     background: url(/static/mga/feature/anniv_live2025/new_250605/img/frame-hn-bottom.png);
    background-size: auto 100%;
    background-position: center;
    z-index: 9;
    width: calc(100% - 1089.5px);
    height: 51.8px;
}
.frame-top .frame-left span,.frame-top .frame-right span{
    content: "";
    display: block;
     position: absolute;
    top: 0;
     background: url(/static/mga/feature/anniv_live2025/new_250605/img/frame-top.png) no-repeat;
    background-size: 100% 100%;
    z-index: 9;
    width: 545px;
    height: 173px;
}

.frame-bottom .frame-left span,.frame-bottom .frame-right span{
     content: "";
    display: block;
    position: absolute;
    bottom: 0;
     background: url(/static/mga/feature/anniv_live2025/new_250605/img/frame-bottom.png) no-repeat;
    background-size: 100% 100%;
    z-index: 9;
    display: block;
    width: 545px;
    height: 173px;
}

.frame-left span{
    left: 0;
    transform: scale(-1,1);
}
.frame-right span{
    right: 0;
}

.frame-left:before,.frame-right:before{
    content: "";
    display: block;
    position: absolute;
    width:55.5px;
    height:107px;
    background:url(/static/mga/feature/anniv_live2025/new_250605/img/frame-vt-deco.png);
    background-size: 100% 100%;
}
.frame-left:before{
    transform: scale(-1,1);
}
.frame-top .frame-left:before{
    left: 0;
    top:173px;
}
.frame-top .frame-right:before{
    top: 173px;
    right: 0;
}
.frame-bottom .frame-left:before{
    left: 0;
    bottom:173px;
}
.frame-bottom .frame-right:before{
    right: 0;
    bottom:173px;
}


.frame-left:after,.frame-right:after{
    content: "";
    display: block;
     position: absolute;
    width:55.5px;
    height:calc(50% - 332px);
    background:url(/static/mga/feature/anniv_live2025/new_250605/img/frame-vt.png);
    background-size: 100% auto;
}
.frame-left:after{
    transform: scale(-1,1);
}
.frame-top .frame-left:after{
    left: 0;
    top:280px
}
.frame-top .frame-right:after{
    top: 280px;
    right: 0;
}
.frame-bottom .frame-left:after{
    left: 0;
    bottom:280px;
}
.frame-bottom .frame-right:after{
    right: 0;
    bottom:280px
}
@media screen and (min-width: 897px) {
    .frame{
    min-height: 350px;
    
    
}
    
}
@media screen and (max-width: 1200px){
    
    .frame-top:after{
     width: calc(100% - 610px);
}


.frame-bottom:after{
     width: calc(100% - 610px);
}
    
    .frame-top .frame-left span,.frame-top .frame-right span{
     background: url(/static/mga/feature/anniv_live2025/new_250605/img/frame-top-m.png) no-repeat;
    background-size: 100% 100%;
    width: 305px;
}

.frame-bottom .frame-left span,.frame-bottom .frame-right span{
     background: url(/static/mga/feature/anniv_live2025/new_250605/img/frame-bottom-m.png) no-repeat;
    background-size: 100% 100%;
    width: 305px;
}
    
}


@media screen and (max-height: 700px) and (min-width: 897px) {
    .frame-left:before,.frame-right:before{
    display: none;
}
.frame-left:after,.frame-right:after{
    height:calc(50% - 225px);
}    
.frame-top .frame-left:after{
    left: 0;
    top:173px;
}
.frame-top .frame-right:after{
     top:173px;
    right: 0;
}
.frame-bottom .frame-left:after{
    left: 0;
    bottom:173px;
}
.frame-bottom .frame-right:after{
    right: 0;
    bottom:173px;
}
}

@media screen and (max-height: 450px) and (min-width: 897px) {
    
.frame:before,.frame:after{
    display: none;
}
    
    .frame-left:before,.frame-right:before{
    display: none;
}
.frame-left:after,.frame-right:after{
    height:calc(50% - 173px);
}    

}

@media screen and (max-width: 896px){
    .frame{
        min-height: 32vw;
    }
    .frame:before,.frame:after{
    width: 7.2vw;
    height: 13.6vw;
    
}
 .frame-top:after{
    width: calc(100% - 80vw);
    height: 7vw;
}


.frame-bottom:after{
     width: calc(100% - 80vw);
   height: 6.8vw;
}
    
    .frame-top .frame-left span,.frame-top .frame-right span{
    width:40vw;
        height: 22.7vw;
}

.frame-bottom .frame-left span,.frame-bottom .frame-right span{
   width:40vw;
        height: 22.7vw;
}
    .frame-left:before, .frame-right:before{
        background: url(/static/mga/feature/anniv_live2025/new_250605/img/frame-vt-deco-sp.png);
        background-size: 100% 100%;
        width: 7.2vw;
        height: 16.8vw;
    }
    
.frame-top .frame-left:before{
    left: 0;
    top:22.7vw;
}
.frame-top .frame-right:before{
    top: 22.7vw;
    right: 0;
}
.frame-bottom .frame-left:before{
    left: 0;
    bottom:22.7vw;
}
.frame-bottom .frame-right:before{
    right: 0;
    bottom:22.7vw;
}
    
.frame-left:after,.frame-right:after{
    width: 7.2vw;
    height:calc(50% - 46.2vw);
}
.frame-left:after{
    transform: scale(-1,1);
}
.frame-top .frame-left:after{
    left: 0;
    top:39.5vw;
}
.frame-top .frame-right:after{
    top:39.5vw;
    right: 0;
}
.frame-bottom .frame-left:after{
    left: 0;
    bottom:39.5vw;
}
.frame-bottom .frame-right:after{
    right: 0;
    bottom:39.5vw;
}
    
}


@media (min-aspect-ratio: 1/1) and (max-width: 896px) {
      .frame:before,.frame:after{
     width: 5.1vw;
    height: 9.66vw;
    
}
 .frame-top:after{
    width: calc(100% - 56vw);
    height: 4.8vw;
}


.frame-bottom:after{
    width: calc(100% - 56vw);
    height: 4.7vw;
}
    
    .frame-top .frame-left span,.frame-top .frame-right span{
    width:28vw;
        height: 15.9vw;
}

.frame-bottom .frame-left span,.frame-bottom .frame-right span{
   width:28vw;
        height: 15.9vw;
}
    .frame-left:before, .frame-right:before{
        width: 5.1vw;
        height: 11.9vw;
    }
    
.frame-top .frame-left:before{
    left: 0;
    top:15.9vw;
}
.frame-top .frame-right:before{
    top: 15.9vw;
    right: 0;
}
.frame-bottom .frame-left:before{
    left: 0;
    bottom:15.9vw;
}
.frame-bottom .frame-right:before{
    right: 0;
    bottom:15.9vw;
}

    
.frame-left:after,.frame-right:after{
    width: 5.1vw;
    height:calc(50% - 32.6vw);
}
.frame-left:after{
    transform: scale(-1,1);
}
.frame-top .frame-left:after{
    left: 0;
    top:27.8vw;
}
.frame-top .frame-right:after{
    top:27.8vw;
    right: 0;
}
.frame-bottom .frame-left:after{
    left: 0;
    bottom:27.8vw;
}
.frame-bottom .frame-right:after{
    right: 0;
    bottom:27.8vw;
}
    

}

@media (min-aspect-ratio: 4/3) and (max-width: 896px) {
    
   .frame-left:before, .frame-right:before{
        display: none;
    }
    .frame-left:after,.frame-right:after{
    width: 5.1vw;
    height:calc(50% - 20.6vw);
}
.frame-left:after{
    transform: scale(-1,1);
}
.frame-top .frame-left:after{
    left: 0;
    top:15.9vw;
}
.frame-top .frame-right:after{
    top:15.9vw;
    right: 0;
}
.frame-bottom .frame-left:after{
    left: 0;
    bottom:15.9vw;
}
.frame-bottom .frame-right:after{
    right: 0;
    bottom:15.9vw;
}
  
}




@media (min-aspect-ratio: 2/1) and (max-width: 896px) {
    
  .frame:before,.frame:after{
   display: none;
    
}
    .frame-left:after,.frame-right:after{
    width: 5.1vw;
    height:calc(50% - 15.8vw);
}

  
}


.frame-overlay{
     width: 100%;
    height: 100%;
    position: fixed;
    top: 0%;
    z-index: 9998;
    opacity: 0.7;
     pointer-events: none;
   
   
}
@media screen and (min-width: 897px) {
    .frame-overlay{
    min-height: 350px;
    
    
}
    
}
@media screen and (max-width: 896px){
    .frame-overlay{
    min-height: 32vw;
    
    
}
}
.frame-overlay span:nth-child(1):before,.frame-overlay span:nth-child(1):after{
    content: "";
    display: block;
    position: absolute;
    left:0;
    width:100%;
    height:22px;
    background:#000d55;
    z-index: 2;
    
}
.frame-overlay span:nth-child(1):before{
    top: 0;
}
.frame-overlay span:nth-child(1):after{
    bottom: 0;
}

.frame-overlay span:nth-child(2):before,.frame-overlay span:nth-child(2):after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    width:25px;
    height:100%;
   background:#000d55;
}
.frame-overlay span:nth-child(2):before{
    left: 0;
    clip-path: polygon( 0 0, 100% 0, 100% calc(50% - 10px), calc(100% - 7px) 50%, 100% calc(50% + 10px), 100% 100%, 0 100%);
    
}
.frame-overlay span:nth-child(2):after{
   right: 0;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 calc(50% + 10px), 7px 50%, 0 calc(50% - 10px));
}


@media screen and (max-height: 450px) and (min-width: 897px) {
    
.frame-overlay span:nth-child(2):before{
    clip-path: none;
    
}
.frame-overlay span:nth-child(2):after{
   right: 0;
    clip-path:  none;
}
    
}

@media screen and (max-width: 896px){
    
    .frame-overlay span:nth-child(1):before,.frame-overlay span:nth-child(1):after{
    height:3vw;
    
}
    
    .frame-overlay span:nth-child(2):before{
   width:3.4vw;
    clip-path: polygon( 0 0, 100% 0, 100% calc(50% - 2vw), calc(100% - 1.2vw) 50%, 100% calc(50% + 2vw), 100% 100%, 0 100%);
    
}
.frame-overlay span:nth-child(2):after{
   width:3.4vw;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 calc(50% + 2vw), 1.2vw 50%, 0 calc(50% - 2vw));
}

}
@media (min-aspect-ratio: 1/1) and (max-width: 896px){
    
     .frame-overlay span:nth-child(1):before,.frame-overlay span:nth-child(1):after{
    height:2.2vw;
    
}
    
     .frame-overlay span:nth-child(2):before{
   width:2.8vw;
    
}
.frame-overlay span:nth-child(2):after{
   width:2.8vw;
}

}
@media (min-aspect-ratio: 2/1) and (max-width: 896px) {
    
 .frame-overlay span:nth-child(2):before{
    clip-path:none;
    
}
.frame-overlay span:nth-child(2):after{
    clip-path:none;
}
  
}



nav{
 width: 100%;
    min-width: 300px;
    font-family: "scrivano", serif;
     background: url(/static/mga/feature/anniv_live2025/new_250605/img/back.svg);
     background-size: 600px auto;
    animation: back-anime 50s linear infinite;
    font-weight: 700;
    text-align: center;
    color: #fff;
    font-size: 40px;
    position: fixed;
    right: 0;
    top: 0;
    height: 100dvh;
    z-index: 2;
    overflow-y: scroll;
    z-index: 999;
    display: none;
}


nav li{
    margin: 32px 0;
}

nav::-webkit-scrollbar{
  display:none;
}
.nav-inner{
    width: 100%;
     min-height: 100dvh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
     padding: calc(8vw + 80px) 0 calc(8vw + 80px);
}



    nav.open{
        display: block;
    }
    
    nav li{
        margin: 28px 0;
    }
    .nav-btn {
    display: block;
    position: fixed;
  top:40px;
    right: 40px;
    width: 60px;
    height: 60px;
    cursor: pointer;
    z-index: 9999;
    background: linear-gradient(to left, rgba(9, 39, 93, .7) 0%, rgba(8, 68, 85, .7) 40%, rgba(8, 68, 85, .7) 60%, rgba(9, 39, 93, .7) 100%);
    transition-duration: 0.2s;
    }
.toppage .nav-btn:not(.close){
    opacity: 0;
    pointer-events: none;
}
.toppage.past-hero .nav-btn{
    opacity: 1;
    pointer-events: auto;
}
.nav-btn.hover{
     filter: brightness(1.5);
}
.nav-btn:before,.nav-btn:after{
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: url(/static/mga/feature/anniv_live2025/new_250605/img/h2-back.jpg);
    background-size: 300px auto;
    z-index: 1;
    clip-path: polygon(0% 0%, 0% 100%, 2px 100%, 2px 2px, calc(100% - 2px) 2px, calc(100% - 2px) calc(100% - 2px), 2px calc(100% - 2px), 2px 100%, 100% 100%, 100% 0%);
    transition-duration: 0.2s;
}   
    .nav-btn:after{
        transform: rotate(45deg);
    } 
    .nav-btn-inner{
        filter: drop-shadow(0px 1px 1px #000000);
        width: 100%;
    height: 100%;
    }
    
   
    .nav-btn.close:before{
        transform: rotate(45deg);
    }
    .nav-btn.close:after{
        transform: rotate(0deg);
    }
 .nav-btn span {
        position: absolute;
        left:15px;
        width: 30px;
        height: 2px;
          background: url(/static/mga/feature/anniv_live2025/new_250605/img/h2-back.jpg);
        transition-duration: 0.2s;
     
    }
    
   

    .nav-btn span:nth-of-type(1) {
        top: calc(36% - 0.5px);
        background-position: top left;
    }

    .nav-btn.close span:nth-of-type(1) {
        top: calc(50% - 0.5px);
        transform: rotate(45deg);
    }

    .nav-btn span:nth-of-type(2) {
        top: 50%;
        margin-top: -1px;
        background-position: center;
    }

    .nav-btn.close span:nth-of-type(2) {
        opacity: 0;
        transform: translateX(-20%);

    }

    .nav-btn span:nth-of-type(3) {
        bottom: calc(36% - 0.5px);
        background-position: bottom right;
    }

    .nav-btn.close span:nth-of-type(3) {
        bottom: calc(50% - 1px);
        transform: translateY(0) rotate(-45deg);
    }


@media screen and (max-width: 896px){
    nav{
        font-size: 28px;
    }
    .nav-btn {
        top: 28px;
        right: 24px;
     width: 42px;
    height: 42px;
    }
    .nav-btn span{
        left: 8px;
        width: 24px;
    }
    
}

section{
    position: relative;
    z-index: 2;
}

.trigger{
    position: absolute;
    top: -40px;
}
section.hero{
    height: 100dvh;
    position: relative;
    min-height: 640px;
}


section.hero h1{
    width: 85%;
    max-width: 640px;
    position: absolute;
    top: 60px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0 auto;
    filter: drop-shadow(0px 0px 10px rgba(0,32,81,.8));
}
section.hero h1 img:not(:first-child){
    position: absolute;
    top: 0;
    left: 0;
}
section.hero h1 img{
    display: block;
    opacity: 0;
}
section.hero h1.on img:not(:first-child):not(:last-child){
     animation: h1_anime_1  0.8s forwards ease;
}

section.hero h1.on img:first-child{
    animation: h1_anime_2  0.8s forwards ease;
}
section.hero h1.on img:last-child{
    animation: h1_anime_3  0.8s forwards ease-out;
    opacity: 1;
    -webkit-clip-path: inset(0 100% 0 0);
clip-path: inset(0 100% 0 0);
}
@keyframes h1_anime_1  {
  0% {
     transform:translateY(-30%);
      opacity: 0;
  }
    50%{
        opacity: 1;
    }
   
  100% {
   transform:translate(0%);
      opacity: 1;
  }
}
@keyframes h1_anime_2  {
  0% {
      opacity: 0;
  }
   
  100% {
      opacity: 1;
  }
}
@keyframes h1_anime_3  {
  0% {
      -webkit-clip-path: inset(0 100% 0 0);
clip-path: inset(0 100% 0 0);
  }
   
  100% {
      -webkit-clip-path: inset(0);
clip-path: inset(0);
  }
}
section.hero h1.on img:nth-child(1){
  animation-delay: 1.2s !important;
}
section.hero h1.on img:nth-child(2){
  animation-delay: 0.075s !important;
}
section.hero h1.on img:nth-child(3){
  animation-delay: 0.15s !important;
}
section.hero h1.on img:nth-child(4){
  animation-delay: 0.225s !important;
}
section.hero h1.on img:nth-child(5){
  animation-delay: 0.3s !important;
}
section.hero h1.on img:nth-child(6){
  animation-delay: 0.375s !important;
}
section.hero h1.on img:nth-child(7){
  animation-delay: 0.45s !important;
}
section.hero h1.on img:nth-child(8){
  animation-delay: 0.525s !important;
}
section.hero h1.on img:nth-child(9){
  animation-delay: 1.4s !important;
}

.hero-menu{
    position: absolute;
    bottom: 60px;
    width: 100%;
    
}
.hero-menu ul{
    width: 100%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.hero-menu li{
    margin: 10px 10px;
    position: relative;
}

.hero-menu-frame{
    position: absolute;
    top: -4px;
    left: -4px;
    width: calc(100% + 8px);
    height: calc(100% + 8px);
    z-index: 9;
    pointer-events: none;
    filter: drop-shadow(0px 1px 1px #000000);
    
    
}
.hero-menu-frame span{
     display: block;
     position: absolute;
    width: 100%;
    height: 100%;
}
.hero-menu-frame span:nth-child(1){
   
     clip-path: polygon(0% 15px, 15px 15px, 15px 0%, calc(100% - 15px) 0%, calc(100% - 15px) 15px, 100% 15px, 100% calc(100% - 15px), calc(100% - 15px) calc(100% - 15px), calc(100% - 15px) 100%, 15px 100%, 15px calc(100% - 15px), 0% calc(100% - 15px));
}
.hero-menu-frame span:nth-child(1):after{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
     background:url(/static/mga/feature/anniv_live2025/new_250605/img/h2-back.jpg);
    background-size: 300px auto;
     clip-path: polygon(0% 0%, 0% 100%, 1px 100%, 1px 1px, calc(100% - 1px) 1px, calc(100% - 1px) calc(100% - 1px), 2px calc(100% - 1px), 1px 100%, 100% 100%, 100% 0%);
}

.hero-menu-frame span:nth-child(2):before,.hero-menu-frame span:nth-child(2):after,.hero-menu-frame span:nth-child(3):before,.hero-menu-frame span:nth-child(3):after{
    content: "";
    display: block;
    position: absolute;
   
    width:15px;
    height:15px;
    background:url(/static/mga/feature/anniv_live2025/new_250605/img/box-frame-corner.png);
    background-size: 100% 100%;
}
.hero-menu-frame span:nth-child(2):before{
     top:0;
    left:0;
}
.hero-menu-frame span:nth-child(2):after{
     top:0;
    right:0;
    transform: scale(-1,1);
}
.hero-menu-frame span:nth-child(3):before{
     bottom:0;
    left:0;
    transform: scale(1,-1);
}
.hero-menu-frame span:nth-child(3):after{
    bottom:0;
    right:0;
    transform: scale(-1,-1);
}

.hero-menu a{
    display: flex;
    position: relative;
    padding: 8px 20px;
    background: linear-gradient(to left, rgba(9, 39, 93, .8) 0%, rgba(8, 68, 85, .9) 40%, rgba(8, 68, 85, .9) 60%, rgba(9, 39, 93, .8) 100%);
    justify-content: center;
    align-items: center;
    transition-duration: 0.2s;
}

.hero-menu a.hover{
    filter: brightness(1.5);
}
.hero-menu li:after {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: url(/static/mga/feature/anniv_live2025/new_250605/img/h2-back.jpg);
    background-size: 300px auto;
    z-index: 1;
    clip-path: polygon(0% 0%, 0% 100%, 2px 100%, 2px 2px, calc(100% - 2px) 2px, calc(100% - 2px) calc(100% - 2px), 2px calc(100% - 2px), 2px 100%, 100% 100%, 100% 0%);
    transition-duration: 0.2s;
}

.hero-menu a span{
    background-image: url(/static/mga/feature/anniv_live2025/new_250605/img/h2-back.jpg);
    background-size: 500px auto;
    -webkit-background-clip: text;
    color: transparent;
    display: inline-block;
    font-family: "scrivano", serif;
    font-size: 24px;
    transition-duration: 0.2s;
    
}
.hero-menu a.hover span{
    filter:drop-shadow(0px 0px 2px rgba(255,255,255,.5));
}

@media screen and (max-width: 896px){
    section.hero{
    height: auto;
    position: relative;
    min-height: auto;
}
    
    .first-view{
        position: relative;
        height: 100lvh;
    }
    .hero-menu{
        padding: 10px 0 40px;
        position: static;
        bottom: 20px;
    }
    .hero-menu ul{
        justify-content: space-between;
        width: 90%;
        margin: 0 auto;
    }
    .hero-menu li{
        width: calc(50% - 10px);
        margin: 0;
        margin-bottom: 20px;
    }
    .hero-menu li.hero-menu-center{
        margin: 0 auto;
    }
    .hero-menu a{
        padding: 16px 0;
    }
    .hero-menu a span{
    font-size: 16px;
}

    
    
}
section:not(.hero){
    width: 85%;
    max-width: 840px;
    margin: 0 auto;
    padding: 80px 0 80px;
   
}
.sec-contents{
     opacity: 0;
    transition-duration: 0.8s;
    transform: translateY(50px);
}
section:not(.hero).on .sec-contents{
    opacity: 1;
     transform: translateY(0px);
}



.common-btn{
    width: 100%;
    max-width: 280px;
    height: 60px;
     display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    background:#fff;
    color: #0a2342;
    position: relative;
    z-index: 2;
    border-radius: 200px;
    box-shadow: 0 0 10px rgba(255,255,255,.5);
    transition-duration: 0.2s;
    margin: 0 auto 0;
    line-height: 1.4;
    font-weight: bold;
    text-align: center;
  
}

.common-btn.min{
    width: 148px;
    height: 40px;
     font-family: 'iowan_old_style';
    font-weight: 700;
}
.common-btn.hover{
   
     color: #fff;
   background:#0a2342;
    box-shadow: 0 0 10px #fff;
}
.common-btn:before,.common-btn:after{
    content: "";
    display: block;
    position: absolute;
    top:calc(50% - 8px);
    width:15px;
    height:16px;
    background:url(/static/mga/feature/anniv_live2025/new_250605/img/common-btn.svg);
    filter: brightness(1);
}

.common-btn.hover:before,.common-btn.hover:after{
    filter: brightness(999);
}
.common-btn:before{
    left: 10px;
    transform: scale(-1,1);
}
.common-btn:after{
    right: 10px;
}
.border{
    position: absolute;
    width: 100%;
    left: 0;
    height: 2px;
    background: url(/static/mga/feature/anniv_live2025/new_250605/img/border.svg?1);
    opacity: 0.8;
}

.border span{
    display: block;
    position: absolute;
    width: 39px;
    height: 10px;
    left: calc(50% - 18.5px);
    top: -4px;
    background: url(/static/mga/feature/anniv_live2025/new_250605/img/border-center.svg) no-repeat;
}
.border:before,.border:after{
     content: "";
    position: absolute;
    top: -4px;
    width: 16px;
    height: 10px;
    background: url(/static/mga/feature/anniv_live2025/new_250605/img/border-tip.svg);
    
}
.border:before{
   left: -2px;
    transform: scale(-1,1);
}
.border:after{
    right: -2px;
    
}
.border.top{
    top: -1px;
}


.border.bottom{
    bottom: -1px;
}




.box{
    
    position: relative;
    
    
}

.box:before{
    content: "";
    display: block;
    position: absolute;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    background:url(/static/mga/feature/anniv_live2025/new_250605/img/h2-back.jpg);
    background-size: 300px auto;
    z-index: 1;
    clip-path: polygon(0% 0%, 0% 100%, 2px 100%, 2px 2px, calc(100% - 2px) 2px, calc(100% - 2px) calc(100% - 2px), 2px calc(100% - 2px), 2px 100%, 100% 100%, 100% 0%);
}
.box-frame{
    position: absolute;
    top: -7.5px;
    left: -7.5px;
    width: calc(100% + 15px);
    height: calc(100% + 15px);
    z-index: 9;
    pointer-events: none;
    filter: drop-shadow(0px 1px 1px #000000);
    
    
}
.box-frame span{
     display: block;
     position: absolute;
    width: 100%;
    height: 100%;
}
.box-frame span:nth-child(1){
   
     clip-path: polygon(0% 30px, 30px 30px, 30px 0%, calc(100% - 30px) 0%, calc(100% - 30px) 30px, 100% 30px, 100% calc(100% - 30px), calc(100% - 30px) calc(100% - 30px), calc(100% - 30px) 100%, 30px 100%, 30px calc(100% - 30px), 0% calc(100% - 30px));
}
.box-frame span:nth-child(1):after{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
     background:url(/static/mga/feature/anniv_live2025/new_250605/img/h2-back.jpg);
    background-size: 300px auto;
     clip-path: polygon(0% 0%, 0% 100%, 2px 100%, 2px 2px, calc(100% - 2px) 2px, calc(100% - 2px) calc(100% - 2px), 2px calc(100% - 2px), 2px 100%, 100% 100%, 100% 0%);
}

.box-frame span:nth-child(2):before,.box-frame span:nth-child(2):after,.box-frame span:nth-child(3):before,.box-frame span:nth-child(3):after{
    content: "";
    display: block;
    position: absolute;
   
    width:31px;
    height:31px;
    background:url(/static/mga/feature/anniv_live2025/new_250605/img/box-frame-corner.png);
    background-size: 100% 100%;
}
.box-frame span:nth-child(2):before{
     top:0;
    left:0;
}
.box-frame span:nth-child(2):after{
     top:0;
    right:0;
    transform: scale(-1,1);
}
.box-frame span:nth-child(3):before{
     bottom:0;
    left:0;
    transform: scale(1,-1);
}
.box-frame span:nth-child(3):after{
    bottom:0;
    right:0;
    transform: scale(-1,-1);
}
.box-inner{
    position: relative;
   
}

.box-inner:after{
    content: "";
    display: block;
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background: linear-gradient(to left, rgba(9,39,93,.7) 0%, rgba(8,68,85,.7) 40%,rgba(8,68,85,.7) 60%, rgba(9,39,93,.7) 100%);
    z-index: -2;
    transition-duration: 0.2s;
}

@media screen and (max-width: 896px){
    
    section:not(.hero){
    width: 85%;
    margin: 0 auto;
    padding: 60px 0;
   
}
    
    .common-btn{
        font-size: 12px;
        height: 54px;
    }
    
}

h2{
        font-family: "scrivano", serif;
font-weight: 700;
    text-align: center;
    font-size: 40px;
    margin-bottom: 40px;
}
h2{
    opacity: 0;
    transition-duration: 0.2s;
}


h2 span{
    opacity: 0;
}

section.on h2{
    opacity: 1;
}
section.on h2.gritter-txt span{
    opacity: 0;
    animation: hover  0.8s forwards cubic-bezier(0,.69,.41,1);
}


@media screen and (max-width: 896px){
    h2{
        font-size: 32px;
    }
}

.news ul.old{
    display: none;
}
.news li{
   position: relative;
    padding: 28px 20px;
}




.news li a{
    font-size: 14px;
    line-height: 1.6;
    display: block;
    transition-duration: 0.2s;
}
.news li a.hover{
    transform: translateX(10px);
}
.news li a .news-date{
    display: block;
    font-family: 'iowan_old_style';
    font-weight: 700;
    font-size: 13px;
    
}
.news .common-btn{
    margin-top: 40px;
}


@media screen and (max-width: 896px){
    

.news li{
    padding: 20px 12px;
    
}

.news li a{
    font-size: 12px;
  
}

.news li a .news-date{
    font-size: 10px;
    
}
.news .common-btn{
    margin-top: 40px;
}

    
}



.schedule li:nth-child(1){
    margin-bottom: 40px;
}
.schedule li .box-inner{
    position: relative;
    padding: 40px 0px;
    text-align: center;
}

.schedule li .date{
    font-size: 48px;
    font-weight: 900;
    letter-spacing: 0.02em;
    margin-bottom: 8px;
      font-family: 'iowan_old_style';
    font-weight: 700;
   
    
}

.schedule li .date .year{
    font-size: 60%;
}

.schedule li .date small{
    font-size: 40%;
    margin-left: 0.2em;
}
.schedule li .box-inner:before{
    content: "SOLD OUT";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%,-50%) rotate(-10deg);
    font-size: 80px;
    flex-wrap: 700;
    opacity: 0.4;
      font-family: 'iowan_old_style';
    font-weight: 700;
    letter-spacing: 0.15em;
    z-index: -1;
  
    
}
.schedule li .area{
    font-size: 28px;
    margin-bottom: 4px;
    font-weight: 700;
}

.venue{
    font-size: 24px;
    margin-bottom: 8px;
    font-weight: 700;
}

.time{
    font-size: 18px;
    margin-bottom: 20px;
    font-weight: 700;
    
    
}


.info{
    font-size: 14px;
}
.schedule li .time small{
    display: block;
    font-size: 12px;
    margin-top: 4px;
}


@media screen and (max-width: 896px){
    
    .schedule li:nth-child(1){
    margin-bottom: 40px;
}
.schedule li .box-inner{
    position: relative;
    padding: 32px 0px;
    text-align: center;
}

.schedule li .date{
    font-size: 32px;
   
    
}
.schedule li .box-inner:before{
    font-size: 60px;
  
    
}
.schedule li .area{
    font-size: 16px;
}

.venue{
    font-size: 16px;
}

.time{
    font-size: 12px;
    margin-bottom: 12px;
    
}
.info{
    font-size: 10px;
}
.schedule li .time small{
   font-size: 9px;
}

    
}



.ticket .ticket-price li{
    position: relative;
    margin-bottom: 40px;
}

.ticket .ticket-price li .box-inner{
    position: relative;
    padding: 24px 20px;
    text-align: center;
}
.ticket .ticket-price li .seat{
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 8px;
}
.ticket .ticket-price li .seat span{
    font-size: 70%;
}
.ticket .ticket-price li .price{
    font-size: 36px;
    margin-bottom: 8px;
    letter-spacing: 0.05em;
     font-family: 'iowan_old_style';
    font-weight: 700;
    
}

.ticket .ticket-price li .price span{
    font-size: 50%;
    letter-spacing: 0;
}

.ticket .ticket-price li .tokuten{
    font-size: 16px;
}

.ticket .ticket-price li a{
    text-decoration: underline;
    font-size: 14px;
    margin-top: 12px;
    display: inline-block;
}
.ticket-price aside{
    font-size: 12px;
    margin-top: 8px;
    line-height: 1.4;
}


.tokuten-txt{
    text-align: center;
    font-size: 16px;
    line-height: 1.4;
    margin-bottom: 40px;
}

.seatmap{
    margin-bottom: 40px;
}
.modal-img{
    box-shadow: 0 0 10px #fff;
    display: block;
    background: #000;
    
    position: relative;
}

.modal-img img{
    transition-duration: 0.2s;
}
.modal-img.hover img{
    opacity: 0.8;
}

.modal-img:after{
    content: "";
    display: block;
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background: url(/static/mga/feature/anniv_live2025/new_250605/img/lens.svg) no-repeat;
    background-size: 60px auto;
    background-position: center;
    opacity: 0;
    transition-duration: 0.2s;
    transform: translateY(20px);
}
.modal-img.hover:after{
    opacity: 1;
    transform: translateY(0px);
}
.ticket .ticket-schedule{
    margin-top: 80px;
}
.ticket .ticket-schedule > li{
    position: relative;
    margin-bottom: 40px;
    transition-duration: 0.2s;
    
}

.ticket .ticket-schedule h3{
    padding: 32px 28px;
    font-size: 16px;
    cursor: pointer;
    position: relative;
}
.ticket .ticket-schedule h3:before,.ticket .ticket-schedule h3:after{
    content: "";
    display: block;
    position: absolute;
    top:50%;
    right: 20px;
    transform: translate(0%,-50%);
    width:24px;
    height:24px;
    background:url(/static/mga/feature/anniv_live2025/new_250605/img/slide-icon.svg) no-repeat;
    background-position: center;
}
.ticket .ticket-schedule h3:before{
    transform: translate(0%,-50%) rotate(90deg);
    transition-duration: 0.2s;
}
.ticket .ticket-schedule .open h3:before{
    transform: translate(0%,-50%) rotate(360deg);

}
.ticket .ticket-schedule .ticket-schedule-detail{
    padding: 0px 28px 40px;
    display: none;
   

}

.ticket .ticket-schedule dl.entry{
    text-align: center;
}

.condition dd{
    font-size: 13px;
    line-height: 1.6;
    padding: 12px 0;
}
.condition dd a{
    text-decoration: underline;
}


.condition .common-btn{
    margin-top: 20px;
}
.condition dd small{
    font-size: 10px;
    display: block;
}
.ticket .ticket-schedule dl dt{
    background: rgba(1,31,63,.6);
    padding: 12px 0;
    font-size: 14px;
    text-align: center;
   
  
}
.ticket .ticket-schedule dl.entry dd{
    padding: 12px 0;
    font-size: 16px;
    line-height: 1.6;
}
.bullet-points li{
    padding-left: 1.2em;
    position: relative;
}

.bullet-points li .list-mark{
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
    width: 1em;
    display: block;
    
}



.ticket-nortice h3{
    text-align: center;
    font-size: 18px;
    margin-bottom: 40px;
   color: #ffef5c;
    line-height: 1.6;
}
.ticket-nortice dl{
    position: relative;
    padding: 40px 0;
}
.ticket-nortice dt{
    text-align: center;
    margin-bottom: 20px;
    font-size: 20px;
}
.ticket-nortice dd{
    font-size: 14px;
     line-height: 1.8;
}
.ticket-nortice ul:not(.bullet-points) li{
    padding-left: 1.3em;
    position: relative;
    
    margin-bottom: 4px;
   
}
.ticket-nortice ul:not(.bullet-points) > li:before{
    content: "●";
    position: absolute;
    top: 0;
    left: 0;
}

.ticket-nortice ol{
    counter-reset: item;
}
.ticket-nortice ol li{
    position: relative;
     padding-left: 1.3em;
    position: relative;
}
.ticket-nortice ol li:before {
  content: counter(item, decimal-leading-zero) ".";
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: item;
}

.ticket-nortice .aside{
    padding: 20px;
    background: rgba(1,31,63,.7);
}
.ticket-nortice .aside h5{
    text-align: center;
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 8px;
}

.ticket-nortice a:not(.common-btn){
    text-decoration: underline;
}
#family-seat .bullet-points li{
    padding-left: 1.8em;
}
.slide-btn {
  width: 100%;
  position: relative;
  display: block;
  cursor: pointer;
  border: solid 1px #fff;
  padding: 12px 32px 12px 12px;
}

.slide-btn:before,.ticket .slide-btn:after{
    content: "";
    display: block;
    position: absolute;
    top:50%;
    right: 20px;
    transform: translate(0%,-50%);
    width:24px;
    height:24px;
    background:url(/static/mga/feature/anniv_live2025/new_250605/img/slide-icon.svg) no-repeat;
    background-position: center;
}
.slide-btn:before{
    transform: translate(0%,-50%) rotate(90deg);
    transition-duration: 0.2s;
}
.slide-btn.open:before{
    transform: translate(0%,-50%) rotate(360deg);

}



@media screen and (max-width: 896px){
    

.ticket .ticket-price li .seat{
    font-size: 16px;
}

.ticket .ticket-price li .price{
    font-size: 24px;
}

.ticket .ticket-price li .tokuten{
    font-size: 12px;
}

.ticket .ticket-price li a{
    text-decoration: underline;
    font-size: 12px;
}
.ticket-price aside{
    font-size: 9px;
    margin-top: 8px;
}


.tokuten-txt{
    font-size: 14px;
}

.seatmap{
    margin-bottom: 40px;
}
.seatmap,.familyseat{
    box-shadow: 0 0 10px #fff;
    display: block;
    background: #000;
    
    position: relative;
}


.seatmap:after,.familyseat:after{
    background-size: 40px auto;
}

.ticket .ticket-schedule{
    margin-top: 60px;
}
.ticket .ticket-schedule > li{
    margin-bottom: 40px;
    
}

.ticket .ticket-schedule h3{
    padding: 28px 40px 28px 20px;
    font-size: 13px;
    cursor: pointer;
    position: relative;
}
.ticket .ticket-schedule h3:before,.ticket .ticket-schedule h3:after{
    right: 12px;
    width:20px;
    height:20px;
}

.ticket .ticket-schedule .ticket-schedule-detail{
    padding: 0px 20px 28px;
   

}



.condition dd{
    font-size: 12px;
    padding: 12px 0;
}


.condition dd small{
    font-size: 9px;
}
.ticket .ticket-schedule dl dt{
    font-size: 12px;
   
  
}
.ticket .ticket-schedule dl.entry dd{
   font-size: 14px;
}



.ticket-nortice h3{
    font-size: 16px;
    margin-bottom: 40px;
}

.ticket-nortice dt{
    font-size: 16px;
}
.ticket-nortice dd{
    font-size: 12px;
     line-height: 1.8;
}


.ticket-nortice .aside h5{
    font-size: 14px;

}



.slide-btn:before,.ticket .slide-btn:after{
    right: 12px;
    width:20px;
    height:20px;
}

    
}


.goods-lineup{
    margin-bottom: 40px;
}
.goods-lineup p{
    text-align: center;
    font-size: 12px;
    line-height: 1.4;
    margin-top: 20px;
}


.faq li{
    position: relative;
}

.faq li p{
   padding: 20px 40px;
    position: relative;
    line-height: 1.7;
    font-size: 14px;
}
.faq li p.question{
    cursor: pointer;
}
.faq li p span{
    position: absolute;
    top: 22px;
    left: 0;
    border: solid 1px #fff;
    width: 24px;
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    line-height: 1;
   font-family: 'iowan_old_style';
    font-weight: 700;
}

.faq li p.answer span{
    top: 0;
}
.faq li p.question:before,.faq li p.question:after{
    content: "";
    display: block;
    position: absolute;
    top:50%;
    right: 8px;
    transform: translate(0%,-50%);
    width:24px;
    height:24px;
    background:url(/static/mga/feature/anniv_live2025/new_250605/img/slide-icon.svg) no-repeat;
    background-position: center;
}
.faq li p.question:before{
    transform: translate(0%,-50%) rotate(90deg);
    transition-duration: 0.2s;
}
.faq li.open p.question:before{
    transform: translate(0%,-50%) rotate(360deg);

}

.faq li p.answer{
    display: none;
    padding-top: 0;
}

@media screen and (max-width: 896px){
    


.faq li p{
   padding: 20px 32px;
    font-size: 12px;
}
.faq li p.question{
    cursor: pointer;
}
.faq li p span{
    position: absolute;
    top: 22px;
    left: 0;
    width: 20px;
    height: 20px;
}


.faq li p.question:before,.faq li p.question:after{
    right: 4px;
    width:20px;
    height:20px;
}
.faq li p.question:before{
    transform: translate(0%,-50%) rotate(90deg);
    transition-duration: 0.2s;
}
.faq li.open p.question:before{
    transform: translate(0%,-50%) rotate(360deg);

}

.faq li p.answer{
    display: none;
}

    
}



footer {
    width: 74%;
    max-width: 520px;
    margin: 0 auto;
  position: relative;
  text-align: center;
 padding: 100px 0 100px;
    z-index: 2;
}


footer .sns {
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: centerl;
  gap: 20px;
  margin: 24px auto;
}

footer .sns svg {
  width: 100%;
  height: 100%;
}

.mga-10th {
  width: 40%;
  max-width: 200px;
  display: block;
  margin: 40px auto 0;
}

.sns a {
  font-size: 24px;
}

footer p {
  font-size: 14px;
    line-height: 1.6;
}

footer p small {
  display: block;
  font-size: 10px;
  margin-top: 10px;
}



@media screen and (max-width: 896px){
    
    footer {
 padding: 20px 0 80px;
}
   
    .sns a{
        font-size: 20px;
    }
    
    .sns li:first-child{
        width: 20px;
    }
  footer p {
    font-size: 10px;
  }

  footer p small {
    display: block;
    font-size: 9px;
    margin-top: 10px;
  }

    
}

.subpage main{
    padding-top: 100px;
}

.top-btn{
    margin-top: 40px;
}

@media screen and (max-width: 896px){
    .subpage main{
    padding-top:80px;
}
    
}

.news-detail-head{
    position: relative;
    padding-bottom: 28px;
    margin-bottom: 28px;
}

.news-detail-head .news-date{
     display: block;
    font-family: 'iowan_old_style';
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 8px;
}
.news-detail-head h3{
    font-size: 22px;
    line-height: 1.4;
    font-weight: bold;
}
.news-detail-txt{
    line-height: 1.4;
}
.news-detail-txt a{
    text-decoration: underline;
    word-break: break-all;
    
}



@media screen and (max-width: 896px){
    
    

.news-detail-head .news-date{
    font-size: 12px;
    margin-bottom: 8px;
}
.news-detail-head h3{
    font-size: 18px;
    line-height: 1.4;
}
.news-detail-txt{
    line-height: 1.4;
    font-size: 14px;
}
    
}



.how-to-buy{
        position: relative;
    padding: 40px 0;
}
.how-to-buy h3{
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 40px;
}
.how-to-buy-head p{
    text-align: center;
    margin-bottom: 20px;
    font-size: 18px;
    line-height: 1.4;
}

.how-to-buy-head .bullet-points{
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 40px;
}
.how-to-buy-nav{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    margin-bottom: 40px;
}

.how-to-buy-nav{
    border: solid 1px #fff;
}
.how-to-buy-nav button{
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(0,0,0,.6);
    color: #999;
    transition-duration: 0.2s;
}

.how-to-buy-nav button.active{
    color: #fff;
   background: linear-gradient(to left, rgba(9, 39, 93, 1) 0%, rgba(8, 68, 85, 1) 40%, rgba(8, 68, 85, 1) 60%, rgba(9, 39, 93, 1) 100%);
    font-weight: 700;
    text-shadow: 0 0 10px rgba(255,255,255,.5);
}
.how-to-buy-nav button:not(.active).hover{
    color: #fff;
}

.how-to-buy-nav button:not(:last-child){
    border-right: solid 1px #fff;
}
.how-to-buy-list > li{
    font-size: 14px;
    line-height: 1.6;
    text-align: justify;
    word-break: break-all; 
}

.how-to-buy-list li h4{
    display: block;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
    color: #ffef5c;
    line-height: 1.2;
}
.how-to-buy h5{
   color: #000;
    font-weight: 700;
    width: fit-content;
    padding: 2px 8px;
    margin-bottom: 8px;
    background: #fff;
    position: relative;
}
.how-to-buy h5:after{
    content: "";
    display: block;
    position: absolute;
    top:1px;
    left:1px;
    width:calc(100% - 2px);
    height:calc(100% - 2px);
    border: solid 1px #999;
}
.how-to-buy-list li dl{
    display: flex;
    flex-wrap: wrap;
    border: solid 1px rgba(255,255,255,1);
    border-bottom: none;
    background:rgba(0,0,0,.2);
}

.how-to-buy-list li dt{
   
    border-bottom: solid 1px rgba(255,255,255,1);
    border-right: dashed 1px rgba(255,255,255,.5);
    padding: 10px;
    text-align: center;
}

.how-to-buy1 dt{
     width: 20em;
}
.how-to-buy2 dt{
     width: 8em;
}
.how-to-buy-list li dd{
   
     border-bottom: solid 1px rgba(255,255,255,1);
    padding: 10px;
}


.how-to-buy1 dd{
     width: calc(100% - 20em);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.how-to-buy2 dd{
     width: calc(100% - 8em);
   
}

.how-to-buy-list li h6{
    font-size: 140%;
    text-align: center;
}
.how-to-buy-list li .common-btn{
    margin-top: 0;
}
.how-to-buy-list li .common-btn.goods-min{
    font-size: 12px;
    width: 240px;
    height: 54px;
    color: #fff;
    background: rgba(0,0,0,.2);
}
.how-to-buy-list li .common-btn.goods-min.hover{
    background: rgba(255,255,255,.2);
}
.how-to-buy-list li .common-btn.goods-min:before,.how-to-buy-list li .common-btn.goods-min:after{
    filter: brightness(100);
}
.how-to-buy-list li .store-btn.hover{
    background: rgba(255,255,255,.3);
}
.how-to-buy-list li a:not(.common-btn,.store-btn){
    text-decoration: underline;
    
}
.how-to-buy .common-btn{
    margin-top: 40px;
}



@media screen and (max-width: 896px){
    

   
.goods-lineup p{
    font-size: 10px;
    margin-top: 12px;
}

.how-to-buy{
        border-top: solid 1px rgba(255, 255, 255, .5);
    padding-top: 40px;
}
.how-to-buy h3{
    font-size: 18px;
    margin-bottom: 20px;
}
.how-to-buy-head p{
    margin-bottom: 20px;
    font-size: 14px;
}
    .how-to-buy-head h5{
        font-size: 12px;
    }
    .how-to-buy-head li{
        font-size: 12px;
    }
.how-to-buy-nav{
    margin-bottom: 20px;
    grid-template-columns: 1fr 1fr;
}

.how-to-buy-nav{
    border: solid 1px #fff;
}
.how-to-buy-nav button{
   text-align: center;
    font-size: 14px;
}
    .how-to-buy-nav button:nth-child(1),.how-to-buy-nav button:nth-child(2){
        border-bottom: solid 1px #fff;
    }

.how-to-buy-list > li{
    font-size: 12px;
}
    .how-to-buy1 dt{
        width: 50%;
    }
     .how-to-buy1 dd{
        width: 50%;
    }
    .how-to-buy-list li h4{
        font-size: 16px;
    }
    
    .how-to-buy-list li h6{
    font-size: 100%;
}
    .how-to-buy-list li .common-btn.goods-min{
        font-size: 10px;
        width: 220px;
        height: 48px;
    }

    
}

/* -------------------------------------------------
common
------------------------------------------------- */
.video{
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin: 1em 0;
}
.video iframe{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.ph{
    margin: 1em 0;
}
.ph img{width: 100%!important;}

/* -------------------------------------------------
wovn
------------------------------------------------- */
.wovn-languages,
.drawer-visible .wovn-languages {
font-size: 10px;
right: calc(8vw + 50px);
width: 10em;
top: 4.4vw;
height: 2.5em;
cursor: pointer;
position: fixed;
z-index: 999;
color: #006341;
background: rgba(255, 255, 255, 0.6);
border-radius: 999px;
-webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
}
.wovn-languages::before,
.drawer-visible .wovn-languages::before {
content: "";
display: block;
width: 0.5em;
height: 0.5em;
position: absolute;
top: 50%;
right: 10px;
margin-top: -4px;
border: 0px;
border-bottom: solid 1px #006341;
border-right: solid 1px #006341;
transform: rotate(45deg);
z-index: 10;
transition: 0.2s;
}
.wovn-languages .nav-current,
.drawer-visible .wovn-languages .nav-current {
position: absolute;
display: block;
width: 100%;
padding-left: 2em;
font-weight: bold;
display: flex;
align-items: center;
height: 100%;
}
.wovn-languages .langIcon,
.drawer-visible .wovn-languages .langIcon {
display: block;
fill: #006341;
width: 1.25em;
height: 1.25em;
font-size: 10px;
position: absolute;
left: 5px;
top: 50%;
line-height: 1;
transform: translateY(-50%);
}
@media screen and (min-width: 1px) and (max-width: 960px) {
.wovn-languages .langIcon,
.drawer-visible .wovn-languages .langIcon {
    width: 10px;
    height: 10px;
    left: 6px;
}
}
.wovn-languages .nav-dropdown,
.drawer-visible .wovn-languages .nav-dropdown {
position: absolute;
top: 50%;
left: 0;
width: 100%;
line-height: 1.4;
text-align: left;
z-index: 2;
transform: translateY(-50%);
border-radius: 0.5em;
}
.wovn-languages .nav-dropdown .list--language,
.drawer-visible .wovn-languages .nav-dropdown .list--language {
display: flex;
flex-wrap: wrap;
flex-direction: row;
}
.wovn-languages .nav-dropdown .list--language li,
.drawer-visible .wovn-languages .nav-dropdown .list--language li {
width: 100%;
display: none;
cursor: pointer;
padding-bottom: 0;
text-align: left;
padding: 0;
}
.wovn-languages .nav-dropdown .list--language li::after,
.drawer-visible .wovn-languages .nav-dropdown .list--language li::after {
content: none;
}
.wovn-languages .nav-dropdown .list--language li.selected,
.drawer-visible .wovn-languages .nav-dropdown .list--language li.selected {
display: block;
width: 100%;
padding-left: 2.2em;
order: -1;
font-weight: bold;
opacity: 0;
}

.wovn-languages.visible::before,
.drawer-visible .wovn-languages.visible::before {
transform: rotate(-135deg);
margin-top: -1px;
}
.wovn-languages.visible .nav-dropdown,
.drawer-visible .wovn-languages.visible .nav-dropdown {
opacity: 1;
pointer-events: visible;
z-index: 1;
border: none;
color: #f5f5f5;
width: calc(100% + 2px);
top: 2.5em;
left: -1px;
transform: translateY(0);
background: #006341;
border: 1px solid rgba(245, 245, 245, 0.3);
}
.wovn-languages.visible .nav-dropdown .list--language li,
.drawer-visible .wovn-languages.visible .nav-dropdown .list--language li {
display: block;
transition: opacity 0.4s;
padding: 5px 10px 5px 10px;
opacity: 0.6;
}
.wovn-languages.visible .nav-dropdown .list--language li.selected,
.drawer-visible .wovn-languages.visible .nav-dropdown .list--language li.selected {
pointer-events: none;
background: rgba(255, 255, 255, 0.15);
order: inherit;
opacity: 1;
transition: none;
position: relative;
}
.wovn-languages.visible .nav-dropdown .list--language li.selected::after,
.drawer-visible .wovn-languages.visible .nav-dropdown .list--language li.selected::after {
content: "";
display: block;
width: 0.5em;
height: 0.5em;
position: absolute;
top: 50%;
right: 10px;
margin-top: -3px;
border: 0px;
border-bottom: solid 2px #fff;
border-right: solid 2px #fff;
transform: rotate(-225deg);
}