@charset "UTF-8";
.header_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
  height: 90px;
  min-width: 1200px;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s; }

.header-logo {
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
  padding: 25px 0 0 35px; }
  .header-logo a {
    padding: 0;
    display: block; }
  .header-logo img {
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    width: 302px;
    display: block; }

@media screen and (max-width: 750px) {
  .pc {
    display: none; } }

@media screen and (min-width: 751px) {
  .sp {
    display: none; } }

.header-navi ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-right: 50px;
  margin-top: 25px;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s; }
  @media screen and (min-width: 751px) {
    .header-navi ul li + li {
      margin-left: 26px; }
    .header-navi ul li:not(:last-child) {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; }
      .header-navi ul li:not(:last-child):hover {
        border-bottom: 3px solid #64b3c8; }
      .header-navi ul li:not(:last-child) a:hover {
        opacity: 1; } }
  @media screen and (max-width: 750px) {
    .header-navi ul li:nth-child(1) {
      pointer-events: none; }
      .header-navi ul li:nth-child(1) a {
        padding: 10px 15px; } }
  @media screen and (max-width: 750px) {
    .header-navi ul li:nth-child(2) a, .header-navi ul li:nth-child(3) a, .header-navi ul li:nth-child(4) a {
      background-color: #583b35; } }
  .header-navi ul li {
    line-height: 1.1;
    letter-spacing: 0.015em; }
    .header-navi ul li a {
      display: block;
      padding: 0;
      color: #fff;
      font-weight: bold;
      font-size: 14px;
      display: inline-block;
      padding: 15px 0 36px;
      letter-spacing: 0.12em; }
      @media screen and (min-width: 751px) {
        .header-navi ul li a {
          letter-spacing: 0.015em; } }
      .header-navi ul li a span {
        padding: 0; }
    @media screen and (min-width: 751px) {
      .header-navi ul li.link-login {
        margin-left: 30px; } }
    .header-navi ul li.link-login a {
      background-color: #64b3c8;
      border-radius: 100px;
      padding: 15px 26px;
      margin: 0;
      line-height: 1; }
      .header-navi ul li.link-login a:hover {
        background-color: #61413a;
        opacity: 1; }
    .header-navi ul li.link-login span {
      font-size: 14px;
      letter-spacing: 0; }

.sp-header-toggle-navi-bg, .sp-header-toggle-navi-logo, .sp-header-toggle-navi-close, .sp-header-toggle-navi {
  display: none; }

.sp-header-toggle-navi-bg {
  pointer-events: none; }

.sp-header-toggle-navi-bg.is-active {
  pointer-events: auto; }

@media screen and (min-width: 750px) {
  .is-scroll .header_wrap {
    background: rgba(0, 0, 0, 0.75);
    height: 55px; }
  .is-scroll .header-logo {
    padding: 0; }
    .is-scroll .header-logo a {
      padding: 12px 33px; }
    .is-scroll .header-logo img {
      width: 167px; }
  .is-scroll .header-navi ul {
    margin-top: 4px; }
  .is-scroll .header-navi ul li a {
    padding-bottom: 18px; }
  .is-scroll .sub_navi {
    top: 55px; }
  .is-scroll .header-navi ul li.link-login {
    padding-top: 6px; }
  .is-scroll .header-navi ul li.link-login a {
    padding: 10px 26px 10px 26px; } }

@media screen and (max-width: 750px) {
  .is-scroll .sp-header-toggle-navi a {
    background-color: rgba(100, 179, 200, 0.5); }
  .header_wrap {
    display: block;
    position: absolute;
    min-width: unset;
    z-index: 2147483001; }
  .header-logo {
    padding: 15px 0 0 10px; }
    .header-logo a {
      padding: 0 !important; }
    .header-logo img {
      width: 237px !important; }
  .is-scroll .header_wrap {
    background: transparent; }
  .header-navi {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2147483001;
    width: 100%;
    background-color: #61413a;
    padding-top: 74px;
    display: none; }
    .header-navi ul {
      padding-right: 0;
      display: block;
      text-align: center;
      margin: 0; }
      .header-navi ul li:not(:last-child) {
        border-top: 1px solid #49312b; }
      .header-navi ul li.link-shop {
        border-bottom: 1px solid #49312b; }
      .header-navi ul li.sub_navi_sp {
        text-indent: 20px; }
      .header-navi ul li.sub_navi_sp span::after,
      .header-navi ul li.sub_navi_sp span::after,
      .header-navi ul li.link-tech span::after,
      .header-navi ul li.link-service span::after,
      .header-navi ul li.link-shop span::after {
        content: "";
        display: block;
        width: 15px;
        height: 15px;
        background: url(../images/header_arrow_sp.png) no-repeat;
        background-size: 100% auto;
        position: absolute;
        right: 0;
        top: 0; }
      .header-navi ul li.link-shop span::after, .header-navi ul li.link-magazine span::after {
        content: "";
        display: block;
        width: 15px;
        height: 15px;
        background: url(../images/header_link_sp.png) no-repeat;
        background-size: 100% auto;
        position: absolute;
        right: 0;
        top: 0; }
      .header-navi ul li {
        margin: 0;
        height: auto !important; }
        .header-navi ul li a {
          font-size: 16px;
          margin: 0;
          display: block;
          font-weight: normal;
          padding: 20px 25px;
          line-height: 1; }
          .header-navi ul li a span {
            padding: 0;
            display: block;
            text-align: left;
            position: relative; }
        .header-navi ul li.link-login {
          margin-top: 20px;
          margin-bottom: 20px;
          margin-left: 0; }
          .header-navi ul li.link-login a {
            background-color: #64b3c8;
            color: #fff;
            border-radius: 1000px;
            width: 64%;
            margin: 0 auto;
            padding: 0; }
          .header-navi ul li.link-login a span {
            font-size: 15px;
            text-align: center;
            padding: 18px 20px; }
  .sp-header-toggle-navi-bg {
    display: none;
    background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0; }
  .sp-header-toggle-navi-logo {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2147483002;
    padding: 15px 0 0 10px; }
    .sp-header-toggle-navi-logo a {
      padding: 0;
      display: block; }
    .sp-header-toggle-navi-logo img {
      width: 237px;
      display: block; }
  @-webkit-keyframes logo_ {
    0% {
      opacity: 0;
      /* 透明 */
      -webkit-transform: translateY(10px);
      transform: translateY(10px); }
    100% {
      opacity: 1;
      /* 不透明 */
      -webkit-transform: translateY(0);
      transform: translateY(0); } }
  @keyframes logo_ {
    0% {
      opacity: 0;
      /* 透明 */
      -webkit-transform: translateY(10px);
      transform: translateY(10px); }
    100% {
      opacity: 1;
      /* 不透明 */
      -webkit-transform: translateY(0);
      transform: translateY(0); } }
  .sp-header-toggle-navi-logo img {
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-name: logo_;
    animation-name: logo_;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1; }
  .is-toggle-menu-open .sp-header-toggle-navi-logo {
    display: block; }
  .sp-header-toggle-navi-close {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    height: 60px;
    width: 70px;
    z-index: 2147483002; }
    .sp-header-toggle-navi-close::before {
      content: "";
      display: block;
      width: 30px;
      height: 3px;
      background: #fff;
      position: absolute;
      top: 50%;
      left: 50%;
      margin: -1px 0 0 -10px;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }
    .sp-header-toggle-navi-close::after {
      content: "";
      display: block;
      width: 30px;
      height: 3px;
      background: #fff;
      position: absolute;
      top: 50%;
      left: 50%;
      margin: -1px 0 0 -10px;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }
  .is-toggle-menu-open .sp-header-toggle-navi-close {
    display: block; }
  .sp-header-toggle-navi {
    position: fixed;
    top: 0;
    right: 0;
    display: block; }
    .sp-header-toggle-navi a {
      display: block;
      height: 60px;
      width: 60px;
      text-align: center;
      padding: 0;
      background-color: rgba(100, 179, 200, 0); }
    .sp-header-toggle-navi .menu-icon {
      position: absolute;
      width: 30px;
      height: 23px;
      display: block;
      margin: auto;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0; }
      .sp-header-toggle-navi .menu-icon span {
        display: inline-block;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: absolute;
        left: 0;
        width: 100%;
        height: 3px;
        background-color: #fff; }
        .sp-header-toggle-navi .menu-icon span:nth-of-type(1) {
          top: 0; }
        .sp-header-toggle-navi .menu-icon span:nth-of-type(2) {
          top: 50%;
          margin-top: -1.6px; }
        .sp-header-toggle-navi .menu-icon span:nth-of-type(3) {
          bottom: 0; }
    .sp-header-toggle-navi .menu-label {
      color: #fff;
      display: block;
      height: 10px;
      font-size: 11px;
      letter-spacing: 1px; } }

@media screen and (min-width: 751px) {
  .header-navi ul li:first-child span:after {
    content: "";
    width: 14px;
    height: 14px;
    background: url(../images/header_arrow.png);
    position: relative;
    top: 3px;
    right: -2px;
    display: inline-block; }
  #closeSubHeader.is-active {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 98; }
  li .link-delivery {
    pointer-events: none; } }

.sub_navi {
  width: 100%;
  z-index: 999;
  position: absolute;
  top: 95px;
  background-color: rgba(97, 65, 58, 0.75);
  text-align: center;
  position: fixed;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s; }

.none {
  display: none; }

.sub_navi ul {
  height: 67px; }

.sub_navi ul li {
  display: inline-block; }
  .sub_navi ul li:first-child {
    margin-right: 23px; }
  .sub_navi ul li:nth-child(2) {
    margin-right: 23px; }
  .sub_navi ul li a {
    line-height: 1;
    padding: 26px 0 22px;
    font-size: 15px;
    font-weight: bold;
    color: #ffffff;
    display: inline-block;
    vertical-align: middle;
    letter-spacing: 0.05em; }
    .sub_navi ul li a:hover {
      opacity: 1;
      -webkit-transition: none;
      -o-transition: none;
      transition: none;
      border-bottom: 3px solid #64b3c8; }
