@charset "utf-8";
/* CSS Document */

/* ---------------------------------------------------------
 header
----------------------------------------------------------- */
.header {
  z-index: 5;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
}

.header .header_logo {
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 2;
  position: absolute;
  top: 0;
          align-items: center;
          justify-content: center;
  background: #e53742;
}

.header .header_logo img {
  width: 100%;
  height: auto;
}

.header_menu_inner {
  -webkit-overflow-scrolling: touch;
  display: none;
  z-index: 10;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  /* Fallback */
  height: -webkit-calc(var(--vh, 1vh) * 100);
  height: -moz-calc(var(--vh, 1vh) * 100);
  height: calc(var(--vh, 1vh) * 100);
  overflow: scroll;
  background-color: #e3d1be;
  will-change: transform, opacity;
}

.header_menu_scroller {
  -moz-background-size: 100%;
    -o-background-size: 100%;
  padding-bottom: 19.23077vw;
  background: url('../images/common/sp/header_menu_bg.png') no-repeat;
       background-size: 100%;
}

body ::-webkit-scrollbar {
  width: 5px;
}

body ::-webkit-scrollbar-track {
  -webkit-border-radius: 3px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
          border-radius: 3px;
          box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
}

body ::-webkit-scrollbar-thumb {
  -webkit-border-radius: 3px;
  -webkit-box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
          border-radius: 3px;
  background-color: #aaa;
          box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
}

.js-item-under {
  -webkit-transition: margin 300ms 0s ease-out;
  -o-transition: margin 300ms 0s ease-out;
  -moz-transition: margin 300ms 0s ease-out;
  transition: margin 300ms 0s ease-out;
}

.js-item-under.is-sub_active {
  margin-top: 42.66667vw;
}

.header_menu_ctrl {
  -webkit-border-bottom-left-radius: 2.66667vw;
     -moz-border-radius-bottomleft: 2.66667vw;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
          flex-direction: column;
          align-items: center;
          justify-content: center;
  width: 16vw;
  height: 14.66667vw;
          border-bottom-left-radius: 2.66667vw;
  background: #291b17;
}

.header_menu_ctrl span {
  display: block;
  width: 8.53333vw;
  height: 0.53333vw;
  margin: 1.2vw 0;
  background: #fff;
}

.header_menu_ctrl_close {
  -webkit-border-bottom-left-radius: 2.66667vw;
     -moz-border-radius-bottomleft: 2.66667vw;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 11;
  position: fixed;
  top: 0;
  right: 0;
          flex-direction: column;
          align-items: center;
          justify-content: center;
  width: 16vw;
  height: 14.66667vw;
          border-bottom-left-radius: 2.66667vw;
  background: #291b17;
}

.header_menu_ctrl_close span {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 9.06667vw;
  height: 0.66667vw;
  margin: auto;
  background: #fff;
}

.header_menu_ctrl_close span:nth-child(1) {
  -webkit-transform: rotateZ(45deg);
     -moz-transform: rotateZ(45deg);
      -ms-transform: rotate(45deg);
       -o-transform: rotateZ(45deg);
          transform: rotateZ(45deg);
}

.header_menu_ctrl_close span:nth-child(2) {
  -webkit-transform: rotateZ(-45deg);
     -moz-transform: rotateZ(-45deg);
      -ms-transform: rotate(-45deg);
       -o-transform: rotateZ(-45deg);
          transform: rotateZ(-45deg);
}

.st-Header_Hum {
  -webkit-border-bottom-left-radius: 2.66667vw;
     -moz-border-radius-bottomleft: 2.66667vw;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
     -moz-box-orient: vertical;
     -moz-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 11;
  position: fixed;
  top: 0;
  right: 0;
          flex-direction: column;
          align-items: center;
          justify-content: center;
  width: 16vw;
  height: 14.66667vw;
          border-bottom-left-radius: 2.66667vw;
  background: #059BE7;
}

.st-Header_Line {
  -webkit-transition: all 200ms 0s ease-out;
  -o-transition: all 200ms 0s ease-out;
  -moz-transition: all 200ms 0s ease-out;
  position: absolute;
  left: 3.58974vw;
  width: 8.33333vw;
  height: 0.51282vw;
  background-color: #fff;
  transition: all 200ms 0s ease-out;
  will-change: transform, animation;
}

.st-Header_Line-1 {
  top: 4.48718vw;
}

.is-menu-active .st-Header_Line-1 {
  -webkit-transform: rotate(45deg);
     -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
       -o-transform: rotate(45deg);
  top: 6.41026vw;
          transform: rotate(45deg);
}

.st-Header_Line-2 {
  top: 6.53846vw;
}

.is-menu-active .st-Header_Line-2 {
  opacity: 0;
}

.st-Header_Line-3 {
  top: 8.58974vw;
}

.is-menu-active .st-Header_Line-3 {
  -webkit-transform: rotate(-45deg);
     -moz-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
       -o-transform: rotate(-45deg);
  top: 6.41026vw;
          transform: rotate(-45deg);
}

@-webkit-keyframes header_hover_opa {
  0% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

@-moz-keyframes header_hover_opa {
  0% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

@-o-keyframes header_hover_opa {
  0% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

@keyframes header_hover_opa {
  0% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes header_hover_opa2 {
  0% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
  }
}

@-moz-keyframes header_hover_opa2 {
  0% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
  }
}

@-o-keyframes header_hover_opa2 {
  0% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
  }
}

@keyframes header_hover_opa2 {
  0% {
    opacity: 0.8;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes header_hover_line {
  0% {
    -webkit-transform: scaleX(0.5);
            transform: scaleX(0.5);
    opacity: 0;
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    opacity: 0.8;
  }
}

@-moz-keyframes header_hover_line {
  0% {
    -moz-transform: scaleX(0.5);
         transform: scaleX(0.5);
    opacity: 0;
  }
  100% {
    -moz-transform: scaleX(1);
         transform: scaleX(1);
    opacity: 0.8;
  }
}

@-o-keyframes header_hover_line {
  0% {
    -o-transform: scaleX(0.5);
       transform: scaleX(0.5);
    opacity: 0;
  }
  100% {
    -o-transform: scaleX(1);
       transform: scaleX(1);
    opacity: 0.8;
  }
}

@keyframes header_hover_line {
  0% {
    -webkit-transform: scaleX(0.5);
       -moz-transform: scaleX(0.5);
         -o-transform: scaleX(0.5);
            transform: scaleX(0.5);
    opacity: 0;
  }
  100% {
    -webkit-transform: scaleX(1);
       -moz-transform: scaleX(1);
         -o-transform: scaleX(1);
            transform: scaleX(1);
    opacity: 0.8;
  }
}
