@charset "UTF-8";
/*============
nav
=============*/


.navtop {
   display: flex;
   align-items: center;
   padding: 4px 20px;
}
.navtop h1 {
   font-size: 12px;
}
.navsns, .navtop .navinfo {
   display: flex;
}
.icon_cart {
   position: relative;
}
.header {
   position: sticky;
   top: 0;
   background: #fff;
   z-index: 2;
}
.navinfo a span.p-global-header__cart-count {
   background: #e04646;
   color: #fff;
   border-radius: 50px;
   width: 15px;
   height: 15px;
   text-align: center;
   font-size: 10px;
   line-height: 1.6;
   position: absolute !important;
   left: 8px;
   top: -3px !important;
   font-weight: 400;
}
.cilogo {
   position: absolute;
   left: 20px;
   top: 0;
   width: 120px;
   bottom: 0;
   margin: auto;
   height: 92px;
}
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;
   background: rgb(0 0 0 / 71%);
   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;
}
.headlogo {
   display: none;
}
.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;
   font-family: var(--font-noto);
}
.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: clamp(13px, 14/1080*100vw, 15px);
   text-decoration: none;
   transition: ease .3s;
   transition-duration: 0.2s;
}
nav .inner ul li a:hover {
   color: var(--bland-color);
    opacity: 1;
}
nav .inner ul li ul {
   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: 0;
   right: 0;
   width: 50px;
   height: 50px;
   transition: all .5s;
   cursor: pointer;
   z-index: 3;
   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: 70px;
}
.toggle_btn span {
   display: block;
   position: absolute;
   left: -10px;
   width: 40px;
   height: 3px;
   background-color: #000;
   border-radius: 4px;
   transition: all .5s;
   right: 0;
   margin: auto;
   top: 0;
   bottom: 0;
}
.toggle_btn span:nth-child(1) {
   top: 0;
}
.toggle_btn span:nth-child(2) {
   top: 22px;
}
.toggle_btn span:nth-child(3) {
   bottom: -45px;
}
.open .toggle_btn span {
   background-color: #fff;
}
.open .toggle_btn span:nth-child(1) {
   -webkit-transform: translateY(12px) rotate(30deg);
   transform: translateY(12px) rotate(30deg);
   top: 0;
}
.open .toggle_btn span:nth-child(2) {
   opacity: 0;
   transform: translateY(6px) rotate(0deg);
}
.open .toggle_btn span:nth-child(3) {
   -webkit-transform: translateY(-10px) rotate(-30deg);
   transform: translateY(-10px) rotate(-30deg);
}
.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: 13px 0 0 ;
   text-align: center;
   line-height: 1;
}
.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;
}
.btn_lang {
   background: var(--primary-color);
   color: #fff;
   padding: 0px 7px;
   display: inline-block;
   border-radius: var(--radius-main);
   text-align: center;
}
.head_official {
   background: var(--bland-color);
   padding: 1px 14px;
   display: inline-block;
   text-align: center;
   color: #fff;
   border-radius: var(--radius-btn);
   font-size: 1.4rem;
}
.subhead {
   display: flex;
   margin-left: auto;
}
.subhead li:first-child {
   margin-right: 10px;
}
.subhead li:last-child span {
   display: inline-block;
   margin-right: 10px;
}
.headbox2 {
   display: flex;
   flex-direction: column;
}
.navinner {
   display: flex;
   justify-content: space-between;
}
@media (min-width: 961px) {
   header {
      height: auto;
      position: relative;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 100;
      background: #f7f7f7;
      border-bottom: none;
      padding: 40px 50px;
   }
   .header {
      background: #fff;
      z-index: 2;
      position: sticky;
      top: -50px; /* 70-120 = -50 */
      height: 130px;
   }
   #navArea {
      height: 100px;
      position: sticky;
      top: 0;
      padding: 20px 50px;
   }
   .headbox {
      display: flex;
      justify-content: space-between;
      padding: 15px 20px 10px;
   }
   .spheader, .togglebox {
      display: none;
   }
   nav {
      position: relative;
      top: 0;
      right: 0;
      bottom: 0;
      width: auto;
      background: none;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      transition: all .5s;
      z-index: 3;
      opacity: 1;
      padding: 0;
      left: 0;
      align-items: flex-end;
   }
   nav .second {
      margin-left: auto;
      padding: 0;
   }
   nav .inner ul {
      list-style: none;
      display: flex;
      justify-content: center;
   }
   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 {
      padding: 0;
      margin-bottom: 0;
      margin-top: auto;
   }
   nav .inner ul li a {
      color: #333;
      font-weight: 500;
   }
   nav .inner ul li {
      content: '';
      padding-left: clamp(2%, 2vw, 40px);
   }
   nav .inner ul li:first-child {
      content: '';
      margin: 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(max-width:960px) {
   .open picture, .open nav .inner ul li a {
      transform: translate(0, 0);
   }
   .spheadlogo picture {
      transform: translate(-40px, 0);
      transition: all .3s;
   }
   .open nav .inner ul li:nth-child(1) a {
      transition-delay: .3s;
      opacity: 1;
   }
   .open nav .inner ul li:nth-child(2) a {
      transition-delay: .4s;
      opacity: 1;
   }
   .open nav .inner ul li:nth-child(3) a {
      transition-delay: .5s;
      opacity: 1;
   }
   .open nav .inner ul li:nth-child(4) a {
      transition-delay: .6s;
      opacity: 1;
   }
   .open nav .inner ul li:nth-child(5) a {
      transition-delay: .7s;
      opacity: 1;
   }
   .open nav .inner ul li:nth-child(6) a {
      transition-delay: .8s;
      opacity: 1;
   }
	.open nav .inner ul li:nth-child(7) a {
      transition-delay: .9s;
      opacity: 1;
   }
   .open nav {
      left: 0;
      opacity: 1;
      height: 100vh;
   }
   nav .inner ul li {
      margin-bottom: 20px;
   }
   nav .inner ul li a {
      font-size: clamp(2rem, 3vw, 3rem);
      transform: translate(-40px, 0);
      transition: ease .6s;
      opacity: 0;
   }
   .footer_first {
      align-items: start;
      padding: 20px;
   }
   .footer_list li {
      font-size: 1.5rem;
      margin-bottom: 10px;
   }
   .subhead {
      display: flex;
      margin: 25px;
      flex-direction: column;
      border-top: 1px solid var(--primary-color);
      padding-top: 50px;
      color: #fff;
   }
   .subhead li:first-child {
      margin-right: 10px;
      margin-bottom: 25px;
   }
   .headbox2 {
      display: flex;
      flex-direction: column-reverse;
   }
   header {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 100;
      border-bottom: none;
      height: 0;
      background: #fff;
   }
   .header {
      z-index: 11;
   }
   .navtop h1 {
      font-size: 1vw;
   }
   .navinfo a span {
      display: inline-block;
      position: relative;
      top: -4px;
      margin-right: 0vw;
      font-size: 10px;
   }
   .navtop {
      display: flex;
      align-items: center;
      padding: 4px 10px;
   }
   .icon_mypage img {
      margin-right: 5px;
   }
   .cilogo {
      position: absolute;
      left: 20px;
      top: 13px;
      height: auto;
      display: block;
      line-height: 1;
      width: 200px;
   }
   .cilogo img {
      max-width: 100%;
   }
   .spheader {
      position: sticky;
      top: 0;
      z-index: 11;
      background: #f7f7f7;
      height: 70px;
   }
   .spheadlogo {
      display: block;
      padding: 13px 0 30px 30px;
      text-align: center;
      line-height: 1;
   }
    .open .spheadlogo {
        visibility: hidden;
        opacity: 0;
    }
   nav {
      left: -100vw;
      width: 100%;
      position: relative;
      height: 100vh
   }
   .second h1 {
      font-size: 2vw;
   }
   nav .inner ul li a {
      color: #fff;
      padding: 6px 0 0;
      line-height: 1.2;
      text-align: left;
      width: 100%;
      display: flex;
      flex-direction: column;
      margin-bottom: 5px;
      padding-bottom: 15px;
   }
   nav .inner ul li a img {
      display: block;
      margin-top: 10px;
   }
   /*============
#mask
=============*/
   #mask {
      transition: all .5s;
      opacity: 0;
   }
   .open #mask {
      display: block;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      background: #333;
      opacity: .8;
      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;
   }
   .icon_mypage img {
      height: 21px;
      top: 2px;
      position: relative;
      margin-right: 5px;
   }
   .navinner > div:first-child {
      width: 40%;
   }
   .navinner > div:first-child img {
      max-width: 100%;
   }
   .navinner > div {
      width: 50%;
   }
   nav .inner {
      padding-top: 13px;
   }
}
@media(max-width:820px) {}
@media screen and (max-width: 480px) {
   .headnav ul {
      display: flex;
      margin-left: auto;
      margin-right: 80px;
   }
   .navinner > div {
      width: 100%;
   }
   .spheadlogo {
      text-align: left;
   }
   .navinner {
      display: flex;
      justify-content: space-between;
      flex-direction: column;
   }
   .navinner > div:first-child {
      width: 100%;
   }
   nav {
      left: -480px;
      width: 100%;
   }
   nav .inner {
      padding: 20px 30px;
   }
   .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;
   }
}