/* ----------------------------- */
/* base
/* ----------------------------- */
html{
  font-size: 62.5%;
}

body{
  font-size: 1.6rem;
  font-family: 'Bai Jamjuree', 'Noto Sans JP', sans-serif;
  color: #19232d;
  line-height: 1.5;
  letter-spacing: 1px;
  
}
ul{
  list-style: none;
}

a{
  text-decoration: none;
}

img{
  width: 100%;
  vertical-align: bottom;
}

h2{
  font-size: 3.6rem;
  line-height: 1;
  font-weight: 400;
}

h3{
  font-size: 2.8rem;
  font-weight: normal;
}


/* ----------------------------- */
/* header
/* ----------------------------- */
header{
  display: flex;
  width: 100%;
  background-color: #fff;
  justify-content: space-between;
  align-items: center;
  padding: 20px 50px;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  z-index: 1;
}

.site-title{
  max-width: 203px;
}

.nav-list{
  display: flex;
  font-size: 16px;
  font-weight: 700;
}

.nav-list a{
  color: #000;
}

.nav-list a:hover{
  color: #ff4800;
}

.nav-item{
  margin-right: 50px;
}

.nav-item:last-of-type{
  margin-right: 0;
}

.burger-btn{
  display: none;
}


/* ----------------------------- */
/* main
/* ----------------------------- */
main{
  padding: 0 20px;
}


/* ----------------------------- */
/* footer
/* ----------------------------- */
footer{
  background-color: black;
  color: #fff;
  padding: 60px 50px 100px;
}

footer a{
  color: #fff;
}

footer a:hover{
  color: #ff4800;
}

.main-footer{
  display: flex;
}

.main-footer-left{
	margin-right: 120px;
}

.social-icon-f{
  display: flex;
  margin-top: 20px;

}

.social-twitter-f{
  max-width: 48px;
  filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%);
  margin-right: 20px;
}

.social-twitter-f:hover{
  cursor: pointer;
  opacity: .5;
  transition: .3s;
}

.social-instagram-f{
  max-width: 48px;
  filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%);
}

.social-instagram-f:hover{
  cursor: pointer;
  opacity: .5;
  transition: .3s;
}

.main-footer-right{
  display: flex;
}

.footer-logo{
  max-width: 200px;
  margin-bottom: 40px;
}

.footer-nav{
  margin-right: 60px;
}

.footer-nav:last-of-type{
	margin-right: 0; 
}

.footer-nav p{
  margin-bottom: 20px;
}


.footer-nav-item{
  margin-bottom: 10px;
}

.footer-bottom{
  text-align: center;
  border-top:1px solid white;
  margin-top: 60px;
  padding-top: 60px;
}

small{
  font-size: 1.2rem;

}

.footer-terms{
  font-size: 1.1rem;
  margin-top: 30px;
}

.contact-link{
	color: #19232D;
}


@media screen and (max-width:940px){
  .site-title{
    margin: 0 auto;
  }

  .burger-btn{
    display: block;
    width: 30px;
    height: 30px;
    position: relative;
    transition: .2s;
  }

  .bar{
    display: block;
    width: 100%;
    height: 3px;
    border-radius: 1px;
    background-color: #19232d;
    position: absolute;
    z-index: 9; /*メニューの下に隠れないようにz-indexを指定する*/
  }

  .bar_top{
    top: 0;
    transition: .2s;
  }

  .bar_middle{
    top: 13px;
    transition: .2s;
  }

  .bar_bottom{
    bottom: 0;
    transition: .2s;
  }

  /* ハンバーガーボタンをクリックしたときのボタンの見た目 */
  .burger-btn.cross .bar_top{
    transform: rotate(55deg);
    top:13px;
    transition: .2s;
  }
  .burger-btn.cross .bar_middle{
    opacity: 0;
    transition: .2s;
  }
  .burger-btn.cross .bar_bottom{
    transform: rotate(-55deg);
    bottom: 14px;
    transition: .2s;
  }

  /* ハンバーガーメニューが開いたときのスタイル */
  .header-nav{
    transform: translateX(100%); 
    /* display: none; */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #fff;
    padding: 40px;
    box-sizing: border-box;
    transition: .2s;  
    
  }

  .header-nav.slide-in{      
    transform: translateX(0);      
    transition: .2s;     
  }


  .nav-list{
    display: block;
    padding: 60px 0 20px;
  }
  .nav-item{
    margin: 0;
    border-top: 1px solid gray;
    padding: 20px 0;
  }

  .nav-item:last-of-type{
    padding: 20px 0;
    border-bottom: 1px solid gray;
  }

  body.noscroll{
    overflow: hidden;
  }

/* ----------------------------- */
/* footer
/* ----------------------------- */
footer{
  padding: 80px 20px 40px;
}

.main-footer{
  display: block;
}

.main-footer-left{
  margin-bottom: 60px;
}
	
}



@media screen and (max-width:600px){
  h2{
    font-size: 2.8rem;
  }

  h3{
    font-size: 2.2rem;
  }

  p{
    font-size: 1.4rem;
  }

  
  /* ----------------------------- */
/* footer
/* ----------------------------- */
  .main-footer-right{
    display: block;
  }

  .footer-nav{
    margin-right: 0;
    margin-bottom: 40px;
  }
	
}
