@charset "utf-8";
/* =====================================================================
   common.css ｜ 全ページ共通
   ---------------------------------------------------------------------
   事業再生・廃業支援専門サイト
   ・色はすべて実色（rgba透過なし）。box-shadow・絵文字も不使用。
   ・最小フォントは16px（注釈・キャプションのみ14px）。WCAG AA準拠。
===================================================================== */

/* =====================================================
   デザイントークン
===================================================== */
:root{
  /* メインカラー（ネイビー） */
  --color-primary:#0f2038;
  --color-primary-mid:#1c3a5e;
  --color-primary-light:#2f567f;
  --color-accent:#2d7d9c;        /* 主要CTA背景・区切り */
  --color-accent-light:#41DEE2;   /* ダーク背景上の高輝度アクセント（AA） */
  --color-accent-soft:#5aa8c9;   /* ダーク背景上のアクセント文字（AA） */
  --color-accent-ink:#246680;    /* ライト背景上のアクセント文字（AA） */
  --color-gold:#b08d4f;          /* ゴールド：明背景の細い装飾線 */
  --color-gold-soft:#d4b16e;     /* ゴールド：暗背景の装飾・文字 */
  --color-cta-line:#00B800;      /* LINE導線（緑・白文字でAA確保） */
  --color-pale:#eef2f6;
  --color-muted:#c2cdda;

  /* テキスト（実色） */
  --text-primary:#1e2a3a;
  --text-secondary:#46546a;
  --text-muted:#76849a;
  --text-on-dark-1:#ffffff;
  --text-on-dark-2:#d3dde9;
  --text-on-dark-3:#a7b6c8;
  --text-on-dark-4:#7e8fa3;

  /* 背景・罫 */
  --bg-white:#fafbfc;
  --bg-pale:#eef2f6;
  --bg-border:#d7dee8;
  --hairline-dark:#1f3c5c;
  --ph-bg:#cdd4dd;
  --ph-stroke:#5a6675;
  --ph-frame:#b9c5d4;

  /* レイアウト */
  --site-max:1440px;
  --col-max:760px;
  --side-pad:96px;
  --section-v:140px;
  --header-h:78px;

  /* フォント */
  --font-serif:"Noto Serif JP", serif;
  --font-sans:"Noto Sans JP", sans-serif;
  --font-latin:"Cormorant Garamond", serif;
}

/* =====================================================
   リセット・ベース
===================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.9;
  color:var(--text-primary);background:var(--bg-white);-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,p{margin:0;}
em{font-style:normal;}
svg{display:block;}
a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent-soft);outline-offset:3px;border-radius:0;}

/* =====================================================
   レイアウト共通
===================================================== */
.wrap{max-width:var(--site-max);margin:0 auto;padding:0 var(--side-pad);}
.col{max-width:var(--col-max);margin:0 auto;}

/* セクション共通 */
.section{padding-top:var(--section-v);padding-bottom:var(--section-v);}
.eyebrow{font-size:1.2rem;font-weight:600;letter-spacing:.12em;color:var(--color-accent-ink);}
.eyebrow--on-dark{color:var(--color-accent-soft);}
.sec-title{font-family:var(--font-serif);font-weight:700;font-size:clamp(1.6rem,3.4vw,2.6rem);line-height:1.45;letter-spacing:.01em;color:var(--text-primary);}

/* ユーティリティ */
.text-center{text-align:center;}
.nb{white-space:nowrap;} /* 単語を途中で改行させない */
.pc{display: block!important;}
.sp{display: none!important;}

