@charset "utf-8";
@font-face { 
    font-family: "Gallient"; 
    src: url("assets/Gallient.ttf") format("truetype");
}

/* ベース要素のスタイル */
body {
    text-align: center;
    font-family: "ten-mincho", serif;
    background-color: #white;
    color: white;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

img {
    width: 100%;
    max-width: 100%; /* 過剰な拡大を防ぐ */
    height: auto;    /* アスペクト比を維持 */
}

/* ヘッダー関連のスタイル */
header {
    background-color: black;
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 1rem;
    box-sizing: border-box;
    flex-wrap: wrap;
}

header h1 {
    font-size: 1.5rem;
    margin: 0;
    text-align: left;
}

nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: 0.5rem;
}

header ul {
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    margin: 0;
    padding: 0;
    justify-content: center;
    gap: 1rem;
}

header li a {
    text-decoration: none;
    color: white;
    font-size: 1rem;
}

/* 見出し */
h2 {
    font-size: 2rem;
    font-family: Gallient;
    background-color: #204241;
    margin: 1rem 0;
    padding: 0.5rem;
    text-align: center;
}

/* フッター関連のスタイル */
footer {
    background-color: black;
    width: 100%;
    padding: 0.5rem 1rem;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

footer ul {
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    padding: 0;
    margin: 0;
    gap: 1rem;
    justify-content: center;
}

footer li a {
    text-decoration: none;
    color: white;
    font-size: 1rem;
}

.policy {
    margin: 1rem;
    text-align: center;
    font-size: 1rem;
}

/* レスポンシブ対応スタイル */
@media screen and (max-width: 1024px) {
    h2 {
        font-size: 1.8rem;
    }

    header h1 {
        font-size: 1.3rem;
    }

    header li a, footer li a {
        font-size: 0.9rem;
    }

    .policy {
        font-size: 0.9rem;
    }
}

@media screen and (max-width: 768px) {
    header, footer {
        flex-direction: column;
        align-items: center;
    }

    header ul, footer ul {
        flex-direction: column;
        gap: 0.5rem;
    }

    h2 {
        font-size: 1.5rem;
    }

    header h1 {
        font-size: 1.2rem;
        text-align: center;
    }

    .policy {
        margin: 0.5rem;
        font-size: 0.8rem;
    }
}

@media screen and (max-width: 480px) {
    header h1 {
        font-size: 1rem;
    }

    header li a, footer li a {
        font-size: 0.8rem;
    }

    h2 {
        font-size: 1.2rem;
        padding: 0.3rem;
    }

    .policy {
        font-size: 0.7rem;
        text-align: left;
    }
}
