:root{ --gc-primary:#18F0D1; --gc-border:#e6edf2 }
.gc-wrap{font-family:system-ui,-apple-system,'Segoe UI',Roboto,'Noto Sans JP',sans-serif; color:#15232d}
.gc-form{width:min(900px,92%); margin:20px auto; padding:18px; border:1px solid var(--gc-border); border-radius:18px; background:#fff; box-shadow:0 10px 24px rgba(0,0,0,.05)}
.gc-form h2{margin:.4rem 0 1rem}
.gc-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px}
@media (max-width:860px){.gc-grid{grid-template-columns:1fr}}
.gc-label{display:block; font-weight:800; color:#2a3a44; margin-bottom:6px}
.gc-input, .gc-select, .gc-textarea{width:100%; padding:12px; border:2px solid var(--gc-border); border-radius:12px; background:#fff; transition:border-color .2s, box-shadow .2s}
.gc-input:focus, .gc-select:focus, .gc-textarea:focus{border-color:var(--gc-primary); box-shadow:0 0 0 3px rgba(24,240,209,.25); outline:none}
.gc-actions{gap:10px; align-items:center; margin-top:12px}
.gc-btn{display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; border-radius:12px; border:2px solid var(--gc-border); background:#fff; text-decoration:none; font-weight:800; cursor:pointer}
.gc-btn.-primary{background:var(--gc-primary); color:#053; border-color:transparent}
.gc-note{color:#456; font-size:.9rem}
.gc-muted{color:#60707f; font-size:.9rem; padding-top: 10px}
.gc-center{width:min(900px,92%); margin:24px auto; padding:18px; text-align:center; border:1px solid var(--gc-border); background:#f7fffb; border-radius:14px}
.gc-disabled{opacity:.55; pointer-events:none}

/* iOSで押しやすく＆ズーム防止（16px以上） */
.gc-select{
  font-size:16px;                 /* iOSのズーム抑制 */
  min-height:44px;                /* Apple推奨タップサイズ */
  line-height:1.25;
  padding:12px 40px 12px 12px;    /* 右側にアイコン分の余白 */
  border:2px solid var(--gc-border);
  border-radius:12px;
  background:#fff;
  color: #333;

  /* ネイティブ矢印を隠してカスタム矢印を使う */
  -webkit-appearance:none;
  appearance:none;

  /* 矢印（SVG）を右側に表示 */
  background-image: url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
    <path d='M7 10l5 5 5-5' fill='none' stroke='%2360707f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>\
  </svg>");
  background-repeat:no-repeat;
  background-position: right 12px center;
  background-size: 16px;

  /* iOSの青いハイライト除去（任意） */
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

/* フォーカス時の視認性（既存に追加でもOK） */
.gc-select:focus{
  border-color: var(--gc-primary);
  box-shadow: 0 0 0 3px rgba(24,240,209,.25);
  outline: none;
  color: #333;
}

/* 粗いポインタ環境（スマホ等）ではさらにパディング強めも可 */
@media (pointer: coarse){
  .gc-select{ padding:14px 44px 14px 14px; min-height:48px; }
}

/* 旧Edge/IE配慮（不要なら省略可） */
.gc-select::-ms-expand{ display:none; }