/* ==========================================================================
   モバイルUX改善 — 2026-09-20
   目的: iOSでの入力時自動ズーム防止 / 小さすぎる文字の解消 / タップ領域の確保
   既存CSSは変更せず、SP幅（767px以下）でのみ上書きする。PC表示は一切変わらない。
   ========================================================================== */
@media screen and (max-width: 767px) {

    /* --- 入力欄: 16px未満だとiOS Safariが入力時にページを自動拡大するため --- */
    .smf-text-control__control,
    .smf-email-control__control,
    .smf-tel-control__control,
    .smf-url-control__control,
    .smf-textarea-control__control,
    .smf-select-control__control,
    .wpcf7 input[type="text"],
    .wpcf7 input[type="email"],
    .wpcf7 input[type="tel"],
    .wpcf7 input[type="url"],
    .wpcf7 textarea,
    .wpcf7 select {
        font-size: 16px !important;
    }

    /* --- 小さすぎる文字（Googleモバイルユーザビリティ対策） --- */
    .flow-step-text            { font-size: 12px !important; line-height: 19px; }
    .recommend-list li         { font-size: 12px !important; line-height: 22px; }
    .contact-form-subtitle,
    .contact-form-subtitle.input-message { font-size: 12px !important; line-height: 20px; }
    .smf-item__label__text     { font-size: 12px !important; }
    .price-note,
    .price-note-small,
    .result-note               { font-size: 12px !important; }
    .industries-note           { font-size: 12px !important; line-height: 16px; }
    .footer-company-address p  { font-size: 12px !important; line-height: 20px; }
    .mobile-menu-media-btn     { font-size: 12px !important; }
    .field-note,
    .smf-item__description,
    .achievement-label         { font-size: 12px !important; }

    /* --- タップ領域の確保 --- */
    .industries-column p       { line-height: 36px; }
    .industries-column p a     { display: block; line-height: 36px; }
    .mobile-menu-link          { display: block; padding: 10px 0; }

    /* アイコンは見た目を変えず、擬似要素で44px角の当たり判定だけ広げる */
    .hamburger-toggle,
    .mobile-menu-close         { position: relative; }
    .hamburger-toggle::after,
    .mobile-menu-close::after {
        content: '';
        position: absolute;
        top: 50%; left: 50%;
        transform: translate(-50%, -50%);
        width: 44px; height: 44px;
    }
}

/* 3LPの可視パンくず 2026-09-20 */
.lp-breadcrumb {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 20px 0;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 13px;
    line-height: 1.6;
    color: #666666;
}
.lp-breadcrumb a { color: #222222; text-decoration: none; }
.lp-breadcrumb a:hover { text-decoration: underline; }
.lp-breadcrumb-sep { margin: 0 8px; color: #999999; }
@media screen and (max-width: 767px) {
    .lp-breadcrumb { font-size: 12px; padding: 14px 20px 0; }
    .lp-breadcrumb [aria-current], .lp-breadcrumb .lp-breadcrumb-sep:last-of-type { display: none; }
}

/* 3LPの関連コラム 2026-09-20 */
.section-related { background: #ffffff; padding: 72px 0; }
.lp-related { max-width: 1000px; margin: 0 auto; padding: 0 40px; }
.lp-related-title {
    font-family: 'Noto Sans JP', sans-serif; font-weight: 600; font-size: 32px;
    line-height: 1.4; text-align: center; color: #222222; margin: 0 0 32px;
}
.lp-related-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.lp-related-list li { margin: 0; }
.lp-related-list a {
    display: block; background: #ffffff; border: 1px solid #dddddd; border-radius: 12px;
    box-shadow: 0 2px 6px rgba(0,0,0,.06); padding: 18px 48px 18px 20px; position: relative;
    font-family: 'Noto Sans JP', sans-serif; font-weight: 600; font-size: 17px; line-height: 1.6;
    color: #222222; text-decoration: none; transition: box-shadow .2s ease, transform .2s ease;
}
.lp-related-list a::after {
    content: '→'; position: absolute; right: 20px; top: 50%; transform: translateY(-50%);
    color: #33c8b2; font-weight: 600;
}
.lp-related-list a:hover { box-shadow: 0 6px 16px rgba(0,0,0,.12); transform: translateY(-2px); }
@media screen and (max-width: 767px) {
    .section-related { padding: 40px 0; }
    .lp-related { padding: 0 20px; }
    .lp-related-title { font-size: 22px; margin-bottom: 20px; }
    .lp-related-list a { font-size: 15px; padding: 16px 40px 16px 16px; }
}
