/*
Theme Name:  Company Theme Child
Author:      AIHP
Description: Company Theme の子テーマ。カスタマイズはこちらに記述してください。
Template:    company-theme
Version:     1.0.2
License:     GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: company-theme-child
*/

/*
 * 追加CSSはここに記述してください。
 * 親テーマのスタイルを上書きしたい場合もここに書きます。
 *
 * 例:
 * .header { background: #fff; }
 */

/* 固定の施工事例 */
.works-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.works-card { min-width: 0; }
.works-card__image { aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius); background: var(--color-placeholder); }
.works-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.works-card__placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; height: 100%; padding: 24px; color: #55534c; text-align: center; font-size: 12px; }
.works-card__placeholder-en { font-size: clamp(20px, 2.5vw, 32px); letter-spacing: 0.18em; font-weight: 400; }
.works-card__body { padding: 24px 0 0; }
.works-card__number { margin-bottom: 10px; color: var(--color-text-sub); font-size: 11px; letter-spacing: 0.2em; }
.works-card__title { margin-bottom: 12px; font-size: 20px; line-height: 1.6; }
.works-card__description { color: var(--color-text-sub); font-size: 14px; line-height: 1.9; }
@media (max-width: 1023px) {
  .works-grid { gap: 24px; }
  .works-card__title { font-size: 18px; }
}
@media (max-width: 767px) {
  .works-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .works-card__body { padding-top: 20px; }
}
/* お問い合わせはLINEに統一 */
.line-contact-button,
.header .line-contact-button,
.header.is-scrolled .line-contact-button,
body:not(.home) .header .line-contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 14px 24px;
  background: #06c755 !important;
  border: 1px solid #06c755 !important;
  border-radius: var(--radius);
  color: #fff !important;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: none;
}
.line-contact-button svg { flex-shrink: 0; }
.line-contact-button small { display: block; font-size: 11px; }
.line-contact-button:not(:disabled):hover,
.header .line-contact-button:not(:disabled):hover,
.header.is-scrolled .line-contact-button:not(:disabled):hover,
body:not(.home) .header .line-contact-button:not(:disabled):hover {
  background: #059e44 !important;
  border-color: #059e44 !important;
  color: #fff !important;
  opacity: 1;
}
.line-contact-button:focus-visible { outline: 3px solid var(--color-text); outline-offset: 4px; }
.line-contact-button:disabled { cursor: default; opacity: 0.65; }
.cta-banner__form-btn.line-contact-button { min-height: 112px; font-size: 18px; }
.header__drawer-cta .line-contact-button { width: 100%; }
.sp-fixed .line-contact-button { flex: 1; min-width: 0; padding: 12px 8px; border-radius: 0; }