/* =========================================================
   共通フッター（全ページ共通部品）
   Illustrator「footer-pc/footer-pc.svg」の実寸をそのまま再現（基準幅1500px）
   ※背景の人物写真は、青地との差がほとんど無いため省略している
   ========================================================= */

/* ★2026/09/06 ここから：フッターの土台を、本体サイトと同じにそろえる。
   /order/ は Bootstrap ほか14枚のCSSを読んでいて、その土台の指定がフッターに入り込む。
   実測（本体と /order/ で142要素を総当たり比較）で出た差は4つ：
     box-sizing / letter-spacing / line-height / vertical-align(img)
   本体サイトはもともとこの値なので、本体の見た目は1pxも変わらない。
   ★このブロックは footer.css の先頭に置くこと。
     後に書いてある個別の指定（.aaft__lead の line-height など）が勝つようにするため。 */
.aaft,
.aaft *{
  box-sizing:content-box;
  letter-spacing:normal;
  line-height:normal;
  font-feature-settings:normal;   /* ★2026/09/06 追加。/order/ は "palt"（文字を詰める）が入り、
                                     同じ文章でも文字幅が53px縮んで行数が変わっていた */
}
.aaft img{
  vertical-align:baseline;
}
/* ★2026/09/06 ここまで */

.aaft{
  /* ★全ページ共通：CTA（本文の最後）との間を60px空ける（和田さん指示・2026/08/27） */
  margin-top:60px;
  /* ★2026/09/06 行間を本体サイトと同じにそろえる。
     /order/ は Bootstrap を読んでいて body に line-height:1.5 が入るため、
     これが無いとフッターの行間だけ詰まる（実測：高さ 996px → 974px）。 */
  line-height:normal;
  --ft-blue:#0053AA;
  --ft-bar:#0054AC;
  --ft-label:#518bc6;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  background:var(--ft-blue);
  color:#fff;
  position:relative;
  /* ★2026/09/07 右の白隙間を止める。
     中身（.aaft__inner）は width:1500px 固定なのに、この青い土台には幅の指定が無く
     画面幅で止まっていた。そのため画面幅が1500px未満のとき、右へスクロールすると
     はみ出した中身の後ろに青が無く、右端が白く途切れて見えた（実測：画面1200pxで白帯300px）。
     土台にも中身と同じ最低幅を持たせて、青を中身の右端までのばす。
     ※スマホ（768px以下）は下のメディアクエリで 0 に戻すので1pxも変わらない。 */
  min-width:1500px;
}
.aaft *{box-sizing:border-box;}
.aaft a{text-decoration:none;color:inherit;}

/* ★2026/09/03 追加：フッターの文字色を白で固定する
   /order/ の style.css に「p{color:#262626}」という要素セレクタがあり、
   フッターの <p>（キャッチ・運営会社・住所・Copyright）が全部黒くなっていた。
   .aaft{color:#fff} は「継承」なので、要素セレクタに負ける。だからここで明示する。

   ★この行は必ず .aaft__msg の色指定より「前」に置くこと。
     詳細度が同じ（0-1-1）ため、後に書いた方が勝つ。
     白い箱の中（アットエアコンからのメッセージ）は黒のままにしたいので、
     あちらを後ろに残しておく必要がある。 */
