/**
 * Irie Design - Footer, sidebar, and CTA readability layer
 *
 * Loaded from shared includes so phase-2 readability adjustments can ship
 * without depending on previously cached sitewide CSS assets.
 */

#order-gaid,
#renraku,
footer {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
}

#order-gaid #order-gaid-title {
  line-height: 1.1;
  letter-spacing: 0.02em;
}

#foot-support {
  row-gap: 1rem;
}

.foot_info {
  width: 108px;
  height: 108px;
  padding: 10px;
}

#order-gaid p {
  font-size: 0.95rem;
  line-height: 1.55;
  letter-spacing: 0.01em;
}

#order-gaid .foot_info span {
  font-size: 0.95rem;
  line-height: 1.35;
}

#order-gaid .foot_info span.text {
  margin-top: 0.35rem;
}

#order-gaid .foot_info span:last-child {
  font-size: 0.875rem;
  line-height: 1.2;
}

#foot-eigyoubi p {
  line-height: 1.7;
  letter-spacing: 0.01em;
}

#renraku {
  padding: 2rem 0;
}

#renraku p {
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.01em;
}

#renraku #foot-tel p {
  font-size: 1.05rem;
}

#renraku .btn-black-nuki {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 19rem;
  padding: 0.95rem 1.75rem;
  border: 2px solid #111827;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}

footer {
  padding-top: 2.5rem;
}

.foot_logo {
  letter-spacing: 0.02em;
}

#footcopy p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.78);
}

.footp {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.01em;
}

.footmenu ul li {
  font-size: 0.95rem;
  line-height: 1.95;
  letter-spacing: 0.01em;
}

.footmenu ul li a {
  color: rgba(255, 255, 255, 0.76) !important;
}

.footmenu ul li a:hover {
  color: #ffffff !important;
}

.side-menu {
  font-size: 15px;
  line-height: 1.6;
}

.side-menu__header,
.side-menu__reorder,
.side-menu__popular-item,
.side-menu__category,
.side-menu__flyout-cta,
.side-menu__contact-cta {
  letter-spacing: 0.01em;
}

.side-menu__header {
  font-size: 16px;
}

.side-menu__popular-label,
.side-menu__section-label {
  font-size: 12px;
}

.side-menu__popular-item,
.side-menu__category {
  font-size: 15px;
  line-height: 1.55;
}

.side-menu__flyout-title {
  font-size: 17px;
}

.side-menu__flyout-link {
  font-size: 14px;
  line-height: 1.55;
}

.side-menu__flyout-link--sub,
.side-menu__service-link {
  font-size: 13px;
  line-height: 1.55;
}

.side-menu__flyout-badge {
  font-size: 12px;
}

.side-menu__badge,
.side-menu__trust-item,
.side-menu__trust-text,
.side-menu__hours {
  font-size: 11px;
}

.side-menu__contact-cta,
.side-menu__flyout-cta {
  font-size: 15px;
  line-height: 1.45;
}

.side-menu__contact {
  padding: 0.875rem 1rem 1rem;
}

.cta-box p,
.cta-box li,
.summary-box p,
.summary-box li {
  font-size: 1rem !important;
  line-height: 1.8 !important;
  letter-spacing: 0.01em;
}

.cta-box h2,
.cta-box h3,
.cta-box h4,
.summary-box h2,
.summary-box h3,
.summary-box h4 {
  line-height: 1.35 !important;
  letter-spacing: 0.01em;
}

.cta-box .btn,
.summary-box .btn {
  font-size: 1rem !important;
  line-height: 1.4 !important;
}

#tophe-btn {
  width: 56px;
  height: 56px;
}

#tophe-btn p {
  width: 56px;
  height: 56px;
  font-size: 13px;
  line-height: 1.05;
}

@media (max-width: 767.98px) {
  #foot-support {
    padding: 1.5rem 0 1rem;
  }

  .foot_info {
    width: 92px !important;
    height: 92px !important;
  }

  #foot-support > .col-4 p {
    font-size: 0.875rem !important;
    line-height: 1.45 !important;
  }

  #order-gaid .foot_info span {
    font-size: 0.875rem !important;
  }

  #order-gaid .foot_info span.icon i {
    font-size: 1.35em !important;
  }

  #renraku {
    padding: 1.5rem 0;
  }

  #renraku .btn-black-nuki {
    min-width: 0;
    width: min(100%, 20rem);
    padding: 0.9rem 1.25rem;
  }

  .footp {
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
  }

  .footmenu ul li {
    line-height: 1.8;
  }

  .cta-box .btn,
  .summary-box .btn {
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
