.none{
    display: none;
   }

  /* ステッパー */
  .stepper-wrap {
    background: #fff;
    border-radius: 12px;
    padding: 24px 28px 28px;
    max-width: 720px;
    margin: 0 auto 0;
    box-shadow: 0 1px 4px rgba(0,0,0,.08);
  }
  .stepper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 8px;
  }
  .step {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f0f0f0;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 14px;
    color: #888;
  }
  .step .num {
    width: 26px; height: 26px;
    border-radius: 50%;
    background: #ccc;
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-weight: bold; font-size: 13px;
    flex-shrink: 0;
  }
  .step.active {
    background: #f5a623;
    color: #fff;
    position: relative;
  }
  .step.active .num {
    background: #fff;
    color: #f5a623;
  }
  /* 矢印 */
  .step.active::after {
    content: '';
    position: absolute; right: -12px; top: 50%;
    transform: translateY(-50%);
    border: 12px solid transparent;
    border-left-color: #f5a623;
    z-index: 1;
  }

  /* コンテンツ */
  .content {
    margin-top: 24px;
  }

  /* タブ切り替え */
  .tab-bar {
    display: flex;
    gap: 0;
    border-bottom: 2px solid #00AF3A;
    margin-bottom: 0;
  }
  .tab-btn {
    flex: 1;
    padding: 13px 0;
    background: #e8f7ed;
    border: none;
    font-size: 20px;
    font-weight: bold;
    color: #00AF3A;
    cursor: pointer;
    transition: background .15s, color .15s;
    border-radius: 8px 8px 0 0;
    display: flex; align-items: center; justify-content: center; gap: 8px;
  }
  .tab-btn:first-child { margin-right: 4px; }
  .tab-btn.active {
    background: #00AF3A;
    color: #fff;
  }
  .tab-btn .icon { font-size: 18px; }
  .tab-badge {
    display: inline-block;
    margin-left: 8px;
    background: rgba(255,255,255,.3);
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    padding: 4px 13px;
    border-radius: 10px;
    vertical-align: middle;
    letter-spacing: .03em;
  }
  .tab-btn.active .tab-badge {
    background: rgba(255,255,255,.25);
    color: #fff;
  }
  .tab-btn:not(.active) .tab-badge {
    background: #00AF3A;
    color: #fff;
  }

  /* タブパネル */
  .tab-panel {
    background: #00AF3A;
    border-radius: 0 0 12px 12px;
    padding: 28px 28px 24px;
    display: none;
  }
  .tab-panel.active { display: block; }

  /* 新規取得パネル */
  .panel-title {
    text-align: center;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 20px;
  }
  .domain-input-row {
    background: #fff;
    border-radius: 8px;
    padding: 18px 20px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
  }
  .domain-prefix {
    font-weight: bold;
    font-size: 15px;
    white-space: nowrap;
    padding-top: 10px;
  }
  .domain-input-area { flex: 1; }
  .domain-input-area input {
    width: 100%;
    border: 1.5px solid #ccc;
    border-radius: 6px;
    padding: 9px 12px;
    font-size: 15px;
    outline: none;
    transition: border-color .15s;
  }
  .domain-input-area input:focus { border-color: #00AF3A; }
  .domain-note {
    font-size: 11px;
    color: #888;
    margin-top: 5px;
  }
  .tld-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px 12px;
    min-width: 140px;
  }
  .tld-item {
    display: flex; align-items: center; gap: 6px;
    font-size: 14px; cursor: pointer;
  }
  .tld-item input[type=checkbox] { accent-color: #00AF3A; width: 16px; height: 16px; }

  .search-btn {
    display: block;
    width: 100%;
    margin-top: 18px;
    padding: 14px;
    background: #fff;
    color: #333;
    font-size: 16px;
    font-weight: bold;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background .15s;
  }
  .search-btn:hover { background: #f0f0f0; }

  /* 外部ドメインパネル */
  .byod-title {
    text-align: center;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 20px;
  }
  .byod-input-box {
    background: #fff;
    border-radius: 8px;
    padding: 18px 20px;
  }
  .byod-input-box label {
    display: block;
    font-size: 15px;
    font-weight: bold;
    color: #000;
    margin-bottom: 8px;
  }
  .byod-input-box input[type=text] {
    width: 100%;
    border: 1.5px solid #ccc;
    border-radius: 6px;
    padding: 10px 12px;
    font-size: 17px;
    outline: none;
    transition: border-color .15s;
  }
  .byod-input-box input[type=text]:focus { border-color: #00AF3A; }
  .byod-note {
    font-size: 12px;
    color: #000;
    margin-top: 5px;
  }

  /* 注意事項ボックス */
  .disclaimer-box {
    margin-top: 16px;
    background: #fff8e6;
    border: 1.5px solid #f5a623;
    border-radius: 8px;
    padding: 14px 16px;
  }
  .disclaimer-box .disc-title {
    font-size: 16px;
    font-weight: bold;
    color: #c47f00;
    margin-bottom: 8px;
    display: flex; align-items: center; gap: 6px;
  }
  .disclaimer-box ul {
    padding-left: 18px;
    list-style: disc;
  }
  .disclaimer-box ul li {
    font-size: 14px;
    color: #7a5a00;
    line-height: 1.8;
  }
  .transfer-note {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #f0d080;
    font-size: 14px;
    color: #7a5a00;
    line-height: 1.8;
  }
  .transfer-note a {
    color: #c47f00;
    font-weight: bold;
  }
  .prereq-box {
    background: rgba(255,255,255,.15);
    border: 1.5px solid rgba(255,255,255,.5);
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 16px;
    color: #fff;
  }
  .prereq-box .prereq-title {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 8px;
  }
  .prereq-box p {
    font-size: 14px;
    line-height: 1.8;
    margin-top: 4px;
  }
  .dns-table {
    width: 100%;
    border-collapse: collapse;
    margin: 10px 0 8px;
    font-size: 14px;
  }
  .dns-table th {
    background: rgba(255,255,255,.25);
    color: #fff;
    padding: 6px 10px;
    text-align: left;
    font-weight: bold;
  }
  .dns-table td {
    background: rgba(255,255,255,.9);
    color: #333;
    padding: 7px 10px;
    border-top: 2px solid rgba(0,175,58,.2);
  }
  .dns-table .dns-val {
    font-family: monospace;
    font-size: 14px;
    font-weight: bold;
    color: #111;
  }

  .next-btn {
    display: block;
    width: 100%;
    margin-top: 16px;
    padding: 14px;
    background: #fff;
    color: #333;
    font-size: 16px;
    font-weight: bold;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background .15s, opacity .15s;
  }
  .next-btn:disabled {
    opacity: .45;
    cursor: not-allowed;
  }
  .next-btn:not(:disabled):hover { background: #f0f0f0; }

  /* オーバーライド */
  #panel-new{
    padding: 28px 0 24px;
  }
  #panel-byod{
    padding: 28px 28px 24px;
  }
  #main .ng p {
    color: #fff;
  }
  .arrow:after {
    background: url(//assets.toriaez.jp/form/trial/formal/images/formal/pic-arrow_bottom_003_a.png) top center no-repeat !important;
    background-size: 100px auto !important;
  }

  .byod-dns-error {
  margin-top: 10px;
  padding: 12px 14px 12px 42px;
  background: #fff2f2;
  border: 1.5px solid #e05252;
  border-radius: 8px;
  position: relative;
  font-size: 14px;
  line-height: 1.75;
  color: #7a1f1f;
}
.byod-dns-error::before {
  content: '⚠';
  position: absolute;
  left: 13px;
  top: 12px;
  font-size: 16px;
  color: #e05252;
  line-height: 1;
}
.byod-dns-error ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.byod-dns-error ul li + li {
  padding-top: 10px;
  border-top: 1px solid #f5bebe;
}
.byod-dns-error code {
  font-family: monospace;
  background: rgba(224,82,82,0.12);
  border-radius: 3px;
  padding: 1px 5px;
  font-size: 13px;
  color: #6b1515;
}

.searching .loading span {
    color: #FFF;
}

.arrow {
    margin-bottom: 65px !important;
}

@media screen and (max-width: 600px) {
  .tab-btn {
    display: block;
    font-size: 14px;
  }

  .tab-badge {
    display: inline-block;
    margin: 4px 0 0 0;
    font-size: 12px;
  }
  
  #searchBox {
    margin-left: initial !important;
    margin-right: initial !important;
    width: initial !important;
  }

  .prereq-box .prereq-title {
    font-size: 15px;
  }

  .arrow:after {
    background-size: 60px auto !important;
  }

  .byod-title {
    font-size: 14px;
  }

}

.dns-card { background: #fff; border: 1px solid #ddd; border-radius: 8px; padding: 0.8rem 1rem; margin-bottom: 12px; }
.dns-card__type { display: inline-block; font-size: 12px; font-weight: bold; padding: 2px 10px; border-radius: 4px; margin-bottom: 10px; background: #e8e4ff; color: #3C3489; }
.dns-card__type.cname { background: #d4f5e9; color: #085041; }
.dns-card__label { display: block; font-size: 12px; color: #888; margin-bottom: 2px; }
.dns-card__value { display: block; font-size: 14px; font-weight: 500; word-break: break-all; color: #333 }
.dns-card__value.mono { font-family: monospace; }