@charset "UTF-8";
/* =========================================================
   全ページ共通：ヘッダー・フッター（会社TOPのデザイン）
   基準デザイン：115様_会社概要ページ_0820.pdf
   ブレイクポイント：SP ≤767px / TB ≤1199px
   ※お知らせ・お問い合わせでは studio のCSS（文字の太さ・字間・画像の幅などを一括指定）と
     一緒に読み込まれるため、ヘッダー・フッター内はここで指定し直している。
   ========================================================= */

:root{
  --ink:#000;
  --text:#28282b;
  --pink:#FC5C6A;
  --blue:#71B7D0;
  --gray:#F2F2F2;
  --header-h:95px;
}
@media (max-width:767px){
  :root{--header-h:64px;}
}

.f-header,.f-footer{font-family:"Gen Interface JP","Hiragino Kaku Gothic ProN",sans-serif;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;}
.f-header *,.f-footer *{box-sizing:border-box;letter-spacing:normal;}
.f-header ul,.f-footer ul{margin:0;padding:0;list-style:none;}
.f-header p,.f-footer p{margin:0;}
.f-header a,.f-footer a{color:inherit;text-decoration:none;transition:opacity .2s;}
.f-header a:hover,.f-footer a:hover{opacity:.7;}
.f-header button{font:inherit;}

.f-inner{max-width:1440px;margin:0 auto;padding:0 120px;}

/* ヘッダーを画面上部に固定する分、本文を下げる */
body{padding-top:var(--header-h);}
section[id]{scroll-margin-top:calc(var(--header-h) + 24px);}

/* =========================================================
   HEADER
   ========================================================= */
/* 画面上部に固定。背景は白50%＋すりガラス風のぼかし。背景は画面幅いっぱい、中身は最大1440px幅で中央寄せ */
.f-header{--pad-l:35px;--pad-r:32px;position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;height:var(--header-h);padding:0 max(var(--pad-r),calc((100% - 1440px) / 2 + var(--pad-r))) 0 max(var(--pad-l),calc((100% - 1440px) / 2 + var(--pad-l)));background:rgba(255,255,255,.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ink);}
/* WordPress の管理バー（ログイン中）と重ならないように */
.admin-bar .f-header{top:32px;}
@media (max-width:782px){.admin-bar .f-header{top:46px;}}
.f-header__logo{display:flex;align-items:center;gap:13px;}
.f-header__logo img{display:block;width:72px;height:auto;}
.f-header__logo span{display:block;font-size:18px;font-weight:700;letter-spacing:.06em;}
.f-header__nav{display:flex;align-items:center;gap:32px;}
.f-header__links{display:flex;gap:38px;}
.f-header__links a{display:block;font-size:15px;font-weight:600;letter-spacing:.1em;}
.f-header__services{display:flex;gap:16px;}
.f-header__services a{display:flex;align-items:center;height:40px;padding:0 16px;border:1.5px solid var(--ink);border-radius:999px;font-size:16px;font-weight:500;letter-spacing:.06em;}
.f-header__toggle{display:none;}

/* =========================================================
   FOOTER
   ========================================================= */
.f-footer{background:#28282b;color:#fff;padding:67px 0 68px;}
.f-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.f-footer__name{font-size:22px;font-weight:500;letter-spacing:.06em;line-height:1.5;}
.f-footer__copy{margin-top:4px;font-size:12px;letter-spacing:.15em;}
.f-footer__nav{display:flex;gap:24px;}
.f-footer__nav a{display:block;font-size:15px;font-weight:500;letter-spacing:.1em;}

/* =========================================================
   TB（≤1199px）
   ========================================================= */
@media (max-width:1199px){
  .f-inner{padding:0 40px;}
  .f-header{--pad-l:24px;--pad-r:24px;}
  .f-header__links{gap:24px;}
}

/* =========================================================
   SP（≤767px）：ハンバーガーメニュー
   ========================================================= */
@media (max-width:767px){
  .f-inner{padding:0 20px;}

  .f-header{--pad-l:16px;--pad-r:8px;}
  .f-header__logo{gap:10px;}
  .f-header__logo img{width:56px;}
  .f-header__logo span{font-size:16px;}
  .f-header__toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:0 10px;background:none;border:none;cursor:pointer;}
  .f-header__toggle span{display:block;height:2px;background:var(--ink);border-radius:1px;transition:transform .25s,opacity .25s;}
  .f-header__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .f-header__toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .f-header__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
  .f-header__nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:24px;padding:8px 20px 28px;background:#fff;box-shadow:0 12px 16px rgba(0,0,0,.08);}
  .f-header__nav.is-open{display:flex;}
  .f-header__links{flex-direction:column;gap:0;}
  .f-header__links a{padding:16px 4px;border-bottom:1px solid #e6e6e6;}
  .f-header__services{justify-content:center;}
  .f-header__services a{height:44px;}

  .f-footer{padding:40px 0;}
  .f-footer__inner{flex-direction:column-reverse;align-items:flex-start;gap:28px;}
  .f-footer__name{font-size:18px;}
  .f-footer__nav{flex-wrap:wrap;gap:12px 20px;}
}
