@charset "UTF-8";
@media screen and (max-width: 1600px) {
    .navi {
        margin-top: 1.5rem;
    }
}
@media screen and (max-width: 1440px) {
    /*-----------------------

         header

-----------------------*/
    .hdr-inner {
        align-items: center;
    }
    header nav {
        margin-top: 0;
    }
    header .navi {
        justify-content: center;
    }
    .navi {
        margin-top: 0;
    }
}
@media screen and (max-width: 1368px) {
}
@media screen and (max-width: 1280px) {
    .container,
    .wrapper {
        width: 100%;
    }
    /*-----------------------

         header

-----------------------*/
    header nav ul > li a {
        font-size: 1.6rem;
    }
    header .flex.navi ul.sub-menu li a {
        font-size: 1.4rem;
    }
}
/*-----------------------

         footer

-----------------------*/
@media screen and (max-width: 1024px) {
    /*-----------------------

         header

-----------------------*/
    /* header {
        padding: 1.5rem 8rem 2.5rem 2rem;
    } */
    header .right-Area {
        margin-right: 0;
    }
    .hdr-inner {
        align-items: center;
    }
    header nav {
        margin-top: 0rem;
    }
    header nav ul > li a {
        font-size: 1.4rem;
    }
    header nav ul > li:not(:last-child) a::after {
        padding: 0 1.5rem;
    }
    .drawer--right .drawer-nav .drawer-menu a {
        padding: 1.5rem 0 1rem;
    }
    .drawer--right .drawer-nav .drawer-menu li:nth-child(2) {
        padding: 0;
    }
    /*-----------------------

         footer

-----------------------*/
    footer.main-footer li:not(:last-child) a::after {
        padding: 0 1.5rem;
    }
}
@media screen and (max-width: 559px) {
    /*セレクトボックスの矢印カスタマイズ*/
    .shelf-nav-sp {
        width: 100%;
        margin: 3rem auto 0;
        position: relative;
    }
    .shelf-nav-sp::before {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 1rem 0.7rem 0 0.7rem;
        border-color: var(--mainColor) transparent transparent transparent;
        position: absolute;
        top: 55%;
        right: 1.5rem;
        transform: translateY(-50%);
        pointer-events: none;
    }
    .breadcrumb.form-control {
        width: 100%;
        padding: 1rem;
        /*デフォルトの矢印を削除*/
        -webkit-appearance: none;
        appearance: none;
    }
    /*-----------------------

       Common

-----------------------*/
    .search input {
        vertical-align: middle;
    }
    html {
        overflow-y: initial;
    }
    body {
        line-height: 1.5;
        letter-spacing: 0.025em;
    }
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    .flex {
        flex-direction: column;
    }
    .drawer-open .drawer-nav .sub-menu {
        transition: 0.4s;
        visibility: hidden;
        opacity: 0;
        position: absolute;
        padding: 1rem 4% 1.5rem;
        background: rgba(213, 0, 13, 0.8);
        background: var(--mainColor);
        opacity: 0.9 !important;
        border-radius: 0.8rem;
        width: 55%;
    }
    .drawer--right header .drawer-nav .drawer-menu li ul.sub-menu {
        top: auto;
        left: auto;
    }
    .drawer-open .drawer-nav li a.on + .sub-menu {
        transition: 0.4s;
        visibility: visible;
        opacity: 1;
        width: auto;
    }
    .drawer-open .drawer-nav li a.on + .sub-menu a {
        color: #fff;
        letter-spacing: 0.05em;
        font-size: 1.6rem;
    }
    .mypage-list::before {
        border-radius: 0.4rem;
    }
    .mypage-list {
        top: 7.5rem;
        left: 6%;
        min-width: 24rem;
    }
    .mypage-item a {
        font-size: 1.4rem;
        white-space: normal;
        overflow-wrap: break-word;
        word-break: break-word;
    }
    */

    /*-----------------------

        header

-----------------------*/
    header {
        padding: 1.5rem 6rem 1.5rem 1rem;
        min-height: 6.8rem;
    }
    .hdr-inner {
        display: flex;
        align-items: flex-start;
    }
    header h1,
    header p.logo {
        padding-top: 0;
    }
    header .hdr-inner .cart-area a {
        flex-direction: row;
        align-items: center;
        gap: 0.5rem;
    }
    header .hdr-inner .cart-area p {
        background: var(--mainColor);
        color: #fff;
        border-radius: 2rem;
        padding: 0.5rem 1rem 0.4rem;
        line-height: 1;
        font-size: 1.1rem;
        font-weight: 500;
    }
    header h1 img,
    header p.logo img {
        max-width: 26rem;
        width: 44vw;
    }
    .drawer-hamburger .text {
        margin-top: 0.9rem;
    }

    .drawer-hamburger-icon,
    .drawer-hamburger-icon:before,
    .drawer-hamburger-icon:after,
    .drawer--left.drawer-open .drawer-hamburger-icon {
        height: 0.3rem;
    }
    .drawer-hamburger-icon:before {
        top: -6px;
    }
    .drawer-hamburger-icon:after {
        top: 7px;
    }
    /*-----------------------

        footer

-----------------------*/

    .ftr-navi ul {
        display: block;
    }
    .ftr-navi li {
        display: block;
    }

    .copylight strong {
        font-size: 1.1em;
    }
    /*-----------------------

       Common Add

-----------------------*/
    .container,
    .wrapper {
        padding: 0 6%;
    }
    .sec .contents4Wrap {
        flex-direction: row;
        gap: 2rem 2.8rem;
    }
    .contents3Wrap,
    .contents4Wrap {
        gap: 2rem;
        flex-direction: row;
        justify-content: flex-start;
    }
    .detail-btn a {
        width: 100%;
        height: 6rem;
    }
    .detail-btn a::after {
        width: 2.6rem;
        height: 1.9rem;
    }
    .sec .contents4Wrap .box {
        width: calc((100% - 2.8rem) / 2);
    }
    .flex,
    .flex-c,
    .flex-e {
        flex-direction: column;
    }
    .contents3Wrap > li,
    .contents3Wrap > div {
        width: 100%;
    }
    .class-list {
        width: 100%;
    }
    .class-list-item,
    .contents3Wrap .class-list-item,
    .contents4Wrap .class-list-item {
        width: 100%;
    }
    .content-header h1 {
        font-size: clamp(2.6rem, 2.115rem + 1.294vw, 4.6rem);
    }
    .sns-detail {
        margin-top: -3rem;
        margin-bottom: 2rem;
    }
    .account-page .sns-detail {
        margin-top: -1rem;
        margin-bottom: 2rem;
    }
}
@media screen and (max-width: 375px) {
}
@media screen and (max-width: 361px) {
}
