@charset "UTF-8";
@font-face {
    font-family: ZenKurenaido;
    src: url(../font/Zen_Kurenaido/ZenKurenaido-Regular.ttf);
}

* {
    margin: 0;
    padding: 0;
}

a:hover {
    color: #FCF8F2;
    text-shadow: 0 0 10px #FCF8F2,0 0 20px #FF4B72,0 0 30px #FF4B72,0 0 40px #FF4B72;
    transition: 0.2s;
    transform: scale(1.05);
}

/* ここからヘッダー */

.main-visual {
    background-image: url(../images/top/main-visual.jpg);
    background-size: 100% 100%;
    padding-bottom: 60%;
}


header {
    position: fixed;
    top: 0;
    z-index: 1;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 2%;
}

    header nav {
        padding: 0.5%;
        background-color: rgba(252, 248, 242, 0.6);
        border-radius: 1vw;
    }

        header nav ul {
            display: flex;
            justify-content: space-around;
            align-items: center;
            list-style-type: none;
        }

        header nav ul h1 {
            width: 20%;
        }

            header nav ul h1 img {
                width: 100%;
            }

        header nav ul li {
            width: fit-content;
            text-align: center;
        }

            header nav ul li a {
                display: block;
                text-decoration: none;
                color: #3d2e2b;
                font-size: 4vw;
                font-weight: 700;
                font-family: ZenKurenaido;
            }

/* ここまでヘッダー */


/* ここからメイン */

