@charset "UTF-8";
/* =========================================================
   /guide/setregist  ドメイン永久無料 LP
   Figma: ドメイン0円施策LP One (390px mobile design)
   モバイルファースト / PCは中央寄せの単一カラム
   すべて .setregist 配下にスコープして既存CSSと衝突回避
   ========================================================= */

.setregist {
    --sr-blue: #0b8ae0;
    --sr-blue-dark: #0a4f8f;
    --sr-text: #333;
    --sr-accent: #ff7a00;
    --sr-bg-light: #eaf6fd;
    --sr-yellow: #fdf6dc;

    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
    color: var(--sr-text);
    font-size: 15px;
    background: #fff;
    overflow-x: hidden;
}

.setregist * {
    box-sizing: border-box;
    line-height: 1.4;
}

.setregist *:focus-visible {
    outline: 2px solid #aaa; /* 線の太さ・種類・変えたい色 */
    outline-offset: 2px;
}

/* PCでは390px基準のモバイルレイアウトを中央に寄せて「それっぽく」見せる */
.setregist .sr-inner {
    width: 100%;
    /* max-width: 390px; */
    margin-inline: auto;
    padding-inline: 16px;
}

.setregist section {
    position: relative;
}

.setregist .sr-heading {
    text-align: center;
    font-weight: 800;
    font-size: 30px;
    line-height: 1.3;
    color: var(--sr-blue-dark);
    margin: 0;
}

/* セクション別の背景・余白は各セクション実装時に追記していく */
.setregist .sr-compare,
.setregist .sr-merit,
.setregist .sr-overview,
.setregist .sr-step,
.setregist .sr-feature,
.setregist .sr-campaign,
.setregist .sr-faq {
    padding-block: 48px;
}

.setregist .sr-accent {
    color: #ff4000;
}

/* ロゴベルト */
.setregist .sr-logobelt {
    background: #fff;
    padding: 12px 0;
}

.setregist .sr-logobelt__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 390px;
    margin-inline: auto;
}

.setregist .sr-logobelt__logo {
    position: relative;
    width: 100%;
    max-width: 160px;
    height: 30px;
    width: auto;
    flex-shrink: 0;
    top: 3px;
}

.setregist .sr-logobelt__logo--rs {
    position: relative;
    max-width: 130px;
    top: 5px;
}

.setregist .sr-logobelt__x {
    font-size: 20px;
    font-weight: 700;
    color: #005BAC;
    flex-shrink: 0;
}

/* =========================================================
   FV / ヒーロー
   ========================================================= */
.setregist .sr-fv {
    background: #00adff;
    padding: 26px 0 0;
}

.setregist .sr-fv__hero {
    text-align: center;
}

.setregist .sr-fv__hero-box {
    display: inline-block;
    width: 100%;
    /* max-width: 330px; */
    border: 2px solid rgba(255, 255, 255, 0.75);
    border-radius: 12px;
    padding: 20px 16px 40px;
    text-align: left;
}

.setregist .sr-fv__hero-catch {
    margin: 0 0 10px;
}

.setregist .sr-fv__hero-catch-sub {
    display: block;
    text-align: center;
    color: #FFE679;
    font-size: 45px;
    font-weight: 700;
    line-height: 1.2;
}

.setregist .sr-fv__hero-catch-main {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 60px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: 0.02em;
}

.setregist .sr-fv__hero-badge {
    display: block;
    text-align: center;
    background: #FFE679;
    font-size: 15px;
    font-weight: 700;
    padding: 4px;
    margin: 0 0 13px;
}

.setregist .sr-fv__hero-badge.pc {
    display: none;
}
.setregist .sr-fv__hero-badge.sp {
    display: block;
}

.setregist .sr-fv__right {
    display: none;
}

.setregist .sr-fv__hero-bottom {
    display: flex;
    justify-content: space-between;
}

.setregist .sr-fv__hero-illust {
    display: block;
    width: 47.6%;
    height: auto;
    flex-shrink: 0;
}

.setregist .sr-fv__hero-price-img {
    width: 47%;
    height: auto;
}

.setregist .sr-fv__hero-tld-wrap {
    background: #fff;
    width: 100vw;
    padding: 16px 0 30px;
    margin-top: -23px;
    margin-inline: calc(50% - 50vw);
}

.setregist .sr-fv__hero-tld-wrap.sp {
    display: block;
}
.setregist .sr-fv__hero-tld-wrap.pc {
    display: none;
}

.setregist .sr-fv__hero-tld {
    display: block;
    width: 100%;
    max-width: 280px;
    height: auto;
    margin: 0 auto;
}

.setregist .sr-fv__search-btn {
    display: none;
    flex-shrink: 0;
    background: #ff7a00;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    padding: 0 18px;
    height: 100%;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    white-space: nowrap;
}

.setregist .sr-fv__lead {
    position: relative;
    display: block;
    background: #222;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.5;
    text-align: center;
    padding: 10px 16px;
    border-radius: 30px;
    margin: -24px 0 18px;
}

.setregist .sr-fv__lead::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 10px 8px 0;
    border-color: #222 transparent transparent;
}

.setregist .sr-fv__sublabel {
    font-weight: 700;
    font-size: 15px;
    text-align: center;
    margin: 0 0 11px;
}

.setregist .sr-fv__search {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border-radius: 4px;
    padding: 10px 12px;
}