/* =====================================================
   共通ボタン
   -----------------------------------------------------
   .btn-primary  … 主要CTA（青）
   .btn-line     … LINE導線（緑）
   .btn-text     … テキストリンク（ダーク背景用＝白文字）
   .btn-text-ink … テキストリンク（ライト背景用＝濃い青）
===================================================== */
.btn-primary,.btn-line{
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  padding:1.05em 2em;font-family:var(--font-sans);font-size:1.0625rem;font-weight:700;
  line-height:1.2;letter-spacing:.02em;border-radius:0;
  transition:background-color .18s ease, transform .18s ease;
	border: 0;
}
.btn-primary{background:var(--color-accent-soft);color:#ffffff;}
.btn-primary:hover{background:var(--color-accent-ink);}
.btn-line{background:var(--color-cta-line);color:#ffffff;}
.btn-line:hover{background:#009500;}
.btn-primary:active,.btn-line:active{transform:translateY(1px);}
.btn-ico{width:20px;height:20px;stroke:currentColor;flex-shrink:0;}

.btn-text,.btn-text-ink{display:inline-flex;align-items:center;gap:.45em;font-size:1.0625rem;font-weight:600;}
.btn-text{color:#ffffff;}
.btn-text-ink{color:var(--color-accent-ink);}
.btn-text .bt-label,.btn-text-ink .bt-label{padding-bottom:2px;}
.btn-text:hover .bt-label,.btn-text-ink:hover .bt-label{text-decoration:underline;text-underline-offset:4px;}
.btn-text .arr,.btn-text-ink .arr{width:19px;height:19px;flex-shrink:0;transition:transform .18s ease;}
.btn-text:hover .arr,.btn-text-ink:hover .arr{transform:translateX(3px);}

/* =====================================================
   プレースホルダー画像（写真が入る箇所・SVGカメラのみ）
===================================================== */
.ph{background:var(--ph-bg);display:flex;align-items:center;justify-content:center;}
.ph-icon{opacity:.5;}

/* =====================================================
   ヘッダー（全ページ共通・固定）
===================================================== */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:100;background:var(--color-primary);border-bottom:1px solid var(--hairline-dark);}
.header-inner{display:flex;align-items:center;gap:32px;height:var(--header-h);}

.logo{display:inline-flex;align-items:center;flex-shrink:0;}
.logo-text{font-family:var(--font-serif);font-weight:700;font-size:1.125rem;letter-spacing:.03em;color:var(--text-on-dark-1);white-space:nowrap;}

.gnav{margin-left:auto;}
.gnav-list{display:flex;align-items:center;gap:6px;}
.gnav-item{position:static;}
.gnav-link{display:inline-flex;align-items:center;gap:.3em;white-space:nowrap;padding:.7em .9em;font-size:1rem;font-weight:500;color:var(--text-on-dark-2);transition:color .16s ease;line-height:1.4;}
.gnav-link:hover{color:var(--text-on-dark-1);}
.gnav-trigger .caret{width:16px;height:16px;stroke:currentColor;transition:transform .2s ease;}
.gnav-item.is-open .gnav-trigger{color:var(--text-on-dark-1);}
.gnav-item.is-open .caret{transform:rotate(180deg);}

.header-cta{flex-shrink:0;background:var(--color-accent);color:#ffffff;display:inline-flex;align-items:center;white-space:nowrap;padding:.72em 1.4em;font-size:1rem;font-weight:700;border-radius:0;transition:background-color .18s ease;}
.header-cta:hover{background:var(--color-accent-ink);}

/* メガメニュー（JSで .is-open を付け外し） */
.mega{display:none !important;}
.gnav-item.is-open .mega{display:block !important;}
.mega{position:absolute;left:0;top:var(--header-h);width:100%;background:var(--color-primary-mid);border-top:1px solid var(--hairline-dark);border-bottom:1px solid var(--hairline-dark);}
.mega-inner{display:flex;gap:48px;padding-top:40px;padding-bottom:40px;}
.mega-col{min-width:0; flex: 1;}
.mega-col-label{font-family:var(--font-latin);font-size:1rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-soft);padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--hairline-dark);}
.mega-links{display:flex;flex-direction:column;gap:4px;}
.mega-links a{display:flex;align-items:flex-start;gap:13px;padding:11px 12px;border-radius:0;transition:background-color .16s ease;}
.mega-links a:hover{background:var(--color-primary-light);}
.mega-ico{width:23px;height:23px;flex-shrink:0;margin-top:2px;stroke:var(--color-accent-soft);}
.mega-link-main{font-size:1rem;font-weight:600;color:var(--text-on-dark-1);line-height:1.5;white-space:nowrap;}
.mega-link-sub{display:block;font-size:0.875rem;color:var(--text-on-dark-3);line-height:1.5;margin-top:1px;white-space:nowrap;}
.mega-aside{margin-left:auto;max-width:250px;flex-shrink:0;padding-left:32px;border-left:1px solid var(--hairline-dark);}
.mega-aside-text{font-size:1rem;color:var(--text-on-dark-2);line-height:1.85;margin-bottom:16px;}
.mega-aside-text strong{color:var(--text-on-dark-1);font-weight:600;}
/* メガメニュー：見出しリンク＋配下サブリンク（回遊性強化） */
.mega-col-title{display:block;font-family:var(--font-serif);font-weight:700;font-size:1.0625rem;color:var(--text-on-dark-1);line-height:1.5;padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid var(--hairline-dark);}
a.mega-col-title:hover{color:var(--color-accent-soft);}
.mega-sublinks{display:flex;flex-direction:column;gap:2px;}
.mega-sublinks a{display:block;padding:8px 10px;border-radius:0;font-size:1rem;color:var(--text-on-dark-2);line-height:1.5;transition:background-color .16s ease, color .16s ease;}
.mega-sublinks a:hover{background:var(--color-primary-light);color:var(--text-on-dark-1);}

.nav-toggle{display:none;width:46px;height:46px;margin-left:auto;flex-direction:column;justify-content:center;align-items:center;gap:6px;}
.nav-toggle span{display:block;width:26px;height:2px;background:var(--text-on-dark-1);transition:transform .25s ease, opacity .2s ease;}

/* =====================================================
   フッター（全ページ共通）
===================================================== */
.site-footer{background:var(--color-primary);color:var(--text-on-dark-2);}

/* 最上段：OFFICIAL MAIN SITE バナー（バンド全体がリンク） */
.footer-mainsite{display:block;background:var(--color-primary-mid);border-bottom:1px solid var(--hairline-dark);padding-top:24px;padding-bottom:24px;transition:background-color .18s ease;}
.footer-mainsite:hover{background:#21436a;}
.footer-mainsite-inner{display:flex;align-items:center;justify-content:space-between;gap:16px 40px;flex-wrap:wrap;}
.footer-mainsite-eyebrow{display:block;font-family:var(--font-latin);font-size:1rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent-light);margin-bottom:4px;}
.footer-mainsite-title{display:block;font-family:var(--font-serif);font-weight:700;font-size:1.25rem;line-height:1.4;letter-spacing:.02em;color:var(--text-on-dark-1);}
.footer-mainsite-cta{display:inline-flex;align-items:center;gap:.5em;font-size:1.0625rem;font-weight:700;color:var(--text-on-dark-1);white-space:nowrap;}
.footer-mainsite-cta .ext{width:20px;height:20px;stroke:currentColor;transition:transform .18s ease;}
.footer-mainsite:hover .footer-mainsite-cta .ext{transform:translate(2px,-2px);}

/* 上段：ご相談窓口 */
.footer-contact{border-bottom:1px solid var(--hairline-dark);}
.footer-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap;padding-top:60px;padding-bottom:60px;}
/*.footer-contact-lead{max-width:32ch;}*/
.footer-contact-eyebrow{font-size:1rem;font-weight:600;letter-spacing:.1em;color:var(--color-accent-light);margin-bottom:14px;}
.footer-contact-title{font-family:var(--font-serif);font-weight:700;font-size:1.625rem;line-height:1.45;color:var(--text-on-dark-1);}
.footer-contact-text{font-size:1rem;line-height:1.8;color:var(--text-on-dark-1);margin-top:14px;}
.footer-contact-actions{display:flex;flex-direction:column;gap:20px;align-items:flex-start;}
.footer-contact-buttons{display:flex;gap:14px;flex-wrap:wrap;}
.footer-tel{display:block;text-align:center; margin: 0 auto;}
.footer-tel-label{display:block;font-size:1.2rem;color:var(--text-on-dark-1);margin-bottom:2px;}
.footer-tel-num{font-family:var(--font-serif);font-weight:600;font-size:2.0rem;line-height:1;color:var(--text-on-dark-1);letter-spacing:.01em; background: url("../img/icon_tel_w.png") no-repeat left center/ 0.8em; padding-left: 0.9em;}
.footer-tel-hours{display:block;font-size:1.2rem;color:var(--text-on-dark-1);margin-top:4px;}

/* 中段：ブランド＋ナビ */
.footer-main-inner{display:grid;grid-template-columns:1.15fr 2fr;gap:56px;padding-top:60px;padding-bottom:54px;}
.footer-brand{max-width:34ch;}
.footer-logo{font-family:var(--font-serif);font-weight:700;font-size:1.1875rem;letter-spacing:.03em;color:var(--text-on-dark-1);}
.footer-tagline{font-size:1rem;line-height:1.85;color:var(--text-on-dark-2);margin-top:16px;}
.footer-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.footer-nav-label{font-size:1rem;font-weight:700;letter-spacing:.04em;color:var(--text-on-dark-1);margin-bottom:16px;}
.footer-nav ul{display:flex;flex-direction:column;gap:11px;}
.footer-nav a{font-size:1rem;color:var(--text-on-dark-2);transition:color .16s ease;}
.footer-nav a:hover{color:var(--color-accent-soft);}
.footer-nav-ext{display:inline-flex;align-items:center;gap:.4em;}
.footer-nav-ext .ext-ico{width:15px;height:15px;flex-shrink:0;stroke:currentColor;}

/* 下段：規約リンク＋著作権 */
.footer-bottom{border-top:1px solid var(--hairline-dark);}
.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:18px 28px;flex-wrap:wrap;padding-top:24px;padding-bottom:24px;}
.footer-legal{display:flex;gap:24px;flex-wrap:wrap;}
.footer-legal a{font-size:0.875rem;color:var(--text-on-dark-3);transition:color .16s ease;}
.footer-legal a:hover{color:var(--text-on-dark-1);}
.footer-copy{font-size:0.875rem;color:var(--text-on-dark-4);}

