@charset "UTF-8" ;

* {
    margin: 0;
    padding: 0;
}

@font-face {
    font-family: 'Zen_Kurenaido';
    src: url(../font/Zen_Kurenaido/ZenKurenaido-Regular.ttf);
}

@font-face {
    font-family: 'Zen_Kaku_Gothic_New';
    src: url(../font/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Regular.ttf);
}

@font-face {
    font-family: 'crayonfont';
    src: url(../font/crayonfont/crayon_1-1.ttf);
}

body {
    font-size: 1.2vw;
}

a {
    text-decoration: none;
}

/* ヘッダー */
header {
    position: relative;
    top: 0vw;
    left: 0vw;
    position: fixed;
    width: 100%;
    background-color: rgba(255, 255, 255, 1);
    filter: drop-shadow(0 2px 10px #333);

    z-index: 100;
}

.header-flexbox {
    display: flex;
    align-items: center;
    width: 97%;
    height: max(6vw,10vh);
    margin-left: auto;
}

/* バンド名 */
h1 { 
    width: 30%;
}

h1 a {
    display: block;
    text-align: center;
    font-size: 4vw;
    color: #434a85;

    font-family: 'crayonfont';
}
h1 a:hover {
    filter: brightness(120%) contrast(50%);
}

/* ナビ */
nav {
    width: 45%;
    margin-top: 3vw;
    margin-left: 12%;
}

nav ul {
    display: flex;
    justify-content: center;
    list-style-type: none;
}

nav ul li {
    margin: 0% 3%;
}

nav ul li a {
    position: relative;
    display: block;
    font-size: 1.5vw;
    color: #434a85;

    font-family: 'Zen_Kurenaido';
    transition: 0.5s;
}
nav ul li a::after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 97%;
    height: 100%;
}

nav ul li:hover a::after {
    border-top: 0.3vw dotted #434a85;
    transition: 0.3s;
}

/* SNS */
.sns-icon {
    width: 10%;
    margin-top: 3vw;

    font-size: 2vw;
}

.fa-brands {
    margin: 0% 4.5%;
}

.fa-brands:hover {
    filter: brightness(120%) contrast(50%);
    transition: 0.2s;
}

.fa-square-instagram {
    color: hwb(340 19% 12%);
}

.fa-square-x-twitter {
    color: rgb(58, 58, 58);
}

.fa-square-youtube {
    margin-right: 0;
    color: rgb(214, 45, 45);
}


/* メイン */
main {
    width: 100%;
    background: radial-gradient(circle,rgba(255, 255, 255, 1) 0%, rgb(209, 212, 236) 100%);
}

.parallax-img {
    width: 100%;
    height: 50vh;
  
    background-image: url(../images/movie.jpg);
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

/* セクション */
main section {
    display: flex;
    width: 80%;
    padding-top: 5%;
    padding-bottom: 20vh;
    margin-left: auto;
    margin-right: auto;
}

main section h2 {
    position: relative;
    width: 22%;
    height: 1.6em;
    line-height: 1.4em;
    margin-right: 5%;
    text-align: center;
    font-size: 3vw;
    font-weight: normal;
    color: #fff;
    font-family: 'Zen_Kurenaido';

    background-color: #272727;
}
main section h2::before {
    position: absolute;
    top: 1.6em;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 0.1vw;
    height: 20vw;
    background-color: #272727;

    transform: scaleY(0);
    transform-origin: top;
    animation: h2-line__anime 1.5s infinite;
}
@keyframes h2-line__anime {
    50% {
        transform: scaleY(1);
        transform-origin: top;
    }
    51% {
        transform: scaleY(1);
        transform-origin: bottom;
    }
    100% {
        transform: scaleY(0);
        transform-origin: bottom;
    }
}

section .youtube-area {
    width: 60%;
}

section .youtube-area p {
    margin-bottom: 1em;
    font-size: 1.4vw;
}

section .youtube-area p i {
    margin-right: 0.2em;
    rotate: 15deg;
    color: #efb33a;
}

section .youtube-area iframe {
    width: 100%;
    aspect-ratio: 16 / 9 ;
}

/* フッター */
footer {
    padding: 2%;
    background-color: #2f303b;
}

.footer-flexbox {
    display: flex;
    align-items: center;
    width: 35%;
    height: 5vw;
    margin: 1vw auto 3vw auto;
}

footer .footer-flexbox .footer-sns-icon + a {
    /* CONTACT */
    width: 20%;
    text-align: center;
    font-size: 1.6vw;
    color: #fff;
    transition: 0.2s;

    font-family: 'Zen_Kurenaido';
}

footer .footer-flexbox .footer-sns-icon + a:hover {
    filter: contrast(50%);
    transition: 0.3s;
}

footer .footer-flexbox .footer-sns-icon {
    display: flex;
    align-items: center;
    width: 55%;
    height: 4vw;
    padding: 0 10%;
    margin-right: 5%;
    border-radius: 2vw;

    background-color: #fff;
}

footer .footer-flexbox .footer-sns-icon a {
    display: block;
    width: 100%;
    margin: 0 5%;
    text-align: center;
    font-size: 3vw;
}

footer .footer-flexbox .footer-sns-icon a i {
    display: block;
}

footer p {
    text-align: center;
    font-size: 1.1vw;
}

footer p small {
    color: #fff;
}

footer p small span {
    margin-left: 0.5em;
}