.aaft p{color:#fff;}
.aaft p{margin:0;}
.aaft ul{list-style:none;margin:0;padding:0;}

.aaft__inner{
  position:relative;
  width:1500px;
  margin:0 auto;
  padding-bottom:36.3px;   /* Copyrightバーの分 */
}

/* このページの上部へ */
/* フッターの外側（上）に飛び出す */
.aaft__pagetop{
  position:absolute;
  right:0;
  top:-36px;
  width:288px;
  height:36px;
  background:var(--ft-blue);
  display:flex;align-items:center;justify-content:center;
  font-size:9.776px;font-weight:500;letter-spacing:.08em;text-indent:.08em;
}
.aaft__pagetop:hover{opacity:.85;}

/* 見出し */
.aaft__lead{
  padding-top:96px;
  text-align:center;
  font-size:38.3px;
  font-weight:900;
  letter-spacing:.02em;text-indent:.02em;
  line-height:1;
}

/* ロゴ */
.aaft__logo{
  display:block;
  width:252px;
  margin:39px auto 0;
}
.aaft__logo img{display:block;width:100%;height:auto;}

/* ナビ3列＋運営会社 */
.aaft__cols{
  position:relative;
  margin-top:57px;
  padding-bottom:30px;   /* メッセージ枠との間隔 */
  min-height:239px;
}
.aaft__col{
  position:absolute;
  top:0;
}
.aaft__col:nth-of-type(1){left:220px;}
.aaft__col:nth-of-type(2){left:474px;}
.aaft__col:nth-of-type(3){left:754px;}
.aaft__col li{margin-bottom:15px;line-height:1;}
.aaft__col a{
  position:relative;
  display:inline-block;
  padding-left:14px;
  font-size:14.912px;
  line-height:1;
  white-space:nowrap;
}
.aaft__col a::before{
  content:"";
  position:absolute;
  left:0;top:3px;
  width:5px;height:5px;
  border-top:1.4px solid #fff;
  border-right:1.4px solid #fff;
  transform:rotate(45deg);
}
.aaft__col a:hover{text-decoration:underline;}

/* 運営会社ブロック */
.aaft__company{
  position:absolute;
  left:1013px;
  top:5px;            /* ナビ1行目と上端をそろえる */
  width:316px;
}
.aaft__company-label{
  width:313.5px;height:28.6px;
  background:var(--ft-label);
  display:flex;align-items:center;
  padding-left:9px;
  font-size:14.927px;letter-spacing:.04em;
}
.aaft .aaft__company-name{
  margin-top:26px;
  font-size:17.414px;
  line-height:1;
}
.aaft__company-addr{
  margin-top:16px;
  font-size:13.371px;
  line-height:24.7px;
}

/* メッセージの白ボックス */
.aaft__msg{
  width:1069.97px;
  margin:0 auto;
  background:#fff;
  border-radius:5.3px;
  padding:38px 54px 44px;
}
.aaft__msg h2{
  margin:0;
  text-align:center;
  font-size:31.009px;
  font-weight:900;
  color:#0d3173;
  line-height:1;
  letter-spacing:.02em;text-indent:.02em;
}
.aaft__msg p{
  margin:24px 0 0;
  font-size:12.903px;
  color:#262626;
  line-height:21.94px;
  letter-spacing:.005em;
}
.aaft__msg p:first-of-type{margin-top:26px;}

/* Copyrightバー */
.aaft__copy{
  position:absolute;
  left:0;right:0;bottom:0;
  height:36.3px;
  background:var(--ft-bar);
  display:flex;align-items:center;justify-content:center;
  font-size:11.725px;
  letter-spacing:.02em;text-indent:.02em;
}

/* =========================================================
   スマホ（768px以下）
   Illustrator「footer-sp/footer-sp.svg」（377px幅）の実寸をそのまま再現
   ※スマホではサイドバーの中身がフッターの中に入る（全ページ共通ルール）
   ========================================================= */
@media (max-width:768px){

  /* ★2026/09/07 スマホはPCの最低幅（1500px）を解除する。
     これが無いと、スマホで横に1500px分のはみ出しが起きる。 */
  .aaft{min-width:0;}

  /* PC用の中身を隠す */
  .aaft__inner{
    width:auto;
    padding:0;
  }
  .aaft__cols{display:none;}

  /* このページの上部へ（スマホでは出さない） */
  .aaft__pagetop{display:none;}

  /* ★スマホは、メニュー・運営会社・メッセージ・サイドバーの左右をすべてそろえる */
  .aaft__sp{
    display:block;
    width:377px;
    max-width:100%;
    margin:0 auto;
    padding:0 27.75px 52px;  /* 左右をそろえる（メニューから下まで一直線） */
  }

  /* 見出し */
  .aaft__lead{
    padding-top:34px;
    font-size:25.128px;
    line-height:34px;
    letter-spacing:.02em;text-indent:.02em;
  }

  /* ロゴ */
  .aaft__logo{
    width:100%;
    max-width:226px;
    margin:26px auto 0;
  }

  /* ナビ（1列・20項目） */
  .aaft__spnav{
    margin:44px 0 0;
    padding-left:0;
  }
  .aaft__spnav li{margin-bottom:22.4px;line-height:1;}
  .aaft__spnav a{
    position:relative;
    display:inline-block;
    padding-left:14px;
    font-size:14.912px;
    line-height:1;
    white-space:nowrap;
  }
  .aaft__spnav a::before{
    content:"";
    position:absolute;
    left:0;top:3px;
    width:5px;height:5px;
    border-top:1.4px solid #fff;
    border-right:1.4px solid #fff;
    transform:rotate(45deg);
  }

  /* 運営会社 */
  .aaft__spcompany{
    margin:32px 0 0;
    padding-left:0;
  }
  .aaft__spcompany .aaft__company-label{
    width:100%;height:28.6px;
  }
  .aaft__spcompany .aaft__company-name{
    margin-top:16px;
    font-size:17.414px;
  }
  .aaft__spcompany .aaft__company-addr{
    margin-top:14px;
    font-size:13.371px;
    line-height:24.7px;
  }

  /* メッセージの白ボックス */
  .aaft__msg{
    width:100%;
    margin:44px auto 0;
    padding:26px 18px 28px;
  }
  .aaft__msg h2{
    font-size:22px;
    line-height:1.32;
  }
  .aaft__msg p{
    margin-top:18px;
    font-size:12px;
    line-height:19.5px;
  }
  .aaft__msg p:first-of-type{margin-top:20px;}

  /* サイドバーの中身（スマホではここに入る） */
  .aaft__spside{
    display:block;
    width:100%;
    margin:36px auto 0;
  }
  .aaft__spside a{
    display:block;
    line-height:0;
    transition:opacity .2s;
  }
  .aaft__spside a + a{margin-top:7px;}
  .aaft__spside img{display:block;width:100%;height:auto;}

  /* Copyright */
  .aaft__copy{
    position:absolute;
    height:auto;
    padding:14px 20px;
    background:none;
    font-size:10px;
    line-height:1.6;
    text-align:center;
  }
}

/* PCではスマホ用の中身を出さない */
@media (min-width:769px){
  .aaft__sp{display:contents;}
  .aaft__spnav,.aaft__spcompany,.aaft__spside{display:none;}
}
