@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;
  }
  .drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-hamburger {
    top: 2rem;
  }
}
/*-----------------------

         footer          

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

         header          

-----------------------*/
  header {
    padding: 1.5rem 8rem 2.5rem 2rem;
  }
  header .right-Area {
    margin-right: 3vw;
  }
  .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-hamburger, .drawer--right.drawer-open .drawer-hamburger {
    right: 2rem;
    top: 1rem;
  }
  .drawer-hamburger {
    width: 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 ul li {
    margin-bottom: 1.5rem;
  }
  footer.main-footer ul li a {
    font-size: 1.4rem;
  }
  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 {
    verical-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-hamburger {
    width: 3rem;
    height: 3rem;
    padding: 1rem;
  }
  .drawer-hamburger-icon {
    margin-top: 0;
  }
  .drawer-hamburger-icon:before {
    top: -10px;
  }
  .drawer-hamburger-icon:after {
    top: 10px;
  }
  .drawer-open .drawer-overlay {
    background: none;
  }
  .drawer--right.drawer-open .drawer-nav {
    background: #fff;
  }
  .drawer--right.drawer-open .drawer-nav, .drawer--right .drawer-hamburger {
    border-radius: 0;
  }
  .drawer--right.drawer-open .drawer-nav {
    right: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: #fff;
    padding: 0;
    padding-bottom: 3rem;
  }
  /*  .drawer-open .drawer-nav a {
    color: #5a5a5a;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
  }*/
  .drawer-open .drawer-nav .wrapper {
    padding: 3rem 6%;
    position: relative;
  }
  .drawer-open .drawer-nav p.login {
    padding-bottom: 1rem;
    margin-bottom: 3rem;
    width: 100%;
    text-align: left;
    border-bottom: solid 1px #323232;
  }
  .drawer--right .drawer-nav .flex-c {
    flex-direction: column;
  }
  .drawer--right .drawer-nav .drawer-menu {
    width: 100%;
  }
  .drawer--right .drawer-nav .drawer-menu:nth-child(2) {
    border-top: solid 1px;
    padding-top: 1rem;
  }
  .drawer--right .drawer-nav .drawer-menu.hover {
    border-top: solid 1px;
    padding-top: 1.5rem;
  }
  .drawer--right .drawer-nav .drawer-menu.hover a {
    font-size: 1.2rem;
    padding: 0.5rem 0;
  }
  /*  .drawer-open .drawer-nav li a {
    padding: 1rem 0;
    display: block;
  }*/
  .drawer--right .drawer-nav .drawer-menu a {
    font-size: 1.6rem;
    padding: 1rem 0;
  }
  .drawer--right .drawer-nav .drawer-menu:nth-child(2) a {
    font-size: 1.2rem;
  }
  .drawer--right .drawer-nav .drawer-menu li.hover {
    padding: 0;
  }
  .drawer-open .drawer-nav li a img {
    vertical-align: baseline;
    margin-left: 1rem;
  }
  header .drawer-nav p.mypage {
    border: solid 2px #fff;
    margin: 0 auto 3.5rem;
    text-align: center;
  }
  .drawer--right .drawer-nav p.logo {
    padding: 1.5rem 1rem;
  }
  /*  .drawer-open .drawer-nav ul {
    padding-left: 3.5rem;
  }*/
  .drawer-open .drawer-nav .sub-menu {
    /*    transition: .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: .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--right .drawer-hamburger, .drawer--right.drawer-open .drawer-hamburger {
    right: 0.5rem;
    top: 1.8rem;
    width: 3.2rem;
  }
  .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          

-----------------------*/
  footer.main-footer p.logo img {
    max-width: 40vw;
  }
  .ftr-navi ul {
    display: block;
  }
  .ftr-navi li {
    display: block;
  }
  footer.main-footer {
    padding: 3.5rem 0 0;
    margin-top: 5rem;
  }
  .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;
  }
  .page-header {
    padding-inline: 0;
  }
  .content-header {
    padding: 10vw 7vw;
  }
}
@media screen and (max-width:375px) {}
@media screen and (max-width:361px) {}