.setregist .sr-fv__search-icon {
    display: block;
    align-items: center;
    padding-right: 10px;
    border-right: 1px solid #F3790B;
}

.setregist .sr-fv__search input[type="text"] {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    font-size: 13px;
    background: transparent;
    border: none !important;
}

.setregist .sr-fv__search input::placeholder {
    color: rgba(243, 121, 11, .63);
}

.setregist .sr-fv__cta-block .sr-fv__note {
    text-align: center;
    font-size: 11px;
    margin: 10px 0 3px;
}

/* CTA: One レンタルサーバーを無料お試し */
.setregist .sr-fv__cta {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 56px;
    margin: 0 0 8px;
    padding: 8px 56px 8px 36px;
    background: #ff7a00;
    border-radius: 30px;
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    text-align: center;
    box-shadow: 0 3px 0 rgba(0, 0, 0, .12);
    transition: opacity .3s;
}
.setregist .sr-fv__cta:hover {
    opacity: .7;
}

.setregist .sr-fv__cta-arrow {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.setregist .sr-fv__cta-arrow img {
    width: 12px;
    height: auto;
}

/* ドメイン検索〜CTA ブロック */
.setregist .sr-fv__cta-block {
    background: #FFE679;
    margin-inline: -16px;
    padding: 10px 16px 20px;
}

/* 永久無料対象ドメイン一覧 */
.setregist .sr-domaincard {
    background: #fff;
    padding: 60px 0;
    text-align: center;
}

.setregist .sr-domaincard__card {
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.18);
    border-radius: 10px;
    padding: 30px 20px;
}

.setregist .sr-domaincard__title {
    color: #222;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.25;
    margin: 0;
    letter-spacing: .02em;
}

.setregist .sr-domaincard__divider {
    display: block;
    /* border-top: 2px solid #00ADFF; */
    border-bottom: 2px solid #00ADFF;
    margin-top: 32px;
    padding: 0 0 8px;
}

.setregist .sr-domaincard__tld {
    display: block;
    width: 100%;
    height: auto;
    margin: 4px 0;
}

.setregist .sr-domaincard__desc {
    text-align: left;
    margin-top: 26px;
}

.setregist .sr-domaincard__desc-h {
    font-weight: 700;
    font-size: 18px;
    color: #00ADFF;
    margin: 0 0 10px;
}

.setregist .sr-domaincard__desc-lead {
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 30px;
}

.setregist .sr-domaincard__desc-block {
    margin: 0 0 20px;
}

.setregist .sr-domaincard__desc-sub {
    font-weight: 700;
    font-size: 14px;
    position: relative;
    border-bottom: 1px solid #ccc;
    margin: 6px 0 4px;
    padding-bottom: 4px;
}

.setregist .sr-domaincard__desc-cond {
    list-style: none;
    margin: 0;
}

.setregist .sr-domaincard__desc-cond li {
    font-size: 13px;
    line-height: 1.7;
    color: #333;
    position: relative;
    padding-left: 1em;
}

.setregist .sr-domaincard__desc-cond li::before {
    content: "・";
    position: absolute;
    left: 0;
}

.setregist .sr-domaincard__desc-tld {
    font-size: 13px;
    margin: 0;
    padding-left: 1.1em;
}

.setregist .sr-domaincard__desc-tld.tld-none {
    padding-left: 0;
}

.setregist .sr-domaincard__desc-notes {
    margin-top: 10px;
}

.setregist .sr-domaincard__desc-notes p {
    font-size: 11px;
    color: #888;
    line-height: 1.6;
    margin: 0;
}

.setregist .sr-domaincard__copy {
    font-size: 12px;
    line-height: 17px;
    font-weight: 700;
    margin: 0 0 18px;
}

.setregist .sr-domaincard__cp-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 301px;
    max-width: 100%;
    min-height: 51px;
    margin: 0 auto;
    padding: 6px 44px;
    background: #fff;
    border: 1px solid #1c6fb6;
    border-radius: 9px;
    color: #222;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
}

.setregist .sr-domaincard__cp-link-arrow {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #ff7a00;
    display: flex;
    align-items: center;
    justify-content: center;
}

.setregist .sr-domaincard__cp-link-arrow img {
    width: 11px;
    height: auto;
}

/* キャンペーン概要へのジャンプボタン（青ピル） */
.setregist .sr-fv__jump {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 18px auto 0;
    padding: 16px 48px;
    background: #1f8fe0;
    border-radius: 12px;
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    line-height: 1.4;
    box-shadow: 0 3px 0 rgba(0, 0, 0, .08);
}

.setregist .sr-fv__jump-arrow {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.setregist .sr-fv__jump-arrow::after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #1f8fe0;
    border-right: 2px solid #1f8fe0;
    transform: rotate(45deg) translate(-1px, 1px);
}

/* =========================================================
   比較表 + 応答速度グラフ + POINT
   ========================================================= */
.setregist .sr-compare {
    position: relative;
    background: #def8ff;
    padding: 60px 0 44px;
}

.setregist .sr-compare::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 32px 50vw 0 50vw;
    border-color: #def8ff #fff transparent #fff;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 10;
}

.setregist .sr-compare__title {
    text-align: center;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.45;
    margin: 0 0 26px;
}

.setregist .sr-cmp {
    margin: 0 auto 4px;
    padding: 14px 0;
    overflow: visible;
}

