form button,
form fieldset,
#items ol,
#area,
#area legend {
    padding: 0;
}

form {
    padding: 0.5rem;
}

#items ol li {
    padding: 0.5rem 0;
}

#yourID {
    padding: 0 0.5rem;
}

form textarea {
    padding: 0.25rem;
}

footer p input#sessionID {
    padding: 0.25rem 0.75rem;
}

form fieldset,
form p,
form h2,
#items ol,
footer p {
    margin: 0;
}

form section,
#area legend {
    margin: 1rem 0;
}

form fieldset p,
form h3,
footer p#you #name,
footer p#you #email,
footer p input#sessionID {
    margin: 0.5rem 0;
}

#items ol li,
form textarea {
    margin: 0.25rem 0;
}

#address u {
    margin-bottom: 0.5rem;
}

#message,
#message #shipping {
    margin: auto;
}

form section[hidden],
footer p#you[hidden] {
    display: none;
}

form,
form section,
form #area,
#items ol li,
footer p {
    display: flex;
}

form,
#items,
#items ol li,
#area {
    gap: 1rem;
}

footer p {
    flex-flow: column;
}

form,
form section,
#area {
    flex-flow: wrap;
    justify-content: space-between;
}

form {
    align-content: baseline;
}

form section {
    align-items: baseline;
}

form ol li b {
    word-break: keep-all;
}

#items ol li b::before {
    content: "¥ ";
}

#order section,
#order nav,
#items ol,
#shipping fieldset,
#shipping textarea,
#area {
    width: 100%;
}

form input {
    max-width: 100%;
}

#message #items {
    width: 100%;
    max-width: 1080px;
}

#message #shipping {
    max-width: 750px;
}

footer p input#sessionID {
    width: 100%;
    max-width: 12.5rem;
    word-break: break-all;
    text-overflow: ellipsis;
}

#items ol li {
    border-bottom: 0.1rem solid;
    align-items: end;
    list-style: disc inside;
}

#items ol li img {
    height: 4.5rem;
}

form fieldset,
form button {
    border: none;
    outline: none;
    background: transparent;
}

form textarea {
    color: #000;
}

form input[hidden] {
    display: none;
}

form textarea {
    font-size: 20px;
    max-width: 100%;
    min-width: 100%;
}

#items h3#amount,
#shipping h3#checkout {
    font-size: 175%;
}

#items h3:not(#amount),
#shipping h3:not(#checkout) {
    font-size: 150%;
}

form h3 strong,
form h3 button,
#items ol li,
#items ol li b {
    font-size: 125%;
}

#area,
#items ol li p {
    font-size: 111%;
}

form u,
form label small,
#address b {
    font-size: 75%;
}

form h2 small,
form h3 sup {
    font-size: 55%;
}

form u,
form h2 strong,
form h2 small,
form h3 sup,
form h3 strong,
form h3 button,
form label,
#address b {
    font-weight: 555;
}

form u,
form label small,
#items ol li b::before,
#address b {
    font-weight: 400;
}

#address u {
    font-size: 70%;
    display: inline-block;
}

#items ol li button,
#items ol li strong {
    margin-left: auto;
}

#back,
#back h3 {
    text-align: right;
}

#yourID {
    border: solid 0.1rem;
    border-radius: 50%;
    font-size: 90%;
    text-decoration: none;
}

footer p input#sessionID {
    border: solid 0.1rem;
    border-radius: 1rem;
}

footer p input#sessionID:not([disabled]) {
    color: #000;
    background: #fff;
    cursor: pointer;
}

footer p input#sessionID[disabled] {
    color: #fff;
    background: #ddd;
}

@media screen and (max-width: 750px) {

    form p,
    form p input:not([type="number"]) {
        width: 100%;
    }

    footer p input#sessionID {
        max-width: calc(100svw - 1rem);
    }
}

@media screen and (max-width: 550px) {
    #items ol li img {
        height: 12.5vw;
    }
}