/*
 Theme Name:   WebSys-original
 Theme URI:    https://websyswordpress.com/
 Description:  WebSys 専用の Astra 子テーマ
 Author:       WebSys
 Author URI:   https://websyswordpress.com/
 Template:     astra           
 Version:      1.0.0
 License:      GPL-3.0-or-later
 License URI:  https://www.gnu.org/licenses/gpl-3.0.html
 Text Domain:  websys-astra-child
*/

/* ========= 変数 & リセット ========= */
:root{
  --primary:#0067c5;       /* 基調ブルー */
  --primary-light:#edf5ff; /* 見出し下線・背景 */
  --accent:#ffbe00;        /* CTAホバー/ラベル */
  --max-width:1100px;
  --radius:12px;
  --shadow:0 4px 12px rgba(0,0,0,.08);
  --transition:.25s ease;
  font-size:16px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP",sans-serif;line-height:1.7;color:#222;}

/* ========= 汎用要素 ========= */
.section{padding:80px 20px;}
.container{max-width:var(--max-width);margin:auto;}
h1,h2,h3{font-weight:700;line-height:1.3;margin-bottom:.6em;}
h2{font-size:clamp(1.8rem,2.4vw,2.2rem);position:relative;padding-bottom:.3em;}
h2::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;background:var(--primary);}
p{margin-bottom:1.2em;}
ul{padding-left:1.2em;margin-bottom:1.2em;}
li{margin-bottom:.5em;}

/* ========= CTA（問い合わせ固定ボタン） ========= */
#contact-float{
  position:fixed;right:20px;bottom:80px;z-index:9999;
  background:#ff7d00 !important;
	color:#fff;padding:14px 24px;
  font-weight:700;border-radius:var(--radius);box-shadow:var(--shadow);
  transition:var(--transition);text-decoration:none;
}
#contact-float:hover{transform:translateY(-2px);background:var(--accent);}

/* ========= HERO ========= */
.hero{background:linear-gradient(135deg,var(--primary) 0%,#004c8c 100%);color:#fff;text-align:center;padding:140px 20px;}
.hero h1{font-size:clamp(2.2rem,5vw,3.4rem);}
.hero .hero-btn{
  margin-top:32px;display:inline-block;background:#fff;color:var(--primary);
  padding:18px 36px;border-radius:var(--radius);font-weight:700;transition:var(--transition);text-decoration:none;
}
.hero .hero-btn:hover{background:var(--accent);color:#000;transform:translateY(-2px);}



/* ========= レスポンシブ ========= */
@media(max-width:599px){
  #contact-float{right:12px;bottom:12px;padding:12px 20px;font-size:.9rem;}
}


/* ===== footer layout ===== */
.site-footer{
  background:#f7f8fb;
  padding:60px 0;
  font-size:.9rem;
  color:#1a1a1a;
}
.ft-inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}
.ft-nav{
  display:flex;
  flex-wrap:wrap;
  gap:40px;
  margin-bottom:32px;
}
.ft-col{ flex:1 1 160px; }            /* 160px 最小幅で 5 列並ぶ */
.ft-heading{
  font-weight:700;
  margin:0;
}
.ft-heading a{
  color:#0051cc;
  text-decoration:none;
  display:block;                      /* モバイル折りたたみのクリック範囲用 */
}
.ft-legal{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  justify-content:center;
  font-size:.75rem;
  color:#666;
  margin:0 0 24px;
}
.ft-legal a{ color:inherit; text-decoration:none; }
.ft-copy{ display:block; text-align:center; font-size:.75rem; color:#888; }

/* ===== モバイル：アコーディオン ===== */
@media(max-width:768px){
  .ft-nav{ flex-direction:column; gap:0; }
  .ft-heading{
    position:relative;
    padding:14px 0;
    border-bottom:1px solid #e5e5e5;
    cursor:pointer;
  }
  .ft-heading::after{                /* ＋アイコン */
    content:'+';
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    font-size:1.2rem;
    transition:transform .2s;
  }
  .ft-col.open .ft-heading::after{ transform:translateY(-50%) rotate(45deg); }
}
