/*
Theme Name: SWELL Child (アパマンクリニック)
Template: swell
Version: 1.0
*/

/* ============================================================
   カスタムヘッダー
   ============================================================ */
.ac-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 2px solid #1B7DC2;
  box-shadow: 0 2px 8px rgba(27,125,194,0.12);
  font-family: 'Noto Sans JP', sans-serif;
}
.ac-header-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.ac-header-logo img { height: 48px; width: auto; display: block; }
.ac-header-nav { display: flex; align-items: center; gap: 4px; }
.ac-header-nav a {
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 500;
  color: #4A5E72;
  border-radius: 6px;
  text-decoration: none;
  transition: background .15s, color .15s;
}
.ac-header-nav a:hover, .ac-header-nav a.current {
  background: #E6F4FF;
  color: #1B7DC2;
}
.ac-header-right { display: flex; align-items: center; gap: 12px; }
.ac-header-tel {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-size: 11px;
  color: #7A8FA3;
  line-height: 1.3;
}
.ac-header-tel strong {
  font-size: 18px;
  color: #1B7DC2;
  font-weight: 700;
  letter-spacing: .03em;
}
.ac-btn-contact {
  display: inline-block;
  background: #F5870A;
  color: #fff !important;
  padding: 9px 18px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  transition: opacity .15s;
  white-space: nowrap;
}
.ac-btn-contact:hover { opacity: .88; }

/* ============================================================
   カスタムフッター
   ============================================================ */
.ac-footer {
  background: #0F5A91;
  color: rgba(255,255,255,.75);
  padding: 40px 20px 20px;
  font-family: 'Noto Sans JP', sans-serif;
}
.ac-footer-inner { max-width: 1100px; margin: 0 auto; }
.ac-footer-top { display: flex; gap: 40px; flex-wrap: wrap; margin-bottom: 32px; }
.ac-footer-brand { flex: 0 0 240px; }
.ac-footer-brand img { height: 44px; margin-bottom: 12px; display: block; }
.ac-footer-brand p { font-size: 12px; line-height: 1.7; margin: 0; }
.ac-footer-address { margin-top: 8px !important; font-size: 11px !important; }
.ac-footer-links { flex: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 16px; }
.ac-footer-col h4 { font-size: 13px; font-weight: 700; color: #fff; margin-bottom: 10px; }
.ac-footer-col a { display: block; font-size: 12px; color: rgba(255,255,255,.75); margin-bottom: 6px; text-decoration: none; transition: color .12s; }
.ac-footer-col a:hover { color: #fff; }
.ac-footer-bottom {
  border-top: 1px solid rgba(255,255,255,.15);
  padding-top: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.ac-footer-bottom small { font-size: 11px; color: rgba(255,255,255,.6); }
.ac-footer-legal { display: flex; gap: 16px; }
.ac-footer-legal a { font-size: 11px; color: rgba(255,255,255,.6); text-decoration: none; }
.ac-footer-legal a:hover { color: #fff; }

/* ============================================================
   レスポンシブ
   ============================================================ */
@media (max-width: 768px) {
  .ac-header-nav, .ac-header-tel { display: none; }
  .ac-footer-top { flex-direction: column; }
  .ac-footer-brand { flex: none; }
}

/* フッター エリアグリッド */
.ac-footer-area-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4px 8px;
}
.ac-footer-area-grid a {
  display: block;
  font-size: 12px;
  color: rgba(255,255,255,.75);
  text-decoration: none;
  margin-bottom: 0;
  transition: color .12s;
}
.ac-footer-area-grid a:hover { color: #fff; }


.apaman-hero {
    background: linear-gradient(135deg, #f0f5ff 0%, #ffffff 100%);
}

.apaman-hero h1 {
    animation: slideInDown 0.8s ease;
}

@keyframes slideInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 投稿ページ 中央寄せ */
#main_content {
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    float: none !important;
    width: 100% !important;
}