/**
 * web-order テーマ フッター専用CSS
 * デザイナー配布 style.css からフッター関連ルールを抽出
 * 設計書: docs/design/front/top/top-screen.md §5.13
 *
 * rem値変換: デザイナーCSS(1rem=10px)→EC-CUBE(1rem=16px)
 * 変換係数: 10/16 = 0.625
 * 例: 1.4rem(14px) → 0.875rem(14px)
 */

/* フッター用ベースリセット */
.l-footer {
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.l-footer ul,
.l-footer ol {
  list-style: none;
  list-style-position: inside;
  margin: 0;
  padding: 0;
}
.l-footer a {
  color: #333;
  text-decoration: none;
  background-color: initial;
}

/* デザイナー配布CSS（rem値を0.625倍に変換済み） */
.l-footer-register{display:flex;align-items:center;justify-content:center;height:6.25rem;background-color:#f1f5f9}
.l-footer-register small{color:#b2b2b2}
.l-footer{max-width:90.75rem;margin:0 auto;padding:5rem 1rem 2.5rem}
.l-footer--padding{padding:5rem 2.5rem 2.5rem}
.l-footer--column .l-footer__contents{flex-direction:column}
.l-footer--column .l-footer__list{display:grid;grid-template-columns:1fr 1.4fr 1fr 1fr;gap:0}
.l-footer--column .l-footer__list:last-of-type{margin-top:0.5rem}
.l-footer--column .l-footer__logo{display:block;width:-moz-fit-content;width:fit-content;margin:0 auto}
.l-footer--column .l-footer__area{justify-content:center}
.l-footer--column .l-footer__calender{margin:0 auto}
.l-footer--column .l-footer__list-link{width:-moz-fit-content;width:fit-content}
.l-footer__contents{display:flex;justify-content:space-between;gap:1.5rem}
.l-footer__detail{display:flex;flex-direction:column}
.l-footer__logo{transition:.2s}
.l-footer__logo:hover{opacity:.8}
.l-footer .l-footer__list{display:flex;flex-wrap:wrap;margin-top:2rem;gap:0.875rem}
.l-footer__list-item{white-space:nowrap}
.l-footer__list-link{display:flex;align-items:center;padding:0.25rem 0.3125rem;gap:0.25rem;border-radius:4px;font-weight:600;font-size:0.875rem;line-height:1;letter-spacing:0;transition:.2s}
.l-footer__list-link:hover{background-color:#f7f7f7}
.l-footer__parts{display:flex;flex-wrap:wrap;margin-top:1.5rem;gap:1.25rem 2.5rem;font-weight:400;font-size:0.75rem;line-height:1;letter-spacing:0}
.l-footer__parts-txt:hover{color:#008cd6;text-decoration:underline}
.l-footer__area{display:flex;align-items:center;margin-top:2rem;gap:1.25rem}
.l-footer__list-icon{width:1.25rem;min-width:1.25rem}
.l-footer__list-icon--external{width:1rem;min-width:1rem;padding-left:0.25rem}
.l-footer__info{font-weight:400;font-size:0.75rem;line-height:1.5;letter-spacing:0;white-space:nowrap}
.l-footer__calender{width:28rem;font-family:"Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333}
.l-footer__calender-month{display:flex;position:relative;align-items:center;justify-content:center;gap:1.125rem}
.l-footer__calender-month-txt{font-weight:600;font-size:0.875rem;line-height:1.7142857143;letter-spacing:0;color:#333}
.l-footer__calender-arrow{position:relative;top:0.0625rem;cursor:pointer}
.l-footer__calender-arrow path{transition:.2s}
.l-footer__calender-arrow:hover path{fill:#008cd6}
.l-footer__calender-table{margin-top:0.625rem;border:1px solid grey}
.l-footer__calender-tr{display:grid;grid-template-columns:repeat(7,1fr)}
.l-footer__calender-tr:not(:last-of-type){border-bottom:1px solid grey}
.l-footer__calender-tr--week .l-footer__calender-td{display:flex;align-items:center;justify-content:center;padding:0.25rem 0;background-color:#f2f2f2;font-weight:400;font-size:0.75rem;line-height:1.5;letter-spacing:0}
.l-footer__calender-tr--day .l-footer__calender-td{min-height:3.5rem;padding:0.25rem 0.5rem;font-weight:600;font-size:0.875rem;line-height:1.2857142857;letter-spacing:0}
.l-footer__calender-td{display:flex;flex-direction:column;align-items:center}
.l-footer__calender-td:not(:last-of-type){border-right:1px solid grey}
.l-footer__calender-td--blue{background-color:#f2f9fd;color:#008cd6}
.l-footer__calender-td--grey{background-color:#f7f7f7;color:#b2b2b2}
.l-footer__calender-td span{display:block}
.l-footer__calender-mark{font-weight:400;font-size:1.25rem;line-height:1.2;letter-spacing:0}
.l-footer small{display:block;margin-top:5rem;color:#b2b2b2;text-align:center;font-size:0.75rem}

/* c-btn-icon（フッター内お問い合わせボタン） */
.l-footer .c-btn-icon{display:flex;position:relative;align-items:center;justify-content:center;padding:0.625rem 0.875rem;gap:0.25rem;border:1px solid #b2b2b2;border-radius:4px;font-weight:600;font-size:1rem;line-height:1.25;letter-spacing:0;white-space:nowrap}
.l-footer .c-btn-icon,.l-footer .c-btn-icon path{transition:.2s}
.l-footer .c-btn-icon:hover{border:1px solid #008cd6;background-color:#e5f3fb;color:#008cd6}
.l-footer .c-btn-icon:hover .c-btn-icon__icon path{fill:#008cd6}
.l-footer .c-btn-icon__icon{width:1.25rem;height:1.25rem;min-width:1.25rem}

/* レスポンシブ対応 */
@media screen and (max-width: 1024px) {
  .l-footer__contents{flex-direction:column;gap:2.5rem}
  .l-footer__calender{width:100%;max-width:28rem}
}

@media screen and (max-width: 767px) {
  .l-footer{padding:5rem 1rem 2.5rem}
  .l-footer--column .l-footer__list{grid-template-columns:1fr 1fr;gap:0.875rem 1.5rem}
  .l-footer--column .l-footer__list:last-of-type{margin-top:0.875rem}
  .l-footer__contents{flex-direction:column;gap:2.5rem}
  .l-footer__logo{display:flex;align-items:center;justify-content:center}
  .l-footer__list{padding:0;gap:0.875rem 1.5rem}
  .l-footer__list-item{width:46%}
  .l-footer__list-link{padding:0.3125rem 0}
  .l-footer__parts{flex-direction:column;margin-top:2rem}
  .l-footer__calender{width:22.375rem}
  .l-footer__calender-month-txt{font-weight:600;font-size:0.75rem;line-height:2;letter-spacing:0}
  .l-footer__calender-tr--week .l-footer__calender-td{font-weight:400;font-size:0.625rem;line-height:1.4;letter-spacing:0}
  .l-footer__calender-tr--day .l-footer__calender-td{min-height:3.1875rem;font-weight:600;font-size:0.75rem;line-height:1.25;letter-spacing:0}
  .l-footer small{margin-top:2.5rem}
}
