@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100&display=swap');


/* 共通のスタイル */


* {
    scroll-behavior: smooth;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
}

a {
    text-decoration: none;
    color: black;
}

a:hover {
    opacity: 0.7;
}

body {
    font-family: "M PLUS Rounded 1c", sans-serif;
    width: 100%;
}

footer a:hover {
    color: #fff89c;
}


/* ------------------------
nav
-------------------------*/

header nav {
    width: 100%;
    background-color: rgb(149, 221, 255);
    padding: 20px 0;
}

header nav img {
    width: 70px;
    margin-left: 7%;
}


@media (max-width: 700px) {

    header nav {
        width: 100%;
        background-color: rgb(149, 221, 255);
        padding: 20px 0;
    }

    header nav img {
        width: 40px;
        margin-left: 7%;
    }

}

/*---------------------
main
----------------------*/


main {
    width: 90%;
    max-width: 1200px;
    margin: 10% auto 12%;
    padding: 5% 0;
}

main h1 {
    width: max-content;
    font-size: 3rem;
    margin-bottom: 5rem;
    padding: 0 16px 5px 5px;
    border-bottom: dotted 3px #3cb6db;
}

main p {
    font-size: 16px;
    margin-bottom: 8px;
}

main a {
    font-size: 16px;
    color: #3cb6db;
    border-bottom: solid 1px #3cb6db;
}


@media (max-width: 700px) {

    main h1 {
        width: max-content;
        font-size: 2rem;

    }


}



/*--------------
footer 
----------------*/


footer {
    overflow: hidden;
    width: 100%;
    background-color: rgb(149, 221, 255);
}

.flex-box07 {
    width: 80%;
    max-width: 1200px;
    display: flex;
    align-items: center;
    margin: 0 auto;
    padding-top: 7em;
    padding-bottom: 10em;
}

.flex-box07 .left {
    width: 65%;
}

.flex-box07 .left p {
    margin-top: 20px;
    font-size: 1.7vw;
    line-height: 2em;
}

.flex-box07 .right {
    width: 45%;
}

.flex-box07 .left img {
    width: 10%;
}

.flex-box07 .right p {
    font-size: 1.7vw;
    line-height: 2em;
}

.flex-box07 .right img {
    width: 7%;
    margin-top: 2em;
    margin-right: 10px;
}

.copy {
    text-align: center;
    color: #fff;
    padding-bottom: 3em;
    font-size: 1.2vw;
}

@media (max-width: 700px) {

    .flex-box07 {
        width: 80%;
        display: block;
        align-items: center;
        margin: 0 auto;
        padding-top: 2.5em;
        padding-bottom: 2.5em;
    }

    .flex-box07 .right {
        width: 100%;
    }

    .flex-box07 .left {
        width: 100%;
    }

    .flex-box07 .right p {
        font-size: 1.5em;
        line-height: 1.5em;
    }

    .flex-box07 .left p {
        margin-top: 20px;
        font-size: 1.5em;
        line-height: 1.5em;
        margin-bottom: 20px;
    }

    .flex-box07 .left img {
        width: 50px;
    }

    .flex-box07 .right img {
        width: 25px;
        margin-top: 1.5em;
        margin-left: 0px;
        margin-right: 10px;
    }

    .copy {
        text-align: center;
        color: #fff;
        padding-bottom: 10px;
        font-size: 0.2em;
    }

}

/* -----------------
soon
-------------------*/

.soon {
    font-size: 16px;
    width: max-content;
    border: solid 1px rgb(0, 157, 255);
    padding: 16px;
    margin: 3% auto;
    border-radius: 16px;
    background-color: rgba(0, 157, 255, 0.066);
}

@media (max-width: 700px) {

    .soon {
        font-size: 16px;
        width: max-content;
        border: solid 1px rgb(0, 157, 255);
        padding: 16px;
        margin: 10% auto 0;
        border-radius: 16px;
        background-color: rgba(0, 157, 255, 0.066);
    }

}












/* ########### 599px以下 ########### */
@media (max-width: 599px) {}



/* ########### 600px以上～768px以下 ########### */
@media (min-width: 600px) and (max-width: 768px) {}



/* ########### 769px以上 ########### */
@media (min-width: 769px) {}



/* ########### 1000px以上 ########### */
@media (min-width: 1000px) {}