@charset "UTF-8";

header, section, footer {padding: 0 7.5%;}
header {
    position: fixed;
    z-index: 99;
    padding-top: 3rem;
    transition: .75s ease-in-out;
}

header {
    width: 100%;
    display: flex;
    justify-content: space-between;
}
header a svg {
  position: relative;
  z-index: 99;
  margin-bottom: -0.5rem;
  margin-top: 0.15rem;
}
header .Logo svg {width: 18.5rem;}

/*
#Index header * {color: white;}
*/

header ul.pc li {
    display: inline-block;
    margin-left: 3rem;}
header ul.pc li:nth-of-type(3) {margin-left: 2.1rem;}
header ul.pc li:nth-of-type(3) span {font-size: 1.15rem;}
header ul.pc li a {text-align: center;}
header ul.pc li h2 {font-size: 2.2rem;}
header ul.pc li span {font-size: 1.2rem;}



/*header.scrolled {transform: translateY(-7.5rem);}*/
header.scrolled {
  filter: contrast(1.1);
  background-color: #efefef;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  filter: drop-shadow(2px 4px 6px rgba(0,0,0,.15));
}
header .Logo svg, header .Logo svg path {transition: .75s ease-in-out;}
header.scrolled .Logo svg {
  transform: scale(1);
  transform-origin: left top;
}

footer {
    margin-top: 12.5rem;
    padding-bottom: 3rem;
}

footer ul {margin-bottom: 6rem;}
footer li a {
    display: flex;
    align-items: center;
    margin-bottom: 3.6rem;}
footer li a.h2 {font-size: 2.2rem;letter-spacing: .1em;}

footer li a svg {
  transform-origin: left top;
  transform: scale(.925);
  margin-right: 0rem;}

footer .Logo {
  width: 22.5rem;
  margin-top: 4rem;}
footer .Logo svg {width: 22.5rem;}
footer small {
    font-size: 1rem;
    display: block;
    margin-top: 1rem;
}


@media screen and (max-width: 960px) {

  header .pc {display: none;}
  header .sp {display: block;}
  header .global-nav_item h1 {font-size: 2.4rem;}

}

@media screen and (max-width: 1280px) and (min-width: 720px) {

  header a.Logo svg {width: 17.5rem;}

  header ul.pc li {margin-left: 1.5rem;}
  header ul.pc li h2 {font-size: 1.8rem;}
  header ul.pc li span {font-size: 1rem;}

}


@media screen and (min-width: 720px) {

    header.scrolled {
      background-color: transparent;
      transform: translateY(-10rem);}

    header, section, footer {padding: 0 10%;}

    header {padding-top: 5rem;
        padding-right: 10%;}

    header .Logo svg {width: 22.5rem;}

        footer {padding-bottom: 4.5rem;}

    footer small {
        display: block;}


    footer .Logo {width: 27.5rem;}

}

@media screen {

    .global-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: calc(var(--vh, 1vh) * 100);
        padding-left: 7.5vw;
        padding-bottom: 8rem;
        background-color: #E9E9E9;
        transition: 1s;
        
        overflow-y: auto; 
        display: flex;
        justify-content: flex-start;
        align-items: flex-end;
        visibility: hidden;
        opacity: 0;
        z-index: -1;
      }

      .nav-open .global-nav {
        z-index: 1;
        visibility: visible;
        opacity: 1;
        transition: opacity .75s .5s;
      }
      .global-nav li a h1 {color: var(--mainColor);}
      .global-nav li a span {
        display: block;
        font-size: 1.3rem;}

      .hamburger-wrapper {z-index: 4;}
      .hamburger {
        position: relative;
        width: 4rem; /* クリックしやすいようにちゃんと幅を指定する */
        cursor: pointer;
        z-index: 4;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        height: 100%;
        margin-top: 0.5rem;
      }




      .global-nav_list {
        padding: 0;
        list-style: none;
      }
      .global-nav_item {
        text-align: left;
        margin: 1rem 0 0;
      }
      .global-nav_item a {
        display: block;
        padding: .5rem 0;
        letter-spacing: 2.4px;
        text-decoration: none;
        color: white;
        font-size: 1.7rem;
        font-weight: 500;
        text-align: left;
        transition: 0.75s;
      }
          
      .header-products-collection {
        margin-left:5rem;
        margin-bottom: 4rem;
      }
      .header-products-collection li {margin-bottom: 2rem;} 
      .global-nav_item a:hover {opacity: 0.5;}
      
      .hamburger .text {
        display: flex;
        align-items: center;
        margin-top: -.2rem;
        height: 100%;
        font-size: 1.5rem;}
      .hamburger .line {        
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-end;

      }
      .hamburger_line {
        display: block;
        margin-left: 0.75rem;
        width: 1.8rem;
        height: 2.4px;
        background-color: var(--textColor);
        transition: all .6s;
        border-radius: 5rem;
      }
      .hamburger_line--1 {
          width: 2.2rem;
          margin-bottom: .75rem;
      }
      .hamburger_line--3 {
          width: 2rem;
      }
      .black-bg {
        position: fixed;
        left: 0;
        top: 0;
        width: 100vw;
        height: 100vh;
        background-color: rgba(0,0,0,0.65);
        z-index: 1;
        opacity: 0;
        visibility: hidden;
        transition: all .6s;
        cursor: pointer;
      }
      /* 表示された時用のCSS */
      
      .nav-open .black-bg {
        opacity: 1; /*0.8にしてアニメさせるのアリ*/
        visibility: visible;
      }
      .nav-open .hamburger_line {
        width: 2.4rem;
        transform: scale(1);
      }
      .nav-open .hamburger_line--1 {transform: rotate(30deg);}
      .nav-open .hamburger_line--3 {
        width: 2.4rem;
        margin-top: -1rem;
        transform: rotate(-30deg);}
      
      .global-nav {transition: 1s;}
      .global-nav_list ul {margin-left: 2.5rem;}
      .global-nav_item a {text-align: left; display: inline-block;}
      .global-nav_list ul li {display: inline-block;}
      
    
}