    :root{
      --ins-overlay: rgba(0,0,0,.55);
      --ins-modal-bg: #fff;
      --ins-muted: #555;
      --ins-shadow: 0 18px 60px rgba(0,0,0,.22);
      --ins-radius: 16px;
      --ins-focus: 0 0 0 4px rgba(217,45,32,.18);
    }

    /* ===== スコープルート ===== */
    .ins_root{
    }

    .ins_page{
      display: grid;
      place-items: center;
      padding: 16px;
    }

    /* ===== トリガー（aタグをボタン見た目に） ===== */
    .ins_open-link{
      display:block;
      text-decoration: none;
      cursor: pointer;
      user-select: none;
    }
.ins_open-link img{width: 100%;}
    .ins_open-link:hover{ filter: brightness(1.05); }
    .ins_open-link:focus-visible{ outline: none; box-shadow: var(--ins-focus); }

    /* ===== Overlay ===== */
    .ins_overlay{
      position: fixed;
      inset: 0;
      background: var(--ins-overlay);
      display: none;
      align-items: center;
      justify-content: center;
      z-index: 9999;
      padding: 18px;
    }
    .ins_overlay[aria-hidden="false"]{ display: flex; }

    /* ===== Modal ===== */
    .ins_modal{
      width: min(720px, 100%);
      max-height: 84dvh;
      background: var(--ins-modal-bg);
      border-radius: var(--ins-radius);
      box-shadow: var(--ins-shadow);
      display: grid;
      grid-template-rows: auto 1fr auto;
      overflow: hidden;
		position: relative;
    }

    .ins_modal__header{
      position: relative;
      padding: 32px 32px 14px 32px;
    }

    .ins_alert-icon{
      width: 60px;
      height: 60px;
		margin: 0 auto 8px;
		display: block;
    }

    .ins_modal__title{
      margin: 0;
      font-size: clamp(20px, 3.8vw, 28px);
      font-weight: bold;
      line-height: 1;
		text-align:center;
    }

    /* ===== CSS ×ボタン ===== */
    .ins_close-btn{
      position: absolute;
      top: 10px;
      right: 10px;
      width: 44px;
      height: 44px;
      border-radius: 12px;
      background: #fff;
      cursor: pointer;
    }

    .ins_close-btn::before,
    .ins_close-btn::after{
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 36px;
      height: 2px;
      background: #111;
      border-radius: 2px;
    }

    .ins_close-btn::before{ transform: translate(-50%, -50%) rotate(45deg); }
    .ins_close-btn::after{ transform: translate(-50%, -50%) rotate(-45deg); }

    .ins_close-btn:hover::before,
    .ins_close-btn:hover::after{}

    .ins_close-btn:focus-visible{ outline: none; box-shadow: var(--ins-focus); }

    .ins_modal__body{
      margin: 16px 32px;
      overflow: auto;
		background-color: #F5F5F5;
		padding: 8px;
    }
.ins_modal__body ul{
	padding-left: 2em;
}

    .ins_modal__body ul li{
		list-style: disc;
    }

    .ins_note{
      margin: 8px 0 0;
    }

    .ins_section-title{
      margin: 0 0 8px;
      font-weight: bold;
    }

    .ins_modal__footer{
      padding: 14px 32px 16px;
      display: flex;
      gap: 10px;
      justify-content:space-between;
      flex-wrap: wrap;
    }

    .ins_primary{
      padding: 12px 32px;
      border-radius: 40px;
      font-weight: 800;
      cursor: pointer;
      font-size: 16px;
		touch-action: manipulation;
		text-align: center;
		text-decoration: none;
    }


    .ins_secondary{
      padding: 12px ;
      font-size: 16px;
      cursor: pointer;
		background-color: transparent;
    }

    .ins_primary{
      border: 0;
      background:#0074BE;
      color: #fff;
    }

    .ins_secondary:focus-visible,
    .ins_primary:focus-visible{ outline: none; box-shadow: var(--ins-focus); }

    @media (max-width: 480px){
      .ins_primary, .ins_secondary{ width: 100%; }
		.ins_note{font-size: 14px}
		.ins_modal__header{padding: 32px 16px 14px}
      .ins_modal__footer{ justify-content: stretch;flex-wrap: wrap-reverse; }
		.ins_modal__body{margin: 0 16px 16px;}
		.ins_modal__body ul li{font-size: 14px;}
		.ins_modal__footer{padding: 14px 16px 16px;}
    }
