html, body {
    margin: 0;
    height: 100%;
}

body, main {
    display: flex;
    align-items: left;
    flex-direction: row;
    flex-wrap: wrap;
    position: relative;
    overflow-x: hidden;
    overflow-y: scroll;
    transform: translateZ(0);
}

body {
    color: rgb(64, 64, 64);
    background: rgb(241, 241, 241);
    font-family: "yu-gothic-pr6n", sans-serif;
    font-weight: 400;
}

a {
    color: inherit;
}

s {
    opacity: .6;
}

main {
    flex: 1;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll;
    padding: 0;
    width: 100%;
    margin: 0 5vw;
}

main > article {
    width: 100%;
}

main > article > p {
    margin: 0;
}

small {
    font-size: 0.8em; /* フォントを小さくする */
    font-family: neue-haas-unica, sans-serif;
    font-weight: 400;
    position: relative;
}

h1 {
    font-size: inherit;
    font-weight: 700;
}

.small-text {
    font-size: 0.7em; /* h1 内でも小さくする */
    display: inline-block;
    color: black !important; 
}

.hyperlink {
    width: .8em !important;
    height: .8em !important;
    margin: 0 .1em 0 .3em;
}

.name{
    margin: 2.5em 5vw 2.5em 0;
    padding-top: 0;
    padding-bottom: 0;
    width: 100%;
    max-width: 36em;
    font-size: 1em;
    line-height: 1.9;
    flex-direction: column;
    flex-wrap: wrap;
    position: relative;
    background: rgb(241, 241, 241);
    color: black;
    z-index: 1;
}

/* 各セクションのスタイル */
main > .contact, .sakuhin, .enjoy {
    margin: 2.5em 5vw 2.5em 0;
    padding-top: 0;
    padding-bottom: 0;
    width: 100%;
    max-width: 36em;
    font-size: 1em;
    line-height: 1.9;
    flex-direction: column;
    flex-wrap: wrap;
    position: relative;
    background: rgb(241, 241, 241);
    z-index: 1;
}