/* =====================================================
   レスポンシブ（共通）
===================================================== */
/* 1100px以下：ナビをハンバーガー＋全画面ドロワーへ */
@media (max-width:1100px){
  .gnav,.header-cta{display:none;}
	.gnav-item.sp{background:var(--color-accent);color:#ffffff;text-align: center;}
	.gnav-item.sp a{display: block; text-align: center;font-weight: bold;}
  .nav-toggle{display:flex;}
  .gnav.is-drawer-open{display:block;position:fixed;left:0;top:var(--header-h);width:100%;height:calc(100dvh - var(--header-h));background:var(--color-primary);overflow-y:auto;padding:18px var(--side-pad) 48px;margin-left:0;}
  .gnav.is-drawer-open .gnav-list{flex-direction:column;align-items:stretch;gap:0;}
  .gnav.is-drawer-open .gnav-item{border-bottom:1px solid var(--hairline-dark);}
  .gnav.is-drawer-open .gnav-link{padding:1.15em .2em;font-size:1.0625rem;justify-content:space-between;width:100%;}
  .gnav.is-drawer-open .mega{display:none !important;position:static;width:auto;background:transparent;border:none;}
  .gnav.is-drawer-open .gnav-item.is-open .mega{display:block !important;}
  .gnav.is-drawer-open .mega-inner{flex-direction:column;gap:26px;padding:8px 0 22px;}
  .gnav.is-drawer-open .mega-aside{margin-left:0;max-width:none;padding-left:0;border-left:none;border-top:1px solid var(--hairline-dark);padding-top:22px;}
  .gnav.is-drawer-open .mega-link-main,.gnav.is-drawer-open .mega-link-sub{white-space:normal;}
  .nav-toggle.is-active span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .nav-toggle.is-active span:nth-child(2){opacity:0;}
  .nav-toggle.is-active span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
	
	.pc{display: none!important;}
	.sp{display: block!important;}
}

/* 900px以下：左右余白を縮小・セクション余白を縮小 */
@media (max-width:900px){
	html{font-size:4vw;}
  :root{--side-pad:24px;}
  .header-inner{gap:16px;}
  .logo-text{font-size:1.2rem;}
  .section{padding-top:84px;padding-bottom:84px;}
  .footer-mainsite-inner{gap:12px;}
	.footer-contact-actions{width: 100%; display:block;}
  .footer-contact-inner{flex-direction:column;align-items:flex-start;gap:34px;padding-top:48px;padding-bottom:48px;}
  .footer-contact-buttons{width:100%;}
	.footer-contact-buttons{margin-bottom: 20px;}
  .footer-contact-buttons .btn-primary,.footer-contact-buttons .btn-line{flex:1 1 auto;}
  .footer-main-inner{display: block;padding-top:48px;padding-bottom:44px;}
	.footer-brand{max-width: 100%; margin-bottom: 32px;}
  .footer-nav{grid-template-columns:repeat(2,1fr);gap:32px 24px;}
  .footer-bottom-inner{flex-direction:column;align-items:flex-start;gap:14px;}
}
@media (max-width:520px){
  .footer-nav{grid-template-columns:1fr;}
  .footer-contact-buttons{flex-direction:column;}
  .footer-contact-buttons .btn-primary,.footer-contact-buttons .btn-line{width:100%;}
  .footer-mainsite-title{font-size:1.0625rem;}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;scroll-behavior:auto;}
}

/* ===== ゴールドアクセント（細い装飾線で高級感を付与）===== */
/* 見出し上のアイブロウに細いゴールドの罫（装飾のみ・本文色は据え置き＝AA維持）*/
.eyebrow::before{content:"";display:inline-block;width:24px;height:1.5px;background:var(--color-gold);vertical-align:middle;margin-right:.7em;}
.eyebrow--on-dark::before{background:var(--color-gold-soft);}

@media (max-width:900px){
	.eyebrow::before{display:block;margin:0 auto 2vw;}
	.eyebrow span{display: block;visibility:hidden;height: 0;}
}