:root{
    --black:#000;
    --white:#fff;
    --yellow:#ffcc33;
}
html{
    font-size: 100%;
}
img{
    max-width: 100%;
    vertical-align: bottom;
}
a{
    text-decoration:none ;
    display: block;
    color: var(--black);
}
li{
    list-style: none;
}
#header{
    height: 100px;
    background-color: var(--black);
    color: var(--yellow);
   font-size: 1.4rem;
   display: flex;
   flex-wrap: wrap;
   z-index: 2;
   position: fixed;
   width: 100%;
}
#header .site-title{
    line-height: 100px;
   text-align: center;
   max-width: 650px;

   font-family: 'Noto Serif JP', serif;
}
#header .header-image{
    margin: 0 auto;
    width: 40%;

}
#header .header-image ul{
    display: flex;
    height: 100px;
    align-items: center;
}
#header .header-image ul li{
    list-style: none;
    width:23% ;
    margin-left:2% ;
    text-align: center;
}
#header .header-image ul li img{
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    width: 80px;

}
.mainvisual{
    margin-bottom: 50px;
    height: calc(100vh);
}
.mainvisual .width{
    position: absolute;
    top: 120px;
    left: 20px;
    font-size: 1rem;
    color:var(--black);
}
.mainvisual .site-image{
    height:calc(100vh - 100px);
    width: 100%;
    position: relative;
    top: 100px;
}
.mainvisual .site-image img{
    object-fit: cover;
    height: calc(100vh + 100px);
}
.mainvisual .site-image img:nth-child(2){
    object-position: center;
}
.mainvisual .site-logo{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    height: 30%;
    border-radius: 50%;
    margin: auto;
}
.intro{
    max-width: 1400px;
    margin: 0 auto;
    text-align: center;
}
.intro p{
  font-size: 25px;
  padding-bottom: 30px;
}
.intro .btn{
    font-size: 1.2rem;
    padding:30px 25px ;
     display: inline-block;
     animation: anime 12s infinite;
     color:var(--black);
     font-weight:600 ;
     transition: all 0.3s ease-in-out;
 }
 .intro.btn:hover{
    transform: scale(1.05);
    box-shadow: 0 15px 15px  var(--yellow);
 }
 @keyframes anime{
    0% {background-color:#ffff66;}
    25% {background-color:#ffcc66;}
    50% {background-color:#ff9966;}
    75% {background-color:#ffcc66;}
    100% {background-color:#ffff66;}
 }
.content{
    justify-content: space-between;
    max-width: 1200px;
    margin: 70px auto;
    display: flex;
    flex-wrap: wrap;

}
main{
    width: 68%;
}
main #item .youtube{
    padding: 30px 30px;
}
main #item{
    margin-bottom: 50px;
}
main #item span{
    font-weight: bold;
}
main #item .player,main #item .players{
    background-image: linear-gradient(transparent 50%,var(--yellow) 50%);
    display: inline-block;
}
main #item .player:hover{
    background-image: linear-gradient(transparent 50%,#ff99cc 50%);
}
main #item .player:active{
    opacity: 0.7;
}
.section-title{
    background-color: var(--black);
    color: var(--yellow);
    font-size: 1.3rem;
    height: 40px;
    padding: 5px 15px;
    text-align: left;
    font-family: 'Noto Serif JP', serif;
}
aside{
    width: 25%;
}
aside .section-title{
    clip-path: polygon(0 0, 100% 0%, 92% 100%, 0% 100%);
}
aside .season{
    padding: 15px;
  border: 1px solid var(--black);
  border-radius: 5px;
  position: sticky;
  top: 130px;
  outline: 1px solid var(--black) ;
  outline-offset: 3px;
}
aside .season .season-title{
    font-size: 1.3rem;
    padding: 20px;
}
aside .season ul{
    padding: 15px;
}
aside .season ul li{
    display: flex;
    line-height: 2;
    font-size: 1.3rem;
}
aside .season ul li::before{
  content: "";
  margin: 14px 10px 0 0;
  display: inline-block;
  background-color: var(--yellow);
  height: 8px;
  width: 8px;
  border-radius: 50%;
}
aside .season ul li a:hover{
    color: var(--yellow);
    text-decoration: underline;
}
aside .season ul li a:hover:nth-child(3){
    color: #000;
    text-decoration: none;
}

#footer{
  background-color: var(--black);
  height: 300px;
  color: var(--yellow);
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
#footer .footer-title{
    font-size: 2rem;
    text-align: center;
    padding: 30px 0;
}
#footer .writer{
  width: 40%;
  border-right: var(--white) 1px solid;
  padding:0 50px;
}
#footer .writer .writer-detail img{
    border-radius: 50%;
    height: 120px;
    float: left;
    shape-outside: circle();
    padding-right: 25px;
}
#footer .writer .writer-detail p{
    font-size: 18px;
}
#footer .relating-site{
    width: 60%;
    padding: 0 50px;
}
#footer .relating-site .site-detail{
    display: flex;
    width: 100%;
    justify-content: space-between;
}
#footer .relating-site .site-detail-item{
    width: 23%;
    text-align: center;
}
#footer .relating-site .site-detail-item img{
    height: 120px;
    padding-bottom: 10px;
}
#footer .relating-site .site-detail-item a{
    color: var(--yellow);
    font-size: 15px;

}
#footer .relating-site .site-detail-item:hover{
    opacity: 0.7;
    text-decoration: underline;
}

@media (max-width:834px) {
    #header{
        font-size: 1rem;
    }
    #header .site-title{
        margin: 0 auto;
      
    }
    
    #header .header-image{
        display: none;
    }
    
    .intro p{
        font-size: 1rem;
    }
    .mainvisual .site-logo{
        height: 200px;
    }
    .content{
        flex-direction: column;
    }
    main,aside{
        width: 85%;
        margin: 0 auto;
    }
    main #item .section-title{
        font-size: 1rem;
    }
    main #item .youtube{
      width: 85%;
      margin: 0 7.5%;
      padding: 30px 0;
    }

    #footer .footer-title{
        font-size:1.2rem ;
    }
    #footer .writer,#footer .relating-site{
        padding: 0 20px;
    }
    #footer .writer .writer-detail  a{
        margin: 0 auto;
        display: flex;
        justify-content: center;
    }
    #footer .writer .writer-detail img{
        padding: 0;
        float: none;
        
    }
    #footer .writer .writer-detail p,#footer .relating-site .site-detail-item a p{
        display: none;
    }
    #footer .relating-site .site-detail{
        flex-wrap: wrap;
    }
    #footer .relating-site .site-detail .site-detail-item{
        width: 46%;
    }
    #footer .relating-site .site-detail .site-detail-item img{
       height: 100px;

    }
}
