/* すべてのページに適用される設定 */
html {
    font-size: 16px;
    font-family: sans-serif;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0 0 0 0;
}

p,
li,
td {
    line-height: 1.7;
}

a:link {
    color: #F07D34;
    text-decoration: none;
}

a:visited {
    color: #F07D34;
    text-decoration: none;
}

a:hover {
    color: #F07D34;
    text-decoration: underline;
}

a:active {
    color: #F07D34;
    text-decoration: underline;
}

img {
    max-width: 100%;
}

.item img {
    border-radius: 10px;
    ;
}

/* すべてのページに適用 - ヘッダー */
.header {
    padding-top: 40px;
    background-image: url(../images/b_illust_96_1M.png);
    background-repeat: repeat-x;
}

.logo {
    text-align: center;
    padding-top: 20px;
    font-size: 4rem;

}

.nav ul {
    margin: 20px 0 0 0;
    padding: 0;
    list-style-type: none;

    display: flex;
    justify-content: center;
    gap: 40px;
}

.nav a:link {
    color: #253958;
}

.nav a:visited {
    color: #253958;
}

.nav a:hover {
    color: #F07D34;
}

.nav a:active {
    text-decoration: none;
}

/* すべてのページに適用 - ヒーロー */
.hero {
    padding: 137px 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    color: #FFFFFF;
    text-align: center;
}

.hero.menu {
    background-image: url(../images/menu-hero.jpg);
}

h1 img {
    width: 30px;
    padding-right: 5px;

}


/* すべてのページに適用 - メイン */
main {
    margin: 90px auto 90px auto;
    max-width: 1000px;
}

main h2 {
    margin: 60px 0 20px 0;
    border-bottom: 2px solid #253958;
    padding: 0 0 5px 0;
    color: #253958;
    font-size: 1.3rem;
}

p>strong {
    color: #ED2939;
    ;
}

/* すべてのページに適用 - フッター */
.gotop {
    text-align: right;
}

.copyright {
    margin-top: 20px;
    margin-bottom: 0;
    padding-top: 2000px;
    color: #FFFFFF;
    text-align: center;
    background-image: url(../images/footer.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}


/* menu.html */
.items {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.items_video {
    width: 320px;
    border-radius: 10px;
}

/* モバイル対応 */
@media(max-width: 767px) {
    .nav ul {
        flex-wrap: wrap;
        gap: 20px;
    }


    /* menu.html */
    .items {
        grid-template-columns: 1fr;
        padding: 0 20px;
    }

    .items_video {
        width: 100%;
    }
}