/* フォーム全体（生のformタグへの干渉をリセット） */
form {
  width: 100%;
  display: block;
  float: none;
  position: static;
}

/* 旧ボタンは非表示 */
a.estimate-button{
  display: none;
}


        /* ==========================================================================
         ヘッダー・タイトル部分（画像を参考にしたデザイン）
         ========================================================================== */
        .adnet-mf-header {
          background-color: #fff9f5;
          border: 2px solid #ffbc94;
          border-radius: 12px;
          padding: 30px 20px;
          text-align: center;
          margin-bottom: 0;
          box-shadow: 0 4px 15px rgba(255, 94, 0, 0.05);
        }
    
        .adnet-mf-badge {
          display: inline-block;
          background-color: #ff5e00;
          color: #ffffff;
          font-weight: bold;
          padding: 5px 20px;
          border-radius: 30px;
          font-size: 14px;
          margin-bottom: 15px;
        }
    
        .adnet-mf-title {
          font-size: 36px;
          font-weight: 900;
          color: #ff5e00;
          margin: 0 0 15px 0;
          line-height: 1.2;
        }
    
        .adnet-mf-title span {
          font-size: 20px;
          color: #333;
        }
    
        .adnet-mf-subtitle {
          font-size: 16px;
          font-weight: bold;
          margin: 0 0 20px 0;
        }
    
        .adnet-mf-subtitle-accent {
          color: #ff5e00;
        }
    
        .adnet-mf-features {
          display: flex;
          justify-content: center;
          gap: 15px;
          list-style: none;
          padding: 0;
          margin: 0;
          flex-wrap: wrap;
        }
    
        .adnet-mf-features li {
          font-size: 13px;
          font-weight: bold;
          display: flex;
          align-items: center;
          gap: 5px;
          background: #ffffff;
          padding: 8px 15px;
          border-radius: 8px;
          border: 1px dashed #ffbc94;
        }
    
        .adnet-mf-features li span {
          color: #ff5e00;
          font-size: 16px;
        }
        /* ==========================================================================
         完了画面用のスタイル
         ========================================================================== */
        .adnet-mf-complete-box {
          text-align: center;
          padding: 60px 20px;
        }
    
        .adnet-mf-complete-icon {
          font-size: 60px;
          color: #48bb78;
          margin-bottom: 20px;
        }
    
        .adnet-mf-complete-title {
          font-size: 24px;
          font-weight: bold;
          margin-bottom: 15px;
        }

        /* ==========================================================================
         ヘッダー・タイトル部分（緑ベース）
         ========================================================================== */
        .adnet-cf-header {
          background-color: #f2fcf5;
          border: 2px solid #95d5b2;
          border-radius: 12px;
          padding: 30px 20px;
          text-align: center;
          margin-bottom: 30px;
          box-shadow: 0 4px 15px rgba(0, 135, 60, 0.05);
        }
    
        .adnet-cf-badge {
          display: inline-block;
          background-color: #00873c;
          color: #ffffff;
          font-weight: bold;
          padding: 5px 20px;
          border-radius: 30px;
          font-size: 14px;
          margin-bottom: 15px;
        }
    
        .adnet-cf-title {
          font-size: 36px;
          font-weight: 900;
          color: #00873c;
          margin: 0 0 15px 0;
          line-height: 1.2;
        }
    
        .adnet-cf-title span {
          font-size: 20px;
          color: #333;
        }
    
        .adnet-cf-subtitle {
          font-size: 16px;
          font-weight: bold;
          margin: 0 0 20px 0;
        }
    
        .adnet-cf-subtitle-accent {
          color: #00873c;
        }
    
        .adnet-cf-features {
          display: flex;
          justify-content: center;
          gap: 15px;
          list-style: none;
          padding: 0;
          margin: 0;
          flex-wrap: wrap;
        }
    
        .adnet-cf-features li {
          font-size: 13px;
          font-weight: bold;
          display: flex;
          align-items: center;
          gap: 5px;
          background: #ffffff;
          padding: 8px 15px;
          border-radius: 8px;
          border: 1px dashed #95d5b2;
        }
    
        .adnet-cf-features li span {
          color: #00873c;
          font-size: 16px;
        }
    
        .adnet-cf-complete-box {
          text-align: center;
          padding: 60px 20px;
        }
    
        .adnet-cf-complete-icon {
          font-size: 60px;
          color: #00873c;
          margin-bottom: 20px;
        }




