/* agri-modern.css — レスポンシブ整え + clamp タイポグラフィ(layout.css の後に読み込む上書き層) */

/* 横スクロール(全幅帯の box-sizing 起因のはみ出し)を抑止 */
html, body { overflow-x: hidden; max-width: 100%; }

#main-wrapper img { max-width: 100%; height: auto; }

/* コンテナ可変化(旧 980px 固定 → 画面幅に追従) */
#main-wrapper .container {
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(1rem, 4vw, 2.5rem) !important;
    padding-right: clamp(1rem, 4vw, 2.5rem) !important;
    box-sizing: border-box;
}

/* clamp タイポグラフィ(最小〜最大を画面幅で補間) */
#main-wrapper h1 { font-size: clamp(1.5rem, 1.05rem + 1.8vw, 2.25rem) !important; line-height: 1.45; }
#main-wrapper h2 { font-size: clamp(1.2rem, 1rem + 1vw, 1.6rem) !important; line-height: 1.55; }
#main-wrapper h3 { font-size: clamp(1.05rem, 0.95rem + 0.5vw, 1.25rem) !important; line-height: 1.6; }
#main-wrapper p,
#main-wrapper li { font-size: clamp(0.92rem, 0.88rem + 0.25vw, 1rem) !important; line-height: 1.95; }
#main-wrapper .subtitle { font-size: clamp(1rem, 0.92rem + 0.4vw, 1.15rem) !important; font-weight: 700; }
#main-wrapper .lead { font-size: clamp(0.85rem, 0.8rem + 0.2vw, 0.95rem) !important; }

/* セクションの余白を整える */
#main-wrapper .mod-heading { margin-top: clamp(2rem, 5vw, 3.5rem); }
#main-wrapper .select { margin-bottom: clamp(2rem, 5vw, 3.5rem); }
#applyflow .mode-text-block { margin-bottom: clamp(1.5rem, 4vw, 2.5rem); }

/* select / applyflow:狭幅で 2カラム→縦積み */
@media (max-width: 820px) {
    #select .select-01, #select .select-02 { display: block; }
    #select [class^="select-01-left"], #select [class^="select-01-right"],
    #select .select-02-left, #select .select-02-right { float: none !important; width: 100% !important; margin-bottom: 1rem; }
    #applyflow .col-6 { float: none !important; width: 100% !important; }
    #applyflow .mode-text-block { width: 100% !important; }
    #contact .contact-info { width: auto !important; }
}

/* 空の「Links」バナー帯は出さない(banner が無いとき) */
.banner-links:empty { display: none; }

/* ===== お問い合わせフォーム(近代化) ===== */
#contact .contact-form { max-width: 640px; margin-top: 1rem; }
#contact .contact-form .form-group { display: block; margin-bottom: 1.15rem; }
#contact .contact-form .control-label { display: block; float: none; width: auto; text-align: left; margin-bottom: .4rem; font-size: .88rem; font-weight: 700; color: #333; }
#contact .contact-form .control-input { display: block; margin-left: 0; width: 100%; }
#contact .contact-form input.form-control,
#contact .contact-form textarea.form-control {
    width: 100% !important; box-sizing: border-box;
    padding: .7rem .9rem; border: 1px solid #d8d8d2; border-radius: 8px;
    font-size: 1rem; font-family: inherit; background: #fff; line-height: 1.6;
    transition: border-color .15s, box-shadow .15s;
}
#contact .contact-form textarea.form-control { min-height: 140px; resize: vertical; }
#contact .contact-form input.form-control:focus,
#contact .contact-form textarea.form-control:focus { outline: none; border-color: #8dc21f; box-shadow: 0 0 0 3px rgba(141,194,31,.15); }
#contact .contact-form input.error, #contact .contact-form textarea.error { border-color: #c0392b; }
#contact .contact-form label.error { display: block; color: #c0392b; font-size: .82rem; margin-top: .35rem; }
#contact .contact-form .infomation { font-size: .85rem; color: #666; margin: 1.2rem 0; }
#contact .contact-form .submit { text-align: center; margin-top: .5rem; }
#contact .contact-form .submit .agri-submit {
    display: inline-block; background: #8dc21f; color: #fff; border: none; border-radius: 999px;
    padding: .85rem 3rem; font-size: 1rem; font-weight: 700; cursor: pointer; font-family: inherit;
    transition: background .15s, transform .05s;
}
#contact .contact-form .submit .agri-submit:hover { background: #7aac17; }
#contact .contact-form .submit .agri-submit:active { transform: translateY(1px); }
#contact .confirm { max-width: 640px; line-height: 1.95; }
@media (max-width: 820px) { #contact .contact-form { max-width: 100%; } }

/* float 残りによる崩れ(infomation がテキストエリア横に回る)を解消 */
#contact .contact-form .form-group { float: none !important; clear: both; width: 100% !important; }
#contact .contact-form .control-label,
#contact .contact-form .control-input { float: none !important; width: 100% !important; }
#contact .contact-form .infomation,
#contact .contact-form .submit { clear: both !important; float: none !important; }
#contact .contact-form::after { content: ""; display: table; clear: both; }