.setregist .sr-cmp__table {
    display: grid;
    grid-template-columns: 58px 2fr 1fr 1fr;
}

.setregist .sr-cmp__table > div {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 8px 4px;
}

.setregist .sr-cmp__corner {
    width: 58px;
    background: transparent;
    border: 0;
}

.setregist .sr-cmp__rowhead {
    font-size: 10px;
    font-weight: 700;
    color: #222;
    line-height: 1.3;
    background: #fff;
    max-height: 48px;
}

.setregist .sr-cmp__table > div.sr-cmp__one-head {
    background: #00adff;
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    line-height: 1.4;
    border: 2px solid #00adff;
    border-bottom: 0;
    border-radius: 7px 7px 0 0;
    padding: 10px 4px;
    position: relative;
    z-index: 1;
    padding-top: 14px;
    padding-bottom: 14px;
}

.setregist .sr-cmp__table > div.sr-cmp__rival-head {
    background: #b9b9b9;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    padding: 8px 3px;
    margin-top: 24px;
}

.setregist .sr-cmp__one {
    background: #fff;
    color: #00adff;
    border-left: 2px solid #00adff;
    border-right: 2px solid #00adff;
    padding: 12px 3px;
    position: relative;
    z-index: 1;
}

.setregist .sr-cmp__table > div:nth-child(9),
.setregist .sr-cmp__table > div:nth-child(11),
.setregist .sr-cmp__table > div:nth-child(12) {
    border-top: 1px solid #d9d9d9;
}

.setregist .sr-cmp__table > div:nth-child(4),
.setregist .sr-cmp__table > div:nth-child(8),
.setregist .sr-cmp__table > div:nth-child(12) {
    border-left: 1px solid #d9d9d9;
}

.setregist .sr-cmp__one--last {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-top: 1px solid #00adff;
    border-bottom: 2px solid #00adff;
    border-radius: 0 0 7px 7px;
    padding-bottom: 26px;
    min-height: 56px;
}

.setregist .sr-cmp__rival {
    background: #ebebeb;
    color: #828282;
    padding: 12px 3px;
    min-height: 48px;
    max-height: 48px;
}

.setregist .sr-cmp__num {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1;
}

.setregist .sr-cmp__num--sm {
    font-size: 15px;
}

.setregist .sr-cmp__unit {
    font-size: 12px;
    font-weight: 600;
}

.setregist .sr-cmp__was {
    position: relative;
    display: block;
    font-size: 10px;
    color: #002c52;
    font-weight: 600;
    text-decoration: none;
    line-height: 1.2;
    left: -14px;
}

.setregist .sr-cmp__was::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 90%;
    height: 1.5px;
    background: #00adff;
    transform: rotate(-15deg);
    transform-origin: left center;
}

.setregist .sr-cmp__now {
    display: inline-flex;
    align-items: baseline;
    color: #00adff;
    margin-top: 5px;
}

.setregist .sr-compare__lead {
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    margin: 20px 0;
}

.setregist .sr-compare__lead.lead-02 {
    font-size: 15px;
    font-weight: 700;
    margin-top: 30px;
}

.setregist .sr-compare__hl {
    color: #ff6a00;
}

.setregist .sr-compare__graph {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 4px rgba(0, 0, 0, .1);
    padding: 16px 14px;
    margin: 0 0 22px;
}

.setregist .sr-compare__graph-ttl {
    font-size: 18px;
    font-weight: 700;
    color: #00ADFF;
    margin: 0 0 8px;
    text-align: center;
}

.setregist .sr-compare__graph-txt {
    font-size: 13px;
    margin: 0 0 6px;
}

.setregist .sr-compare__em {
    color: var(--sr-accent);
    font-style: normal;
    font-weight: 700;
}

.setregist .sr-compare__graph picture {
    display: block;
}

.setregist .sr-compare__graph img {
    display: block;
    width: 100%;
    height: auto;
}

.setregist .sr-point {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding-right: 15px;
}

.setregist .sr-point__item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.setregist .sr-point__body {
    flex: 1;
    min-width: 0;
}

.setregist .sr-point__label {
    font-family: "Poppins", sans-serif;
    font-size: 26px;
    font-weight: 400;
    color: #00adff;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.setregist .sr-point__num {
    font-style: italic;
    font-size: 42px;
    margin-left: 2px;
}

.setregist .sr-point__txt {
    font-size: 13px;
    line-height: 1.7;
    margin: 0;
    padding-left: 12px;
    border-left: 3px solid #00adff;
}

.setregist .sr-point__em {
    color: var(--sr-accent);
    font-style: normal;
    font-weight: 700;
}

.setregist .sr-point__icon {
    flex-shrink: 0;
    max-width: 90px;
}

.setregist .sr-point__icon img {
    display: block;
    width: 100%;
    height: auto;
    height: auto;
    margin: 0 auto;
}

/* =========================================================
   3つのメリット
   ========================================================= */
.setregist .sr-merit {
    background: #fff;
    padding: 80px 0 40px;
}

.setregist .sr-merit__title {
    text-align: center;
    margin: 0 0 32px;
}

.setregist .sr-merit__title-sub {
    display: block;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
}

.setregist .sr-merit__title-main {
    display: block;
    font-size: 30px;
    font-weight: 800;
    color: #00adff;
    line-height: 1.4;
}

.setregist .sr-merit__title-num {
    font-size: 46px;
}

