/*
Template: jin
Theme Name: jin-child
Author: CrossPiece
Version: 1.00
*/

/* =============================================================
   共通変数（ヘッダー・フッター両方で使用）
============================================================= */
.header-seowriter,
.footer-seowriter {
  --seo-primary:     hsl(199, 100%, 50%);
  --seo-primary-05:  hsl(199, 100%, 50%, 0.05);
  --seo-primary-10:  hsl(199, 100%, 50%, 0.1);
  --seo-primary-20:  hsl(199, 100%, 50%, 0.2);
  --seo-slate-500:   rgb(100, 116, 139);
  --seo-slate-600:   rgb(71, 85, 105);
}


/* =============================================================
   HEADER
============================================================= */
.header-seowriter {
  width: 100% !important;
  background-color: rgba(255, 255, 255, 0.95) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  backdrop-filter: blur(24px) !important;
  border-bottom: 1px solid var(--seo-primary-10) !important;
  box-shadow: 0 1px 2px 0 rgb(0 0 0 / .05) !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
}

.header-seowriter__container {
  width: 100% !important;
  max-width: 1400px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 1rem !important;
  padding-left: 1rem !important;
  box-sizing: border-box !important;
}

.header-seowriter__inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

/* --- Header Logo --- */
.header-seowriter__logo {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  text-decoration: none !important;
}
.header-seowriter__logo img {
  height: 3rem !important;
  width: auto !important;
  display: block !important;
}

/* --- Desktop Navigation --- */
.header-seowriter__nav {
  display: none !important;
  align-items: center !important;
  gap: 2rem !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (min-width: 1024px) {
  .header-seowriter__nav { display: flex !important; }
}

.header-seowriter__nav a {
  position: relative !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: var(--seo-slate-600) !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
  white-space: nowrap !important;
}
.header-seowriter__nav a:hover {
  color: var(--seo-primary) !important;
  text-decoration: none !important;
}

.header-seowriter__nav a span {
  display: block !important;
  position: absolute !important;
  bottom: -4px !important;
  left: 0 !important;
  width: 0 !important;
  height: 2px !important;
  background-color: var(--seo-primary) !important;
  transition: width 0.3s ease !important;
}
.header-seowriter__nav a:hover span {
  width: 100% !important;
}

/* --- Hamburger Button (mobile) --- */
.header-seowriter__hamburger {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.5rem !important;
  border-radius: 0.75rem !important;
  background-color: var(--seo-primary-10) !important;
  border: 1px solid var(--seo-primary-20) !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease !important;
}
.header-seowriter__hamburger:hover {
  background-color: var(--seo-primary-20) !important;
}
.header-seowriter__hamburger svg {
  color: var(--seo-primary) !important;
  width: 1.5rem !important;
  height: 1.5rem !important;
}
@media (min-width: 1024px) {
  .header-seowriter__hamburger { display: none !important; }
}

/* ☰ / ✕ アイコン切り替え */
.header-seowriter__hamburger .icon-menu,
.header-seowriter__hamburger .icon-close {
  display: block !important;
}
.header-seowriter__hamburger .icon-close {
  display: none !important;
}
.header-seowriter__hamburger.is-active .icon-menu {
  display: none !important;
}
.header-seowriter__hamburger.is-active .icon-close {
  display: block !important;
}

/* --- Mobile Dropdown Panel --- */
.header-seowriter__mobile {
  background: rgba(255, 255, 255, 0.98);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--seo-primary-10);
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
}
.header-seowriter__mobile.is-open {
  max-height: 500px;
}

.header-seowriter__mobile-nav {
  max-width: 1400px;
  margin: 0 auto;
  padding: 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.header-seowriter__mobile-nav a {
  display: block;
  padding: 12px 16px;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--seo-slate-600);
  text-decoration: none;
  border-radius: 12px;
  border: 1px solid transparent;
  transition: all 0.15s ease;
}
.header-seowriter__mobile-nav a:hover,
.header-seowriter__mobile-nav a:active {
  color: var(--seo-primary);
  background: var(--seo-primary-05);
  border-color: var(--seo-primary-20);
}

@media (min-width: 1024px) {
  .header-seowriter__mobile {
    max-height: 0 !important;
    overflow: hidden !important;
  }
}


/* =============================================================
   FOOTER
============================================================= */
.footer-seowriter {
  padding: 4rem 0 !important;
  background-color: #F5F7FA !important;
  box-sizing: border-box !important;
}

.footer-seowriter__container {
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 1rem !important;
  box-sizing: border-box !important;
}

/* 上段: ロゴ + ナビ */
.footer-seowriter__top {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2rem !important;
}
@media (min-width: 768px) {
  .footer-seowriter__top {
    flex-direction: row !important;
    justify-content: space-between !important;
  }
}

.footer-seowriter__logo {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}
.footer-seowriter__logo img {
  height: 3rem !important;
  width: auto !important;
  display: block !important;
}

.footer-seowriter__nav {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 2rem !important;
}
.footer-seowriter__nav a {
  font-size: 0.875rem !important;
  color: var(--seo-slate-600) !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
  white-space: nowrap !important;
}
.footer-seowriter__nav a:hover {
  color: var(--seo-primary) !important;
  text-decoration: none !important;
}

/* 下段: コピーライト */
.footer-seowriter__bottom {
  margin-top: 2.5rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid rgb(226, 232, 240) !important;
  text-align: center !important;
}
.footer-seowriter__bottom p {
  font-size: 0.875rem !important;
  color: var(--seo-slate-500) !important;
  margin: 0 !important;
}