/* 仕様で固定された inner 幅 71.5rem は Bootstrap の container 幅と一致しないため独自指定する。 */
.inner {
    margin: 0 auto;
    max-width: 100%;
    padding: 0 1rem;
    width: 71.5rem;
}
/* 入力フォームの余白と枠線は固定デザイン値のため、Bootstrap標準値ではなく個別指定する。 */
.form-wrap {
    background: #fafafa;
    border: 1px solid #dadada;
    font-size: 0.875rem;
    margin-bottom: 5rem;
    padding: 3.35rem 10rem 3.75rem 10rem;
}
/* 確認画面は入力画面より上余白を詰める固定仕様のため、状態クラスで切り替える。 */
.is-confirm .form-wrap {
    padding: 2rem 10rem 3.75rem 10rem;
}
/* 仕様で入力欄の上下左右余白が固定されているため、フォーム要素に個別指定する。 */
.form-wrap input[type=text],
.form-wrap input[type=email],
.form-wrap input[type=tel],
.form-wrap input[type=password],
.form-wrap textarea {
    padding: 0.9rem 1.5rem;
}
/* 確認画面の住所欄は入力部品ではなく読み取り表示にし、SPでの部品幅崩れを避ける。 */
.member-account-confirm-value {
    background: transparent;
    border: 0;
    color: #333;
    font-size: 1rem;
    line-height: 1.7;
    margin: 0;
    overflow-wrap: anywhere;
    padding: 0.5rem 0;
}
/* 見出しは専用背景画像と固定高さを使うため、共通ユーティリティではなく個別指定する。 */
.ttl-bg-heading {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 0.125rem;
    margin-bottom: 2rem;
    margin-top: 0;
    padding: 8.125rem 0;
}
/* セクション見出しは画面仕様の文字サイズに合わせるため個別指定する。 */
.ttl-new {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 2rem;
}
/* パスワード入力欄の横幅は固定値運用のため、専用クラスで制御する。 */
.input-password {
    max-width: 100%;
    width: 17.5rem;
}
/* 居住区分タブの枠線色・文字色・余白は固定デザイン値を維持する。 */
.tab-place-list .tab {
    background: transparent;
    border: 1px solid #dadada;
    border-radius: 0;
    color: #999;
    cursor: pointer;
    font-size: 0.9375rem;
    font-weight: bold;
    margin-bottom: -1px;
    padding: 1rem 5rem;
}
/* 確認画面の居住区分タブは表示専用のため、クリック可能カーソルを無効化する。 */
.is-confirm .tab-place-list .tab {
    cursor: default;
}
/* アクティブタブはフォーム背景と連結させるため、背景色と下線色を合わせる。 */
.tab-place-list .tab.active {
    background: #fafafa;
    border-bottom: 1px solid #fafafa;
    color: #005293;
}
/* アドレス帳ボタンは高さ・余白が固定値のため、共通btnサイズを上書きする。 */
.address-copy-wrap .btn-sub {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 0;
    font-size: 0.875rem;
    line-height: 2.375rem;
    margin-left: 0.625rem;
    padding: 0 1.875rem;
}

@media screen and (max-width:768px) {
    /* タブレット時は固定幅を解除し、左右余白を保った全幅表示に切り替える。 */
    .inner {
        margin: 0;
        padding: 0 1.5rem;
        width: 100%;
    }
    /* タブレット時はフォーム内余白を固定値に切り替え、要素詰まりを防ぐ。 */
    .form-wrap {
        margin-bottom: 4.375rem;
        padding: 2.8125rem 1rem 4.375rem 1rem;
    }
    /* 確認画面のPC用左右余白は詳細度が高いため、SPでは同じ詳細度で上書きする。 */
    .is-confirm .form-wrap {
        margin-bottom: 4.375rem;
        padding: 2rem 1rem 4.375rem 1rem;
    }
    /* タブ余白は2列表示を維持する固定値を使う。 */
    .tab-place-list .tab {
        font-size: 0.9375rem;
        font-weight: bold;
        margin-bottom: -1px;
        padding: 0.75rem 1.5rem;
    }
    /* SP時のアドレス帳ボタンは横幅を確保するため固定値へ切り替える。 */
    .address-copy-wrap .btn-sub {
        font-size: 0.875rem;
        line-height: 3.375rem;
        margin: 0 0 0.5rem 0;
        padding: 0;
        width: 48%;
    }
}

@media screen and (max-width:575px) {
    /* SP時は専用背景画像と余白量を使う固定仕様のため差し替える。 */
    .ttl-bg-heading {
        margin-bottom: 1.875rem;
        padding: 3.75rem 0;
    }
}