.setregist .sr-merit__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.setregist .sr-merit__item {
    border-radius: 7px;
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25);
}

.setregist .sr-merit__body {
    flex: 1;
    min-width: 0;
}

.setregist .sr-merit__num {
    font-family: "Poppins", sans-serif;
    font-size: 42px;
    font-weight: 500;
    color: #00adff;
    line-height: 1;
    margin: 0 0 6px;
}

.setregist .sr-merit__ttl {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 8px;
    line-height: 1.4;
    background: linear-gradient(transparent 60%, #ffe566 60%);
    display: inline;
}

.setregist .sr-merit__txt {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
}

.setregist .sr-merit__em {
    color: var(--sr-accent);
    font-style: normal;
}

.setregist .sr-merit__icon {
    flex-shrink: 0;
    max-width: 90px;
}

.setregist .sr-merit__icon img {
    display: block;
    width: 100%;
    height: auto;
}

/* =========================================================
   同時申し込みプラン紹介 + 特徴6つ
   ========================================================= */
.setregist .sr-feature {
    background: #fff;
    padding: 72px 0 48px;
}

.setregist .sr-feature__intro-h {
    text-align: center;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.4;
    margin: 0 0 22px;
}

.setregist .sr-feature__illust-wrap {
    margin: 0 0 40px;
}

.setregist .sr-feature__illust {
    text-align: center;
    border-top: 1px solid #00adff;
    border-bottom: 1px solid #00adff;
    padding: 14px 0;
}

.setregist .sr-feature__server-illust {
    display: block;
    width: 100%;
    max-width: 360px;
    height: auto;
    margin: 20px auto 0;
}

.setregist .sr-feature__illust-title {
    color: #00adff;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.2;
    margin: 0 0 4px;
}

.setregist .sr-feature__illust-desc {
    font-size: 12px;
    font-weight: 700;
}

.setregist .sr-feature__illust img {
    display: inline-block;
    width: 100%;
    max-width: 360px;
    height: auto;
}

.setregist .sr-feature__title {
    text-align: center;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.35;
    margin: 40px 0;
}

.setregist .sr-feature__title-blue {
    color: #00adff;
}

.setregist .sr-feature__num {
    color: #00adff;
    font-weight: 600;
    font-size: 2em;
    line-height: 1;
    margin: 0 2px;
}

.setregist .sr-feature__grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 27px 20px;
}

.setregist .sr-feature__cell {
    position: relative;
    box-shadow: 0 0 4px rgba(0, 0, 0, .25);
    border-radius: 7px;
    padding: 22px 6px 12px;
    text-align: center;
}

.setregist .sr-feature__no {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: -13px;
    left: -13px;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: #FFE679;
    color: #222;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 17px;
}

.setregist .sr-feature__t {
    margin: 0 0 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e3e3e3;
    line-height: 1.25;
}

.setregist .sr-feature__t .sub {
    display: block;
    font-size: 13px;
    font-weight: 700;
    line-height: 18px;
}

.setregist .sr-feature__t .big {
    display: block;
    font-size: 20px;
    font-weight: 700;
    color: #00adff;
}

.setregist .sr-feature__d {
    margin: 0;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.45;
}

/* =========================================================
   お申し込み方法 STEP
   ========================================================= */
.setregist .sr-step {
    background: #def8ff;
    padding: 70px 0 48px;
}

.setregist .sr-step__label {
    text-align: center;
    color: #00adff;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-size: 30px;
    line-height: 1.1;
    margin: 0 0 6px;
}

.setregist .sr-step__title {
    text-align: center;
    font-weight: 700;
    font-size: 34px;
    line-height: 1.3;
    margin: 0 0 40px;
}

.setregist .sr-step__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* 左にバッジ＋点線コネクタ / 右に内容（ライトブルー背景に直接配置） */
.setregist .sr-step__item {
    position: relative;
    display: flex;
    gap: 16px;
    padding-bottom: 30px;
}

.setregist .sr-step__item:last-child {
    padding-bottom: 0;
}

/* バッジ同士を結ぶ縦の点線コネクタ */
.setregist .sr-step__item:not(:last-child)::before {
    content: "";
    position: absolute;
    left: 31px;
    top: 60px;
    bottom: 2px;
    border-left: 2px dashed #4cc3ff;
}

.setregist .sr-step__badge {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    width: 64px;
    height: 64px;
}

.setregist .sr-step__badge img {
    width: 100%;
    height: auto;
}

.setregist .sr-step__body {
    flex: 1 1 auto;
    min-width: 0;
    padding-top: 4px;
}

.setregist .sr-step__h {
    text-align: left;
    font-weight: 700;
    font-size: 20px;
    margin: 0 0 8px;
}

.setregist .sr-step__txt {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.6;
    margin: 0 0 14px;
}

.setregist .sr-step__numlist {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    counter-reset: sr-step-num;
}

.setregist .sr-step__numlist li {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.6;
    padding-left: 1.6em;
    position: relative;
    counter-increment: sr-step-num;
}

.setregist .sr-step__numlist li::before {
    content: counter(sr-step-num) ".";
    position: absolute;
    left: 0;
}

.setregist .sr-step__mock {
    text-align: left;
}

.setregist .sr-step__mock img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 7px;
}

.setregist .sr-step__item:nth-child(n+2) .sr-step__mock img {
    box-shadow: 0 4px 14px 0 rgba(0, 0, 0, 0.10);
}

