/* =========================================================
   Grit Property Shared Layout
   ========================================================= */

:root{
  --grit-navy:#02284b;
  --grit-navy-2:#16395a;
  --grit-red:#e53935;
  --grit-text:#222;
  --grit-border:#d9d9d9;
  --grit-white:#fff;
  --grit-max:1400px;
}

/* Cocoon標準ヘッダー・フッターを隠す */
.grit-property-site .header,
.grit-property-site .footer{
  display:none !important;
}

/* 上部テキストバー */
.grit-topbar{
  background:#fff;
  border-bottom:1px solid var(--grit-border);
}

.grit-topbar__inner{
  max-width:var(--grit-max);
  margin:0 auto;
  padding:8px 20px;
  text-align:right;
}

.grit-topbar__inner p{
  margin:0;
  font-size:14px;
  font-weight:700;
  color:#333;
}

/* ヘッダー本体 */
.grit-header{
  background:#fff;
  border-bottom:1px solid var(--grit-border);
  position:sticky;
  top:0;
  z-index:999;
}

.grit-header__inner{
  max-width:1400px;
  margin:0 auto;
  padding:12px 20px;

  display:flex;
  align-items:center;
}

/* ロゴ */
.grit-header__logo{
  flex:0 0 auto;
}


.grit-header__logo img{
  display:block;
  max-height:58px;
  width:auto;
}

/* メニュー中央 */
.grit-header__nav{
  flex:1;
  display:flex;
  justify-content:center;
}

/* メニュー */
.grit-header__menu{
  display:flex;
  gap:28px;
  list-style:none;
  margin:0;
  padding:0;
}

.grit-header__menu li{
  margin:0;
  padding:0;
}

.grit-header__menu a{
  font-size:15px;
  font-weight:700;
  color:#111;
  text-decoration:none;
}


.grit-header__menu a:hover{
  color:var(--grit-red);
}
/* SNS右寄せ */
.grit-header__sns{
  flex:0 0 auto;
  display:flex;
  gap:10px;
}

/* SNSデザイン */
.grit-sns{
  width:36px;
  height:36px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  color:#fff;
}

/* 色（本物風） */
.grit-sns:nth-child(1){ background:#3b5998; } /* FB */
.grit-sns:nth-child(2){ background:#000; }     /* X */
.grit-sns:nth-child(3){ background:#06c755; } /* LINE */
.grit-sns:nth-child(4){ background:#ff0000; } /* YouTube */
.grit-sns:nth-child(5){ background:#f77737; } /* Instagram */

.grit-header__toggle{
  display:none;
  width:40px;
  height:40px;
  border:0;
  background:transparent;
  margin-left:auto;
  cursor:pointer;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:4px;
}

.grit-header__toggle span{
  display:block;
  width:22px;
  height:2px;
  background:#111;
}

/* メインコンテンツ余白調整 */
.grit-property-site #content,
.grit-property-site .content,
.grit-property-site .container{
  margin-top:0;
}

/* フッター */
.grit-footer{
  background:var(--grit-navy);
  color:#fff;
  margin-top:60px;
}

.grit-footer__inner{
  max-width:var(--grit-max);
  margin:0 auto;
  padding:70px 20px 40px;
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr;
  gap:60px;
}

.grit-footer__brand img{
  display:block;
  max-width:280px;
  height:auto;
  margin-bottom:28px;
}

.grit-footer__address p,
.grit-footer__license{
  margin:0 0 6px;
  font-size:16px;
  line-height:1.7;
  font-weight:700;
  color:#fff;
}

.grit-footer__contact{
  list-style:none;
  margin:22px 0;
  padding:0;
}

.grit-footer__contact li{
  margin:0 0 10px;
  font-size:16px;
  font-weight:700;
  line-height:1.7;
}

.grit-footer__col h3{
  margin:0 0 22px;
  font-size:20px;
  font-weight:700;
  padding-bottom:12px;
  border-bottom:2px solid rgba(255,255,255,.45);
  color:#fff;
}

.grit-footer__menu{
  list-style:none;
  margin:0;
  padding:0;
}

.grit-footer__menu li{
  margin:0 0 14px;
}

.grit-footer__menu a{
  color:#fff;
  text-decoration:none;
  font-size:16px;
  font-weight:700;
  line-height:1.5;
}

.grit-footer__menu a:hover{
  color:#ffd27f;
}

.grit-footer__bottom{
  padding:0 20px 34px;
}

.grit-footer__bottom-inner{
  max-width:var(--grit-max);
  margin:0 auto;
  background:rgba(255,255,255,.06);
  padding:18px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.grit-footer__bottom p{
  margin:0;
  font-size:15px;
  font-weight:700;
  color:#fff;
}

.grit-footer__bottom p span{
  color:#e6b04d;
}

.grit-footer__bottom .grit-footer__sns{
  display:flex;
  gap:12px;
}

/* モバイル */
@media (max-width:1100px){
  .grit-header__menu{
    gap:20px;
  }
  .grit-header__menu a{
    font-size:14px;
  }
}

@media (max-width:980px){
  .grit-topbar__inner{
    text-align:center;
  }

  .grit-header__inner{
    flex-wrap:wrap;
  }

  .grit-header__toggle{
    display:flex;
  }

  .grit-header__nav{
    display:none;
    width:100%;
    margin:10px 0 0;
  }

  .grit-header__nav.is-open{
    display:block;
  }

  .grit-header__menu{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
    padding-top:8px;
  }

  .grit-header__sns{
    display:none;
  }

  .grit-footer__inner{
    grid-template-columns:1fr;
    gap:36px;
    padding:48px 20px 28px;
  }

  .grit-footer__bottom-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}