@charset "UTF-8";

/* 共通部分
-------------------------*/
html {
     font-size: 100%;
}
body {
     font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
  line-height: 1.7;
     color: #000;
}
a {
  text-decoration: none;
}
img {
  max-width: 100%;
}

/* HEADER
--------------------------- */
/* logo */
h1 {
  font-family: 'Montserrat', sans-serif;
  font-size: 40px;
  color: #fff;
  text-align: center;
  letter-spacing: 5px;
  padding-top: 0.3em;
}

/* 3本線のナビゲーション */
.main-nav {
  display: flex;
  flex-direction: column;
  background-color: #999;
  font-size: 12px;
  list-style: none;
  padding: 63px 65px 30px;
  width: 280px;
  position: fixed;
  top: 0;
  left: -280px;
  transition: 1s;
}
.main-nav li {
  padding-bottom: 1em;
}
.c-li {
  padding-left: 25px;
}
.main-nav li a {
  color: #000;
}
.main-nav li a:hover {
  display: block;
  border-bottom: 1px solid #000;
  padding-bottom: 0.1em;
}
.active {
  transform: translateX(100%);
}

/* 3本線のバック */
.navigation {
  width: 50px;
  height: 50px;
  position: fixed;
  top: 0;
  left: 5px;
  z-index: 2;
}
/* 3本線 */
.line {
  width: 30px;
  height: 2px;
  background-color: #000;
  position: absolute;
  top: 50%;
  left: 10px;
  transition: 1s;
}
.line:nth-of-type(1) { top: 15px;}
.line:nth-of-type(3) { top: 35px;}
/* closeになったらアニメーション*/
.close { top: 50% !important; }
.close:nth-of-type(1) { transform: rotateZ(-135deg);}
.close:nth-of-type(2) { transform: rotateZ( 135deg);}
.close:nth-of-type(3) { transform: rotateZ(-135deg);}

/* ヘッダーのお問い合わせ */
.head-contact img {
  position: fixed;
  width: 30px;
  top: 10px;
  left: 70px;
  z-index: 1;
}


/* 背景画像 */
.big-bg {
  background: url(images/main.jpg) no-repeat center top/cover;
  min-height: 100vh;
  width: 100%;
  object-fit: cover;
}

/* サブナビ */
.sub-nav {
  display: flex;
  height: 83vh;
  align-items: flex-end;
  justify-content: space-around;
  list-style: none;
  font-size: 20px;
  font-family: 'Montserrat', sans-serif;
}
.sub-nav li a {
  color: #000;
}
.sub-nav li a:hover {
  border-bottom: 1px solid #000;
  padding-bottom: 0.3em;
}

/* about us */
.about {
  background-color: #555;
  width: 90%;
  margin-top: 15em;
  margin-left: 50px;
}
.about img {
  width: 370px;
}
.about-us {
  display: flex;
}
.text {
  margin-top: 7em;
  margin-left: 100px;
}
/* h2共通フォント */
h2 {
  font-family: 'EB Garamond', serif;
}
p {
  font-family: 'Playfair Display', serif;
}
/* -------------------- */
.text h2 {
  font-size: 27px;
  color: #fff;
  position: relative;
}
.text h2:after {
  content: '';
  width: 120px;
  height: 2.5px;
  background-color: #000;
  position: absolute;
  top: -10px;
  left: -3px;
}
.text p {
  display: block;
  width: 400px;
  border-top: 1px solid #333;
  padding-top: 2em;
  font-size: 13px;
  line-height: 1.5;
  margin-top: 3em;
}

/* images */
.images {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 15em;
  margin-bottom: 9em;
}
.images img {
  width: 550px;
  height: 335px;
}


/* all styling */
.styling {
  text-align: center;
  color: #000;
  margin-bottom: 13em;
}
.styling img {
  width: 400px;
  padding-top: 5em;
  padding-bottom: 1em;
}
.styling h2 {
  font-size: 25px;
  letter-spacing: 2px;
  position: relative;
}
.styling h2:before {
  content: '';
  width: 280px;
  height: 1px;
  background-color: #000;
  position: absolute;
  top: 90%;
  transform: translateX(-300px);
}
.styling h2:after {
  content: '';
  width: 280px;
  height: 1px;
  background-color: #000;
  position: absolute;
  top: 90%;
  transform: translateX(10px);
}
.styling p {
  font-size: 17px;
  line-height: 1;
}

