/* =================================================================
      1. CSSスコープ・リセット設定
    ================================================================= */
    #sbsd-eco-container {
      all: revert;
      display: block;
      margin: 1% auto 0 auto;
      width: 100%;
      max-width: 100%;
      font-size: 16px;
      line-height: 1.6;
      color: #333;
      font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
      text-align: left;
      background: #fff;
    }

    #sbsd-eco-container *,
    #sbsd-eco-container *::before,
    #sbsd-eco-container *::after {
      box-sizing: border-box !important;
    }

    #sbsd-eco-container h3, #sbsd-eco-container h4, #sbsd-eco-container h5, #sbsd-eco-container p, #sbsd-eco-container ul, #sbsd-eco-container li, #sbsd-eco-container table {
      all: revert;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    #sbsd-eco-container h3::before, #sbsd-eco-container h3::after,
    #sbsd-eco-container h4::before, #sbsd-eco-container h4::after {
      content: none !important;
    }

    /* =================================================================
      2. 共通レイアウトクラス (sbsd-eco- プレフィックス付与)
    ================================================================= */
    #sbsd-eco-container .sbsd-eco-flex {
      display: flex;
      flex-wrap: wrap;
      align-items: stretch;
    }

    #sbsd-eco-container .sbsd-eco-clr01 { color: #77cc00 !important; }
    #sbsd-eco-container .sbsd-eco-keikou { background: linear-gradient(transparent 70%, #ff6 60%); }
    #sbsd-eco-container .sbsd-eco-small { padding-left: 2px; font-size: 11px; }

    /* =================================================================
      3. コンテンツ固有スタイル
    ================================================================= */
    #sbsd-eco-container .sbsd-eco-main-wrapper {
      max-width: 730px;
      margin: 0 auto;
      color: #333;
    }

    #sbsd-eco-container .sbsd-eco-fv-in { background: #f1f1f1; text-align: center; }
    #sbsd-eco-container .sbsd-eco-fvimg { margin: 0 auto; display: block; max-width: 100%; height: auto; }

    /* 見出し類 */
    #sbsd-eco-container h3 {
      color: #000000 !important;
      border: 1px solid #77cc00;
      border-width: 2px 0;
      background: #e7f9be !important;
      font-size: 20px;
      padding: 2%;
      margin: 2% 0;
      font-weight: bold;
    }

    #sbsd-eco-container h4 {
      color: #2a2a2a !important;
      border-left: 6px solid #77cc00;
      background: #fff;
      font-size: 18px;
      text-align: left;
      padding: 0 2%;
      margin: 4% 2% 2% 2%;
      font-weight: bold;
    }

    #sbsd-eco-container p {
      line-height: 1.67;
      font-weight: 350;
      color: #333;
      word-wrap: break-word;
    }

    /* お悩みリスト */
    #sbsd-eco-container .sbsd-eco-nayami {
      background: #e7f9be;
      padding: 20px 20px 20px 50px;
      border-radius: 10px;
      width: 60%;
      margin: 0 auto;
    }
    #sbsd-eco-container .sbsd-eco-nayami ul li {
      padding-bottom: 10px;
      position: relative;
      line-height: 1.8;
    }
    #sbsd-eco-container .sbsd-eco-nayami ul li::after {
      content: ''; display: block; position: absolute; top: .5em; left: -1.5em;
      width: 10px; height: 5px; border-left: 3px solid #f3aa0c; border-bottom: 3px solid #f3aa0c;
      transform: rotate(-45deg);
    }

    /* ポイントボックス */
    #sbsd-eco-container .sbsd-eco-point-item {
      width: 47.1%;
      border: 1px solid #77cc00;
      margin-right: 10px;
      margin-left: 10px;
      margin-bottom: 20px;
      padding: 10px;
      border-radius: 7px;
    }
    
    #sbsd-eco-container .sbsd-eco-pont-ttl-eng {
      text-align: center; color: #77cc00 !important; font-weight: 600 !important;
      background: #e7f9be;
    }
    #sbsd-eco-container .sbsd-eco-point-ttl-jp { margin-top: 10px; font-weight: 600 !important; color: #77cc00 !important; }
    #sbsd-eco-container .sbsd-eco-point-txt { font-size: 14px; font-weight: 600 !important; }
    #sbsd-eco-container .sbsd-eco-caution { font-size: 12px; }
    #sbsd-eco-container .sbsd-eco-caution a { text-decoration: underline; color: #5999ff; }

    /* お問い合わせボタン */
    #sbsd-eco-container .sbsd-eco-contact-btn a {
      position: relative;
      display: flex;
      justify-content: space-around;
      align-items: center;
      margin: 0 auto;
      width: 430px;
      height: 85px;
      padding: 10px 25px;
      color: #fff !important;
      background: #77cc00;
      transition: 0.3s ease-in-out;
      font-weight: 600;
      filter: drop-shadow(0px 2px 4px #ccc);
      border-radius: 70px;
      text-align: center;
      text-decoration: none !important;
    }
    #sbsd-eco-container .sbsd-eco-contact-btn a:hover {
      transform: translateY(-2px);
      box-shadow: 0 15px 30px -5px rgba(0,0,0,0.15);
    }
    #sbsd-eco-container .sbsd-eco-contact-btn a::after {
      content: ''; width: 8px; height: 8px; border-top: 3px solid #fff; border-right: 3px solid #fff;
      transform: rotate(45deg) translateY(-48%);
      position: absolute; top: 48%; right: 20px; border-radius: 1px;
    }

    /* テーブルスタイル */
    #sbsd-eco-container .sbsd-eco-reform-table {
      border-collapse: collapse;
      width: 100%;
      max-width: 800px;
      margin: 20px auto;
      font-family: sans-serif;
    }
    #sbsd-eco-container .sbsd-eco-reform-table th, #sbsd-eco-container .sbsd-eco-reform-table td {
      border: 1px solid #333;
      padding: 10px;
      text-align: center;
      color: #000;
    }
    #sbsd-eco-container .sbsd-eco-reform-table th {
      background-color: #e7f9be;
      font-weight: bold;
      font-size: 1.1em;
    }
    #sbsd-eco-container .sbsd-eco-reform-table td { background-color: white; }

    /* 下部：他の補助金リンク */
    #sbsd-eco-container .sbsd-eco-select-list { margin-top: 20px; }
    #sbsd-eco-container .sbsd-eco-select-list a {
      position: relative; display: flex; justify-content: space-around; align-items: center;
      margin: 0 auto; width: 285px; padding: 10px 25px;
      font-weight: 600; text-align: center; text-decoration: none !important;
      transition: 0.3s ease-in-out;
    }
    #sbsd-eco-container .sbsd-eco-select-list a::after {
      content: ''; width: 8px; height: 8px; position: absolute; top: 48%; right: 20px;
      transform: rotate(45deg) translateY(-48%); border-radius: 1px;
    }
    #sbsd-eco-container .sbsd-eco-btn-mado { border: 3px solid #3faafa; color: #3faafa !important; margin-right: 10px !important; }
    #sbsd-eco-container .sbsd-eco-btn-mado::after { border-top: 3px solid #3faafa; border-right: 3px solid #3faafa; }
    #sbsd-eco-container .sbsd-eco-btn-kyuto { border: 3px solid #fc9534; color: #fc9534 !important; margin-right: 10px !important; }
    #sbsd-eco-container .sbsd-eco-btn-kyuto::after { border-top: 3px solid #fc9534; border-right: 3px solid #fc9534; }

    /* =================================================================
      4. レスポンシブ
    ================================================================= */
    #sbsd-eco-container .sbsd-eco-sp { display: none !important; }

    @media screen and (max-width: 769px) {
      #sbsd-eco-container .sbsd-eco-sp { display: block !important; }
      #sbsd-eco-container .sbsd-eco-detailWrap { padding: 0 4%; }
      #sbsd-eco-container .sbsd-eco-nayami { width: 100%; margin: 0 auto 20px auto; }
      #sbsd-eco-container .sbsd-eco-contact-btn a { width: auto; height: auto; padding: 20px 25px; }
      #sbsd-eco-container .sbsd-eco-point-item { width: 100%; margin-right: 0 !important; margin: 20px auto 0 auto; }
      #sbsd-eco-container .sbsd-eco-select-wrap.sbsd-eco-flex { display: block; }
      #sbsd-eco-container .sbsd-eco-select-list a { width: 100%; margin: 0 auto 15px !important; }
      #sbsd-eco-container h3 { font-size: 18px; }
      #sbsd-eco-container .sbsd-eco-bld-top { font-size: 18px; }
      #sbsd-eco-container .sbsd-eco-reform-table { font-size: 13px; }
    }