/* =========================================================
   キャンペーン概要
   ========================================================= */
.setregist .sr-campaign {
    background: #fff;
    padding: 44px 0 48px;
    scroll-margin-top: 80px;
}

.setregist .sr-campaign__title {
    text-align: center;
    font-weight: 700;
    font-size: 40px;
    line-height: 1.3;
    margin: 0 0 32px;
}

.setregist .sr-campaign__card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 14px;
    box-shadow: 0 0 6px rgba(0, 0, 0, .05);
    padding: 26px 20px 28px;
}

.setregist .sr-cp-block + .sr-cp-block {
    margin-top: 24px;
}

.setregist .sr-cp__label {
    color: #00adff;
    font-weight: 700;
    font-size: 20px;
    margin: 0 0 12px;
    position: relative;
}

.setregist .sr-campaign__card p {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.6;
    margin: 0 0 8px;
}

.setregist .sr-campaign__card p.sr-cp__strong {
    font-size: 1.03em;
    font-weight: 700;
    margin-top: 6px;
}

.setregist .sr-campaign__card a {
    text-decoration: underline;
    word-break: break-all;
}

.setregist .sr-accent3 {
    color: #F3790B;
    font-weight: 700;
}

.setregist .sr-campaign__card p.sr-cp__note {
    font-size: 11px;
    margin-top: 4px;
}

.setregist .sr-cp__steps {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: sr-cp-step;
}

.setregist .sr-cp__steps > li {
    font-size: 13px;
    line-height: 1.75;
    margin-bottom: 8px;
    padding-left: 1.8em;
    position: relative;
    counter-increment: sr-cp-step;
}

.setregist .sr-cp__steps > li::before {
    content: counter(sr-cp-step) ".";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
}

.setregist .sr-cp__sub {
    display: block;
    font-size: 12px;
    margin-top: 4px;
}

.setregist .sr-cp__notes {
    list-style: none;
    margin: 0;
    padding: 0;
}

.setregist .sr-cp__notes li {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.7;
    padding-left: 1em;
    position: relative;
}

.setregist .sr-cp__notes li::before {
    content: "・";
    position: absolute;
    left: 0;
}

/* =========================================================
   永久無料ドメイン概要
   ========================================================= */
.setregist .sr-overview {
    position: relative;
    background: #fffcd2;
    padding: 48px 0;
}

.setregist .sr-overview__title {
    text-align: center;
    font-weight: 700;
    font-size: 40px;
    line-height: 1.3;
    margin: 0 0 34px;
}

.setregist .sr-overview__lead {
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
    margin: 0 0 32px;
}

.setregist .sr-overview__box {
    background: transparent;
    border-radius: 0;
    padding: 0;
}

.setregist .sr-overview__block + .sr-overview__block {
    margin-top: 32px;
}

.setregist .sr-overview__h {
    color: #f3790b;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.4;
    margin: 0 0 10px;
}

.setregist .sr-overview__lead2 {
    font-size: 13px;
    line-height: 1.7;
    margin: 0 0 10px;
}

.setregist .sr-overview__cond {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 13px;
    color: #333;
    line-height: 1.7;
}

.setregist .sr-overview__cond li {
    position: relative;
    list-style-type: "・";
    list-style-position: inside;
}

.setregist .sr-overview__tld {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
}

.setregist .sr-overview__tld li {
    line-height: 0;
}

.setregist .sr-overview__tld img {
    height: 18px;
    width: auto;
    max-width: none;
    display: block;
}

.setregist .sr-overview__cases {
    margin: 16px 0 0;
}

.setregist .sr-overview__cases dt {
    font-weight: 700;
    font-size: 14px;
    border-bottom: 1px solid #ccc;
    margin: 17px 0 4px;
    padding-bottom: 4px;
}

.setregist .sr-overview__cases dt:first-child {
    margin-top: 0;
}

.setregist .sr-overview__cases dd {
    margin: 0;
    font-size: 13px;
    line-height: 1.7;
}

/* =========================================================
   Q&A
   ========================================================= */
.setregist .sr-faq {
    position: relative;
    /* background: #FFFCD2; */
    padding: 60px 0;
}

.setregist .sr-faq__label {
    text-align: center;
    color: #00adff;
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-size: 30px;
    margin: 0 0 6px;
}

.setregist .sr-faq__title {
    text-align: center;
    font-weight: 700;
    font-size: 26px;
    margin: 0 0 32px;
}

