@charset "utf-8"; /* CSS Document */
/* ------------------------------------ */
/* FOOTER (基本スタイル: SP版) */
/* ------------------------------------ */
.footer{  background-color: #00243F;color: #fff;padding-top: 2.5rem;/* 40px */ padding-bottom: 4rem;/* 64px */}
.footer-container{  max-width: 1330px;/* max-w-7xl */ width: 75%;;margin: 0 auto;padding-left: 1rem;/* SPの左右パディング */ padding-right: 1rem;/* SPの左右パディング */}
/* メニューグループ */
.menu-group{  /*border-bottom: 1px solid #374151;*/ /* SP版の区切り線 */}
/* メニュータイトル (SP) */
.menu-title{  display: flex;justify-content: space-between;align-items: center;padding: 15px 0;border-bottom: 1px solid #ddd;font-weight: bold;font-size: 22px}
/* サブメニューリスト (SP: アコーディオンの対象) */
.sub-menu{  /* アコーディオンの初期状態 */ max-height: 0;overflow: hidden;/* 修正: 閉じたときはパディングをゼロにするため、ここから削除 */ /* padding-bottom: 1rem; */ list-style: none;/* リストマークを削除 */ padding-left: 0;}
.sub-menu.is-open{  max-height: 500px;/* 開くときの最大値 */ padding-bottom: 1rem;/* 修正: 開いたときだけパディングを適用 */}
.sub-menu li{  margin-top: 0.75rem;}
.sub-menu a{  color: #fff;display: block;font-size: 0.875rem;}
.sub-menu a:hover{ }
/* アイコンのスタイル */
.menu-icon{  display: block;transition: transform 300ms;}
.menu-icon.is-rotated{  transform: rotate(90deg);}
.footlogo{  display: flex;max-width: 800px;margin: 5em auto 2em;gap: 1em;align-items: center;justify-content: center}
.footlogo a{  margin-right: 1em}
.footlogo p{  margin-top: 1em;line-height: 1.2em;}
/* コピーライト */
.copyright{  margin-top: 1em;text-align: center;font-size: 0.875rem;}
/* ------------------------------------ */
/* PC版のスタイル (min-width: 768px 以上) */
/* ------------------------------------ */
@media (min-width: 768px){  .footer-container{  padding-left: 2rem;/* PCの左右パディング */ padding-right: 2rem;/* PCの左右パディング */}
/* PC版: 4カラムグリッドレイアウト */ .footer-nav{  display: grid;grid-template-columns: repeat(4, 1fr);gap: 2rem;}
/* PC版: SP版の区切り線を削除 */ .menu-group{  border-bottom: none;}
/* PC版: タイトルはクリック無効、フォントスタイルを調整 */ .menu-title{  cursor: default;padding: 0;/* SP版のパディングをリセット */ margin-bottom: 1rem;/* タイトル下のスペース */ border-bottom: none}
/* PC版: 矢印アイコンを非表示 */ .menu-icon{  display: none;}
/* PC版: サブメニューを常に展開 */ .sub-menu{  max-height: none !important;/* アコーディオンの制限を解除 */ overflow: visible;padding-bottom: 0;/* PC版ではパディングは不要（メニューグループ間のgapで対応） */}
.menu-title h3{  font-size: 22px}
}
/* --- レスポンシブ対応 (767px以下) --- */
@media (max-width: 767px){  .footer-container{ width: 85%;}
.footlogo a img{  width: 85px;}
.footlogo h3 img{  width: 216px}
.footlogo p{  margin-top: 0.7em;line-height: 1.2em;font-size: 14px}
.menu-title h3{  font-size: 18px}
}
