@charset "UTF-8";

/* ====================
common
==================== */

.html{
    font-size: 62.5%;
}

 .container {
       margin: 0 auto;
       padding: 0 0 40px;
   }

   .contact--header {
    padding-top: 200px;
   }

   .header__txt {
       font-size: 1.2rem;
       color: #fff;
       text-align: center;
       margin-bottom: 30px;
       line-height: 1.4;
   }

   .contact {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    padding: 20px 9.6%;
   }

   .formIcon {
    background-color: #ff6600;
    width: 25%;
    display: flex;
    align-items: center;
   }

   .iconImg {
    margin: 0 auto;
    width: 60%;
    height: auto;
   }

   .form-container {
       background: white;
       padding: 40px 40px 30px;
       width: 75%;
   }
   .form-group {
       margin-bottom: 25px;
       margin-right: 25px;
   }

   .form-group label {
       display: block;
       margin-bottom: 8px;
       font-weight: 500;
       color: #666;
       font-size: 0.95rem;
   }
   .required {
       color: #e74c3c;
       margin-left: 4px;
   }
   .form-group input,
   .form-group select,
   .form-group textarea {
       width: 100%;
       padding: 12px 16px;
       border: 2px solid #e0e6ed;
       border-radius: 8px;
       font-size: 1rem;
       transition: all 0.3s ease;
       font-family: inherit;
   }
   .form-group input:focus,
   .form-group select:focus,
   .form-group textarea:focus {
       outline: none;
       border-color: #ff6600;
       box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1);
   }
   .form-group textarea {
       min-height: 120px;
       resize: vertical;
   }
   .error {
       color: #e74c3c;
       font-size: 0.875rem;
       margin-top: 6px;
       display: none;
   }
   .form-group.error input,
   .form-group.error select,
   .form-group.error textarea {
       border-color: #e74c3c;
       box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1);
   }
   .form-group.error .error {
       display: block;
   }
   .form-row {
       display: flex;
       gap: 20px;
   }
   .form-row .form-group {
       flex: 1;
   }
   .submit-btn {
       background: linear-gradient(135deg, #ff6600, #ff6600);
       color: white;
       text-align: center;
       border: none;
       padding: 12px 20px;
       border-radius: 8px;
       font-size: 1.1rem;
       font-weight: 600;
       cursor: pointer;
       transition: all 0.3s ease;
       width: 15%;
       margin-top: 10px;
       justify-content: center;
   }

   .submit-btn:hover {
       background: linear-gradient(135deg, #ff6600, #ff6600);
       transform: translateY(-2px);
       box-shadow: 0 6px 12px rgba(255, 93, 29, 0.3);
   }

   .submit-btn:disabled {
       background: #bdc3c7;
       cursor: not-allowed;
       transform: none;
       box-shadow: none;
   }

   .success-message {
       background: #d4edda;
       color: #155724;
       padding: 20px;
       border-radius: 8px;
       margin-top: 20px;
       border-left: 4px solid #28a745;
       display: block;
   }

   .error-message {
       background: #edd4d4;
       color: #8b2b22;
       padding: 20px;
       border-radius: 8px;
       margin-top: 20px;
       border-left: 4px solid #a72828;
       display: block;
   }

   .loading {
       display: none;
       text-align: center;
       margin-top: 20px;
   }

   .loading-spinner {
       width: 20px;
       height: 20px;
       border: 2px solid #f3f3f3;
       border-top: 2px solid #ff6600;
       border-radius: 50%;
       animation: spin 1s linear infinite;
       display: inline-block;
       margin-right: 10px;
   }

   @keyframes spin {
       0% { transform: rotate(0deg); }
       100% { transform: rotate(360deg); }
   }

   /* about SP */

   @media screen and (max-width: 768px) {
       .container {
           padding: 20px 15px;
       }

       .form-container {
           padding: 20px;
           margin: 0 auto;
       }

       .header__txt {
        font-size: 1.0rem;
       }
       
       .formIcon {
            display: flex;
            align-items: center;
            width: 75%;
            margin: 0 auto;
            padding: 0 20px;
        }
        .iconImg {
            margin: 30px auto;
            width: 15%;
            height: auto;
        }
        .contact {
            max-width: 700px;
            margin: 0 auto;
            padding: 20px 9.6%;
            display: inline;
            align-items: center;
        }

        .submit-btn {
            background: linear-gradient(135deg, #ff6600, #ff6600);
            color: white;
            text-align: center;
            border: none;
            padding: 12px 20px;
            border-radius: 8px;
            font-size: 1.0rem;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.3s ease;
            width: 30%;
            margin-top: 5px;
            align-items: center;
        }
   }