@media (min-width: 769px) {

body.wide div#container_top{
  width: 1050px!important;
}
  #top_wrap {
    display: flex;
    flex-direction: row-reverse;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
  }

}

    /* 画像の基本設定（レスポンシブ対応） */
    #container_top img {
      max-width: 100%;
      height: auto;
      vertical-align: bottom;
      /* 画像の下にできる余白を消す */
    }

    /* トップビジュアル */
    .hero-area {
      width: 100%;
    }

    /* 2つのボタンエリア */
    .button-area {
      display: flex;
      gap: 20px;
      padding: 0 50px;
      background: linear-gradient(to bottom, #f0f8ff, #ffffff);
    }

    /* ボタン（リンク）のホバーアクション */
    .btn-link {
      flex: 1;
      display: block;
      transition: transform 0.2s ease, opacity 0.2s ease;
      text-decoration: none;
    }

    .btn-link:hover {
      transform: translateY(-3px);
      /* カーソルを乗せると少し上に浮く */
      opacity: 0.9;
    }

    /* フッターのテキストエリア */
    .footer-contact {
      text-align: center;
      padding: 0 20px 10px;
      font-weight: bold;
      font-size: 16px;
      color: #333;
    }

    .footer-contact span {
      color: #0056b3;
      /* 無料の部分を青色に */
      font-size: 18px;
    }

    /* スマホ向けのレイアウト調整（画面幅768px以下の場合） */
    @media (max-width: 768px) {
      body {
        padding: 0;
        /* スマホ画面では画面いっぱいに広げる */
      }

      .container {
        border-radius: 0;
        box-shadow: none;
      }

      .button-area {
        flex-direction: column;
        /* 縦並びに変更 */
        padding: 20px 15px;
        gap: 15px;
      }
    }


    /* ==========================================
       右固定バナーのスタイル設定
       （すでに実装済みの場合は調整してください）
    ========================================== */
    .sidebanner {
      width: 200px;
      position: fixed;
      right: 0;
      top: 110px;
      z-index: 100;
      box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2);
      border-radius: 20px;
    }
        .sidebanner img {
          width: 100%;
        }

    .fixed_banner2 {
      
      background: none;
      border: none;
      padding: 0;
      cursor: pointer;
      transition: opacity 0.3s;
    }
  
    .fixed_banner2:hover {
      opacity: 0.8;
    }
  
    /* バナー非表示用クラス */
    .spNone.is-hidden {
      display: none;
    }

    /* ==========================================
       モーダルのスタイル設定
    ========================================== */
    /* モーダルの背景（黒半透明） */
    .modal-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.8);
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 9999;
      /* 画面の最前面に */
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease, visibility 0.3s ease;
    }
  
    /* モーダル表示時に付与されるクラス */
    .modal-overlay.is-active {
      opacity: 1;
      visibility: visible;
    }
  
    /* 画像とボタンを囲むコンテナ */
    .modal-content {
      position: relative;
      width: 90%;
      max-width: 1100px;
      /* 最大幅を1100pxに制限 */
      display: flex;
      justify-content: center;
      align-items: center;
    }
  
    /* モーダル内の画像 */
    .modal-content img {
      width: 100%;
      height: auto;
      max-height: 90vh;
      /* 画面の高さを超えないように調整 */
      object-fit: contain;
      box-shadow: 0 5px 25px rgba(0, 0, 0, 0.5);
    }
  
    /* 右上のバツボタン */
    .modal-close-btn {
      position: absolute;
      top: -40px;
      /* 画像の上端から少し上に配置 */
      right: 0;
      width: 40px;
      height: 40px;
      background: transparent;
      border: none;
      color: #ffffff;
      font-size: 40px;
      font-weight: bold;
      line-height: 1;
      cursor: pointer;
      z-index: 10000;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 0;
      transition: transform 0.2s;
    }
  
    .modal-close-btn:hover {
      transform: scale(1.1);
      /* カーソルを乗せると少し大きくなる */
    }
  
    /* スマホ等で画面幅が狭い場合、バツボタンが画面外に見切れないようにする調整 */
    @media (max-width: 1150px) {
      .modal-close-btn {
        top: -40px;
        right: 0;
      }
    }


    /* ==========================================================================
     モーダル用のスタイル（ビッグメニュー共有仕様）
     ========================================================================== */
    .modal-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(255, 255, 255, 0.85);
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 9999;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease, visibility 0.3s ease;
    }

    .modal-overlay.is-active {
      opacity: 1;
      visibility: visible;
    }

    .modal-content {
      position: relative;
      width: 90%;
      max-width: 1100px;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .modal-content img {
      width: 100%;
      height: auto;
      max-height: 90vh;
      object-fit: contain;
      box-shadow: 0 5px 25px rgba(0, 0, 0, 0.5);
    }

    .modal-close-btn {
      position: absolute;
      top: -40px;
      right: 0;
      width: 40px;
      height: 40px;
      background: transparent;
      border: none;
      color: #333333;
      font-size: 40px;
      font-weight: bold;
      line-height: 1;
      cursor: pointer;
      z-index: 10000;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 0;
      transition: transform 0.2s;
    }

    .modal-close-btn:hover {
      transform: scale(1.1);
    }

    @media (max-width: 1150px) {
      .modal-close-btn {
        top: -40px;
        right: 0;
      }
    }


/* ==========================================================================
  ビッグメニュー
  ========================================================================== */

  .layout-container{
    background-color: white;
    padding: 20px;
  }

  /* 3つのボタンを横に並べるレイアウト */
  .layout-cards {
    display: flex;
    /* gap（隙間）を削除 */
  }

  /* 各ボタンのスタイル */
  .bigmenu_btn {
    cursor: pointer;
  }

  /* ホバー時は少しだけ暗くしてクリックできることを伝える */
  .bigmenu_btn:hover {
    opacity: 0.9;
  }

  /* レスポンシブ対応：画面幅が768px以下の場合は縦並びにする */
  @media (max-width: 768px) {
    .layout-cards {
      flex-direction: column;
    }

    .bigmenu_btn {
      width: 100%;
    }
  }
    .modal-content .layout-container {
      box-shadow: 0 5px 25px rgba(0, 0, 0, 0.5);
    }
    .modal-content .layout-container div img {
      box-shadow: none!important;
    }
