@charset "UTF-8";

@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap&subset=japanese");

body {
	min-width: 1240px;
	color: #1C1C1C;
	font-size: 14px;
	line-height: 1.75;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	outline: none;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}

/* ヘッダー */
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 60px;
  position: fixed;
  top: 0;
  width: 100%;
  background: #b0bac0;
  z-index: 1000;
  /* box-shadow: 0 1px 4px rgba(0,0,0,0.1); */
}



.logo {
  display: flex;
  gap: 20px;
  font-weight: bold;
  align-items: center;
  font-size: 20px;
}

.logo img {
    width: 181px;
}

#news,
#info,
#company,
#contact {
    /* margin-top: -100px;
    padding-top: 100px; */
}

/* PCナビ */
.nav ul {
  display: flex;
  gap: 30px;
  font-weight: bold;
}
.nav a {
  font-size: 15px;
  display: inline-block;       /* transform を使う時は念のため */
  transition: transform 0.3s ease, font-size 0.3s ease;
}
.nav a:hover {
  transform: scale(1.15);
}

/* ハンバーガーボタン */
.menu-btn {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 25px;
  height: 14px;
  cursor: pointer;
  z-index: 1100;
}
.bar {
  height: 2px;
  width: 100%;
  background-color: #000;
  transition: all 0.3s;
}


.vis-sp,
.vis-tb {
	display: none;
}

.fadein {
    opacity: 0;
    transform: translateY(30px);
    transition: all 1.0s ease-out;
}

.fadein.show {
    opacity: 1;
    transform: translateY(0);
}

@media screen and (max-width:1240px) {
	.vis-tb {
		display: block;
	}

	.hide-tb {
		display: none;
	}
}

@media screen and (max-width:767px) {
	body {
		min-width: 0;
	}

	.inner {
		padding: 0 24px;
	}

	.vis-sp {
		display: block;
	}

	.hide-sp {
		display: none;
	}

	 .nav ul {
		display: none;
	}
	.menu-btn {
		display: flex;
	}

	.logo img {
		width: 100px;
		z-index: 10000;
		position: relative;
	}

	.header {
		padding: 20px 30px;
		height: 80px;
	}

	  .logo {
    gap: 10px;
    font-size: 15px;
  }

  html, body {
    overflow-x: hidden;
  }


     /* -------------------------------
     ナビ全体（非表示時）
  --------------------------------*/
  .nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #b0bac0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
  }

  /* -------------------------------
     表示時
  --------------------------------*/
  .nav.active {
    opacity: 1;
    pointer-events: auto;
  }

  /* -------------------------------
     リスト全体
  --------------------------------*/
  .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: start;
    display: block;
  }

  /* -------------------------------
     各項目（ふわっと左から出現）
  --------------------------------*/
  .nav li {
    margin: 3rem 0;
    opacity: 0;
    transform: translateX(-20px);
    transition: all 0.5s ease;
  }

  .nav ul li a::before {
    content: "- ";
    display: inline-block;
    margin-right: 4px; /* ハイフンと文字の間の余白を調整 */
  }

  /* active時に順番に出てくる */
  .nav.active li {
    opacity: 1;
    transform: translateX(0);
  }

  .nav.active li:nth-child(1) { transition-delay: 0.1s; }
  .nav.active li:nth-child(2) { transition-delay: 0.2s; }
  .nav.active li:nth-child(3) { transition-delay: 0.3s; }
  .nav.active li:nth-child(4) { transition-delay: 0.4s; }
  .nav.active li:nth-child(5) { transition-delay: 0.5s; }

  /* -------------------------------
     リンク文字
  --------------------------------*/
  .nav a {
    color: #000;
    text-decoration: none;
    font-size: 1.4rem;
    font-weight: bold;
    transition: color 0.3s;
  }

  .nav a:hover {
    color: #555;
  }

  /* -------------------------------
     ハンバーガーボタン
  --------------------------------*/
  .menu-btn {
    position: fixed;
    top: 15px;
    right: 15px;
    width: 55px;
    height: 55px;
    background: #000;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 1100;
    transition: background 0.3s ease;
  }

  .menu-btn:hover {
    background: #fff;
  }

  /* -------------------------------
     バー（長さの段階差あり）
  --------------------------------*/
  .menu-btn .bar {
    display: block;
    height: 1px;
    background: #fff;
    margin: 3px 0;
    border-radius: 1px;
    transition: all 0.4s ease;
  }

  .menu-btn .bar1 { width: 20px; }
  .menu-btn .bar2 {
    width: 15px;
    position: relative;
    left: -2px; 
  }
  .menu-btn .bar3 { 
    width: 8px;
    position: relative;
    left: -5px; 
  }

  /* ホバー時のバーの動き */
  .menu-btn:hover .bar {
    background: #000;
    animation: slideRight 0.6s ease-in-out;
  }

  @keyframes slideRight {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(5px); }
  }

  /* -------------------------------
     バツボタン化
  --------------------------------*/
  .menu-btn.active {
    background: #000;
  }

  .menu-btn.active .bar {
    position: absolute;
    width: 20px;
    background: #fff;
  }

  .menu-btn.active .bar1 {
    transform: rotate(45deg);
  }

  .menu-btn.active .bar2 {
    opacity: 0;
  }

  .menu-btn.active .bar3 {
    transform: rotate(-45deg);
    position: relative;
    left: 0px;
  }
}



