@charset "UTF-8";
/*======SP=======*/
#headerTop {
  background: white;
  position: fixed;
  z-index: 9999;
  width: 100%; }
  #headerTop .bHeader {
    width: 84vw;
    height: 16vw;
    margin: 0 auto;
    position: relative; }
    #headerTop .bHeader p.logo {
      position: absolute;
      top: 4.8vw;
      left: 0; }
      #headerTop .bHeader p.logo img {
        width: 44vw;
        transition: .1s all; }
    #headerTop .bHeader p.openBtn {
      position: absolute;
      top: 5.3333333333vw;
      right: 0;
      cursor: pointer;
      width: 6.6666666667vw;
      height: 5.3333333333vw;
      z-index: 10; }
      #headerTop .bHeader p.openBtn span {
        width: 6.6666666667vw;
        height: 2px;
        background: #000;
        position: absolute;
        transition: .1s all; }
        #headerTop .bHeader p.openBtn span:nth-child(1) {
          top: 0vw; }
        #headerTop .bHeader p.openBtn span:nth-child(2), #headerTop .bHeader p.openBtn span:nth-child(3) {
          top: 2.6666666667vw; }
        #headerTop .bHeader p.openBtn span:nth-child(4) {
          top: 5.3333333333vw; }
    #headerTop .bHeader div.navWrapper {
      overflow-y: scroll;
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 9;
      width: 100vw;
      min-height: 100vh;
      height: 100%;
      padding-top: 21.3333333333vw;
      background: #fff; }
      #headerTop .bHeader div.navWrapper nav {
        display: block;
        margin: 0 auto;
        width: 84vw;
        height: 100%;
        text-align: center; }
        #headerTop .bHeader div.navWrapper nav a {
          text-decoration: none;
          display: block;
          width: 100%;
          font-size: 4vw;
          color: #000000; }
        #headerTop .bHeader div.navWrapper nav .navUl li {
          margin-bottom: 14.4vw; }
          #headerTop .bHeader div.navWrapper nav .navUl li:nth-last-child(2) {
            margin-bottom: 0; }
          #headerTop .bHeader div.navWrapper nav .navUl li.privacyP {
            margin-bottom: 12.4vw; }
          #headerTop .bHeader div.navWrapper nav .navUl li.contactHeader {
            padding-bottom: 12.9333333333vw;
            margin-bottom: 12.9333333333vw;
            border-bottom: 1px solid #000; }
          #headerTop .bHeader div.navWrapper nav .navUl li.instaSpNav {
            display: block;
            width: 9.2vw;
            margin: 0 auto;
            padding-bottom: 26.6666666667vw; }
            #headerTop .bHeader div.navWrapper nav .navUl li.instaSpNav img {
              width: 100%;
              height: auto; }
          #headerTop .bHeader div.navWrapper nav .navUl li a {
            text-decoration: none;
            display: block;
            width: 100%;
            font-family: 'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',YuGothic,'Yu Gothic',sans-serif;
            font-weight: 700;
            letter-spacing: 0.1em;
            line-height: 1;
            font-size: 4vw;
            color: #000000; }
            #headerTop .bHeader div.navWrapper nav .navUl li a.w3 {
              font-weight: 400;
              font-size: 3.2vw; }
    #headerTop .bHeader.spOpen p.logo {
      opacity: 0;
      transition: .1s all;
      pointer-events: none; }
    #headerTop .bHeader.spOpen p.openBtn span {
      background: #222;
      transition: .5s all; }
      #headerTop .bHeader.spOpen p.openBtn span:nth-child(1), #headerTop .bHeader.spOpen p.openBtn span:nth-child(4) {
        transition: .01s all;
        opacity: 0; }
      #headerTop .bHeader.spOpen p.openBtn span:nth-child(2) {
        transform: rotate(45deg); }
      #headerTop .bHeader.spOpen p.openBtn span:nth-child(3) {
        transform: rotate(-45deg); }
    #headerTop .bHeader.spOpen nav {
      width: 89.3333333333vw; }

/*======TB/PC=======*/
@media (min-width: 768px) {
  #headerTop .bHeader {
    width: 90.9090909091vw;
    height: 9.0909090909vw;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    #headerTop .bHeader p.logo {
      position: static;
      top: auto;
      left: auto; }
      #headerTop .bHeader p.logo img {
        width: 26.0909090909vw; }
    #headerTop .bHeader p.openBtn {
      display: none; }
    #headerTop .bHeader div.navWrapper {
      overflow-y: visible;
      display: block;
      position: static;
      top: auto;
      left: auto;
      width: 42.7272727273vw;
      min-height: inherit;
      height: auto;
      padding-top: 0; }
      #headerTop .bHeader div.navWrapper nav {
        width: auto;
        height: auto; }
        #headerTop .bHeader div.navWrapper nav a {
          font-size: 1.2727272727vw; }
        #headerTop .bHeader div.navWrapper nav .navUl {
          line-height: 4;
          display: flex;
          align-items: center;
          justify-content: flex-end;
          padding-bottom: 0;
          margin-bottom: 0;
          border-bottom: none; }
          #headerTop .bHeader div.navWrapper nav .navUl li {
            margin-bottom: 0; }
            #headerTop .bHeader div.navWrapper nav .navUl li + li {
              margin-left: 3.6363636364vw; }
            #headerTop .bHeader div.navWrapper nav .navUl li a {
              text-decoration: none;
              display: block;
              width: 100%;
              font-size: 1.2727272727vw;
              position: relative; }
              #headerTop .bHeader div.navWrapper nav .navUl li a::after {
                position: absolute;
                left: 0;
                content: '';
                width: 100%;
                height: 2px;
                background: #000000;
                bottom: -0.8181818182vw;
                transform: scale(0, 1);
                transform-origin: left top;
                transition: transform 0.3s; }
              #headerTop .bHeader div.navWrapper nav .navUl li a:hover::after {
                transform: scale(1, 1); }
            #headerTop .bHeader div.navWrapper nav .navUl li.contactHeader {
              padding-bottom: 0;
              margin-bottom: 0;
              border-bottom: none; }
            #headerTop .bHeader div.navWrapper nav .navUl li.instaPcNav a {
              width: 2.0909090909vw;
              transition: .3s; }
              #headerTop .bHeader div.navWrapper nav .navUl li.instaPcNav a::after {
                content: none; }
              #headerTop .bHeader div.navWrapper nav .navUl li.instaPcNav a:hover {
                opacity: .5; } }
/*======PC=======*/
@media (min-width: 1150px) {
  #headerTop .bHeader {
    width: 1100px;
    height: 100px; }
    #headerTop .bHeader p.logo img {
      width: 287px; }
    #headerTop .bHeader div.navWrapper {
      width: 470px; }
      #headerTop .bHeader div.navWrapper nav a {
        font-size: 14px; }
      #headerTop .bHeader div.navWrapper nav .navUl li + li {
        margin-left: 40px; }
      #headerTop .bHeader div.navWrapper nav .navUl li.instaPcNav a {
        width: 23px; }
      #headerTop .bHeader div.navWrapper nav .navUl li a {
        font-size: 14px; } }
