@charset "utf-8";

[class^="scene-"].active .main_txt{visibility:visible !important;}

@media screen and (min-width:1000px) {
    .scene-1 { padding:100px 0; background-color:#fff; position:relative; }
    .scene-1 .cont_wrap { width:900px; margin:auto; }
    .scene-1 .main_txt { text-align:center; padding:0 0 50px; visibility:hidden; position:relative; }
    .scene-1 .main_txt h1 { font-size:42px; color:#333; font-family:'GS_B'; }
    .scene-1 .main_txt p { font-size:13px; color:#666; letter-spacing:4px; }
    .scene-1 .main_txt p:after { display:block; visibility:visible; width:30px; height:1px; background-color:#999; content:""; margin:20px auto; }
}
@media screen and (max-width:999px) {
    .scene-1 { padding:60px 15px; background-color:#fff; }
    .scene-1 .cont_wrap { margin:auto; }
    .scene-1 .main_txt { text-align:center; padding:0 0 30px; visibility:hidden; position:relative; }
    .scene-1 .main_txt h1 { font-size:28px; color:#333; font-family:'GS_B'; }
    .scene-1 .main_txt p { font-size:12px; color:#666; letter-spacing:2px; }
    .scene-1 .main_txt p:after { display:block; visibility:visible; width:24px; height:1px; background-color:#999; content:""; margin:15px auto; }
}

.est-intro { max-width:800px; margin:0 auto 30px; text-align:center; padding:22px 20px; background:#f6faf3; border-radius:10px; }
.est-intro p { color:#333; line-height:1.8; font-size:15px; }
.est-intro strong { font-size:22px; color:#398f00; font-family:'GS_B'; }

.est-errors { max-width:800px; margin:0 auto 20px; padding:14px 20px; background:#fff5f5; border-left:4px solid #dc3545; border-radius:6px; }
.est-errors p { margin:4px 0; color:#c0392b; font-size:14px; }

.est-form { max-width:800px; margin:0 auto; }
.est-row { margin-bottom:18px; }
.est-row label { display:block; margin-bottom:8px; font-weight:700; color:#333; font-size:14.5px; }
.est-row .req { color:#dc3545; margin-left:2px; }
.est-row input[type=text], .est-row input[type=tel], .est-row select, .est-row textarea {
    width:100%; padding:14px 15px; border:1px solid #dcdcdc; border-radius:8px; font-size:15px; box-sizing:border-box; background:#fff; transition:border-color 0.2s;
}
.est-row input:focus, .est-row select:focus, .est-row textarea:focus { outline:0; border-color:#70ad47; box-shadow:0 0 0 3px rgba(112,173,71,0.15); }
.est-row textarea { resize:vertical; min-height:130px; line-height:1.6; }

.est-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

.est-agree { margin:24px 0 20px; padding:16px 20px; background:#fafafa; border-radius:8px; }
.est-agree label { display:flex; align-items:flex-start; gap:10px; cursor:pointer; font-size:14px; color:#444; }
.est-agree input[type=checkbox] { margin-top:3px; width:18px; height:18px; }

.est-submit { display:flex; gap:12px; justify-content:center; margin-top:30px; flex-wrap:wrap; }
.est-btn { display:inline-block; padding:16px 40px; border-radius:40px; font-size:16px; font-family:'GS_B'; text-decoration:none; border:0; cursor:pointer; transition:all 0.25s; text-align:center; }
.est-btn-primary { background:#70ad47; color:#fff; }
.est-btn-primary:hover { background:#398f00; transform:translateY(-2px); box-shadow:0 8px 16px rgba(0,0,0,0.12); }
.est-btn-outline { background:#fff; color:#398f00; border:2px solid #70ad47; }
.est-btn-outline:hover { background:#f3f6f1; }

.est-success { max-width:600px; margin:0 auto; text-align:center; padding:60px 30px; background:#f6faf3; border-radius:14px; }
.est-success-icon { width:80px; height:80px; margin:0 auto 20px; border-radius:50%; background:#70ad47; color:#fff; font-size:44px; line-height:80px; }
.est-success h3 { font-size:28px; font-family:'GS_B'; color:#333; margin-bottom:12px; }
.est-success p { color:#555; line-height:1.7; font-size:15px; margin-bottom:30px; }
.est-success .est-btn { background:#70ad47; color:#fff; }

@media screen and (max-width:768px) {
    .est-row-2 { grid-template-columns:1fr; gap:0; }
    .est-intro p { font-size:14px; }
    .est-intro strong { font-size:19px; }
    .est-submit { flex-direction:column; }
    .est-btn { width:100%; padding:14px 20px; font-size:15px; box-sizing:border-box; }
    .est-success { padding:40px 20px; }
    .est-success h3 { font-size:22px; }
}
