@media screen and (max-width:1000px) {
    .sampleBox {
        justify-content: center;
    }
}

@media screen and (max-width:879px) {
    header .container {
        display: block;
        text-align: center;
        margin-bottom: 16px;
        max-width: none;
    }

    .menu .inner ul {
        justify-content: center;
    }

    .menu .inner ul li {
        margin: 32px 16px;
    }
}

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

    /* 共通 */
    body {
        font-size: 0.9em;
    }

    .container {
        max-width: 384px;
        margin-bottom: 32px;
    }

    /* ヘッダー */
    header .container {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .logoArea h1 img {
        display: block;
        margin: 0 auto;
    }

    .logoArea h1::before {
        width: 48px;
        height: 48px;
        margin-bottom: 0;
    }

    .logoArea h1::after {
        width: 48px;
        height: 48px;
        margin-bottom: 0;
    }

    /* ハンバーガーメニュー */
    .menu .inner ul {
        display: block;
    }

    .menu .inner ul li {
        display: inline-block;
        vertical-align: bottom;
        margin: 28px 0;
        background-color: #8cf0f9;
        width: 160px;
        border-radius: 100px;
    }

    nav {
        display: block;
        position: fixed;
        background-color: rgba(249, 146, 206, 80%);
        box-shadow: 2px 0 12px rgba(241, 239, 239, 0.2);
        width: 240px;
        top: 0;
        left: -320px;
        bottom: 0;
        transition: all 0.5s;
        z-index: 1000;
        opacity: 0;
    }

    .open nav {
        left: 0;
        opacity: 1;
    }

    nav .inner {
        padding: 24px;
    }

    nav .inner ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    nav .inner ul li {
        border-bottom: 1px solid #f6e2ee;
    }

    nav .inner ul li a {
        display: block;
        color: #333;
        font-size: 16px;
        padding: 1em;
        text-decoration: none;
        transition-duration: 0.2s;
    }

    nav .inner ul li a:hover {
        background-color: #b3f5fb;
        border-radius: 100px;
    }

    .toggleBtn {
        display: block;
        position: fixed;
        top: 32px;
        right: 32px;
        width: 32px;
        height: 32px;
        z-index: 1000;
        cursor: pointer;
    }

    .toggleBtn span {
        position: absolute;
        display: block;
        left: 0;
        width: 32px;
        height: 2px;
        background-color: #2399ee;
        box-shadow: 2px 2px 4px #FEFEFE;
        transition: all 0.5s;
        border-radius: 4px;
    }

    .toggleBtn span:nth-child(1) {
        top: 4px;
    }

    .toggleBtn span:nth-child(2) {
        top: 16px;
    }

    .toggleBtn span:nth-child(3) {
        bottom: 4px;
    }

    .open .toggleBtn span {
        box-shadow: 2px 2px 4px #FEFEFE;
        border-radius: 2px;
        transition: 0.4s;
    }

    .open .toggleBtn span:nth-child(1) {
        transform: translateY(10px) rotate(-315deg);
        background-color: #4EEFFE;
    }

    .open .toggleBtn span:nth-child(2) {
        opacity: 0;
    }

    .open .toggleBtn span:nth-child(3) {
        transform: translateY(-10px) rotate(315deg);
        background-color: #4EEFFE;
    }

    #mask {
        display: none;
        transition: all 0.5s;
    }

    .open #mask {
        display: block;
        background-color: rgba(240, 233, 240, 0.5);
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        position: fixed;
        opacity: 0.8;
        z-index: 500;
        cursor: pointer;
    }

    /* MV */
    .mvSec p {
        font-size: 3em;
    }

    #top {
        top: 71%;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        text-align: center;
    }

    #bottom {
        right: 50%;
        transform: translateX(50%);
        width: 100%;
        text-align: center;
    }

    .container_01 {
        padding: 8px 0;
    }

    .scroll-down_01 {
        width: 120px;
        height: 120px;
    }

    .circle-text_01 span {
        transform-origin: 0 60px;
    }

    .arrow_01 {
        width: 24px;
        height: 32px;
    }


    /* エソラ堂とは */
    .question {
        background-image: url(../img/questionMobile.png);
        max-height: 400px;
    }

    h3 {
        font-family: "Fugaz One", sans-serif;
        font-size: 1.5em;
        color: #FEFEFE;
        text-shadow:
            3px 3px 0 #E55656,
            -1px -1px 0 #E55656,
            1px -1px 0 #E55656,
            -1px 1px 0 #E55656,
            1px 1px 0 #E55656;
        padding-top: 24px;
        margin-bottom: 8px;
    }

    #phrase {
        display: none;
    }


    .question p {
        text-align: center;
        max-width: 320px;
        font-size: 1em;
    }

    /* 副題の装飾 */
    h2.ribbon {
        font-size: 1.5em;
        max-width: calc(100% - 96px);
    }

    /* みなさんのオーダー例 */
    .sampleBox {
        gap: 16px;
    }

    .imgBox {
        max-width: 360px;
        margin: 0 auto 16px;
    }

    .imgBox img {
        max-width: 128px;
    }

    .imgBox img:last-child {
        width: 100%;
        max-width: 100%;
    }

    .cardDescription {
        padding: 8px;
        font-size: 0.85em;
    }

    /* サイズ見本 */
    .size p {
        position: absolute;
        top: 96%;
    }

    /* 料金表 */
    .priceInner {
        max-width: 80%;
        margin: 0 auto;
    }



    /*ご注文の流れ*/
    .poly img {
        width: 60%;
    }

    .guidelines {
        display: block;
        align-items: center;
        text-align: center;
    }

    .guidelines img {
        margin-bottom: 8px;
    }

    .guidelines>ul {
        width: 80%;
        font-size: 1.2em;
        margin: 0 auto;
        text-align: left;
        padding: 8px 0;
    }


    /* Q&A */
    #qa {
        width: 320px;
        background-color: rgba(254, 254, 254, 50%);
        margin: 0 auto;
        border-radius: 24px;
        align-items: center;
        padding: 16px 8px;
    }

    dt {
        font-size: 1.1em;
        padding: 12px;
    }

    dd {
        font-size: 1em;
        padding: 12px;
    }

    /* メッセージ */
    #closing .container {
        position: relative;
    }

    .message {
        width: 100%;
        height: 960px;
        margin: 0 auto;
        background-image: url(../img/message.png);
        background-position: center;
        width: 100%;

    }

    .message p {
        width: 320px;
        margin: 16px auto;
        font-size: 24px;
    }

    .qrcode {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        max-width: 480px;
        margin: 0 auto;
        text-align: center;
    }

    .qrcode img {
        width: 128px;
        margin-bottom: 4px;
    }


    .insta {
        position: absolute;
        top: 80%;
        left: 10%;
    }

    .line {
        position: absolute;
        top: 80%;
        right: 10%;
    }

    /* トップへ戻る */
    .topButton {
        width: 64px;
        height: 64px;
    }

    .topButton img {
        width: 64px;
        height: 64px;
    }

    /* フッター */
    footer nav {
        display: none;
    }
}