/* ===== Header & Navigation (共通) ===== */
#header{
  position:fixed;top:0;left:0;width:100%;
  display:flex;justify-content:space-between;align-items:center;
  padding:15px 20px;background:#fff;
  box-shadow:0 2px 4px rgba(0,0,0,.05);
  z-index:1000;box-sizing:border-box;
}
.logo-container{display:flex;align-items:center;text-decoration:none;color:#333}
.logo-container img{height:40px;width:auto;margin-right:10px}
.company-name{font-weight:bold;font-size:1.1em}
.hamburger-menu{
  width:30px;height:22px;display:flex;flex-direction:column;justify-content:space-between;
  cursor:pointer;background:none;border:none;padding:0;z-index:1001;
}
.hamburger-menu span{display:block;width:100%;height:3px;background:#333;transition:.3s}
@media(max-width:360px){.company-name{display:none}}

#nav{
  position:fixed;top:0;right:-300px;width:280px;height:100%;
  background:rgba(51,51,51,.95);box-shadow:-4px 0 10px rgba(0,0,0,.2);
  transition:right .4s ease;z-index:999;padding-top:100px;
}
#nav.is-visible{right:0}
#nav ul{margin:0;padding:0;list-style:none}
#nav a{
  display:block;padding:15px 30px;color:#fff;text-decoration:none;font-size:1.2em;
  border-bottom:1px solid #444;
}
#nav a.active{background:#f0b800;color:#333}

/* ===== 共通ユーティリティ ===== */
.button{transition:opacity .3s}.button:hover{opacity:.8}

/* Contact フォーム送信ボタン中央寄せ */
#contact-form .button{display:block;margin:0 auto}

/* ===== WebFont (Noto Sans JP) ===== */
@font-face{
  font-family:'Noto Sans JP';
  src:url('../fonts/NotoSansJP-400.woff2') format('woff2');
  font-weight:400;font-display:swap;
}
@font-face{
  font-family:'Noto Sans JP';
  src:url('../fonts/NotoSansJP-700.woff2') format('woff2');
  font-weight:700;font-display:swap;
}
body{font-family:'Noto Sans JP',sans-serif}

