@charset "UTF-8";
/*============
nav
=============*/
.navtop {
   background: #e9dbc2;
   display: flex;
   align-items: center;
   padding: 4px 20px;
}
.navtop h1 {
   font-size: 12px;
}
.navsns, .navtop .navinfo {
   display: flex;
}
header {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 100;
   background: transparent;
   border-bottom: none;
   height: 0;
}
nav {
   display: block;
   top: 0;
   right: -300px;
   bottom: 0;
   width: 300px;
   overflow-x: hidden;
   overflow-y: auto;
   -webkit-overflow-scrolling: touch;
   transition: all .5s;
   z-index: 3;
   opacity: 0;
   padding-top: 70px;
}
.headnav {
   display: flex;
   align-items: center;
   height: 70px;
}
.headnav h1, .headlogo {
   padding-left: 10px;
   text-align: center;
   margin: 30px auto;
}
.headnav h1 img, .headlogo img {
   max-width: 100%;
}
.headnav ul {
   display: flex;
   margin-left: auto;
   margin-right: 90px;
}
.headnav ul li a {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
}
.headnav ul li {
   margin: 0 10px;
}
.headnav ul li span {
   display: block;
   text-align: center;
   font-size: 1.2rem;
}
.headnav .head_faq a span {
   margin-top: 4px;
}
.head_cart img {
   width: 34px;
}
.head_cart span {
   position: relative;
   left: 2px;
}
.head_faq img {
   width: 30px;
   top: 2px;
   position: relative;
}
nav .inner {
   padding: 25px;
}
nav .inner ul {
   list-style: none;
   margin: 0;
   padding: 0;
}
nav .inner ul li {
   position: relative;
   margin: 0;
}
nav .inner ul li a {
   display: block;
   color: #fff;
   font-size: 13px;
   padding: 5px 0 5px 19px;
   text-decoration: none;
   transition: ease .3s;
   transition-duration: 0.2s;
}
nav .inner ul li a:hover {
   opacity: .7;
   color: var(--primary-color);
}
nav .inner ul li ul {
   padding-left: 1em;
   border-bottom: none;
   margin-bottom: 10px;
   padding-bottom: 10px;
}
nav .inner ul li ul > li:first-child, nav .inner ul li ul > li {
   font-weight: normal;
}
nav .inner ul li ul > li:first-child::before, nav .inner ul li ul > li::before {
   content: '';
   display: inline-block;
   position: absolute;
   top: 50%;
   left: 0;
   width: 0;
   height: 0;
   margin-top: -5px;
   border-top: 5px solid transparent;
   border-right: 6px solid transparent;
   border-bottom: 5px solid transparent;
   border-left: 6px solid #7a626d;
}
/*============
.toggle_btn
=============*/
.togglebox {
   background: transparent;
   position: fixed;
   top: 7px;
   right: 0;
   width: 50px;
   height: 50px;
   transition: all .5s;
   cursor: pointer;
   z-index: 10;
   display: block;
   border-radius: 0;
}
.toggle_btn p {
   font-size: 1rem;
   color: #fff;
   position: absolute;
   bottom: 2px;
   text-align: center;
   display: block;
   left: 0;
   right: 0;
}
.toggle_btn {
   display: block;
   height: 43px;
   width: 50px;
}
.toggle_btn span {
   display: block;
   position: absolute;
   left: 0;
   width: 28px;
   height: 2px;
   background-color: #000;
   border-radius: 4px;
   transition: all .5s;
   right: 0;
   margin: auto;
   top: 0;
   bottom: 0;
}
.toggle_btn span:nth-child(1) {
   top: -25px;
}
.toggle_btn span:nth-child(2) {
   top: -10px;
}
.toggle_btn span:nth-child(3) {
   bottom: -6px;
}
.open .toggle_btn span {
   background-color: #fff;
}
.open .toggle_btn span:nth-child(1) {
   -webkit-transform: translateY(6px) rotate(135deg);
   transform: translateY(6px) rotate(135deg);
}
.open .toggle_btn span:nth-child(2) {
   opacity: 0;
   transform: translateY(6px) rotate(225deg);
}
.open .toggle_btn span:nth-child(3) {
   -webkit-transform: translateY(-10px) rotate(225deg);
   transform: translateY(-10px) rotate(225deg);
}
.open .toggle_btn span:nth-child(1) {
   top: -20px;
}
.open .toggle_btn span:nth-child(3) {
   top: 5px;
}
.second {
   padding: 31px;
}
.second h1 {
   font-size: 2rem;
}
nav .melmaga a {
   border: 1px solid #333;
   padding: 0 10px;
   text-align: center;
   margin-bottom: 1.5rem;
   display: block;
   color: #333;
}
.spheadlogo {
   display: block;
   padding: 20px;
   text-align: center;
}
.navinfo {
   display: flex;
   margin-left: auto;
   font-size: 11px;
   letter-spacing: 0;
   font-weight: bold;
   align-items: baseline;
   font-family: "HelveticaNeue-CondensedBold";
}
.navinfo img {
   display: inline-block;
   margin-right: 8px;
}
.navinfo li:first-child a {
   margin-right: 8px;
}
.navinfo a span {
   display: inline-block;
   position: relative;
   top: -4px;
   margin-right: 17px;
   font-size: 1.3rem;
}
.navsns a {
   line-height: 1;
   display: block;
   margin: 0 5px;
}
@media (min-width: 769px) {
   header {
      height: auto;
      position: relative;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 100;
      background: #fff;
      border-bottom: none;
      display: flex;
      align-items: center;
      padding: 0 clamp(10px, 4vw, 66px);
   }
   .spheadlogo {
      display: none;
   }
   .togglebox {
      display: none;
   }
   nav {
      position: relative;
      top: 0;
      right: 0;
      bottom: 0;
      background: none;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      transition: all .5s;
      z-index: 3;
      opacity: 1;
      left: 0;
      letter-spacing: 1px;
      display: flex;
      align-items: center;
      padding: 30px 0px 30px;
      width: 100%;
   }
   .headnav h1, .headlogo {
      margin: 0;
      padding: 0;
   }
   .headlogo img {
      max-width: none;
      width: clamp(4vw, 18vw, 218px);
   }
   .headnav h1, .headlogo a {
      line-height: 1;
   }
   nav .second {
      margin-left: auto;
      padding: 0;
   }
   nav .inner ul li:last-child {
      margin-left: auto;
      padding: 0;
   }
   nav .inner ul li:last-child a {
      padding: 16px 20px;
      color: #fff;
      width: 180px;
   }
   nav .inner ul {
      list-style: none;
      margin: auto;
      display: flex;
      justify-content: center;
      align-items: center;
      margin-left: 3vw;
   }
   nav .inner ul li a {
      color: #000;
      line-height: 1.2;
      text-align: center;
      width: auto;
      font-weight: bold;
      padding: 0 1.3vw;
   }
   nav .inner ul li {
      content: '';
      padding: 0 5px 0;
   }
   nav .inner ul li:first-child {
      content: '';
      margin: 0;
   }
   nav .gnav li {
      text-align: center;
   }
   nav .gnav li a {
      text-align: center;
      display: block;
   }
   nav .gnav img {
      display: block;
      margin-top: 6px;
      text-align: center;
      margin-right: auto;
      margin-left: auto;
   }
   nav .inner {
      width: 100%;
      padding: 0;
   }
   nav .second ul {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
   }
   nav .second ul li {
      line-height: 2;
   }
   nav .second h1 {
      font-size: 1.5rem;
      font-weight: normal;
      line-height: 1.9;
   }
}
@media screen and (max-width: 1110px) {
   nav .inner ul li:last-child a {
      width: auto;
   }
}
@media(max-width:960px) {
   header {
      padding: 0 20px;
   }
   .blanklink a::after {
      width: 1vw;
   }
   .navtop h1 {
      font-size: 1vw;
   }
   .navinfo a span {
      display: inline-block;
      position: relative;
      top: -4px;
      margin-right: 0vw;
      font-size: 1vw;
   }
   .navtop {
      background: #e9dbc2;
      display: flex;
      align-items: center;
      padding: 4px 10px;
   }
   nav {
      padding: 20px 0;
   }
   nav .inner ul li a {
      font-size: 1vw;
   }
   nav .inner ul li:last-child a {
      color: #fff;
      width: auto;
      padding: 10px 15px;
   }
}
@media screen and (max-width: 768px) {
   header {
      height: 58px;
      background: #fff;
   }
   header.open .headlogo {
      display: none;
   }
   .headnav h1, .headlogo {
      width: 146px;
      padding-left: 0;
      line-height: 1;
      margin: 17px auto;
   }
   .open nav {
          left: 0;
    opacity: 1;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
   }
   .spheader {
      position: sticky;
      top: 0;
      z-index: 11;
      background: #fff;
   }
   nav {
      left: -768px;
      width: 100%;
      position: relative;
   }
   .second h1 {
      font-size: 2vw;
   }
   nav .inner ul li a {
      color: #fff;
      padding: 6px 0 0;
      line-height: 1.2;
      text-align: center;
      width: 100%;
      font-size: clamp(1.4rem, 1.6rem, 2rem);
      font-weight: bold;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      margin-bottom: 20px;
      border-bottom: 1px solid #080808;
      padding-bottom: 20px;
   }
   nav .inner ul li:last-child a {
      color: #fff;
      padding: 15px 15px;
      width: 100%;
      border-bottom: none;
   }
   nav .inner ul li a img {
      display: block;
      margin-top: 10px;
   }
   .sp_visible.sp_sns {
      display: flex;
      justify-content: space-evenly;
   }
   .sp_visible.sp_sns li img {
      width: 100%;
   }
   /*============
#mask
=============*/
   #mask {
      transition: all .5s;
      opacity: 0;
   }
   .open #mask {
      display: block;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #111;
      opacity: 1;
      z-index: -1;
      cursor: pointer;
      transition: all .5s;
   }
   .navsns, .navtop .navinfo {
      display: flex;
      justify-content: center;
      margin-right: 0;
      width: 100%;
      align-content: center;
   }
   .navtop {
      background: #e9dbc2;
      display: flex;
      align-items: center;
      padding: 0;
   }
   .icon_login img {
      height: 21px;
   }
   .icon_login a {
      background: #d3c5ab;
   }
   .navinfo li {
      width: 50%;
   }
   .navinfo li a {
      margin-right: 0;
      width: 100%;
      text-align: center;
      display: block;
      padding: 15px;
   }
   .navinfo li a:hover {
      background: var(--primary-color);
      color: var(--secondary-color);
   }
   .navinfo li:first-child a {
      margin-right: 0;
   }
   .sphead1 {
      background: var(--accent-color);
      font-size: 11px;
      text-align: center;
      padding: 10px;
      line-height: 1.3;
   }
   .newsblock li {
      display: flex;
      font-size: 12px;
   }
}
@media screen and (max-width: 480px) {
   .headnav h1, .headlogo {
      width: 146px;
      padding-left: 10px;
      line-height: 1;
   }
   .headnav ul {
      display: flex;
      margin-left: auto;
      margin-right: 80px;
   }
   nav {
      left: -480px;
      width: 100%;
   }
   nav .inner {
      padding: 12px;
   }
   .headnav ul li span {
      display: block;
      text-align: center;
      font-size: 1rem;
   }
   .head_cart img {
      width: 30px;
   }
   .head_faq img {
      width: 26px;
      top: 2px;
      position: relative;
   }
}