main {
    background: #FCF8F2;
    background: linear-gradient(180deg, rgba(252, 248, 242, 1) 20%, rgba(255, 75, 144, 1) 40%, rgba(157, 78, 221, 1) 61%, rgba(15, 20, 36, 1) 80%);
    background-repeat: no-repeat;
    font-weight: 300;
    color: #FCF8F2;
    font-family: ZenKurenaido;
}

    /* キャッチコピー */
    main .img {
        padding-top: 10%;
    }

        main .img .sun {
            margin-bottom: 5%;
        }

            main .img .sun img:nth-of-type(1) {
                width: 35vw;
                margin-left: 10%;
                clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
            }

            main .img .sun img:nth-of-type(2) {
                width: 45vw;
                margin-left: 5%;
            }

            main .img .moon img:nth-of-type(1) {
                width: 40vw;
                margin-left: 10%;
            }

            main .img .moon img:nth-of-type(2) {
                width: 35vw;
                margin-top: 10%;
                margin-left: 5%;
                clip-path: polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%);
            }

    main .catch-copy p {
        line-height: 5;
        text-align: center;
        white-space: pre-wrap;
        padding-top: 10%;
        padding-bottom: 10%;
        font-size: 3.5vw;
        font-weight: 300;
        font-family: ZenKurenaido;
        color: #3d2e2b;
        text-shadow: 0px 0px 15px #FCF8F2,0px 0px 10px #FCF8F2,0px 0px 10px #FCF8F2,0px 0px 10px #FCF8F2,0px 0px 10px #FCF8F2,0px 0px 10px #FCF8F2,0px 0px 10px #FCF8F2;
        background-repeat: no-repeat;
        background-position: center;
        background-size: 50% 100%;
    }


    main section {
        width: 95%;
        margin-left: auto;
        margin-right: auto;
        padding-top: 10%;
        padding-bottom: 10%;
    }

    main section h3 {
        text-align: center;
        font-weight: 100;
        color: #FCF8F2; 
        text-shadow: 0 0 5px #2CD5A0,0 0 10px #FCF8F2,0 0 20px #2CD5A0,0 0 40px #2CD5A0,0 0 80px #2CD5A0,0 0 80px #2CD5A0;
        font-size: 8vw;
    }

            /* 見出しの横線 */
            main section .section-title {
                display: flex;
                align-items: center;
            }

            main section .section-title::before,
            main section .section-title::after {
                content: "";
                height: 1px;
                flex-grow: 1;
                background-color: #FCF8F2;
                box-shadow: 0 0 5px #2CD5A0,0 0 10px #FCF8F2,0 0 20px #2CD5A0,0 0 40px #2CD5A0,0 0 80px #2CD5A0,0 0 80px #2CD5A0;
            }

            main section .section-title::before {
                margin-right: 2rem;
            }

            main section .section-title::after {
                margin-left: 2rem;
            }


    /* メニュー */
    main section h4 {
        margin-top: 5%;
        margin-bottom: 2%;
        font-size: 6vw;
        text-shadow: 0 0 5px #FF4B72,0 0 10px #FCF8F2,0 0 20px #FF4B72,0 0 30px #FF4B72;
    }

    main .menu-flex {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
    }

        main section .menu-flex a img {
            width: 30vw;
            border-radius: 2vw;
            margin-bottom: 10%;
            box-shadow: 0 0 20px #FCF8F2;
        }


    /* ストア */
    main section .store-flex {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        margin-top: 10%;
    }

        main section .store-flex a img {
            width: 30vw;
            border-radius: 2vw;
            margin-bottom: 10%;
            box-shadow: 0 0 20px #FCF8F2;
        }


    /* ニュース */
    main section .news {
        width: 97%;
        margin-top: 5%;
        margin-left: auto;
        margin-right: auto;
        border: 0.1vw solid #FCF8F2;
        border-radius: 2vw;
        box-shadow: 0 0 10px #FCF8F2,0 0 60px #2CD5A0;
    }

        main section .news tr {
            display: block;
            margin: 5%;
            padding: 3% 0%;
            font-size: 3vw;
            border-bottom: 0.1vw solid #FCF8F2;
        }

            main section .news tr td a {
                display: inline-block;
                margin-left: 1rem;
                font-weight: 300;
                color: #FCF8F2;
                font-family: ZenKurenaido;
                text-decoration: none;
            }

    /* アクセス */
    main section iframe {
        display: block;
        margin-top: 5%;
        width: 100%;
        height: 30vw;
    }

    main section address {
        line-height: 2.5;
        font-style: normal;
        margin-top: 3%;
        font-size: 3vw;
    }

    /* コンタクト */

    main section form {
        width: 90%;
        margin-top: 5%;
        margin-left: auto;
        margin-right: auto;
        padding: 5%;
        font-family: serif;
        font-size: 2.2vw;
        border: 0.1vw solid #FCF8F2;
        border-radius: 2vw;
        box-shadow: 0 0 10px #FCF8F2,0 0 60px #2CD5A0;
    }

    main section form input {
        font-size: 2vw;
    }

    main section form select {
        font-size: 2vw;
    }

    main section form .form-flex {
        display: flex;
        margin-top: 3%;
        margin-bottom: 5%;
    }

        main section form .form-flex p {
            width: 25%;
            margin-right: 5%;
        }

        main section form .form-flex textarea {
            width: 60vw;
            height: 10vw;
        }

    main section form .precautions {
        white-space: pre-wrap;
        margin-top: 2%;
        margin-bottom: 5%;
    }

    main section form .agree {
       width: 15%;
       margin-left: auto;
       margin-right: auto;
       margin-bottom: 5%;
    }

    main section form .submit {
       width: 15%;
       margin-left: auto;
       margin-right: auto;
    }

    main section form .submit input[type="submit"] {
        margin-top: 5%;
        margin-bottom: 10%;
        padding: 13%;
        color: #FCF8F2;
        font-size: 2.5vw;
        border: none;
        background-color: #2CD5A0;
    }

    main section form .submit input[type="submit"]:hover {
        color: #FCF8F2;
        background-color: #FF4B72;
        transition: 0.2s;
        transform: scale(1.05);
    }

/* ここまでメイン */

/* ここからフッター */

footer {
    width: 100%;
    color: #3d2e2b;
    font-size: 2vw;
    background-color: #FCF8F2;
}

    footer .footer-flex {
        display: flex;
        line-height: 2;
        padding: 5% 5%;
    }

        footer .footer-flex address p {
                width: 60vw;
                font-style: normal;
                margin-top: 5%;
                margin-left: 5%;
                margin-bottom: 5%;
            }


        footer ul {
            list-style-type: none;
            width: 10%;
            margin-top: 5%;
            margin-left: 1%;
        }

            footer ul li a {
                display: block;
                text-decoration: none;
                color: #3d2e2b;
            }

            footer ul li a:hover {
                color: #FF4B72;
                text-shadow: 0 0 10px #FCF8F2,0 0 20px #FCF8F2,0 0 30px #FF4B72,0 0 40px #FF4B72;
            }


    footer .footer-text {
        text-align: center;
        padding: 3%;
    }

       footer .footer-text p a {
        text-decoration: none;
        color: #3d2e2b;
    } 

/* ここまでフッター */