.setregist .sr-faq__list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.setregist .sr-faq__item {
    background: #fff;

    border-radius: 7px;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.setregist .sr-faq__q {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 16px 44px 16px 16px;
    position: relative;
    cursor: pointer;
    font-weight: 700;
    font-size: 14px;
    color: #222;
    line-height: 1.5;
    list-style: none;
}

.setregist .sr-faq__q::-webkit-details-marker {
    display: none;
}

.setregist .sr-faq__mark {
    color: #00adff;
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.3;
    flex: 0 0 auto;
}

.setregist .sr-faq__mark--a {
    color: #ff7a00;
}

/* +/− トグル */
.setregist .sr-faq__q::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background:
        linear-gradient(#00adff, #00adff) center/14px 2px no-repeat,
        linear-gradient(#00adff, #00adff) center/2px 14px no-repeat;
    transition: transform .2s;
}

.setregist .sr-faq__item[open] .sr-faq__q::after {
    background: linear-gradient(#00adff, #00adff) center/14px 2px no-repeat;
}

.setregist .sr-faq__a {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 0 16px 18px;
    border-top: 1px solid #eef4f8;
    margin-top: -1px;
    padding-top: 16px;
}

.setregist .sr-faq__atext {
    flex: 1 1 auto;
}

.setregist .sr-faq__atext p {
    font-size: 13px;
    line-height: 1.75;
    color: #333;
    margin: 0 0 8px;
}

.setregist .sr-faq__atext p:last-child {
    margin-bottom: 0;
}

.setregist .sr-faq__atext p.sr-faq__sub {
    font-weight: 700;
    color: #00adff;
    margin-top: 6px;
}

.setregist .sr-faq__atext ul {
    margin: 0 0 8px;
    padding-left: 1.2em;
}

.setregist .sr-faq__atext li {
    font-size: 13px;
    line-height: 1.7;
    color: #333;
}

.setregist .sr-faq__atext p.sr-faq__note {
    font-size: 11px;
    color: #888;
}

/* 注意事項 */
.setregist .sr-notes {
    background: #fff;
    padding: 40px 0 48px;
}

.setregist .sr-notes__title {
    text-align: center;
    font-weight: 700;
    font-size: 40px;
    margin: 0 0 40px;
}

.setregist .sr-notes__list {
    margin: 0;
    padding-left: 1.1em;
    list-style: disc;
}

.setregist .sr-notes__list li {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.7;
}

.setregist .sr-notes__hl {
    color: #F3790B;
    list-style: none;
    margin-top: 4px;
    margin-left: -1.2em;
}

/* =========================================================
   PC レイアウト（中央寄せだけでなく専用構成）
   ※各セクションのPC内部レイアウトは順次このブロックに追記
   ========================================================= */
@media (min-width: 960px) {
    .setregist {
        font-size: 16px;
    }

    /* PCでは広いコンテンツ幅を使う */
    .setregist .sr-inner {
        max-width: 1120px;
        padding-inline: 32px;
    }

    .setregist .sr-logobelt {
        padding: 15px 0;
    }

    .setregist .sr-logobelt__logo {
        max-width: 220px;
    }

    /* ---- FV ---- */
    .setregist .sr-fv {
        padding: 64px 0 0;
    }

    .setregist .sr-fv .sr-inner {
        padding-bottom: 52px;
    }

    .setregist .sr-fv__top {
        display: flex;
        justify-content: space-between;
    }

    .setregist .sr-fv__hero {
        width: 52%;
    }

    .setregist .sr-fv__hero-box {
        max-width: 540px;
        margin: 0 auto;
        padding: 28px 44px 24px;
    }

    .setregist .sr-fv__hero-catch-sub {
        font-size: 72px;
    }

    .setregist .sr-fv__hero-catch-main {
        font-size: 90px;
    }

    .setregist .sr-fv__hero-badge {
        font-size: 18px;
        padding: 2px;
    }
    .setregist .sr-fv__hero-badge.pc {
        display: block;
    }
    .setregist .sr-fv__hero-badge.sp {
        display: none;
    }

    .setregist .sr-fv__hero-illust {
        width: 52%;
    }

    .setregist .sr-fv__hero-price-img {
        width: 44%;
    }

    .setregist .sr-fv__hero-bottom.sp {
        display: none;
    }

    .setregist .sr-fv__hero-tld-wrap {
        text-align: center;
        background: #fff;
        border-radius: 10px;
        padding: 10px 20px;
        margin-top: 0;
        margin-inline: auto;
        width: auto;
    }

    .setregist .sr-fv__hero-tld-wrap.sp {
        display: none;
    }
    .setregist .sr-fv__hero-tld-wrap.pc {
        display: block;
    }

    .setregist .sr-fv__hero-tld {
        display: inline-block;
        width: 100%;
        max-width: 370px;
        margin: 0 auto;
        margin-inline: 0;
    }

    .setregist .sr-fv__cta-block {
        text-align: center;
        border-radius: 30px;
        margin: 60px auto 0;
        padding-bottom: 30px;
    }

    .setregist .sr-fv__lead {
        display: inline-block;
        font-size: 16px;
        top: -30px;
    }

    .setregist .sr-fv__sublabel {
        font-size: 26px;
        margin-top: -30px;
        margin-bottom: 28px;
    }

    .setregist .sr-fv__search {
        max-width: 960px;
        gap: 14px;
        margin: 0 auto;
        padding: 12px 20px;
    }

    .setregist .sr-fv__search-icon {
        width: 42px;
        height: stretch;
        padding-right: 14px;
        border-right: 2px solid #F3790B;
    }

    .setregist .sr-fv__search input[type="text"] {
        height: stretch;
        padding: 0;
        font-size: 18px !important;
    }

    .setregist .sr-fv__search-btn {
        display: block;
        font-size: 16px;
        padding: 11px 21px;
    }

    .setregist .sr-fv__note {
        font-size: 12px;
        text-align: center;
        margin-bottom: 14px;
    }

    .setregist .sr-fv__cta-block .sr-fv__note {
        font-size: 13px;
    }

    .setregist .sr-fv__cta {
        font-size: 17px;
        max-width: 400px;
        margin: 30px auto 0;
    }

    .setregist .sr-fv__right {
        display: block;
        width: 43%;
    }

    .setregist .sr-fv__right .sr-fv__hero-illust {
        width: 100%;
    }

    .setregist .sr-domaincard {
        max-width: 880px;
        margin-inline: auto;
        padding: 48px 0;
    }

    .setregist .sr-domaincard__card {
        padding: 48px 7%;
    }

    .setregist .sr-domaincard__title {
        font-size: 40px;
    }

    .setregist .sr-domaincard__tld {
        max-width: 460px;
        margin: 22px auto 10px;
    }

    .setregist .sr-domaincard__tld img {
        height: 16px;
    }

    .setregist .sr-domaincard__copy {
        font-size: 13px;
        line-height: 1.7;
    }

    .setregist .sr-domaincard__desc {
        margin-top: 26px;
    }

    .setregist .sr-domaincard__desc-h {
        font-size: 24px;
    }

    .setregist .sr-domaincard__desc-lead,
    .setregist .sr-domaincard__desc-cond li,
    .setregist .sr-domaincard__desc-tld {
        font-size: 16px;
    }

    .setregist .sr-domaincard__desc-sub {
        font-size: 18px;
        margin-bottom: 6px;
        padding-bottom: 6px;
    }

    .setregist .sr-domaincard__desc-notes p {
        font-size: 12px;
    }

    /* ---- 比較: タイトル拡大 / 表とグラフを中央 / POINTを2カラム ---- */
    .setregist .sr-compare {
        padding: 80px 0 60px;
    }

    .setregist .sr-compare::after {
        border-width: 70px 50vw 0 50vw;
    }

    .setregist .sr-compare__title {
        font-size: 40px;
        margin-bottom: 32px;
    }

    .setregist .sr-cmp {
        max-width: 780px;
    }

    .setregist .sr-cmp__num {
        font-size: 34px;
    }

    .setregist .sr-cmp__num--sm {
        font-size: 22px;
    }

    .setregist .sr-cmp__one-head {
        font-size: 14px;
    }

    .setregist .sr-cmp__table {
        grid-template-columns: 110px 2fr 1fr 1fr;
    }

    .setregist .sr-cmp__rowhead {
        font-size: 14px;
        max-height: 100%;
    }

    .setregist .sr-cmp__table > div {
        font-size: 14px;
        padding: 12px 6px;
    }

    .setregist .sr-cmp__unit {
        position: relative;
        font-size: 14px;
        bottom: -4px;
        padding-left: 2px;
    }

    .setregist .sr-cmp__one .sr-cmp__unit {
        font-size: 16px;
        bottom: -5px;
    }

    .setregist .sr-cmp__was {
        font-size: 13px;
    }

    .setregist .sr-cmp__was::after {
        height: 2px;
    }

    .setregist .sr-cmp__one .sr-cmp__unit.unit-one {
        bottom: -1px;
    }

    .setregist .sr-cmp__table > div.sr-cmp__one-head {
        font-size: 18px;
    }

    .setregist .sr-cmp__rival {
        max-height: 100%;
    }

    .setregist .sr-compare__lead {
        font-size: 17px;
        margin: 36px 0;
    }
    .setregist .sr-compare__lead.lead-02 {
        font-size: 17px;
    }

    .setregist .sr-compare__graph {
        max-width: 780px;
        margin: 0 auto 32px;
        padding: 28px 32px;
    }

    .setregist .sr-compare__graph-ttl {
        font-size: 24px;
        margin-bottom: 14px;
    }

    .setregist .sr-compare__graph-txt {
        text-align: center;
        font-size: 17px;
        margin-bottom: 18px;
    }

    .setregist .sr-point {
        flex-direction: row;
        justify-content: center;
        gap: 28px;
        margin: 0 auto;
    }

    .setregist .sr-point__item {
        flex: 1 1 0;
        width: 40%;
    }

    .setregist .sr-point__txt {
        font-size: 15px;
        height: calc(1em * 1.7 * 3);
    }

    /* ---- メリット: 3カラム ---- */
    .setregist .sr-merit {
        padding: 80px 0;
    }

    .setregist .sr-merit__title-sub {
        font-size: 28px;
    }

    .setregist .sr-merit__title-main {
        font-size: 40px;
    }

    .setregist .sr-merit__title-num {
        font-size: 54px;
    }

    .setregist .sr-merit__list {
        flex-direction: row;
        justify-content: center;
        gap: 24px;
        max-width: 1000px;
        margin: 0 auto;
    }

    .setregist .sr-merit__list li {
        flex: 1 1 0;
        max-width: 340px;
    }

    /* ---- 特徴: イラスト拡大 / 特徴を3カラム拡大 ---- */
    .setregist .sr-feature {
        padding: 120px 0;
    }

    .setregist .sr-feature__intro-h {
        font-size: 33px;
    }

    .setregist .sr-feature__illust-wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 48px;

    }

    .setregist .sr-feature__illust {
        flex: 1;
        padding: 22px 0;
    }

    .setregist .sr-feature__server-illust {
        max-width: 600px;
        margin: 0;
        flex-shrink: 0;
    }

    .setregist .sr-feature__illust-title {
        font-size: 40px;
    }

    .setregist .sr-feature__illust-desc {
        font-size: 24px;
    }

    .setregist .sr-feature__illust img {
        max-width: 440px;
    }

    .setregist .sr-feature__title {
        font-size: 32px;
        margin-bottom: 44px;
    }

    .setregist .sr-feature__num {
        font-size: 48px;
    }

    .setregist .sr-feature__grid {
        max-width: 880px;
        margin: 0 auto;
        gap: 36px 30px;
        grid-template-columns: repeat(3, 1fr);
    }

    .setregist .sr-feature__cell {
        padding: 30px 12px 18px;
    }

    .setregist .sr-feature__no {
        width: 40px;
        height: 40px;
        font-size: 22px;
        line-height: 28px;
        top: -20px;
        left: -20px;
    }

    .setregist .sr-feature__t .sub {
        font-size: 16px;
        line-height: 23px;
    }

    .setregist .sr-feature__t .big {
        font-size: 32px;
    }

    .setregist .sr-feature__d {
        font-size: 16px;
    }

    /* ---- STEP: 2カラムグリッド ---- */
    .setregist .sr-step {
        padding: 110px 0 80px;
    }

    .setregist .sr-step__title {
        font-size: 40px;
        margin-bottom: 36px;
    }

    .setregist .sr-step__list {
        max-width: 720px;
        margin: 0 auto;
    }

    .setregist .sr-step__item {
        gap: 24px;
        padding-bottom: 40px;
    }

    .setregist .sr-step__h {
        font-size: 22px;
    }

    .setregist .sr-step__txt {
        font-size: 15px;
    }

    .setregist .sr-step__numlist li {
        font-size: 15px;
    }

    .setregist .sr-step__mock {
        max-width: 338px;
    }

    .setregist .sr-step__item:nth-child(4) .sr-step__mock {
        max-width: 600px;
    }

    /* ---- キャンペーン概要: 中央ワイドカード ---- */
    .setregist .sr-campaign {
        padding: 64px 0 72px;
    }

    .setregist .sr-campaign__title {
        font-size: 40px;
        margin-bottom: 36px;
    }

    .setregist .sr-campaign__card {
        max-width: 880px;
        margin: 0 auto;
        padding: 40px 48px 44px;
    }

    .setregist .sr-cp__label {
        font-size: 24px;
    }

    .setregist .sr-campaign__card p,
    .setregist .sr-cp__steps > li {
        font-size: 14px;
    }

    .setregist .sr-cp__notes li {
        font-size: 14px;
    }

    .setregist .sr-cp__sub {
        font-size: 14px;
    }

    .setregist .sr-campaign__card p.sr-cp__note {
        font-size: 12px;
    }

    /* ---- 概要: 中央のワイドカード ---- */
    .setregist .sr-overview {
        padding: 80px 0;
    }

    .setregist .sr-overview__title {
        font-size: 38px;
        margin-bottom: 32px;
    }

    .setregist .sr-overview__box {
        max-width: 720px;
        margin: 0 auto;
    }

    .setregist .sr-overview__h {
        font-size: 20px;
    }

    .setregist .sr-overview__lead2,
    .setregist .sr-overview__cond,
    .setregist .sr-overview__cases dd {
        font-size: 14px;
    }

    .setregist .sr-overview__lead {
        font-size: 18px;
    }

    .setregist .sr-overview__tld img {
        height: 20px;
    }

    /* ---- Q&A + 注意事項: 中央寄せ ---- */
    .setregist .sr-faq {
        padding: 80px 0;
    }

    .setregist .sr-faq__title {
        font-size: 40px;
        margin-bottom: 36px;
    }

    .setregist .sr-faq__list {
        margin: 0 auto;
        gap: 16px;
    }

    .setregist .sr-faq__q {
        font-size: 16px;
        padding: 20px 52px 20px 22px;
    }

    .setregist .sr-faq__a {
        padding: 18px 22px 22px;
    }

    .setregist .sr-faq__atext p,
    .setregist .sr-faq__atext li {
        font-size: 14px;
    }

    .setregist .sr-notes {
        padding: 80px 0 60px;
    }

    .setregist .sr-notes__title {
        font-size: 32px;
        margin-bottom: 28px;
    }

    .setregist .sr-notes__list {
        max-width: 780px;
        margin: 0 auto;
    }

    .setregist .sr-notes__list li {
        font-size: 14px;
    }
}

/* =========================================================
   追従CTAバー
   ========================================================= */
.setregist .sr-sticky-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    padding: 12px 16px 16px;
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 -2px 8px rgba(0, 0, 0, .12);
    transform: translateY(100%);
    transition: transform .3s ease;
    pointer-events: none;
}

.setregist .sr-sticky-bar.is-visible {
    transform: translateY(0);
    pointer-events: auto;
}

.setregist .sr-sticky-bar__inner {
    max-width: 480px;
    margin: 0 auto;
}

.setregist .sr-sticky-bar__btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 56px;
    padding: 8px 56px 8px 36px;
    background: #ff7a00;
    border-radius: 30px;
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    text-align: center;
    box-shadow: 0 3px 0 rgba(0, 0, 0, .12);
    transition: opacity .3s;
}
.setregist .sr-sticky-bar__btn:hover {
    opacity: .7;
}

.setregist .sr-sticky-bar__btn-arrow {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.setregist .sr-sticky-bar__btn-arrow img {
    width: 12px;
    height: auto;
}

@media (min-width: 960px) {
    .setregist .sr-sticky-bar__btn {
        font-size: 17px;
    }
}
