/* ====== 基本設定（変数） ====== */
:root{
  --brand-green: #18C08E;   /* お問い合わせボタンの緑 */
  --text: #000;
  --muted: #666;
  --bg: #fff;
  --header-h: 82px;         /* ヘッダー高さ */
  --gap: 28px;              /* メニュー間隔 */
}

/* ====== ベース（軽めのリセット） ====== */
*{ box-sizing: border-box;}
html,body{ margin: 0; padding: 0; }
img{ max-width: 100%; height: auto; display: block; }
a{ color: inherit; text-decoration: none; }
.sc-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip:rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

/* ====== ヘッダー（フル幅・左右端寄せ） ====== */
.slite-header {
    position: fixed;
    height: 70px;
    top: 0;
    z-index: 1000;
    background: var(--bg);
    width: 100%;
    z-index: 100;
}

.site-header_inner {
    height: var(--header-h);
    display: flex;
    align-items: center;
    /* height: 70px; */
    justify-content: space-between;
    padding-inline: 0;
    width: 100%;
}

.slite-header_logo {
    display: inline-flex;
    align-items: center;
    margin-left: 0;
}

.header-logo {
    height: 120px;
}


/* ====== ナビ（右端寄せ） ====== */
.global-nav {
    margin-right: 0;
    display: flex;
    align-items: center;
    gap: 24px;
}

.global-nav_list {
    display: flex;
    align-items: center;
    gap: var(--gap);
    list-style: none;
    margin: 0;
    padding: 0;
}

.global-nav_list a {
    position: relative;
    display: inline-block;
    padding-block: 10px;
    font-size: 14px;
    color: var(--text);
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-weight: 600;
}

.global-nav_list a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    transform: scaleX(0);
    transform-origin: left;
    background: currentColor;
    transition: transform .25s ease;
    opacity: .9;
}

.global-nav_list a:hover::after,
.global-nav_list a:focus::after { transform: scaleX(1); }

/* ====== お問い合わせボタン ====== */
.btn-contact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    background: var(--brand-green);
    color: #fff;
    line-height: 1;
    white-space: nowrap;
    font-size: 14px;
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-weight: bold;
}

.btn-contact:focus-visible { 
    outline: 2px solid #000;
    outline-offset: 2px; 
}

/* ====== ハンバーガー（JSなしトグル） ====== */
.nav-toggle{ display:none; }
.hamburger{
  display:none; width:36px; height:28px; cursor:pointer;
  position:relative; margin-left:auto;
}
.hamburger span{
  position:absolute; left:0; right:0; height:2px; background:#222;
}
.hamburger span:nth-child(1){ top:4px }
.hamburger span:nth-child(2){ top:13px }
.hamburger span:nth-child(3){ top:22px }

/* ====== レスポンシブ ====== */
@media (max-width: 960px){
  .global-nav{
    position:fixed; top:var(--header-h); right:0; bottom:0; left:30%;
    background:#fff; flex-direction:column; align-items:flex-start;
    gap:16px; padding:20px 24px; border-left:1px solid rgba(0,0,0,.08);
    translate:100% 0; transition: translate .25s ease;
  }
  .global-nav__list{ flex-direction:column; gap:12px }
  .hamburger{ display:block; }             /* ハンバーガー表示 */
  /* チェックONでメニューを表示 */
  .nav-toggle:checked ~ .hamburger + .global-nav{ translate:0 0; }
  /* × アニメ（任意） */
  .nav-toggle:checked + .hamburger span:nth-child(1){
    transform:rotate(35deg) translate(3px,-2px);
  }
  .nav-toggle:checked + .hamburger span:nth-child(2){ opacity:0; }
  .nav-toggle:checked + .hamburger span:nth-child(3){
    transform:rotate(-35deg) translate(4px,2px);
  }
}

/* ====== 細かな配慮 ====== */
@media (hover: hover){
  .btn-contact:hover{ filter: brightness(0.95); }
}
@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; animation:none !important; }
}

/* header 固定 */
header{
  position: fixed;
  z-index: 10;
  top: 0;
  width: 100%;
  background: #fff;
}