/* BASIC css start */
.footer { margin: 60px auto 0; padding: 6px 18px 60px; background: #F5F5F5; }

.footer__accordion {}
.footer__item { border-bottom: 1px solid #ddd; }

.footer__toggle { position: relative; display: block; width: 100%; padding: 16px 24px 16px 0; border: 0; background: none; text-align: left; }
.footer__toggle::before,
.footer__toggle::after { content: ""; position: absolute; top: 50%; right: 0; background: #000; }
.footer__toggle::before { width: 15px; height: 1px; transform: translateY(-50%); }
.footer__toggle::after { width: 1px; height: 15px; right: 7px; transform: translateY(-50%); transition: all .2s; }
.footer__item.is-open .footer__toggle::after { transform: translateY(-50%) rotate(90deg); opacity: 0; }

.footer__toggle-title { font-size: 13px; font-weight: 600; color: #000; }

.footer__panel { display: none; padding-bottom: 24px; font-size: 13px; color: #666; line-height: 1.7; }
.footer__item.is-open .footer__panel { display: block; }
.footer__panel a { color: #666; border-bottom: 1px solid #999; }

.footer__panel-chat { margin-bottom: 12px; }

.footer__panel-info { font-size: 0; }
.footer__panel-info strong { display: block; font-weight: 600; }
.footer__panel-info strong, 
.footer__panel-info span { font-size: 13px; }
.footer__panel-info span::before { content: ""; display: inline-block; width: 1px; height: 10px; margin: 0 6px 0 8px; background: #ccc; }
.footer__panel-info span:first-of-type::before { display: none; }

.footer__menu { display: flex; gap: 12px; margin-top: 12px; }
.footer__menu a { color: #666; border-bottom: 1px solid #999; }

.footer__bottom { padding: 24px 0 0; }
.footer__copy { margin-bottom: 8px; font-size: 13px; color: #666; }

.footer__bottom .footer__menu { margin-top: 0; }

.footer__sns { display: flex; gap: 8px; margin-top: 24px; }
.footer__sns img { display: block; width: 24px; height: 24px; }
/* BASIC css end */