/* category */
.category {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 10em;
}
.category h2 {
  font-size: 28px;
  letter-spacing: 2px;
  padding-bottom: 1.5em;
}
.c-item {
  display: flex;
  justify-content: center;
}
.item {
  position: relative;
  padding: 10px;
}
.category img {
  width: 550px;
  height: 300px;
}
.category p {
  font-size: 15px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  background-color: rgba(255,255,255,.7);
  padding: 5px 10px;
}

/* footer */
footer {
  background-color: #777;
  text-align: center;
  padding-top: 3em;
}
h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 28px;
  padding-bottom: 1em;
}
footer p {
  font-size: 14px;
}
footer img {
  width: 25px;
}
.phone {
  display: flex;
  justify-content: center;
  padding-bottom: 1.5em;
}
footer a {
  color: #000;
  font-size: 11px;
}
.copyright {
  padding-top: 3em;
  font-size: 11px;
  padding-bottom: 4em;
}



/* モバイル版
--------------------------------------- */
@media (max-width: 900px) {

  /* logo */
  h1 {
    font-size: 30px;
    letter-spacing: 3px;
  }
  /* 3本線のバック */
  .navigation {
    width: 40px;
    height: 40px;
  }
  /* 3本線 */
  .line {
    width: 25px;
    height: 1px;
    left: 7px;
  }
  .line:nth-of-type(1) { top: 10px;}
  .line:nth-of-type(3) { top: 30px;}

  /* ヘッダーのお問い合わせ */
  .head-contact img {
    width: 27px;
    top: 6.5px;
    left: 48px;
  }

  /* サブナビ */
  .sub-nav {
    height: 90vh;
    font-size: 12px;
  }
  .sub-nav li a:hover {
    padding-bottom: 0.3em;
  }


  /* about us */
  .about {
    margin: 0 auto;
    width: 350px;
    margin-top: 5em;
  }
  .about img {
    width: 270px;
  }
  .about-us {
    flex-direction: column;
  }
  .text {
    margin-top: 2em;
    margin-left: 25px;
    padding-bottom: 2em;
  }
  .text h2 {
    font-size: 20px;
  }
  .text h2:after {
    width: 90px;
    height: 1.5px;
  }
  .text p {
    width: 280px;
    padding-top: 2em;
    font-size: 10px;
    line-height: 1.3;
    padding-left: 15px;
    margin-top: 1em;
  }

  /* images */
  .images {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 7em;
    margin-bottom: 5em;
  }
  .images img {
    width: 340px;
    height: 250px;
  }


  /* all styling */
  .styling img {
    width: 300px;
  }
  .styling h2 {
    font-size: 20px;
  }
  .styling h2:before {
    width: 100px;
    transform: translateX(-110px);
  }
  .styling h2:after {
    width: 100px;
    transform: translateX(10px);
  }
  .styling p {
    font-size: 13px;
    line-height: 0.8;
  }


  /* category */
  .category {
    margin-bottom: 4em;
  }
  .category h2 {
    font-size: 23px;
    letter-spacing: 2px;
    padding-bottom: 0.8em;
  }
  .c-item {
    flex-direction: column;
  }
  .item {
    padding: 3px;
  }
  .category img {
    width: 320px;
    height: 230px;
  }
 

  /* footer */
  footer {
    padding-top: 1.5em;
  }
  h3 {
    font-size: 23px;
    padding-bottom: 0.5em;
  }
  footer p {
    font-size: 12px;
  }
  footer img {
    width: 20px;
  }
  .phone {
    padding-bottom: 0.8em;
  }
  footer a {
    font-size: 10px;
  }
  .copyright {
    padding-top: 1em;
    font-size: 9px;
    padding-bottom: 2em;
  }

}
