@charset "UTF-8";

/* ==========================================================================
   1. 外部フォント・グローバルリセット
   ========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap");

.add-set {
    font-size: 14px;
    font-family: "Jost", "Noto Sans JP", sans-serif;
}

.add-set * {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
    width: auto;
    height: auto;
    box-sizing: border-box;
}

/* 特殊リセット・オートフィル調整 */
.add-set #AmazonPayCv2Button {
    height: 68px !important;
}
.add-set input:-webkit-autofill,
.add-set select:-webkit-autofill {
    box-shadow: 0 0 0 1000px rgb(253, 255, 240) inset !important;
    -webkit-text-fill-color: #333 !important;
}
.add-set input:-webkit-autofill:focus {
    caret-color: #333 !important;
}
.add-set input,
.add-set textarea {
    outline: none;
}
.add-set #Wrap {
    width: 100%;
    text-align: inherit;
    margin: none;
}

/* W2標準テーブル要素のデフォルトブロック化（レスポンシブベース） */
.add-set table,
.add-set tbody,
.add-set tr,
.add-set td,
.add-set th {
    display: block;
}

/* ==========================================================================
   2. 共通コンテナ・レイアウト
   ========================================================================== */
.add-set .add-main__wrapper {
    width: 946px;
    margin: 0 auto;
    padding-top: 30px;
    font-size: 14px;
}
.add-set .add-main__wrapper.add-sm {
    width: 752px;
}
.add-set .add-u__contents-wrapper {
    width: 100%;
}
.add-set .add-u__bloc-w {
    padding: 24px;
    border-radius: 8px;
    background: #fff;
}

@media screen and (max-width: 767px) {
    .add-set .add-main__wrapper {
        width: 100%;
        padding: 0 3.738317757vw;
    }
    .add-set .add-main__wrapper.add-sm {
        width: 100%;
    }
    .add-set .add-u__bloc-w {
        padding: 24px 8px;
    }
}

/* ==========================================================================
   3. 各種メッセージ・インフォメーションエリア
   ========================================================================== */
.add-set #dvUserBox .dvContentsInfo {
    padding: 24px;
    border-radius: 8px;
    background: #f0f0f0;
    margin: 0 0 32px 0;
}
.add-set .add-u__message {
    padding: 8px;
    text-align: center;
    background: #ffffff;
    border-radius: 8px;
    margin-top: 24px;
    border: solid 1px #ddd;
}
.add-set .add-u__message-2 {
    padding: 24px;
    text-align: center;
    background: #f0f0f0;
    border-radius: 8px;
}
.add-set .add-u__message-3 {
    padding: 24px;
    text-align: center;
    background: #f0f0f0;
    border-radius: 8px;
    margin-bottom: 24px;
    flex: 1;
}
.add-set .add-u__message-4 {
    padding: 40px;
    text-align: center;
    background: #f0f0f0;
    border-radius: 8px;
    margin-bottom: 24px;
}
.add-set .add-u__message-shop {
    border-top: solid 1px #111;
    margin-top: 40px;
    padding-top: 24px;
    border-bottom: solid 1px #111;
    padding-bottom: 24px;
}

@media screen and (max-width: 767px) {
    .add-set #dvUserBox .dvContentsInfo { padding: 16px; }
    .add-set .add-u__message { text-align: left; }
    .add-set .add-u__message-2 { padding: 16px; text-align: left; }
    .add-set .add-u__message-3 { padding: 16px; }
    .add-set .add-u__message-4 { padding: 16px; padding-top: 40px; padding-bottom: 40px; text-align: left; }
}

/* ==========================================================================
   4. ボタン関連スタイル群
   ========================================================================== */
.add-set .add-u__btn-wrapper {
    display: flex;
    align-items: center;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
}
.add-set .add-u__btn-wrapper.add-gap-half { gap: 12px; }
.add-set .add-u__btn-wrapper.add-left { justify-content: flex-start; }

.add-set .add-u__btn-01 {
    border: solid 1px #111;
    height: 48px;
    background: #fff;
    border-radius: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    font-size: 14px;
}
.add-set .add-u__btn-02 {
    border: solid 1px #111;
    background: #111;
    color: #fff;
    height: 48px;
    border-radius: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    font-size: 14px;
}
.add-set .add-u__btn-02:hover { opacity: 0.7; }
.add-set .add-u__btn-02:link, .add-set .add-u__btn-02:visited { color: #fff; }

.add-set .add-u__btn-cta {
    border: solid 1px #bc4343;
    background: #bc4343;
    color: #fff;
    height: 48px;
    border-radius: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    font-size: 14px;
}
.add-set .add-u__btn-cta:link, .add-set .add-u__btn-cta:visited { color: #fff; }

.add-set .add-u__btn-mini {
    border: solid 1px #111;
    background: #ffffff;
    height: 40px;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    font-size: 13px;
    cursor: pointer;
}
.add-set .add-u__btn-mini:disabled { opacity: 0.5; pointer-events: none; }
.add-set .add-u__btn-mini.add-02 {
    border: solid 1px #111;
    background: #111;
    color: #fff;
}
.add-set .add-u__btn-mini.add-02:hover { opacity: 0.7; }
.add-set .add-u__btn-mini.add-02:link, .add-set .add-u__btn-mini.add-02:visited { color: #fff; }

.add-set .add-u__btn-line {
    height: 45px;
    width: 194px;
    border-radius: 8px;
    background-color: #06c755;
    display: flex;
    align-items: center;
    justify-content: center;
}
.add-set .add-u__btn-line:link, .add-set .add-u__btn-line:visited { color: #fff; }
.add-set .add-u__btn-pn { opacity: 0.5; pointer-events: none; }

@media screen and (max-width: 767px) {
    .add-set .add-u__btn-wrapper.add-rev { flex-direction: column-reverse; }
    .add-set .add-u__btn-wrapper.add-rev > * { width: 100%; }
    .add-set .add-u__btn-01, .add-set .add-u__btn-02, .add-set .add-u__btn-cta {
        width: 100%; padding: 0 16px; min-width: 42.0560747664vw;
    }
    .add-set .add-u__btn-mini { padding: 0 16px; }
    .add-set .add-u__btn-mini.add-full { width: 100%; }
    .add-set .add-u__btn-line { width: 100%; }
}

/* ==========================================================================
   5. フォーム基本パーツ設定（入力欄・ラジオ・チェック等）
   ========================================================================== */
.add-set .add-u__form-bloc {
    padding: 8px 0;
    border-bottom: solid 1px #ddd;
}
.add-set .add-u__form-bloc.nbd { border-bottom: none; }
.add-set .add-u__form-bloc.npt { padding-top: 0; }
.add-set .add-u__form-blocth {
    width: 250px;
    background-color: transparent;
    border: none;
}
.add-set .add-u__form-base {
    width: 100%;
    border-radius: 4px;
    background: #fafafa;
    border: solid 1px #eee;
    height: 40px;
    display: flex;
    align-items: center;
    padding: 0 8px;
}
.add-set .add-u__form-sm {
    width: 200px !important;
}

/* 入力ボックス基本装飾 */
.add-set .add-u__form-wrapper input[type=date],
.add-set .add-u__form-wrapper input[type=text],
.add-set .add-u__form-wrapper input[type=password],
.add-set .add-u__form-wrapper input[type=tel],
.add-set .add-u__form-wrapper input[type=email],
.add-set .add-u__form-wrapper select {
    width: 100%;
    border-radius: 4px;
    background: #fafafa !important;
    border: solid 1px #eee;
    height: 40px;
    display: flex;
    align-items: center;
    padding: 0 8px;
    font-size: 16px;
}
.add-set .add-u__form-wrapper select { appearance: none; -webkit-appearance: none; -moz-appearance: none; }
.add-set .add-u__form-wrapper input[type=checkbox],
.add-set .add-u__form-wrapper input[type=radio] { appearance: none; -webkit-appearance: none; -moz-appearance: none; }

.add-set .add-u__form-wrapper textarea {
    width: 100%;
    border-radius: 4px;
    background: #fafafa !important;
    border: solid 1px #eee;
    height: 200px;
    display: flex;
    align-items: center;
    padding: 8px;
    font-size: 16px;
}

/* ラジオ・チェックボックスのデフォルト外観 */
.add-set .add-u__form-wrapper input[type=radio] {
    position: relative;
    width: 24px;
    height: 24px;
    border-radius: 12px;
    border: solid 1px #ddd;
    background: #fff;
}
.add-set .add-u__form-wrapper input[type=radio]:checked:before {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    content: "";
    background: #111;
    border-radius: 10px;
}
.add-set .add-u__form-wrapper input[type=checkbox] {
    position: relative;
    width: 24px;
    height: 24px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 4px;
}
.add-set .add-u__form-wrapper input[type=checkbox]:checked:before {
    position: absolute;
    top: 1px;
    left: 7px;
    width: 6px;
    height: 12px;
    content: "";
    transform: rotate(50deg);
    border-right: 3px solid #111;
    border-bottom: 3px solid #111;
}

@media screen and (max-width: 767px) {
    .add-set .add-u__form-wrapper input[type=radio] {
        width: 5.6074766355vw; height: 5.6074766355vw; border-radius: 2.8037383178vw;
    }
    .add-set .add-u__form-wrapper input[type=radio]:checked:before {
        top: 0.7009345794vw; left: 0.7009345794vw; width: 3.738317757vw; height: 3.738317757vw; border-radius: 2.3364485981vw;
    }
}

/* ラッパー・コンポーネント */
.add-set .add-u__form-wrapper.add-type1 { padding: 40px; background: #f0f0f0; border: none; }
.add-set .add-u__form-wrapper.alc { display: flex; align-items: center; gap: 8px; }
.add-set .add-u__form-wrapper .add-adj1 { display: flex; align-items: center; justify-content: space-between; }
.add-set .add-u__form-wrapper .add-adj2 { flex-basis: 48%; }
.add-set .add-u__form-wrapper .add-adj3 { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.add-set .add-u__form-wrapper .add-adj4 { display: flex; gap: 24px; flex-wrap: wrap; align-items: center; }
.add-set .add-u__form-wrapper .add-adj5 dt { padding-bottom: 8px; }
.add-set .add-u__form-wrapper dt, .add-set .add-u__form-wrapper .add-dt { font-size: 12px; font-weight: bold; padding-bottom: 4px; }
.add-set .add-u__form-wrapper .add-notes { color: #111; font-size: 11px !important; padding: 0px 3px; }
.add-set .add-u__form-select-wrapper { position: relative; }
.add-set .add-u__form-select-wrapper::after {
    content: ""; width: 24px; height: 24px; position: absolute; right: 8px; top: 8px; margin: auto; pointer-events: none; background: url(../img/common/arrow_u.svg) no-repeat;
}
.add-set .add-u__form-radio-wrapper { display: flex; align-items: center; gap: 8px; }
.add-set .add-u__form-radio-wrapper label { padding: 0px 24px 0px 4px !important; }
.add-set .add-u__form-birth { display: flex; gap: 8px; align-items: center; }
.add-set .add-u__form-birth-item { gap: 8px; flex-basis: 140px; display: flex; align-items: center; }
.add-set .add-u__form-desc { display: flex; align-items: center; justify-content: flex-start; gap: 8px; margin-bottom: 8px; }

@media screen and (max-width: 767px) {
    .add-set .add-u__form-wrapper.add-type1 { padding: 16px; }
    .add-set .add-u__form-radio-wrapper { flex-wrap: wrap; }
    .add-set .add-u__form-radio-wrapper input { max-width: 5.6074766355vw; }
    .add-set .add-u__form-radio-wrapper label { width: 90%; }
}

/* 幅サイズバリエーション */
.add-set .add-u__w-full { width: 100%; }
.add-set .add-u__w-base { width: 400px; }
.add-set .add-u__w-sm { width: 200px; }
.add-set .add-u__w-xs { width: 96px; }
@media screen and (max-width: 767px) {
    .add-set .add-u__w-full-issp { width: 100% !important; }
    .add-set .add-u__w-base { width: 100%; }
}

/* マイナー装飾 */
.add-set .add-u__dn { display: none !important; }
.add-set .add-u__txt-note { font-size: 12px; color: #111; }
.add-set .add-u__txt-base { font-size: 14px; font-weight: normal; }
.add-set .add-u__txt-bold { font-weight: bold; }
.add-set .error_input { background-color: #ffd9d9 !important; }
.add-set .error_inline, .add-set #dvUserBox .necessary { color: #d03f3f !important; }

/* ==========================================================================
   6. 進捗ステップバー (add-cartflow)
   ========================================================================== */
.add-set .add-cartflow {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 850px;
    margin: 5px auto 10px auto;
    padding: 0;
    position: relative;
    list-style: none;
}
.add-set .add-cartflow::before {
    content: ""; position: absolute; top: 15px; left: 4%; right: 4%; height: 2px; background-color: #e2e8f0; z-index: 1;
}
.add-set .add-cartflow > div {
    position: relative; z-index: 2; text-align: center; flex: 1; font-size: 11px; font-weight: bold; color: #94a3b8; white-space: nowrap;
}
.add-set .add-cartflow > div::before {
    display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin: 0 auto 10px auto;
    background-color: #ffffff; border: 2px solid #e2e8f0; border-radius: 50%; font-size: 13px; color: #94a3b8; box-sizing: border-box;
}

.add-set .add-cartflow > div:nth-child(1)::before { content: "1"; }
.add-set .add-cartflow > div:nth-child(2)::before { content: "2"; }
.add-set .add-cartflow > div:nth-child(3)::before { content: "3"; }
.add-set .add-cartflow > div:nth-child(4)::before { content: "4"; }
.add-set .add-cartflow > div:nth-child(5)::before { content: "5"; }
.add-set .add-cartflow > div:nth-child(6)::before { content: "6"; }
.add-set .add-cartflow > div:nth-child(7)::before { content: "7"; }
.add-set .add-cartflow > div:nth-child(8)::before { content: "8"; }

.add-set .add-cartflow > div.active { color: #E82E34 !important; }
.add-set .add-cartflow > div.active::before {
    background-color: #E82E34 !important; border-color: #E82E34 !important; color: #ffffff !important;
}

@media screen and (max-width: 600px) {
    .add-set .add-cartflow > div { font-size: 9px; }
    .add-set .add-cartflow > div::before { width: 24px; height: 24px; font-size: 11px; margin-bottom: 6px; }
    .add-set .add-cartflow::before { top: 13px; }
}

/* ==========================================================================
   7. サブページ・レガシーモジュール用設定（EC機能系等）
   ========================================================================== */
.add-set #dvUserBox h2 { font-size: 24px; font-weight: bold; border: none; padding: 0 0 24px 0; }
.add-set #dvUserBox h3 { margin: 0; font-size: 18px; font-weight: bold; padding-bottom: 24px; }
.add-set #dvUserBox h4 { margin: 0; font-size: 16px; font-weight: bold; padding-bottom: 24px; }
.add-set #dvUserBox #dvLogin p { margin: 0; }
.add-set #LoginBox { background: none; margin-left: 0; }

.add-set #dvUserContents .unit, .add-set #dvUserFltContents .unit {
    padding: 40px; border-radius: 8px; background: #f0f0f0; border: none; float: none; display: flex; flex-wrap: wrap; justify-content: space-between;
}
@media screen and (max-width: 767px) { .add-set #dvUserContents .unit, .add-set #dvUserFltContents .unit { padding: 16px; } }

.add-set #dvUserContents .unit--card, .add-set #dvUserFltContents .unit--card { margin-bottom: 48px; }
.add-set #dvUserContents .unit--item, .add-set #dvUserFltContents .unit--item { display: block; }
.add-set #dvUserBox #dvLogin #dvLoginWrap { float: none; flex-basis: 430px; width: auto; border: none; }
.add-set #dvUserBox #dvLogin .dvLoginRegist { float: none; width: auto; flex-basis: 430px; }
@media screen and (max-width: 767px) { .add-set #dvUserBox #dvLogin .dvLoginRegist { padding-top: 40px; margin-top: 40px; border-top: solid 1px #ddd; } }

.add-set #dvUserBox table { background-color: #FFF; border-radius: 8px; border-color: inherit; }
.add-set #dvUserBox table th { color: inherit !important; border-color: inherit; font-size: 12px; font-weight: bold; padding-bottom: 8px; width: auto !important; }
.add-set #dvUserBox table td { background-color: inherit; }
.add-set #dvUserBox .receptionInfo { line-height: 1.7; padding: 24px 0; text-align: center; border-top: solid 1px #111; border-bottom: solid 1px #111; margin-top: 40px; }

.add-set .cartOrder { padding-top: 40px; }
.add-set .couponBox, .add-set .pointBox { border-radius: 8px; background: #eee; padding: 24px; }
@media screen and (max-width: 767px) { .add-set .couponBox, .add-set .pointBox { padding: 16px; } }
.add-set .pointBox div.box, .add-set .couponBox div.box { margin: 0px; background: none; width: 100%; }
.add-set .priceList dl.result { font-size: 12px !important; margin-top: 3px; background: url(../../Contents/ImagesPkg/common/line_dottedB.gif) repeat-x left top; }

.add-set .result { /* background: #eee; */ padding: 24px; border-radius: 0 0 8px 8px; display: flex; gap: 24px; justify-content: flex-end; font-weight: bold; align-items: center; }
@media screen and (max-width: 767px) { .add-set .result { padding: 16px; } }
.add-set .result > dt { font-size: 14px; }
.add-set .result > dd { font-size: 20px; }

.add-set .add-main__wrapper .family_info { margin-bottom: 24px; }
@media screen and (max-width: 767px) { .add-set .add-main__wrapper .family_info { margin-bottom: 5.6074766355vw; } }

.add-set #sortBox ul li { float: none; border-left: none; }
.add-set #sortBox ul li a { display: flex; background-color: #efefef; line-height: normal; font-size: 100%; height: 40px; padding: 0 16px; }
.add-set #sortBox ul li .select { color: #fff; background-color: #636363; }
.add-set #dvUserBox #dvLogin .dvLoginRegist ul li { width: 100%; }
@media screen and (max-width: 767px) { .add-set #sortBox ul { float: none; } }

.add-set .loadingIcon { top: 50% !important; left: 50% !important; transform: translate(-50%, -50%); border-radius: 8px; padding: 24px; line-height: 1.4; font-size: 14px; width: auto !important; height: auto !important; box-shadow: 0 0 30px rgba(0, 0, 0, 0.1); }
@media screen and (max-width: 767px) { .add-set .loadingIcon { padding: 16px; font-size: 11px; min-width: 300px; } }
.add-set .loadingIcon .loadingMessage { font-weight: normal; width: 400px; }
@media screen and (max-width: 767px) { .add-set .loadingIcon .loadingMessage { width: 300px; } }

.add-set .add-u__border { margin-top: 24px; border-top: solid 1px #ddd; padding-top: 24px; font-size: 0; }
.add-set .add-u__fe { display: flex; justify-content: flex-end; }
.add-set .add-u__fc { display: flex; justify-content: center; align-items: center; }
.add-set .add-u__f1 { flex: 1; }
.add-set .add-u__link-ul { padding-bottom: 2px; border-bottom: solid 1px #111; display: inline-block; }
.add-set .add-u__link-ul2 { text-decoration: underline; }
.add-set .add-u__box-wh { background: #fff; border-radius: 8px; padding: 24px; margin: 16px 0; }
@media screen and (max-width: 767px) { .add-set .add-u__box-wh { padding: 16px; } }

.add-set .add-u__table { background: #f0f0f0; border-radius: 8px; padding: 24px; }
@media screen and (max-width: 767px) { .add-set .add-u__table { padding: 16px; } }
.add-set .add-u__tal { text-align: left; }
@media screen and (max-width: 767px) { .add-set .add-u__tal-issp { text-align: left; } }
.add-set .add-u__tar { text-align: right; }
.add-set .add-u__tac { text-align: center; }

/* ページ間要素マージン */
.add-set .add-u__pt-xs { padding-top: 8px; }
.add-set .add-u__pt-sm { padding-top: 16px; }
.add-set .add-u__pt-base { padding-top: 24px; }
.add-set .add-u__pt-lg { padding-top: 40px; }
.add-set .add-u__pt_xl { padding-top: 80px; }
.add-set .add-u__pb-xs { padding-bottom: 8px; }
.add-set .add-u__pb-sm { padding-bottom: 16px; }
.add-set .add-u__pb-base { padding-bottom: 24px; }
.add-set .add-u__pb-lg { padding-bottom: 40px; }
.add-set .add-u__pb_xl { padding-bottom: 80px; }
.add-set .add-u__mt-xs { margin-top: 8px; }
.add-set .add-u__mt-sm { margin-top: 16px; }
.add-set .add-u__mt-base { margin-top: 24px; }
.add-set .add-u__mt-lg { margin-top: 40px; }
.add-set .add-u__mb-xs { margin-bottom: 8px; }
.add-set .add-u__mb-sm { margin-bottom: 16px; }
.add-set .add-u__mb-base { margin-bottom: 24px; }
.add-set .add-u__mb-lg { margin-bottom: 40px; }

/* その他固有ECパーツ（注文履歴・定期・クレカなど） */
.add-set .add-amazon-shipping__unit1 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.add-set .add-amazon-shipping__unit1 .add-amazon-logo { height: 24px; }
.add-set .add-subsc__title { font-size: 24px; font-weight: bold; }
.add-set .add-subsc__title-wrapper { padding-bottom: 16px; border-bottom: solid 1px #ddd; }
.add-set .add-subsc__detail { padding-top: 16px; display: flex; gap: 24px; flex-wrap: wrap; align-items: center; }
.add-set .add-subsc__detail .add-adj1 { display: flex; align-items: center; font-weight: bold; font-size: 18px; gap: 8px; }
.add-set .add-subsc__detail .add-adj1 > span { font-size: 12px; }

.add-set .add-social-connect__all { padding: 24px; background: #f0f0f0; border-radius: 8px; margin-bottom: 40px; }
@media screen and (max-width: 767px) { .add-set .add-social-connect__all { padding: 16px; } }
.add-set .add-social-connect__wrapper { padding-top: 24px !important; }
.add-set .add-social-connect__wrapper > li { padding: 16px 0 !important; border-top: solid 1px #ddd !important; }
.add-set .add-social-connect__wrapper > li:first-child { padding-top: 0 !important; border-top: none !important; }
.add-set .add-social-connect__item { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; justify-content: space-between; }
@media screen and (max-width: 767px) { .add-set .add-social-connect__item { display: block; } }
.add-set .add-social-connect__item .add-adj1 { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; flex: 1; }
.add-set .add-social-connect__item .add-adj1 .social-login-icon { width: 66px; height: auto; }
.add-set .add-social-connect__item .add-adj2 { display: flex; justify-content: flex-end; align-items: center; gap: 24px; }
@media screen and (max-width: 767px) { .add-set .add-social-connect__item .add-adj2 { padding-top: 16px; display: block; } }
.add-set .add-social-connect__item .add-name { font-weight: bold; font-size: 24px; }
.add-set .add-social-connect__item .add-status { background: #fff; padding: 8px 12px; border-radius: 100px; font-size: 13px; }
@media screen and (max-width: 767px) { .add-set .add-social-connect__item .add-status { text-align: center; margin-bottom: 16px; } }

.add-set .add-modal__bg { z-index: 1; top: 0; left: 0; width: 100%; height: 100%; position: fixed; background-color: rgba(0, 0, 0, 0.7); display: flex; align-items: center; justify-content: center; }
.add-set .add-modal__01 { background: #f0f0f0; border-radius: 8px; padding: 24px; flex-basis: 800px; max-height: 90svh; overflow-y: auto; }
@media screen and (max-width: 767px) { .add-set .add-modal__01 { padding: 16px; } }
.add-set .add-modal__inner { padding-top: 24px; }
.add-set .add-modal__table tr, .add-set .add-modal__table .add-tr { display: flex; gap: 16px; align-items: center; padding: 16px 0; border-bottom: solid 1px #ddd; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-modal__table tr, .add-set .add-modal__table .add-tr { display: block; } }
.add-set .add-modal__table tr:first-child, .add-set .add-modal__table .add-tr:first-child { padding: 0 0 16px 0; }
@media screen and (max-width: 767px) { .add-set .add-modal__coupon-adj1 .add-u__btn-mini { width: 100%; } }
.add-set .add-modal__coupon-bloc { flex: 1; }
@media screen and (max-width: 767px) { .add-set .add-modal__coupon-bloc { padding-bottom: 16px; } }
.add-set .add-modal__coupon-code { color: #111; }
.add-set .add-modal__coupon-name { font-size: 16px; font-weight: bold; }
.add-set .add-modal__coupon-detail { display: flex; font-size: 12px; color: #111; gap: 16px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-fixpurchase__adj1 { padding-top: 16px; border-top: solid 1px #ddd; margin-top: 16px; } }

.add-set .add-order-product__list .add-item { display: flex; padding: 16px 0; border-bottom: solid 1px #ddd; gap: 24px; }
.add-set .add-order-product__list .add-item:first-child { padding-top: 0; }
.add-set .add-order-product__list .add-item-img { flex-basis: 100px; }
.add-set .add-order-product__list .add-item-img img { width: 100px; }
.add-set .add-order-product__list .add-item-detail { flex: 1; }
.add-set .add-order-product__list .add-item-name { font-size: 16px; font-weight: bold; }
.add-set .add-order-settlement__item { border-bottom: solid 1px #ddd; padding: 16px 0; }
.add-set .add-order-settlement__item .add-name { font-size: 16px; font-weight: bold; padding-bottom: 8px; }
.add-set .add-order-settlement__unit1 { background: #f9f9f9; border: solid 1px #ddd; padding: 24px; border-radius: 8px; }
@media screen and (max-width: 767px) { .add-set .add-order-settlement__unit1 { padding: 16px; } }
.add-set .add-order-settlement__unit1-2 { margin-top: 16px; border-top: solid 1px #111; }
.add-set .add-order-settlement__unit1 .status { display: flex; justify-content: center; flex-wrap: wrap; gap: 24px; }
.add-set .add-order-settlement__unit1 .add-exec { margin-bottom: 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 24px; padding: 16px 0; border-bottom: solid 1px #111; }
.add-set .add-order-settlement__unit1 .add-exec .add-price { font-size: 20px; font-weight: bold; }
.add-set .add-order-payment__adj1 { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 24px; }
.add-set .add-order-payment__adj1 > div { display: flex; gap: 8px; align-items: center; }
.add-set .add-order-payment__adj1 .add-title { font-weight: bold; font-size: 12px; }
.add-set .add-order-payment__adj1 .add-pt { font-weight: bold; font-size: 20px; }
.add-set .add-order-payment__adj1 .add-pt > span { font-size: 13px; }
.add-set .add-order-payment__adj2 { padding-top: 8px; text-align: right; font-size: 12px; color: #111; padding-bottom: 24px; border-bottom: solid 1px #ddd; }
.add-set .add-order-history__item-img { flex-basis: 100px; }
.add-set .add-order-history__item-info { flex: 1; }
.add-set .add-order-history__item-name { font-size: 16px; font-weight: bold; }
.add-set .add-order-history__info { display: flex; align-items: center; gap: 24px; }
@media screen and (max-width: 767px) { .add-set .add-order-history__info { flex-basis: 100%; justify-content: space-between; gap: 0; } }
.add-set .add-order-history__order-date { display: flex; align-items: center; gap: 8px; }
.add-set .add-order-history__order-date span { font-size: 12px; font-weight: bold; }
.add-set .add-order-history__list { padding: 24px; border-radius: 8px; background: #f0f0f0; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list { padding: 16px; } }
.add-set .add-order-history__list tr { display: flex; flex-wrap: wrap; padding: 16px 0; border-bottom: solid 1px #ddd; width: 100%; gap: 0 24px; align-items: center; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr { gap: 16px; align-items: flex-start; } .add-set .add-order-history__list tr.add-aic { align-items: center; } .add-set .add-order-history__list tr .add-flex1 { flex: 1; } }
.add-set .add-order-history__list tr:first-child { padding-top: 0; }
.add-set .add-order-history__list tr:last-child { padding-bottom: 0; border-bottom: none; }
.add-set .add-order-history__list tr .productImage { flex-basis: 100px; display: block; }
.add-set .add-order-history__list tr .productImage > img { width: 100px; }
.add-set .add-order-history__list tr .orderNum { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .orderNum { width: 100%; } }
.add-set .add-order-history__list tr .orderNum:before { display: block; font-size: 12px; font-weight: bold; content: "ご注文番号"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .orderNum:before { width: 80px; } }
.add-set .add-order-history__list tr .orderDate { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .orderDate { width: 100%; } }
.add-set .add-order-history__list tr .orderDate:before { display: block; font-size: 12px; font-weight: bold; content: "ご購入日"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .orderDate:before { width: 80px; } }
.add-set .add-order-history__list tr .paymentTotal { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .paymentTotal { width: 100%; } }
.add-set .add-order-history__list tr .paymentTotal:before { display: block; font-size: 12px; font-weight: bold; content: "総合計"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .paymentTotal:before { width: 80px; } }
.add-set .add-order-history__list tr .orderStatus { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .orderStatus { width: 100%; } }
.add-set .add-order-history__list tr .orderStatus:before { display: block; font-size: 12px; font-weight: bold; content: "ご注文状況"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .orderStatus:before { width: 80px; } }
.add-set .add-order-history__list tr .creditStatus { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .creditStatus { width: 100%; } }
.add-set .add-order-history__list tr .creditStatus:before { display: block; font-size: 12px; font-weight: bold; content: "与信状況"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .creditStatus:before { width: 80px; } }
.add-set .add-order-history__list tr .shippingDate { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .shippingDate { width: 100%; } }
.add-set .add-order-history__list tr .shippingDate:before { display: block; font-size: 12px; font-weight: bold; content: "配送希望日"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .shippingDate:before { width: 80px; } }
.add-set .add-order-history__list tr .scheduledShippingDate { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .scheduledShippingDate { width: 100%; } }
.add-set .add-order-history__list tr .scheduledShippingDate:before { display: block; font-size: 12px; font-weight: bold; content: "出荷予定日"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .scheduledShippingDate:before { width: 80px; } }
.add-set .add-order-history__list tr .fixedPurchaseId { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .fixedPurchaseId { width: 100%; } }
.add-set .add-order-history__list tr .fixedPurchaseId:before { display: block; font-size: 12px; font-weight: bold; content: "定期購入ID"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .fixedPurchaseId:before { width: 80px; } }
.add-set .add-order-history__list tr .fixedPurchaseStatus { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .fixedPurchaseStatus { width: 100%; } }
.add-set .add-order-history__list tr .fixedPurchaseStatus:before { display: block; font-size: 12px; font-weight: bold; content: "定期購入ステータス"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .fixedPurchaseStatus:before { width: 80px; } }
.add-set .add-order-history__list tr .fixedPurchaseTerm { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .fixedPurchaseTerm { width: 100%; } }
.add-set .add-order-history__list tr .fixedPurchaseTerm:before { display: block; font-size: 12px; font-weight: bold; content: "定期購入設定"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .fixedPurchaseTerm:before { width: 80px; } }
.add-set .add-order-history__list tr .lastOrderDate { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .lastOrderDate { width: 100%; } }
.add-set .add-order-history__list tr .lastOrderDate:before { display: block; font-size: 12px; font-weight: bold; content: "未出荷注文配送希望日"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .lastOrderDate:before { width: 80px; } }
.add-set .add-order-history__list tr .nextShippingDate { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .nextShippingDate { width: 100%; } }
.add-set .add-order-history__list tr .nextShippingDate:before { display: block; font-size: 12px; font-weight: bold; content: "次回配送日"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .nextShippingDate:before { width: 80px; } }
.add-set .add-order-history__list tr .fixedPurchaseCount { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .fixedPurchaseCount { width: 100%; } }
.add-set .add-order-history__list tr .fixedPurchaseCount:before { display: block; font-size: 12px; font-weight: bold; content: "購入回数"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .fixedPurchaseCount:before { width: 80px; } }
.add-set .add-order-history__list tr .itemArea { display: flex; gap: 24px; align-items: stretch; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .itemArea { gap: 8px; } }
.add-set .add-order-history__list tr .itemArea .itemImage { width: 100px; height: auto; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .itemArea .itemImage { width: 80px; } }
.add-set .add-order-history__list tr .itemArea .itemTitle { flex: 1; font-size: 16px; padding-right: 24px; border-right: solid 1px #ddd; display: flex; align-items: center; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .itemArea .itemTitle { font-size: 14px; padding-right: 8px; } }
.add-set .add-order-history__list tr .itemCount { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .itemCount { display: block; text-align: center; } }
.add-set .add-order-history__list tr .itemCount:before { display: block; font-size: 12px; font-weight: bold; content: "注文数"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list tr .itemCount:before { padding-bottom: 8px; } }
.add-set .add-order-history__list tr .orderItemProductName { display: flex; gap: 8px; flex-wrap: wrap; }
.add-set .add-order-history__list-wrapper { padding: 24px; border: solid 1px #ddd; background-color: #f9f0f0; margin: 40px 0; border-radius: 8px; }
@media screen and (max-width: 767px) { .add-set .add-order-history__list-wrapper { padding: 8px; } }
.add-set .add-order-history__list-wrapper:first-child { margin-top: 0; }
.add-set .add-order-history__detail { padding: 24px; border-radius: 8px; background: #f0f0f0; }
@media screen and (max-width: 767px) { .add-set .add-order-history__detail { padding: 16px; } }
.add-set .add-order-history__detail .add-history-adj1 > dt { padding: 8px; font-size: 14px; border: solid 1px #ddd; background: #feffed; border-radius: 4px; margin-bottom: 12px; }
.add-set .add-order-history__detail .add-history-adj1 > dt:last-child { margin-bottom: 0; }
.add-set .add-order-history__detail .add-history-adj1 > dd { padding: 24px 0; border-bottom: solid 1px #ddd; margin-bottom: 24px; }
.add-set .add-order-history__detail tr { display: flex; flex-wrap: wrap; padding: 16px 0; border-bottom: solid 1px #ddd; width: 100%; gap: 0 24px; }
@media screen and (max-width: 767px) { .add-set .add-order-history__detail tr { display: block; } }
.add-set .add-order-history__detail tr.nbd { border-bottom: none; }
.add-set .add-order-history__detail tr:first-child { padding-top: 0; }
.add-set .add-order-history__detail tr:last-child { padding-bottom: 0; border-bottom: none; }
.add-set .add-order-history__detail tr th { font-size: 12px; font-weight: bold; padding-bottom: 8px; flex-basis: 120px; }
.add-set .add-order-history__detail tr td { flex: 1; }
.add-set .add-order-history__detail-item { padding: 24px; border-radius: 8px; background: #f0f0f0; }
@media screen and (max-width: 767px) { .add-set .add-order-history__detail-item { padding: 16px; } }
.add-set .add-order-history__detail-item tr { display: flex; flex-wrap: wrap; padding: 16px 0; border-bottom: solid 1px #ddd; width: 100%; gap: 0 24px; align-items: center; }
@media screen and (max-width: 767px) { .add-set .add-order-history__detail-item tr { display: block; } }
.add-set .add-order-history__detail-item tr:first-child { padding-top: 0; }
.add-set .add-order-history__detail-item tr:last-child { padding-bottom: 0; border-bottom: none; }
.add-set .add-order-history__detail-item tr .productImage { flex-basis: 100px; }
.add-set .add-order-history__detail-item tr .productImage > img { width: 100px; }
.add-set .add-order-history__detail-item tr .productName { flex: 1; display: block; }
@media screen and (max-width: 767px) { .add-set .add-order-history__detail-item tr .productName { padding-bottom: 16px; } }
.add-set .add-order-history__detail-item tr .productName .add-product-name { font-size: 16px; font-weight: bold; }
.add-set .add-order-history__detail-item tr .productPrice { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__detail-item tr .productPrice { padding: 8px 0; border-bottom: solid 1px #ddd; justify-content: space-between; } }
.add-set .add-order-history__detail-item tr .productPrice:before { display: block; font-size: 12px; font-weight: bold; content: "単価"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__detail-item tr .productPrice:before { width: auto; } }
.add-set .add-order-history__detail-item tr .orderCount { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__detail-item tr .orderCount { padding: 8px 0; border-bottom: solid 1px #ddd; justify-content: space-between; } }
.add-set .add-order-history__detail-item tr .orderCount:before { display: block; font-size: 12px; font-weight: bold; content: "注文数"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__detail-item tr .orderCount:before { width: auto; } }
.add-set .add-order-history__detail-item tr .taxRate { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__detail-item tr .taxRate { padding: 8px 0; border-bottom: solid 1px #ddd; justify-content: space-between; } }
.add-set .add-order-history__detail-item tr .taxRate:before { display: block; font-size: 12px; font-weight: bold; content: "消費税率"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__detail-item tr .taxRate:before { width: auto; } }
.add-set .add-order-history__detail-item tr .orderSubtotal { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-order-history__detail-item tr .orderSubtotal { padding-top: 8px; justify-content: space-between; } }
.add-set .add-order-history__detail-item tr .orderSubtotal:before { display: block; font-size: 12px; font-weight: bold; content: "小計"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-order-history__detail-item tr .orderSubtotal:before { width: auto; } }
.add-set .add-order-history__order-sum dl { display: flex; gap: 24px; flex-wrap: wrap; padding-bottom: 16px; padding-top: 16px; border-bottom: solid 1px #ddd; }
.add-set .add-order-history__order-sum dl.nbd { border-bottom: none; }
.add-set .add-order-history__order-sum dl dt { flex: 1; display: flex; justify-content: flex-end; }
.add-set .add-order-history__order-sum dl dd { display: flex; flex-basis: 120px; justify-content: flex-end; }
.add-set .add-order-history__order-total { background: #f9f0dc; font-size: 18px; display: flex; justify-content: flex-end; font-weight: bold; gap: 24px; align-items: center; padding: 24px; border-radius: 8px; }
@media screen and (max-width: 767px) { .add-set .add-order-history__order-total { padding: 16px; } }
.add-set .add-order-history__order-total > dd { font-size: 28px; }
.add-set .add-order-history__disp { display: flex; gap: 24px; align-items: center; }
.add-set .add-order-history__disp .title { font-weight: bold; font-size: 14px; }
.add-set .add-order-history__disp .nav { display: flex; align-items: center; }
.add-set .add-order-history__disp .nav > li { font-size: 13px; }
.add-set .add-order-history__disp .nav > li > span { display: inline-flex; align-items: center; justify-content: center; border-radius: 20px; width: 100px; height: 40px; border: solid 1px #111; background-color: #fff; margin-right: 16px; }
.add-set .add-order-history__disp .nav > li > span.active { background-color: #111; color: #fff; }

.add-set .add-cc-list { display: flex; flex-wrap: wrap; gap: 16px; border-top: solid 1px #DDD; padding: 24px 0; }
.add-set .add-cc-list:first-child { border-top: none; padding-top: 0; }
.add-set .add-cc-list:last-child { padding-bottom: 0; }
@media screen and (max-width: 767px) { .add-set .add-cc-list { padding: 24px 0; display: block; } .add-set .add-cc-list:first-child { padding-top: 0; } .add-set .add-cc-list:last-child { padding-bottom: 0; } }
.add-set .add-cc-list .CreditcardName { font-weight: bold; flex-basis: 120px; }
.add-set .add-cc-list .CreditCardDetail { display: flex; gap: 16px; border-left: #111 solid 1px; padding-left: 24px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-cc-list .CreditCardDetail { border-left: none; gap: 8px; flex-direction: column; padding: 8px; background: #fafafa; border-radius: 8px; margin: 8px 0; } }
.add-set .add-cc-list__detail-wrapper { display: flex; flex: 1; justify-content: space-between; }
@media screen and (max-width: 767px) { .add-set .add-cc-list__detail-wrapper { display: block; } }
.add-set .add-cc-list__btn-wrapper { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

.add-set .add-fav__list { padding: 24px; border-radius: 8px; background: #f0f0f0; }
@media screen and (max-width: 767px) { .add-set .add-fav__list { padding: 16px; } }
.add-set .add-fav__list tr { display: flex; flex-wrap: wrap; padding: 16px 0; border-bottom: solid 1px #ddd; width: 100%; gap: 0 24px; align-items: center; }
@media screen and (max-width: 767px) { .add-set .add-fav__list tr { display: block; } }
.add-set .add-fav__list tr:first-child { padding-top: 0; }
.add-set .add-fav__list tr:last-child { padding-bottom: 0; border-bottom: none; }
.add-set .add-fav__list tr .productImage { flex-basis: 100px; display: block; }
@media screen and (max-width: 767px) { .add-set .add-fav__list tr .productImage { width: 200px; margin: 0 auto; } }
@media screen and (max-width: 767px) { .add-set .add-fav__list tr .favoriteProductImage { padding: 20px; } }
.add-set .add-fav__list tr .productPatternNum { display: flex; gap: 8px; flex-wrap: wrap; }
.add-set .add-fav__list tr .productPatternNum:before { display: block; font-size: 12px; font-weight: bold; content: "商品ID"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-fav__list tr .productPatternNum:before { width: 40px; } }
.add-set .add-fav__list tr .productName { display: flex; gap: 8px; flex: 1; flex-wrap: wrap; }
.add-set .add-fav__list tr .productName:before { display: block; font-size: 12px; font-weight: bold; content: "商品名"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-fav__list tr .productName:before { width: 40px; } }
.add-set .add-fav__list tr .add-fav-cart { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-fav__list tr .add-fav-cart { display: block; padding-top: 16px; width: 100%; } .add-set .add-fav__list tr .add-fav-cart a { width: 100%; } }
.add-set .add-fav__list tr .delete { display: flex; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-fav__list tr .delete { padding-top: 16px; } .add-set .add-fav__list tr .delete > a { flex: 1; } }

.add-set .add-order-setting__list { padding: 24px; border-radius: 8px; background: #f0f0f0; }
.add-set .add-order-setting__list tr { padding: 16px 0; border-bottom: solid 1px #ddd; }
.add-set .add-order-setting__list tr:first-child { padding-top: 0; }
.add-set .add-order-setting__list tr:last-child { padding-bottom: 0; border-bottom: none; }
.add-set .add-order-shipping__adj1 { font-weight: bold; padding-bottom: 8px; }
.add-set .add-order-shipping__adj2 { padding: 24px; border-radius: 8px; background: #fff; }
@media screen and (max-width: 767px) { .add-set .add-order-shipping__adj2 { padding: 16px; } }
.add-set .add-order-shipping__adj3 > dl > dt { border-top: solid 1px #ddd; padding: 16px 0; }
.add-set .add-order-shipping__adj3 > dl > dt:first-child { padding-top: 0; border-top: none; }
.add-set .add-order-shipping__adj3 > dl > dd { border-radius: 8px; background-color: #fff; padding: 24px; margin-bottom: 24px; }
@media screen and (max-width: 767px) { .add-set .add-order-shipping__adj3 > dl > dd { padding: 16px; margin-bottom: 16px; } }
.add-set .add-order-shipping__adj3 { padding-top: 24px; }
.add-set .add-order-shipping__adj4 { gap: 24px; flex-wrap: wrap; background: #fafafa; border-radius: 8px; padding: 24px; }
@media screen and (max-width: 767px) { .add-set .add-order-shipping__adj4 { padding: 16px; margin-bottom: 16px; } }
.add-set .add-order-shipping__adj4 > .add-title { font-size: 14px; font-weight: bold; line-height: 1; padding-bottom: 16px; }
.add-set .add-order-shipping__adj4 .add-date { font-size: 20px; font-weight: bold; line-height: 1; padding-bottom: 8px; }
.add-set .add-icn__wrapper { display: flex; gap: 8px; }
.add-set .add-icn__wrapper > img { height: 20px; width: auto; }

.add-set .add-coupon__list { padding: 24px; border-radius: 8px; background: #f0f0f0; }
@media screen and (max-width: 767px) { .add-set .add-coupon__list { padding: 16px; } }
.add-set .add-coupon__list tr { display: flex; flex-wrap: wrap; padding: 16px 0; border-bottom: solid 1px #ddd; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-coupon__list tr { display: block; align-items: center; } }
.add-set .add-coupon__list tr:first-child { padding-top: 0; }
.add-set .add-coupon__list tr:last-child { padding-bottom: 0; border-bottom: none; }
.add-set .add-coupon__list tr .add-code { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-coupon__list tr .add-code { align-items: center; padding-bottom: 8px; justify-content: space-between; } }
.add-set .add-coupon__list tr .add-code:before { display: block; font-size: 12px; font-weight: bold; content: "クーポンコード"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-coupon__list tr .add-code:before { width: auto; } }
.add-set .add-coupon__list tr .add-name { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-coupon__list tr .add-name { align-items: center; padding-bottom: 8px; justify-content: space-between; } }
.add-set .add-coupon__list tr .add-name:before { display: block; font-size: 12px; font-weight: bold; content: "クーポン名"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-coupon__list tr .add-name:before { width: auto; } }
.add-set .add-coupon__list tr .add-waribiki { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-coupon__list tr .add-waribiki { align-items: center; padding-bottom: 8px; justify-content: space-between; } }
.add-set .add-coupon__list tr .add-waribiki:before { display: block; font-size: 12px; font-weight: bold; content: "割引金額/割引率"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-coupon__list tr .add-waribiki:before { width: auto; } }
.add-set .add-coupon__list tr .add-use-count { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-coupon__list tr .add-use-count { align-items: center; padding-bottom: 8px; justify-content: space-between; } }
.add-set .add-coupon__list tr .add-use-count:before { display: block; font-size: 12px; font-weight: bold; content: "利用可能回数"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-coupon__list tr .add-use-count:before { width: auto; } }
.add-set .add-coupon__list tr .add-limit { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-coupon__list tr .add-limit { align-items: center; padding-bottom: 8px; justify-content: space-between; } }
.add-set .add-coupon__list tr .add-limit:before { display: block; font-size: 12px; font-weight: bold; content: "有効期限"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-coupon__list tr .add-limit:before { width: auto; } }

.add-set .add-favolite__list { padding: 24px; border-radius: 8px; background: #f0f0f0; }
@media screen and (max-width: 767px) { .add-set .add-favolite__list { padding: 16px; } }
.add-set .add-favolite__list tr { display: flex; flex-wrap: wrap; padding: 16px 0; border-bottom: solid 1px #ddd; align-items: center; gap: 24px; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-favolite__list tr { display: block; } }
.add-set .add-favolite__list tr:first-child { padding-top: 0; }
.add-set .add-favolite__list tr:last-child { padding-bottom: 0; border-bottom: none; }
.add-set .add-favolite__list .productImage { flex: 1; }
@media screen and (max-width: 767px) { .add-set .add-favolite__list .add-adj01 { padding-top: 16px; display: flex; flex-wrap: wrap; justify-content: flex-end; } }
.add-set .add-favolite__list .favoriteProductImage { display: flex; align-items: center; gap: 24px; }
.add-set .add-favolite__list .add-staff__thumb { border-radius: 50px; width: 100px; height: 100px; object-fit: cover; }

.add-set .add-point__list { padding: 24px; border-radius: 8px; background: #f0f0f0; }
@media screen and (max-width: 767px) { .add-set .add-point__list { padding: 16px; } }
.add-set .add-point__list tr { display: flex; flex-wrap: wrap; padding: 16px 0; border-bottom: solid 1px #ddd; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-point__list tr { display: block; } }
.add-set .add-point__list tr:first-child { padding-top: 0; }
.add-set .add-point__list tr:last-child { padding-bottom: 0; border-bottom: none; }
.add-set .add-point__list tr .userPointDate { display: flex; gap: 8px; flex-wrap: wrap; flex-basis: 120px; }
@media screen and (max-width: 767px) { .add-set .add-point__list tr .userPointDate { justify-content: space-between; flex-basis: 100%; padding-bottom: 8px; } }
.add-set .add-point__list tr .userPointDate:before { display: block; font-size: 12px; font-weight: bold; content: "獲得・利用日"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-point__list tr .userPointDate:before { width: auto; } }
.add-set .add-point__list tr .userPointContent { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-point__list tr .userPointContent { justify-content: space-between; padding-bottom: 8px; } .add-set .add-point__list tr .userPointContent .add-adj01 { text-align: right; } .add-set .add-point__list tr .userPointContent .add-adj01 span { font-size: 10px; } }
.add-set .add-point__list tr .userPointContent:before { display: block; font-size: 12px; font-weight: bold; content: "内容"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-point__list tr .userPointContent:before { width: auto; } }
.add-set .add-point__list tr .point { display: flex; gap: 8px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-point__list tr .point { justify-content: space-between; padding-bottom: 8px; } }
.add-set .add-point__list tr .point:before { display: block; font-size: 12px; font-weight: bold; content: "point"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-point__list tr .point:before { width: auto; } }
.add-set .add-point__list tr .orderNum { display: flex; gap: 8px; flex-wrap: wrap; flex: 1; }
@media screen and (max-width: 767px) { .add-set .add-point__list tr .orderNum { justify-content: space-between; padding-bottom: 8px; } }
.add-set .add-point__list tr .orderNum:before { display: block; font-size: 12px; font-weight: bold; content: "備考"; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-point__list tr .orderNum:before { width: auto; } }

.add-set .add-point__info { border-radius: 8px; background: #f0f0f0; padding: 24px; display: flex; gap: 40px; }
@media screen and (max-width: 767px) { .add-set .add-point__info { padding: 16px; display: block; } }
.add-set .add-point__info > dl { display: flex; align-items: center; gap: 24px; }
@media screen habits (max-width: 767px) { .add-set .add-point__info > dl { justify-content: space-between; padding: 16px 0; border-bottom: solid 1px #ddd; } .add-set .add-point__info > dl:first-child { padding-top: 0; } .add-set .add-point__info > dl:last-child { border-bottom: none; padding-bottom: 0; } }
.add-set .add-point__info > dl dt { font-weight: bold; }
.add-set .add-point__info > dl dd { font-size: 24px; font-weight: bold; }

.add-set .add-product-mail__list { padding: 24px; border-radius: 8px; }
@media screen and (max-width: 767px) { .add-set .add-product-mail__list { padding: 16px; } }
.add-set .add-product-mail__list tr { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; border-bottom: solid 1px #ddd; padding: 16px 0; }
@media screen and (max-width: 767px) { .add-set .add-product-mail__list tr { display: block; } }
.add-set .add-product-mail__list tr:first-child { padding-top: 0; }
.add-set .add-product-mail__list tr:last-child { padding-bottom: 0; border-bottom: none; }
.add-set .add-product-mail__list-inner { flex: 1; display: flex; flex-wrap: wrap; gap: 8px 24px; }
@media screen and (max-width: 767px) { .add-set .add-product-mail__list-inner { display: block; } }
.add-set .add-product-mail__list-item { flex-basis: 100px; }
@media screen and (max-width: 767px) { .add-set .add-product-mail__list-item { width: 150px; margin: 0 auto; padding: 20px 0; } }
.add-set .add-product-mail__list-name { flex-basis: 100%; font-size: 16px; padding-bottom: 8px; border-bottom: solid 1px #ddd; }
@media screen and (max-width: 767px) { .add-set .add-product-mail__list-name { padding: 8px 0; font-size: 14px; } }
.add-set .add-product-mail__list-mail { border-right: solid 1px #ddd; padding-right: 24px; }
@media screen and (max-width: 767px) { .add-set .add-product-mail__list-mail { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: solid 1px #ddd; border-right: none; } }
.add-set .add-product-mail__list-mail > span { height: 40px; display: block; }
@media screen and (max-width: 767px) { .add-set .add-product-mail__list-mail > span { height: auto; } }
.add-set .add-product-mail__list-mail::before { content: "配信区分"; display: block; padding-bottom: 4px; font-size: 12px; font-weight: bold; }
.add-set .add-product-mail__list-haishin { padding-right: 24px; border-right: solid 1px #ddd; }
@media screen and (max-width: 767px) { .add-set .add-product-mail__list-haishin { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: solid 1px #ddd; border-right: none; } }
.add-set .add-product-mail__list-haishin > span { height: 40px; display: block; }
@media screen and (max-width: 767px) { .add-set .add-product-mail__list-haishin > span { height: auto; } }
.add-set .add-product-mail__list-haishin::before { content: "配信先"; display: block; padding-bottom: 4px; font-size: 12px; font-weight: bold; }
.add-set .add-product-mail__list-date { display: flex; align-items: center; flex-wrap: wrap; gap: 0 4px; }
@media screen and (max-width: 767px) { .add-set .add-product-mail__list-date { padding: 8px 0; border-bottom: solid 1px #ddd; } }
.add-set .add-product-mail__list-date input { padding: 8px; height: 40px; border-radius: 8px; width: 50px; }
.add-set .add-product-mail__list-date::before { content: "通知期限"; display: block; padding-bottom: 4px; font-size: 12px; font-weight: bold; width: 100%; }
@media screen and (max-width: 767px) { .add-set .add-product-mail__list-date::before { width: auto; flex: 1; } }
@media screen payments (max-width: 767px) { .add-set .add-product-mail__list-btn { text-align: right; padding-top: 8px; } .add-set .add-product-mail__list-btn > a { width: 80px; } }

.add-set .add-mail__list { border-radius: 8px; padding: 24px; }
@media screen and (max-width: 767px) { .add-set .add-mail__list { padding: 16px; } }
.add-set .add-mail__list tr { display: flex; flex-wrap: wrap; gap: 24px; padding: 16px 0; border-bottom: solid 1px #ddd; align-items: flex-start; }
@media screen and (max-width: 767px) { .add-set .add-mail__list tr { display: block; } }
.add-set .add-mail__list tr.add-list:hover { opacity: 0.7; }
.add-set .add-mail__list tr:first-child { padding-top: 0; }
.add-set .add-mail__list tr:last-child { padding-bottom: 0; border-bottom: none; }
.add-set .add-mail__list tr > th { flex-basis: 120px; font-weight: bold; }
.add-set .add-mail__list tr > td:first-child { font-weight: bold; }
@media screen and (max-width: 767px) { .add-set .add-mail__list tr > td:first-child { font-size: 12px; } }
.add-set .add-mail__list tr > td:nth-child(2) { flex: 1; }
@media screen and (max-width: 767px) { .add-set .add-mail__list tr > td:nth-child(2) { font-size: 14px; } }

.add-set .add-shipping__list { display: flex; gap: 24px; }
@media screen and (max-width: 767px) { .add-set .add-shipping__list { display: block; } }
.add-set .add-shipping__list:nth-child(2) { margin-top: 16px; padding: 16px 0; border-top: solid 1px #ddd; }
.add-set .add-shipping__list:nth-child(n+3) { padding: 16px 0; border-top: solid 1px #ddd; }
.add-set .add-shipping__list .shippingName { font-size: 18px; font-weight: bold; flex-basis: 200px; display: flex; align-items: center; border-right: 1px #ddd solid; }
@media screen and (max-width: 767px) { .add-set .add-shipping__list .shippingName { padding-bottom: 8px; font-size: 16px; border-right: none; } }
.add-set .add-shipping__list .shippingAddr { flex: 1; }
@media screen and (max-width: 767px) { .add-set .add-shipping__list .shippingAddr { padding-bottom: 8px; } }
.add-set .add-shipping__list .updatedelete { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
@media screen and (max-width: 767px) { .add-set .add-shipping__list .updatedelete { justify-content: space-between; } .add-set .add-shipping__list .updatedelete > a { width: 48%; } }

.add-set .add-login__wrapper { display: flex; border-radius: 8px; background: #f0f0f0; flex-wrap: wrap; justify-content: space-between; padding: 24px; justify-content: center; }
.add-set .add-login__wrapper .add-u__btn-02 { width: 100%; }
.add-set .add-login__sns-btn { padding-bottom: 8px; min-width: 280px; }
.add-set .add-login__sns-btn .add-amazon { height: 64px !important; }
@media screen and (max-width: 767px) { .add-set .add-login__sns-btn { width: 100%; } }
.add-set .add-login__sns-btn-wrapper { display: flex; gap: 24px; }
@media screen and (max-width: 767px) { .add-set .add-login__sns-btn-wrapper { display: block; } .add-set .add-login__sns-btn-wrapper > li { padding-bottom: 16px !important; } .add-set .add-login__sns-btn-wrapper > li:last-child { padding-bottom: 0; } }
.add-set .add-login__sns-btn-line { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: center; font-size: 16px; height: 48px; border-radius: 4px; background-color: #06c755; font-weight: bold; color: #fff; }
.add-set .add-login__sns-btn-line:link, .add-set .add-login__sns-btn-line:visited { color: #fff; }
.add-set .add-login__sns-btn-icon { height: 28px; }
.add-set .add-login__sns-notes { padding-top: 8px; color: #111; font-size: 13px; }

.add-set .add-mypage__unit1 { padding: 40px; border-radius: 8px; background: #f9f0dc !important; }
@media screen and (max-width: 767px) { .add-set .add-mypage__unit1 { padding: 16px; } }
.add-set .add-mypage__unit1 > tbody { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-mypage__unit1 > tbody { gap: 8px; } }
.add-set .add-mypage__unit1-1 { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; padding-bottom: 16px; border-bottom: solid 1px #111; flex-basis: 100%; }
.add-set .add-mypage__unit1-2 { font-size: 16px; font-weight: bold; }
.add-set .add-mypage__unit1-3 { font-weight: bold; font-size: 40px; }
@media screen and (max-width: 767px) { .add-set .add-mypage__unit1-3 { font-size: 32px; } }
.add-set .add-mypage__unit1-3 > span { font-size: 24px; }
.add-set .add-mypage__unit1-4 { display: flex; align-items: center; gap: 16px; }
@media screen and (max-width: 767px) { .add-set .add-mypage__unit1-4 { flex-basis: 100%; justify-content: space-between; } }
.add-set .add-mypage__unit1-5 { font-weight: bold; font-size: 24px; }
@media screen and (max-width: 767px) { .add-set .add-mypage__unit1-5 { font-size: 20px; } }
.add-set .add-mypage__unit1-5 > span { font-size: 16px; }
.add-set .add-mypage__unit2 { padding: 40px; border-radius: 8px; background: #f0f0f0 !important; }
.add-set .add-mypage__menu { flex-wrap: wrap; gap: 8px; border: none; padding: 0; font-size: 13px; display: grid; grid-template-columns: repeat(5, 1fr); grid-template-rows: repeat(3, 1fr); border-radius: 4px; font-weight: bold; }
@media screen and (max-width: 767px) { .add-set .add-mypage__menu { gap: 4px; grid-template-columns: repeat(2, 1fr); } }
.add-set .add-mypage__menu > li { padding: 16px 0 !important; text-align: center; border-bottom: solid 1px #ddd; }
.add-set .add-mypage__menu-wrapper { width: 946px; margin: 0 auto; padding-top: 8px; border-top: solid 2px; }
@media screen and (max-width: 767px) { .add-set .add-mypage__menu-wrapper { width: 100%; } }

.add-set .add-pager__wrapper { display: flex; justify-content: flex-end; padding: 8px 0; gap: 24px; align-items: center; }
.add-set .add-pager__wrapper .add-num { display: flex; gap: 8px; flex-wrap: wrap; }
.add-set .add-pager__wrapper .add-num span { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 100%; border: solid 1px #111; color: #fff; background: #111; }
.add-set .add-pager__wrapper .add-num a { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 100%; border: solid 1px #111; }
.add-set .add-pager__wrapper .add-num a:link, .add-set .add-pager__wrapper .add-num a:visited { color: #111; }
.add-set .add-pager__wrapper .add-num a:hover { background: #eee; }
.add-set .add-pager__link-wrapper { display: flex; align-items: center; font-weight: bold; gap: 8px; font-size: 13px; line-height: 1; }

/* 買い物かご・カートアイテム */
.add-set .add-cart__item { display: block; padding-bottom: 40px; padding-top: 40px; }
.add-set .add-cart__item-03 { padding-top: 24px; display: flex; gap: 16px; justify-content: space-between; align-items: center; border-bottom: solid 1px #ddd; padding-bottom: 24px; }
@media screen and (max-width: 767px) { .add-set .add-cart__item-03 { flex-wrap: wrap; justify-content: flex-start; gap: 16px 0; padding: 16px 0; } }
.add-set .add-cart__item-03-inner { display: flex; align-items: center; gap: 16px; flex-basis: 600px; flex-wrap: wrap; flex: 1; }
@media screen and (max-width: 767px) { .add-set .add-cart__item-03-inner { flex-basis: 100%; border-bottom: solid 1px #ddd; padding-bottom: 16px; align-items: flex-start; } .add-set .add-cart__item-03-inner:first-child { border-bottom: none; } .add-set .add-cart__item-03-inner.add-adj01 { border-bottom: none; } }
.add-set .add-cart__item-03-inner img { width: 100px; height: auto; border-radius: 8px; }
.add-set .add-cart__item-03-inner > div { flex: 1; }
.add-set .add-cart__item-03-inner > div .add-item__name { font-size: 16px; font-weight: bold; }
.add-set .add-cart__item-03 .price { font-size: 16px; height: 40px; display: flex; gap: 8px; align-items: center; }
.add-set .add-cart__item-03 .price > span { font-size: 12px; }
.add-set .add-cart__item-03 .price:before { content: "単価"; font-size: 12px; font-weight: bold; display: block; }
.add-set .add-cart__item-03 .quantity { font-size: 16px; display: flex; gap: 8px; align-items: center; }
@media screen and (max-width: 767px) { .add-set .add-cart__item-03 .quantity { padding-left: 16px; } }
.add-set .add-cart__item-03 .quantity > span input { width: 40px; height: 40px; display: flex; align-items: center; border-radius: 4px; border: solid 1px #ddd; padding: 0 8px; }
.add-set .add-cart__item-03 .quantity:before { content: "数量"; font-size: 12px; font-weight: bold; display: block; }
.add-set .add-cart__item-03 .taxRate { font-size: 16px; display: flex; gap: 8px; align-items: center; }
@media screen and (max-width: 767px) { .add-set .add-cart__item-03 .taxRate { flex: 1; justify-content: flex-end; padding-right: 8px; } }
.add-set .add-cart__item-03 .taxRate:before { content: "税率"; font-size: 12px; font-weight: bold; display: block; }
.add-set .add-cart__item-03 .subtotal { font-size: 16px; display: flex; gap: 8px; align-items: center; }
@media screen and (max-width: 767px) { .add-set .add-cart__item-03 .subtotal { height: 72px; padding: 0 16px; background: #f0f0f0; flex: 1; min-width: 200px; } }
.add-set .add-cart__item-03 .subtotal > span { font-size: 12px; }
.add-set .add-cart__item-03 .subtotal:before { content: "小計"; font-size: 12px; font-weight: bold; display: block; }
.add-set .add-cart__item-03 .delete { width: 100px; display: flex; align-items: center; justify-content: center; padding: 16px; }
@media screen and (max-width: 767px) { .add-set .add-cart__item-03 .delete { background: #f0f0f0; } }
.add-set .add-cart__item-03 .delete > a { border: solid 1px #111; height: 40px; display: flex; width: 100%; border-radius: 20px; background: #fff; align-items: center; justify-content: center; }

@media screen and (max-width: 767px) {
    .add-set .add-cart__item-03.add-adj01 .add-cart__item-03-inner { align-items: flex-start; }
    .add-set .add-cart__item-03.add-adj01 .add-cart__item-03-inner .price { flex: 1; }
    .add-set .add-cart__item-03.add-adj01 .add-cart__item-03-inner .taxRate { flex-basis: 100%; border-top: solid 1px #ddd; border-bottom: solid 1px #ddd; padding: 8px 0; }
    .add-set .add-cart__item-03.add-adj01 .add-cart__item-03-inner .subtotal { height: auto; background: none; padding: 0; }
    .add-set .add-cart__item-03.add-adj01 .add-cart__item-03-inner .add-subtotal__wrapper { justify-content: flex-end; }
    .add-set .add-cart__item-03.add-adj01 .delete { padding: 0; background: inherit; justify-content: flex-end; width: 100%; }
    .add-set .add-cart__item-03.add-adj01 .delete > a { width: 100px; }
    .add-set .add-cart__item-03.add-adj01.add-normal .add-cart__item-03-inner { align-items: flex-start; }
    .add-set .add-cart__item-03.add-adj01.add-normal .add-cart__item-03-inner .subtotal { justify-content: flex-end; }
}

.add-set .add-cart__item-04 { display: flex; align-items: center; border-top: solid 1px #ddd; margin-top: 8px; padding-top: 8px; flex-wrap: wrap; gap: 24px; }
@media screen and (max-width: 767px) { .add-set .add-cart__item-04 { gap: 8px; } }
.add-set .add-cart__item-04 .add-subtotal__wrapper { flex: 1; align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.add-set .add-cart__item-04.add-setpromotion { border-top: none; margin-top: 0px; padding-top: 0px; }
.add-set .add-cart__item-04 .add-subtotal__inner { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.add-set .add-cart__item-04 .add-subtotal__inner-2 { font-size: 12px; color: #111; background: #f0f0f0; padding: 4px 8px; border-radius: 4px; }
@media screen and (max-width: 767px) {
    .add-set .add-cart__item-04.add-confirm { justify-content: space-between; gap: 0; }
    .add-set .add-cart__item-04.add-confirm .quantity { padding-left: 0; }
    .add-set .add-cart__item-04.add-confirm .subtotal { background: inherit; height: auto; min-width: inherit; padding: 0; }
}
.add-set .add-cart__item-04 .add-futai { display: flex; gap: 24px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-cart__item-04 .add-futai { display: block; } .add-set .add-cart__item-04 .add-futai strong { display: block; } }

.add-set .add-cart__item-05 { display: flex; gap: 8px; align-items: center; width: 200px; }
.add-set .add-cart__item-05 > span { display: block; flex-basis: 24px; }
.add-set .add-cart__item-06 { margin-bottom: 24px; }
.add-set .add-cart__item-07 { padding-top: 24px; }
.add-set .add-cart__item-07 tr { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
.add-set .add-cart__item-07 tr td { display: flex; gap: 8px; align-items: center; }

.add-set .add-cart__item-08 { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; padding: 16px 0; }
.add-set .add-cart__item-08 .add-adj1 { font-size: 12px; font-weight: bold; }
.add-set .add-cart__item-08 .add-subtotal__wrapper { flex: 1; align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.add-set .add-cart__item-08 .add-subtotal__inner { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.add-set .add-cart__item-08 .add-subtotal__inner-2 { font-size: 12px; color: #111; background: #f0f0f0; padding: 4px 8px; border-radius: 4px; }

.add-set .add-cart__item-heading { padding: 8px !important; border-radius: 4px; background: #111; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; font-size: 14px !important; }
.add-set .add-cart__item-heading-btn { display: flex; align-items: center; gap: 8px; }
.add-set .add-cart__item-heading-btn > a { display: flex; align-items: center; width: 120px; border-radius: 20px; height: 32px; justify-content: center; background: #fff; font-size: 13px; }
@media screen and (max-width: 767px) { .add-set .add-cart__item-heading-btn > a { width: 70px; } }

.add-set .add-cart__item-setpromotion { border: solid 1px #ddd; border-radius: 8px; padding: 16px; margin-top: 8px; }
.add-set .add-cart__item-mp { padding-bottom: 24px; border-bottom: solid 1px #ddd; }
.add-set .add-cart__item-mp .add-cart__item-03 { border-bottom: none; padding-bottom: 0; }

.add-set .add-cart__pricelist { padding-top: 24px; }
.add-set .add-cart__pricelist dl { display: flex; align-items: center; gap: 24px; justify-content: flex-end; padding: 8px; border-bottom: solid 1px #ddd; }
@media screen and (max-width: 767px) { .add-set .add-cart__pricelist dl { justify-content: space-between; } }
.add-set .add-cart__pricelist dl dt { font-weight: bold; }
.add-set .add-cart__pricelist dl dd { font-size: 18px; width: 200px; text-align: right; display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.add-set .add-cart__pricelist dl dd > .add-coupon-name { font-size: 13px; }
@media screen and (max-width: 767px) { .add-set .add-cart__pricelist dl dd { font-size: 16px; width: auto; } }

.add-set .add-cart-select__wrapper { padding-bottom: 8px; }
.add-set .add-cart-select__wrapper tbody > tr:nth-child(2) { padding-top: 0; border-top: none; }
.add-set .add-cart-select__item { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; padding-top: 16px; padding-bottom: 16px; border-top: solid 1px #ddd; }
@media screen and (max-width: 767px) { .add-set .add-cart-select__item { justify-content: space-between; gap: 8px 16px; } }
.add-set .add-cart-select__item .productImg { flex-basis: 100px; }
.add-set .add-cart-select__item .productImg img { width: 100%; height: auto; }
.add-set .add-cart-select__item .productName { flex: 1; }
@media screen and (max-width: 767px) { .add-set .add-cart-select__item .productName { flex-basis: 100px; } }
.add-set .add-cart-select__item .productName .add-item-name { display: block; padding-bottom: 8px; font-weight: bold; font-size: 16px; text-decoration: underline; }
.add-set .add-cart-select__item .productName .add-item-detail { display: flex; gap: 4px 16px; flex-wrap: wrap; color: #111; font-size: 12px; }
.add-set .add-cart-select__item .productPrice { font-size: 16px; font-weight: bold; display: flex; flex-wrap: wrap; gap: 4px; }
.add-set .add-cart-select__item .productPrice > span { font-weight: normal; font-size: 12px; }
.add-set .add-cart-select__item:last-child { padding-bottom: 0; border-bottom: none; }

.add-set .add-error-txt { display: block; padding: 24px; border-radius: 8px; color: #d03f3f; background: #fce4e4; margin-bottom: 24px; }
.add-set .add-error-txt__type02 { color: #d03f3f; }
.add-set .add-grand-total__wrapper { background: #f9f0dc; border-radius: 8px; padding: 24px; display: flex; justify-content: flex-end; align-items: center; gap: 16px; flex-wrap: wrap; }
@media screen and (max-width: 767px) { .add-set .add-grand-total__wrapper { padding: 16px; } }
.add-set .add-grand-total__wrapper > div { font-weight: bold; font-size: 16px; }
.add-set .add-grand-total__wrapper > div.add-price { font-size: 28px; }

.add-set .add-regulation__box { display: block; padding: 40px; border: solid 1px #ddd; border-radius: 8px; height: 480px; overflow-y: auto; margin: 40px 0; }
.add-set .add-regulation__box.npt { margin-top: 0; }
.add-set .add-regulation__box h4 { padding-top: 40px; margin: 0; border-bottom: solid 1px #ddd; }
.add-set .add-regulation__box h4:first-child { padding-top: 0; }
.add-set .add-regulation__box p { padding-bottom: 8px !important; }
.add-set .user-flt-contents .unit--card .dvFavoriteList { width: 100%; }

/* 全般見出し */
.add-set .add-title__01 { font-size: 24px; font-weight: bold; padding-bottom: 24px; }
@media screen and (max-width: 767px) { .add-set .add-title__01 { font-size: 20px; } }
.add-set .add-title__02 { font-size: 16px; font-weight: bold; padding-bottom: 16px; border-bottom: solid 1px #ddd; }
.add-set .add-title__03 { font-size: 12px; font-weight: bold; padding-bottom: 8px; }
.add-set .add-title__04 { font-size: 18px !important; font-weight: bold; margin: 0; padding-bottom: 24px; }
@media screen and (max-width: 767px) { .add-set .add-title__04 { font-size: 16px; } }
.add-set .add-title__05 { background: #f9f0dc; border-radius: 8px; padding: 8px 16px; margin-bottom: 8px; font-size: 16px; font-weight: bold; display: flex; align-items: center; justify-content: space-between; }
.add-set .add-title__05 a { font-size: 12px; }
.add-set .add-title__complete { font-weight: bold; text-align: center; font-size: 40px; line-height: 1; }
@media screen and (max-width: 767px) { .add-set .add-title__complete { font-size: 32px; } }
.add-set .add-title__page { font-size: 32px; padding: 64px 0; font-weight: bold !important; }
@media screen and (max-width: 767px) { .add-set .add-title__page { font-size: 24px; padding: 40px 0; } }


/* ==========================================================================
   ★ここから追加：会員情報入力画面（.add-user-input-page）専用の上書き制御
   ========================================================================== */
.add-user-input-page .add-u__form-bloc {
    padding: 8px 0 !important;
}
.add-user-input-page .add-cartflow {
    margin: 15px auto 25px auto !important;
}
.add-user-input-page .add-u__contents-wrapper {
    margin-bottom: 20px !important;
}
.add-user-input-page .add-u__message-2.add-u__mb-lg,
.add-user-input-page .add-u__message-2.add-u__mb-base {
    margin-bottom: 20px !important;
}
.add-user-input-page .add-social-connect__all {
    margin-bottom: 30px !important;
}

/* 「確認する / 次へ」ボタンのKEIAIレッド統一 */
.add-user-input-page .add-u__btn-wrapper .add-u__btn-02 {
    background-color: #E82E34 !important;
    border: 1px solid #E82E34 !important;
    color: #ffffff !important;
    font-weight: bold !important;
    transition: background-color 0.2s ease, opacity 0.2s ease;
}
.add-user-input-page .add-u__btn-wrapper .add-u__btn-02:hover {
    background-color: #cc2429 !important;
    border-color: #cc2429 !important;
    color: #ffffff !important;
    opacity: 0.9;
}

/* 「認証コードの取得 / 追加」ボタンのグレー細枠化 */
.add-user-input-page .add-u__btn-mini.add-02 {
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #475569 !important;
    font-weight: bold !important;
    padding: 0 16px !important;
    border-radius: 4px !important;
    transition: all 0.2s ease !important;
}
.add-user-input-page .add-u__btn-mini.add-02:hover {
    background-color: #f8fafc !important;
    border-color: #94a3b8 !important;
    color: #1e293b !important;
}

/* SMS送信成功チェックマーク */
.add-user-input-page .authentication_success_wrapper {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: 10px;
    vertical-align: middle;
}
.add-user-input-page .auth-success-circle {
    width: 24px;
    height: 24px;
    background-color: #06c755;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}
.add-user-input-page .auth-success-check {
    width: 10px;
    height: 5px;
    border-left: 2.5px solid #ffffff;
    border-bottom: 2.5px solid #ffffff;
    transform: rotate(-45deg);
    margin-top: -2px;
    box-sizing: border-box;
}

/* ラジオボタンの精密赤化カスタム */
.add-user-input-page .add-u__form-wrapper input[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: solid 2px #cbd5e1;
    background: #ffffff;
    cursor: pointer;
    vertical-align: middle;
    transition: all 0.2s ease;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
}
.add-user-input-page .add-u__form-wrapper input[type=radio]:hover {
    border-color: #E82E34;
}
.add-user-input-page .add-u__form-wrapper input[type=radio]:checked {
    border-color: #E82E34 !important;
    background: #ffffff !important;
}
.add-user-input-page .add-u__form-wrapper input[type=radio]:checked:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    width: 10px;
    height: 10px;
    content: "";
    background: #E82E34 !important;
    border-radius: 50%;
}

@media screen and (max-width: 767px) {
    .add-user-input-page .add-u__form-wrapper input[type=radio] { width: 20px !important; height: 20px !important; }
    .add-user-input-page .add-u__form-wrapper input[type=radio]:checked:before { width: 10px !important; height: 10px !important; top: 50% !important; left: 50% !important; }
}

/* 高級感のあるレッドへ統一（エラー文言・必須マーク） */
.add-user-input-page .error_inline,
.add-user-input-page .add-u__form-desc > span,
.add-user-input-page .add-fred {
    color: #d92b31 !important;
    font-weight: bold;
    font-size: 13px;
    letter-spacing: 0.05em;
    display: inline-block;
    margin-top: 6px;
}
.add-set p[style*="color: #d03f3f"],
.add-set p[style*="color:#d03f3f"] {
    color: #d92b31 !important;
    font-weight: bold;
    font-size: 13px !important;
    letter-spacing: 0.05em;
    margin-top: 8px;
}

/* 同意チェックボックス調整 */
.user-regist-regulation__agree { margin-top: 24px; margin-bottom: 24px; text-align: center; }
.user-regist-regulation__agree label { font-weight: bold; color: #333333; cursor: pointer; padding-left: 4px; vertical-align: middle; }
.user-regist-regulation__agree input[type="checkbox"] { width: 16px; height: 16px; vertical-align: middle; cursor: pointer; }

/* チェックボックス赤化の同期 */
.add-user-input-page .add-u__form-checkbox-red-sync input[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid #cbd5e1 !important;
    background: #ffffff !important;
    border-radius: 4px !important;
    cursor: pointer;
    vertical-align: middle;
    transition: all 0.2s ease;
}
.add-user-input-page .add-u__form-checkbox-red-sync input[type=checkbox]:hover { border-color: #E82E34 !important; }
.add-user-input-page .add-u__form-checkbox-red-sync input[type=checkbox]:checked { border-color: #E82E34 !important; background-color: #E82E34 !important; }
.add-user-input-page .add-u__form-checkbox-red-sync input[type=checkbox]:checked:before {
    position: absolute; top: 1px; left: 5px; width: 5px; height: 10px; content: ""; transform: rotate(45deg);
    border-right: 2.5px solid #ffffff !important; border-bottom: 2.5px solid #ffffff !important; background: none !important; border-radius: 0 !important;
}
.add-user-input-page .add-u__form-checkbox-red-sync label { padding: 0 24px 0 6px !important; cursor: pointer; vertical-align: middle; }

/* 自由入力欄の幅制限 */
.add-user-input-page .add-u__form-bloc input[type=text][id*="tbFreeInput"] { max-width: 320px !important; background-color: #ffffff !important; }

/* スマホ用テーブル解体レイアウト一括定義 */
@media screen and (max-width: 767px) {
    .add-set.add-user-input-page table,
    .add-set.add-user-input-page tbody,
    .add-set.add-user-input-page tr,
    .add-set.add-user-input-page th,
    .add-set.add-user-input-page td,
    .add-user-input-page .add-u__form-wrapper table,
    .add-user-input-page .add-u__form-wrapper tr.add-u__form-bloc,
    .add-user-input-page .add-u__form-wrapper th.add-u__form-blocth,
    .add-user-input-page .add-u__form-wrapper td {
        display: block !important; float: none !important; clear: both !important; width: 100% !important; max-width: 100% !important; min-width: 100% !important; box-sizing: border-box !important;
    }
    .add-user-input-page .add-u__form-bloc { display: block !important; padding: 12px 0 !important; border-bottom: solid 1px #ddd !important; }
    .add-user-input-page .add-u__form-blocth { padding: 0 0 8px 0 !important; text-align: left !important; font-size: 14px !important; font-weight: bold !important; line-height: 1.4 !important; }
    .add-user-input-page .add-u__form-blocth * { display: inline !important; float: none !important; padding: 0 !important; margin: 0 !important; }
    .add-user-input-page .add-u__form-bloc td { padding: 0 !important; margin-top: 4px !important; }
    
    /* スマホ画面折り返し制御 (Flowレイアウト隙間10px補正) */
    .add-user-input-page .add-u__form-radio-wrapper {
        display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 10px 0 !important; width: 100% !important; padding: 4px 0 !important;
    }
    .add-user-input-page .add-u__form-radio-wrapper * { width: auto !important; max-width: none !important; min-width: 0 !important; }
    .add-user-input-page .add-u__form-radio-wrapper > span,
    .add-user-input-page .add-u__form-radio-wrapper > label { margin: 0 !important; }
    .add-user-input-page .add-u__form-radio-wrapper input { margin: 0 !important; vertical-align: middle !important; }
    .add-user-input-page .add-u__form-radio-wrapper label {
        display: inline-block !important; padding: 0 15px 0 5px !important; margin: 0 !important; white-space: nowrap !important; vertical-align: middle !important; font-size: 14px !important;
    }
}
/*==================================================
  SP：郵便番号＋住所検索ボタンのみ
==================================================*/
@media screen and (max-width:767px){
    .add-user-input-page .add-u__form-radio-wrapper > input[type="text"]{
        flex:1 1 auto !important;
        width:auto !important;
        min-width:0 !important;
    }

    .add-user-input-page .add-u__form-radio-wrapper > .add-u__btn-mini{
        flex:0 0 110px !important;
        width:110px !important;
        min-width:110px !important;
        margin-left:8px !important;
    }
}

/* ==========================================================================
   ★外国籍ページ専用定義
   ========================================================================== */
.add-user-input-page .add-u__form-wrapper.add-type1 { padding: 32px !important; }
.add-user-input-page .add-u__form-bloc { padding: 16px 0 !important; border-bottom: solid 1px #e2e8f0 !important; }
.add-user-input-page .add-u__form-blocth { font-size: 14px !important; padding-bottom: 10px !important; }
.add-user-input-page .necessary { color: #d92b31 !important; margin-left: 4px !important; }
.add-user-input-page .add-u__w-full { background-color: #ffffff !important; border: 1px solid #cbd5e1 !important; border-radius: 4px !important; padding: 8px 12px !important; box-sizing: border-box !important; }

@media screen and (min-width: 768px) {
    .add-intl-visa { max-width: 240px !important; }
    .add-intl-name { max-width: 320px !important; }
    .add-intl-tel { max-width: 200px !important; }
    .add-intl-addr { max-width: 500px !important; }
}
.add-user-input-page .shortZipInputErrorMessage { color: #d92b31 !important; font-weight: bold !important; display: block; margin-top: 6px !important; }

/* ==========================================================================
   ★入力確認画面専用定義（内枠カード型・ミニマル化）
   ========================================================================== */
.add-user-input-page .add-user-confirm-box { background: transparent !important; border: none !important; border-radius: 0 !important; padding: 0 !important; margin-bottom: 24px !important; }
.add-user-input-page .add-u__confirm-hdr {
    display: flex !important;
    justify-content: flex-start !important; 
    align-items: center !important;
    gap: 12px;
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

.add-user-input-page .add-u__confirm-hdr .add-u__confirm-edit-wrap {
    margin-left: auto !important;
}

.add-user-input-page .add-u__confirm-title { font-size: 15px !important; color: #111111 !important; font-weight: bold !important; margin: 0 !important; }

/* 編集ボタン装飾（白背景・通常形式） */
.add-user-input-page .add-u__btn-edit {
    display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 4px 14px !important; font-size: 12px !important; font-weight: 500 !important;
    color: #334155 !important; background-color: #ffffff !important; border: 1px solid #cbd5e1 !important; border-radius: 4px !important; text-decoration: none !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important; transition: all 0.2s ease !important;
}
.add-user-input-page .add-u__btn-edit:hover { background-color: #f8fafc !important; color: #0f172a !important; border-color: #94a3b8 !important; }

/* 内枠テーブルカード化 */
.add-user-input-page .add-user-confirm-box table.add-u__confirm-table {
    display: table !important; width: 100% !important; border-collapse: separate !important; background-color: #ffffff !important; border: 1px solid #e2e8f0 !important; border-radius: 8px !important; padding: 12px 16px !important;
}

@media screen and (min-width: 768px) {
    .add-user-input-page .add-user-confirm-box tr.add-u__confirm-row { display: table-row !important; }
    .add-user-input-page .add-user-confirm-box th.add-u__confirm-th {
        display: table-cell !important; width: 140px !important; max-width: 190px !important; min-width: 140px !important; padding: 5px 8px !important;
        background-color: #ffffff !important; color: #475569 !important; font-weight: bold !important; text-align: left !important; vertical-align: middle !important; border: none !important;
    }
    .add-user-input-page .add-user-confirm-box td.add-u__confirm-td {
        display: table-cell !important; width: auto !important; padding: 5px 12px !important; background-color: #ffffff !important; color: #111111 !important; text-align: left !important; vertical-align: middle !important; border: none !important;
    }
}

@media screen and (max-width: 767px) {
    .add-user-input-page .add-user-confirm-box tr.add-u__confirm-row,
    .add-user-input-page .add-user-confirm-box th.add-u__confirm-th,
    .add-user-input-page .add-user-confirm-box td.add-u__confirm-td {
        display: block !important; width: 100% !important; max-width: 100% !important; min-width: 100% !important; box-sizing: border-box !important; background-color: #ffffff !important;
    }
    .add-user-input-page .add-user-confirm-box th.add-u__confirm-th { padding: 6px 4px 0px 4px !important; font-size: 12px !important; color: #64748b !important; border: none !important; }
    .add-user-input-page .add-user-confirm-box td.add-u__confirm-td { padding: 0px 4px 8px 4px !important; font-size: 14px !important; color: #111111 !important; border: none !important; }
}

/* ==========================================================================
   ★入力確認画面メッセージ表示
   ========================================================================== */
.add-set.add-user-input-page .add-main__wrapper .add-u__message-2,
.add-set.add-user-input-page .add-u__message-2 {
    display: block !important;
    position: relative !important;
    padding: 12px 16px 12px 68px !important;
    text-align: left !important;
    background: #fff1f2 !important;         /* 上品な薄いピンク背景 */
    border: 1px solid #ffe4e6 !important;   /* マイルドなピンクの枠線 */
    border-radius: 8px !important;
    margin-bottom: 20px !important;
    box-sizing: border-box !important;
}

/* 擬似要素による赤色アラートアイコン（○の中に！）自動描画 */
.add-set.add-user-input-page .add-u__message-2::before {
    content: "!" !important;
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 22px !important;
    height: 22px !important;
    border: 2px solid #e11d48 !important;   /* 赤色の丸枠 */
    border-radius: 50% !important;
    color: #e11d48 !important;              /* 中の「！」 */
    font-size: 14px !important;
    font-weight: 900 !important;
    font-family: sans-serif !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.add-set.add-user-input-page .add-u__message-2 p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
    color: #334155 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
}

/* ==========================================================================
   ★【全画面共通】スマホ（SP版）「戻る」「次へ」ボタン100%横幅レスポンシブ制御
   ========================================================================== */
@media screen and (max-width: 767px) {
    .add-set.add-user-input-page .add-u__btn-wrapper.add-rev,
    .add-set.add-user-input-page .add-u__btn-wrapper {
        flex-direction: column-reverse !important; /* 次へが上、戻るが下 */
        width: 100% !important;
        gap: 12px !important;
    }
    .add-set.add-user-input-page .add-u__btn-wrapper .add-u__btn-01,
    .add-set.add-user-input-page .add-u__btn-01 {
        width: 100% !important; max-width: 100% !important; min-width: 100% !important; box-sizing: border-box !important; border-radius: 24px !important;
    }
    .add-set.add-user-input-page .add-u__btn-wrapper .add-u__btn-02,
    .add-set.add-user-input-page .add-u__btn-02 {
        width: 100% !important; max-width: 100% !important; min-width: 100% !important; box-sizing: border-box !important; border-radius: 24px !important;
    }
}

/* ==========================================================================
   ★入力確認画面（UserRegistConfirm）メッセージ表示の強制復活
   ========================================================================== */
.add-set.add-user-input-page .add-main__wrapper .add-u__message-2,
.add-set.add-user-input-page .add-u__message-2 {
    display: block !important;
    padding: 12px !important;
    text-align: center !important;
    background: #f0f0f0 !important;
    border-radius: 8px !important;
    margin-bottom: 24px !important;
}
.add-set.add-user-input-page .add-u__message-2 p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.6 !important;
    color: #334155 !important;
    font-size: 14px !important;
}

/* ==========================================================================
   ★【完全再現】完了・確認画面メッセージ表示（アラートアイコン＆ピンク背景）
   ========================================================================== */
.add-set.add-user-input-page .add-main__wrapper .add-u__message-2,
.add-set.add-user-input-page .add-u__message-2 {
    display: block !important;
    position: relative !important;
    padding: 14px 16px 14px 68px !important;
    text-align: left !important;
    background: #fff1f2 !important;
    border: 1px solid #ffe4e6 !important;
    border-radius: 8px !important;
    margin: 0 auto 24px auto !important;
    max-width: 540px !important; /* PC版で広がりすぎない上品な幅 */
    box-sizing: border-box !important;
}
.add-set.add-user-input-page .add-u__message-2::before {
    content: "!" !important;
    position: absolute !important;
    left: 24px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 22px !important;
    height: 22px !important;
    border: 2px solid #e11d48 !important;
    border-radius: 50% !important;
    color: #e11d48 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    font-family: sans-serif !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.add-set.add-user-input-page .add-u__message-2 p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
    color: #334155 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
}

/* ==========================================================================
   ★【全画面対応】「戻る」「次へ」ボタンの横幅・形状完全最適化
   ========================================================================== */
/* --- PC版（768px以上）の調整：ボタンを縮ませず、ピンクボックスと美しく揃うワイド幅に --- */
@media screen and (min-width: 768px) {
    .add-user-complete-page .add-u__btn-complete-wrap {
        max-width: 540px !important; /* ★上のピンクボックスと幅をぴったり合わせる */
        width: 100% !important;
        margin: 0 auto !important;
    }
    .add-set.add-user-input-page .add-u__btn-wrapper .add-u__btn-02,
    .add-user-complete-page .add-u__btn-02 {
        width: 100% !important;
        max-width: 100% !important; /* 縮み制限を完全解除 */
        height: 54px !important;   /* PCで映える少しリッチな高さ */
        font-size: 16px !important;
        border-radius: 27px !important; /* 綺麗な楕円を維持 */
    }
}

/* --- スマホ版（767px以下）の調整：縦並び100%幅に完全フラット化 --- */
@media screen and (max-width: 767px) {
    .add-set.add-user-input-page .add-u__btn-wrapper.add-rev,
    .add-set.add-user-input-page .add-u__btn-wrapper {
        flex-direction: column-reverse !important;
        width: 100% !important;
        gap: 12px !important;
    }
    .add-set.add-user-input-page .add-u__btn-wrapper .add-u__btn-01,
    .add-set.add-user-input-page .add-u__btn-01 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        box-sizing: border-box !important;
        border-radius: 24px !important;
    }
    .add-set.add-user-input-page .add-u__btn-wrapper .add-u__btn-02,
    .add-set.add-user-input-page .add-u__btn-02 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        box-sizing: border-box !important;
        border-radius: 24px !important;
    }
    .add-user-complete-page .add-u__message-2 {
        padding: 12px 12px 12px 48px !important;
    }
    .add-user-complete-page .add-u__message-2::before {
        left: 14px !important;
    }
}

/* ==========================================================================
   ログイン画面（Login.aspx）
   ========================================================================== */

/* 1. ログイン画面全体のコンテナ制限（中央寄せ） */
.add-set .add-user-login-page-container {
    max-width: 580px !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
}

/* 2. 中央のホワイトカード：背景白・美しい角丸・上品な極薄の影 */
.add-set .add-login-white-card {
    background-color: #ffffff !important; /* 枠の中の背景は完全な「白」 */
    border-radius: 8px !important;         /* 綺麗な角丸 */
    padding: 40px 48px !important;         /* PC版のゆったりとした内側余白 */
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important; /* 浮き上がるような上品な影 */
    margin: 24px auto 40px auto !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

/* 「ログイン」大見出し（黒・太字） */
.add-set .add-login-white-card h3 {
    font-size: 24px !important;
    font-weight: bold !important;
    color: #000000 !important;
    margin: 0 0 12px 0 !important;
    text-align: center !important;
}

/* サブテキスト文言 */
.add-set .add-login-white-card .add-login-subtext {
    font-size: 13.5px !important;
    color: #4b5563 !important;
    line-height: 1.5 !important;
    margin: 0 0 28px 0 !important;
    text-align: center !important;
}

/* 3. 各入力フィールド（メールアドレス／パスワード）のブロック */
.add-set .add-login-fields {
    text-align: left !important;
    margin-bottom: 20px !important;
    width: 100% !important;
}

/* 項目タイトル（メールアドレス・パスワード） */
.add-set .add-login-fields .label-title {
    display: block !important;
    font-size: 14px !important;
    font-weight: bold !important;
    color: #374151 !important;
    margin-bottom: 8px !important;
}

/* 入力ボックスの100%フルサイズ化 ＆ 線のライトグレー化 */
.add-set .add-login-fields input[type="text"],
.add-set .add-login-fields input[type="email"],
.add-set .add-login-fields input[type="text"],
.add-set .add-login-fields input[type="password"] {
    width: 100% !important;
    max-width: 100% !important;
    height: 46px !important;              /* 窮屈感のないスマートな高さ */
    background: #ffffff !important;
    border: 1px solid #d1d5db !important; /* 薄いグレーの線 */
    border-radius: 6px !important;         /* ほんのり丸みを帯びた角 */
    padding: 0 14px !important;
    font-size: 14px !important;
    color: #1f2937 !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
}

/* 入力欄にカーソルが当たった時（フォーカス時）のKEIAIレッド線変化 */
.add-set .add-login-fields input:focus {
    border-color: #E82E34 !important;
    outline: none !important;
}

/* 4. システムエラーメッセージ（W2標準出力）の赤色調整・UX最適化 */
.add-set .add-login-white-card .fred {
    color: #d92b31 !important;            /* 上質で品のあるKEIAIレッド */
    font-size: 13px !important;
    font-weight: bold !important;
    text-align: left !important;
    display: block !important;
    margin: 4px 0 16px 0 !important;       /* 周辺パーツとの適切な余白 */
    line-height: 1.5 !important;
    letter-spacing: 0.02em !important;
}

/* 5. ログインIDを記憶するエリア（デザイン赤化同期） */
.add-set .add-login-remember-wrap {
    text-align: left !important;
    background: transparent !important;
    padding: 4px 0 !important;
    margin-bottom: 28px !important;
}
/* チェックボックス本体を登録フローの赤化カスタムと完全同期 */
.add-set .add-login-remember-wrap input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    position: relative !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #cbd5e1 !important; /* 落ち着いたライトグレー枠 */
    background: #ffffff !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    vertical-align: middle !important;
    transition: all 0.2s ease !important;
}
/* チェックボックスのホバー制御 */
.add-set .add-login-remember-wrap input[type="checkbox"]:hover {
    border-color: #E82E34 !important;
}
/* チェックが入った状態（KEIAIレッド） */
.add-set .add-login-remember-wrap input[type="checkbox"]:checked {
    border-color: #E82E34 !important;
    background-color: #E82E34 !important;
}
/* チェック時の内側の白いレ点マークを精密描写 */
.add-set .add-login-remember-wrap input[type="checkbox"]:checked:before {
    position: absolute !important;
    top: 1px !important;
    left: 4px !important;
    width: 4px !important;
    height: 8px !important;
    content: "" !important;
    transform: rotate(45deg) !important;
    border-right: 2px solid #ffffff !important;
    border-bottom: 2px solid #ffffff !important;
    background: none !important;
}
/* ラベル文字 */
.add-set .add-login-remember-wrap label {
    font-size: 14px !important;
    color: #374151 !important;
    font-weight: bold !important;
    vertical-align: middle !important;
    cursor: pointer !important;
    padding-left: 6px !important;
}
/* 注釈：（共有パソコンの場合は〜） */
.add-set .add-login-remember-wrap .add-remember-note {
    font-size: 12.5px !important;
    color: #6b7280 !important;
    margin: 6px 0 0 26px !important;       /* チェックボックスの右側に綺麗に整列 */
    line-height: 1.4 !important;
}

/* 6. ★ログインボタン：共通ボタンを赤化（KEIAIレッド）＆横幅100%化 */
.add-set .add-login-btn-container {
    width: 100% !important;
    margin-bottom: 24px !important;
}
.add-set .add-login-btn-container .add-u__btn-02 {
    width: 100% !important;               /* ホワイトカードの横幅にジャストフィット */
    max-width: 100% !important;
    height: 50px !important;              /* クリックしやすいリッチな縦幅 */
    font-size: 15px !important;
    font-weight: bold !important;
    border-radius: 25px !important;        /* 美しい長楕円形 */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #E82E34 !important; /* 背景を鮮やかな赤に */
    border: 1px solid #E82E34 !important; /* 枠線も同じ赤に */
    color: #ffffff !important;            /* 文字は完全な白 */
    transition: background-color 0.2s ease, opacity 0.2s ease !important;
}
/* ログインボタンのホバー（マウスが乗った時） */
.add-set .add-login-btn-container .add-u__btn-02:hover {
    background-color: #cc2429 !important;
    border-color: #cc2429 !important;
    color: #ffffff !important;
    opacity: 0.9 !important;
}

/* 7. パスワードを忘れた方はこちら リンク */
.add-set .add-login-forgot-link-wrap {
    text-align: center !important;
    margin-top: 8px !important;
}
.add-set .add-login-forgot-link-wrap .add-u__link-ul {
    font-size: 14px !important;
    color: #111111 !important;
    font-weight: bold !important;
    text-decoration: underline !important; /* スッキリとした下線 */
}

/* ==========================================================================
   ★【登録フロー・ログイン共通】パスワード表示切り替え（目のアイコン）配置定義
   ========================================================================== */
/* アイコンを重ねるための親ラッパー */
.add-set .add-password-toggle-wrapper {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    clear: both !important;
}

/* 目のアイコンボタン：インプット枠の右端（内側）に絶対配置 */
.add-set .add-password-toggle-btn {
    position: absolute !important;
    right: 10px !important;                /* ★1Password等のツール干渉を防ぐため外側に微調整 */
    top: 50% !important;
    transform: translateY(-50%) !important; /* 上下中央に精密固定 */
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    width: 22px !important;
    height: 22px !important;
    cursor: pointer !important;
    color: #9ca3af !important;             /* 初期状態の上品なライトグレー */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10 !important;
    outline: none !important;
    transition: color 0.2s ease !important;
}
.add-set .add-password-toggle-btn:hover {
    color: #4b5563 !important;
}
.add-set .add-password-toggle-btn svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
}

/* 「表示中」のアクティブ状態はKEIAIレッドに点灯 */
.add-set .add-password-toggle-btn.is-visible {
    color: #E82E34 !important;
}

/* ★UX最重要：入力文字・ブラウザアイコン・目のボタンの重なりを防ぐ余白ガード */
.add-set .add-u__form-wrapper .add-password-toggle-wrapper input[type="password"],
.add-set .add-u__form-wrapper .add-password-toggle-wrapper input[type="text"],
.add-set .add-login-fields .add-password-toggle-wrapper input[type="password"],
.add-set .add-login-fields .add-password-toggle-wrapper input[type="text"] {
    padding-right: 48px !important;        /* ★文字がアイコンの下に潜り込むのを防ぐため44pxから48pxへ拡張 */
}

/* ==========================================================================
   ▼ スマホ版（767px以下）：レスポンシブ一括最適化
   ========================================================================== */
@media screen and (max-width: 767px) {
    /* カード全体の縮小 */
    .add-set .add-login-white-card {
        padding: 32px 16px !important;    /* スマホ画面に合わせて内側余白をタイトに縮小 */
        margin-top: 16px !important;
    }
    .add-set .add-login-white-card h3 {
        font-size: 20px !important;       /* スマホ用見出しサイズ */
    }
    /* 記憶注釈マージン */
    .add-set .add-login-remember-wrap .add-remember-note {
        margin-left: 24px !important;
        font-size: 12px !important;
    }
    /* 目のボタン寄せ */
    .add-set .add-password-toggle-btn {
        right: 8px !important;
    }
    .add-set .add-u__form-wrapper .add-password-toggle-wrapper input,
    .add-set .add-login-fields .add-password-toggle-wrapper input {
        padding-right: 42px !important;
    }
}

/* ==========================================================================
   パスワード再発行画面
   ========================================================================== */

/* 1. 上部インフォメーション：薄グレー枠、白背景、左アイコン */
.add-set .add-u__message-info-top {
    display: flex !important;
    align-items: center !important;
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    padding: 16px 24px !important;
    margin-bottom: 24px !important;
    text-align: left !important;
    box-sizing: border-box !important;
}
/* 案内用の丸型（i）マーク */
.add-set .add-u__message-info-top .add-u__info-icon-circle {
    width: 20px !important;
    height: 20px !important;
    border: 1.5px solid #d92b31 !important; /* 品のある赤枠 */
    border-radius: 50% !important;
    color: #d92b31 !important;
    font-size: 12px !important;
    font-weight: bold !important;
    font-family: serif !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 14px !important;
    flex-shrink: 0 !important;
}
.add-set .add-u__message-info-top p {
    font-size: 13.5px !important;
    color: #374151 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* 2. 中間の「または」区切り線 */
.add-set .add-u__divider-line {
    position: relative !important;
    text-align: center !important;
    margin: 24px 0 !important;
    width: 100% !important;
}
.add-set .add-u__divider-line::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    right: 0 !important;
    height: 1px !important;
    background-color: #e5e7eb !important;
    z-index: 1 !important;
}
.add-set .add-u__divider-line span {
    position: relative !important;
    z-index: 2 !important;
    background-color: #ffffff !important; /* カードの白背景と同期 */
    padding: 0 16px !important;
    color: #6b7280 !important;
    font-size: 13px !important;
}

/* 3. ログインページに戻る 矢印付きリンク */
.add-set .add-u__complete-container .add-u__link-back-login,
.add-set .add-login-white-card .add-u__link-back-login {
    font-size: 14px !important;
    color: #111111 !important;
    font-weight: bold !important;
    text-decoration: underline !important;
    position: relative !important;
    display: inline-inline-block !important;
}
/* 擬似要素で右側のシャープな矢印（ ＞ ）を再現 */
.add-set .add-u__link-back-login::after {
    content: ">" !important;
    font-family: monospace !important;
    font-size: 11px !important;
    margin-left: 8px !important;
    display: inline-block !important;
    text-decoration: none !important;
}

/* 4. 下部ヘルプボックス：薄ピンク背景、角丸、？アイコン付き */
.add-set .add-u__message-help-bottom {
    display: block !important;
    position: relative !important;
    padding: 14px 16px 14px 56px !important; /* 左側にアイコン用スペース */
    text-align: left !important;
    background: #fff1f2 !important;         /* マイルドな薄ピンク背景 */
    border: 1px solid #ffe4e6 !important;   /* 薄ピンクの細枠線 */
    border-radius: 8px !important;
    margin: 32px auto 0 auto !important;
    box-sizing: border-box !important;
}
/* クエスチョン（？）マークの自動生成 */
.add-set .add-u__message-help-bottom::before {
    content: "?" !important;
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 22px !important;
    height: 22px !important;
    border: 2px solid #e11d48 !important;   /* 赤色の丸い外枠 */
    border-radius: 50% !important;
    color: #e11d48 !important;              /* 中の「？」 */
    font-size: 13px !important;
    font-weight: 900 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.add-set .add-u__message-help-bottom p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.6 !important;
    color: #334155 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* --------------------------------------------------------------------------
   ▼ スマホ版（767px以下）：リマインダー画面のレスポンシブ補正
   -------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
    .add-set .add-u__message-info-top {
        padding: 12px 16px !important;
    }
    .add-set .add-u__message-info-top .add-u__info-icon-circle {
        margin-right: 10px !important;
    }
    .add-set .add-u__message-info-top p {
        font-size: 12.5px !important;
    }
    .add-set .add-u__message-help-bottom {
        padding: 12px 12px 12px 48px !important;
    }
    .add-set .add-u__message-help-bottom::before {
        left: 12px !important;
    }
    .add-set .add-u__message-help-bottom p {
        font-size: 12px !important;
    }
}

/* --------------------------------------------------------------------------
   ✓ 完了メッセージ用アイコン
   -------------------------------------------------------------------------- */
.add-u__info-icon-check {
    width: 20px;
    height: 20px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;

    border: 1.5px solid #22C55E;
    border-radius: 50%;

    color: #22C55E;
    background: #ffffff;

    font-size: 13px;
    font-weight: 700;
    line-height: 1;

    margin-right: 14px;
    box-sizing: border-box;

    /* Windows・Macで表示が安定 */
    font-family: "Segoe UI Symbol",
                 "Arial Unicode MS",
                 "Noto Sans JP",
                 sans-serif;
}

.add-set .add-login-white-card .dvContentsInfo {
    text-align: left;
}

.add-set .add-login-white-card .dvContentsInfo ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.add-set .add-login-white-card .dvContentsInfo ul li {
    position: relative;
    padding-left: 1.2em;
    font-size: 13px;
    line-height: 1.7;
}

.add-set .add-login-white-card .dvContentsInfo ul li::before {
    content: "・";
    position: absolute;
    left: 0;
}

/* --------------------------------------------------------------------------
   ▼ スマホ版（767px以下）：レスポンシブ調整
   -------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {

    .add-user-login-page-container .add-u__message-info-top {
        padding: 12px 16px;
        margin-bottom: 16px;
    }

    .add-user-login-page-container .add-u__message-info-top .add-u__info-icon-circle {
        margin-right: 10px;
    }

    .add-user-login-page-container .add-u__message-info-top p {
        font-size: 13px;
        line-height: 1.6;
    }

    .add-set .add-login-white-card .dvContentsInfo {
        padding: 14px 16px;
        text-align: left;
    }

    .add-set .add-login-white-card .dvContentsInfo .add-u__info-icon-circle {
        position: static;
        margin: 0 auto 16px;
    }

    .add-set .add-login-white-card .dvContentsInfo ul li {
        font-size: 12px;
        line-height: 1.7;
    }
}

/* ==========================================================================
   パスワード変更入力
   ========================================================================== */

/* 1. ログインID等の非入力スタティックテキスト表示枠 */
.add-set .add-login-white-card .add-login-fields.static-field {
    margin-bottom: 20px !important;
}
.add-set .add-login-white-card .add-u__static-text {
    width: 100% !important;
    padding: 12px 16px !important;
    background-color: #F8FAFC !important;
    border: 1px solid #CBD5E1 !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    color: #334155 !important;
    font-weight: 600 !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

/* 2. 入力フィールド内のテキスト補足（例：ハイフン不要） */
.add-set .add-u__input-with-note {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    gap: 10px !important;
}
.add-set .add-u__field-note {
    font-size: 12px !important;
    color: #64748b !important;
    white-space: nowrap !important;
}
.add-set .add-u__field-note-bottom {
    display: block !important;
    font-size: 11px !important;
    color: #64748b !important;
    margin-top: 4px !important;
    text-align: left !important;
    line-height: 1.4 !important;
}

/* 3. パスワード表示ボタンのインプット内配置 */
.add-set .password-field-wrap .add-u__input-with-toggle {
    position: relative !important;
    width: 100% !important;
}
.add-set .password-field-wrap .add-u__input-with-toggle input {
    padding-right: 46px !important; /* 目玉アイコン分のスペースを確保 */
}
.add-set .password-field-wrap .add-password-toggle-btn {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 22px !important;
    height: 22px !important;
    color: #94a3b8 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.add-set .password-field-wrap .add-password-toggle-btn svg {
    width: 20px !important;
    height: 20px !important;
    transition: color 0.2s !important;
}
.add-set .password-field-wrap .add-password-toggle-btn.is-visible {
    color: #E82E34 !important; /* 表示中の時はブランドカラーの赤に点灯 */
}

/* 電話番号・生年月日のインプット幅を100%に引き伸ばして他と統一 */
.add-set .add-u__input-with-note input {
    width: 100% !important;
    max-width: 100% !important;
}

/* ==========================================================================
   共通入力フォーム
   ========================================================================== */
.add-set .loginId {
    display: block !important;
    width: 100% !important;
    padding: 12px 16px !important;
    border: 1px solid #CBD5E1 !important;
    border-radius: 6px !important;
    background-color: #FFFFFF !important;
    font-size: 14px !important;
    color: #334155 !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.add-set .loginId:focus {
    border-color: #E82E34 !important;
    box-shadow: 0 0 0 3px rgba(232,46,52,.15) !important;
    outline: none !important;
}

.add-set .loginId::placeholder {
    color: #94A3B8 !important;
}

/* --------------------------------------------------------------------------
   ▼ スマホ版（767px以下）：レスポンシブ時の横並び補正
   -------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
    .add-set .add-u__input-with-note {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
    }
    .add-set .add-u__field-note {
        margin-left: 2px !important;
        margin-bottom: 8px !important;
    }
}

/* ==========================================================================
   会員詳細 ヘッダー
   ========================================================================== */
.add-user-input-page .add-u__page-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    width:100%;
    margin-bottom:32px;
}

.add-user-input-page .add-u__page-header .add-title__page{
    margin:0 !important;
    padding:0 !important;
    flex:1;
    width:auto;
    color:#EF4444;
    font-size:32px;
    font-weight:700;
    line-height:1.2;
}

.add-u__confirm-icon{
    border-radius:50%;
    background:#FFF2F2;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#EF4444;
    flex-shrink:0;
}

.add-u__confirm-icon svg{
    stroke:currentColor;
    fill:none;
}

/* ==========================================================================
   上部ボタン
   ========================================================================== */
.add-u__page-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:16px;
    flex-shrink:0;
}

.add-u__page-actions .btn{
    width:190px;
    min-width:190px;
    height:48px;
    padding:0 20px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    font-size:14px;
    font-weight:700;
}

/* 編集ボタン（赤） */
.add-u__page-actions .btn--primary{
    background:#EF4444 !important;
    border:1px solid #EF4444 !important;
    color:#fff !important;
}

.add-u__page-actions .btn--primary:hover{
    background:#D92D2D !important;
    border-color:#D92D2D !important;
}

/* メールアドレス変更 */

.add-u__page-actions .btn--secondary{
    background:#fff;
    border:1px solid #DDD;
    color:#222;
}

.add-u__page-actions .btn--secondary:hover{
    background:#FAFAFA;
}

/* ==========================================================================
   下部ボタン
   ========================================================================== */
.add-u__btn-confirm-wrapper{
    display:flex;
    justify-content:center;
    gap:20px;
    margin-top:40px;
}

.add-u__btn-confirm-wrapper .btn{
    width:260px;
}

.add-u__btn-confirm-wrapper .btn--primary{
    background:#EF4444 !important;
    border-color:#EF4444 !important;
    color:#fff !important;
}

.add-u__btn-confirm-wrapper .btn--primary:hover{
    background:#D92D2D !important;
}

/* ==========================================================================
   スマホ
   ========================================================================== */
@media screen and (max-width:768px){

    .add-user-input-page .add-u__page-header{
        display:block;
        margin-bottom:28px;
    }

    .add-user-input-page .add-u__page-header .add-title__page{
        margin-bottom:24px !important;
    }

    .add-u__page-actions{
        display:flex;
        flex-direction:column;
        gap:16px;
        width:100%;
    }

    .add-u__page-actions .btn{
        width:100%;
        min-width:100%;
    }
}

/* ==========================================================================
   メールアドレス変更
   ========================================================================== */
/* 説明文 */
.add-set .add-u__description{
    margin:0 0 32px !important;
    color:#475569 !important;
    font-size:14px !important;
    line-height:1.8 !important;
    text-align:left !important;
}

/* アイコン */
.add-set .add-u__confirm-icon{
    color:#EF4444;
    margin-bottom:16px;
}

/* ==========================================================================
   入力エリア
   ========================================================================== */
/* ★既存display:flexを解除 */
.add-set .user-modify-mail-send__field{
    display:block !important;
    width:100% !important;
    margin-bottom:20px !important;
    text-align:left !important;
}

/* ラベル */
.add-set .user-modify-mail-send__label{
    display:block !important;
    width:30%;
    margin-bottom:8px !important;
    color:#1E293B !important;
    font-size:14px !important;
    font-weight:700 !important;
    text-align:left !important;
}

/* 必須 */
.add-set .user-modify-mail-send__label .necessary{
    color:#EF4444 !important;
    margin-left:4px;
}

/* ==========================================================================
   入力ボックス
   ========================================================================== */
.add-set .user-modify-mail-send__input{
    display:block !important;
    width:100% !important;
    height:50px !important;
    padding:0 16px !important;
    border:1px solid #CBD5E1 !important;
    border-radius:8px !important;
    background:#FFF !important;
    box-sizing:border-box !important;
    font-size:15px !important;
    color:#0F172A !important;
    transition:.2s ease !important;
}

.add-set .user-modify-mail-send__input::placeholder{
    color:#94A3B8;
}

.add-set .user-modify-mail-send__input:focus{
    border-color:#EF4444 !important;
    box-shadow:0 0 0 4px rgba(239,68,68,.12) !important;
    outline:none !important;
}

/* ==========================================================================
   エラー
   ========================================================================== */
.add-set .add-u__error{
    display:block !important;
    clear:both;
    width:100% !important;
    margin-top:8px !important;
    color:#EF4444 !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.6 !important;
    text-align:left !important;
}

.add-set .add-u__error span{
    display:block !important;
}

/* ==========================================================================
   ボタン
   ========================================================================== */
.add-set .add-u__btn-confirm-wrapper{
    margin-top:32px !important;
    width:100%;
}

/* ==========================================================================
   スマホ
   ========================================================================== */
@media screen and (max-width:767px){

    .add-set .add-u__description{
        margin-bottom:24px !important;
        font-size:13px !important;
        line-height:1.7 !important;
    }

    .add-set .user-modify-mail-send__field{
        display:block !important;
        margin-bottom:18px !important;
    }

    .add-set .user-modify-mail-send__label{
        width:100% !important;
        margin-bottom:10px !important;
        font-size:13px !important;
    }

    .add-set .user-modify-mail-send__input{
        height:46px !important;
        padding:0 14px !important;
        font-size:14px !important;
    }

    .add-set .add-u__btn-confirm-wrapper{
        margin-top:28px !important;
    }

}

/* ==========================================================================
   会員情報編集（UserModifyInput）
   ========================================================================== */
/* カンプ上部説明テキスト */
.add-set .add-u__description-top {
    font-size: 14px !important;
    color: #334155 !important;
    text-align: left !important;
    line-height: 1.7 !important;
    margin-bottom: 28px !important;
}

/* 進捗バー（ステップバー）デザイン */
.add-set .add-u__step-bar-container {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 40px;
    gap: 8px;
}
.add-set .add-u__step-bar-container .step-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #94a3b8;
    font-size: 14px;
    font-weight: bold;
}
.add-set .add-u__step-bar-container .step-item.is-current {
    color: #E82E34; /* 進捗バーの現在地を赤に */
}
.add-set .add-u__step-bar-container .step-num {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #cbd5e1;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}
.add-set .add-u__step-bar-container .step-item.is-current .step-num {
    background-color: #E82E34; /* 進捗バーの現在地丸数字を赤に */
}
.add-set .add-u__step-bar-container .step-arrow::after {
    content: ">";
    color: #cbd5e1;
    font-family: monospace;
    font-size: 18px;
    margin: 0 10px;
}

/* カード共通基本構造 */
.add-set .user-modify-card-section {
    padding: 0 !important;
    margin-bottom: 24px !important;
    background-color: #ffffff !important;
    border: 1px solid #f1f5f9 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02) !important;
    overflow: hidden !important;
}

/* カード上部の見出しヘッダーバー */
.add-set .user-modify-card-section .add-u__card-hdr {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 20px 24px !important;
    background-color: #ffffff !important;
    border-bottom: 1px solid #f8fafc !important;
}
.add-set .user-modify-card-section .add-u__card-hdr h3 {
    font-size: 16px !important;
    font-weight: bold !important;
    color: #111111 !important;
    margin: 0 !important;
}

/* 丸型アイコン自体のサイズとカラーを「赤（#E82E34）」で統一 */
.add-set .add-u__card-icon-wrap {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    background-color: #fff1f2 !important; /* 全カード一律で極薄の赤背景 */
    color: #E82E34 !important;            /* 全カード一律でKEIAIレッドのアイコンに変更 */
}

/* アイコンSVGマークを上品なサイズ（16px）に縮小制限 */
.add-set .add-u__card-icon-wrap svg {
    width: 16px !important;
    height: 16px !important;
}

/* カードの内部フォームエリア */
.add-set .user-modify-card-section .add-u__card-body {
    padding: 24px 32px !important;
    background-color: #ffffff !important;
}

/* PC版の2軸配置 */
.add-set .user-modify-card-section .add-login-fields.pc-flex-align {
    display: flex !important;
    align-items: flex-start !important;
    width: 100% !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid #f8fafc !important;
    margin-bottom: 0 !important;
}
.add-set .user-modify-card-section .add-login-fields.pc-flex-align:last-child {
    border-bottom: none !important;
}

/* 左側：項目名＋必須バッジエリア */
.add-set .user-modify-card-section .add-u__label-area {
    width: 240px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding-top: 12px !important;
    box-sizing: border-box !important;
}
.add-set .user-modify-card-section .add-u__label-area .label-title {
    font-size: 14px !important;
    font-weight: bold !important;
    color: #1e293b !important;
    margin: 0 !important;
}

/* 「必須」バッジ装飾 */
.add-set .user-modify-card-section .add-u__badge-required {
    background-color: #ffe4e6 !important;
    color: #E82E34 !important; /* バッジの文字もKEIAIレッド */
    font-size: 11px !important;
    font-weight: bold !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    line-height: 1.2 !important;
    flex-shrink: 0 !important;
}

/* 右側コンポーネントラッパー */
.add-set .user-modify-card-section .add-u__input-split-row,
.add-set .user-modify-card-section .add-u__input-with-right-btn-group,
.add-set .user-modify-card-section .add-u__input-wrapper-with-note,
.add-set .user-modify-card-section .add-u__input-with-toggle,
.add-set .user-modify-card-section .add-u__birth-select-row,
.add-set .user-modify-card-section .add-u__radio-list-container,
.add-set .user-modify-card-section .select-box-width-adjust,
.add-set .user-modify-card-section .add-u__address-inputs-vertical-stack {
    flex-grow: 1 !important;
    max-width: 460px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 入力ボックス・ドロップダウンの基本装飾 */
.add-set .user-modify-card-section input[type="text"],
.add-set .user-modify-card-section input[type="tel"],
.add-set .user-modify-card-section input[type="email"],
.add-set .user-modify-card-section input[type="password"],
.add-set .user-modify-card-section select,
.add-set .user-modify-card-section .add-u__static-text {
    width: 100% !important;
    height: 46px !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    color: #1e293b !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
}
.add-set .user-modify-card-section input:focus,
.add-set .user-modify-card-section select:focus {
    border-color: #E82E34 !important; /* フォーカス時の線を赤に */
    outline: none !important;
}

/* 編集不要（固定ロック表示）テキスト枠 */
.add-set .user-modify-card-section .add-u__static-text.style-locked-field {
    background-color: #f8fafc !important; /* 上品な薄いロックグレー */
    border: 1px solid #cbd5e1 !important;
    line-height: 44px !important;
    color: #64748b !important;
    font-weight: normal !important;
    cursor: not-allowed;
}

/* 「姓」「名」の分割テキスト */
.add-set .user-modify-card-section .add-u__input-split-row {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.add-set .user-modify-card-section .add-u__input-split-row .split-sub-label {
    font-size: 13px !important;
    color: #475569 !important;
    flex-shrink: 0 !important;
}

/* 携帯電話・郵便番号用の「入力欄 ＋ 右ボタン」配置構造 */
.add-set .user-modify-card-section .add-u__input-with-right-btn-group {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* 携帯電話番号欄の説明 */
.add-u__input-area{
    flex:1;
    display:flex;
    flex-direction:column;
}
.add-u__sms-note{
    margin-top:6px;
    font-size:13px;
    color:#666;
    line-height:1.6;
}

/* インラインアクションボタン（住所検索・認証コード取得）を「KEIAIレッド（赤枠・赤文字）」に一元統一 */
.add-set .user-modify-card-section .add-u__inline-action-btn-gray {
    height: 44px !important;
    padding: 0 16px !important;
    background-color: #ffffff !important;
    border: 1px solid #E82E34 !important; /* グレーの線をKEIAIレッドに変更 */
    border-radius: 6px !important;
    color: #E82E34 !important;            /* 文字色もKEIAIレッドに変更 */
    font-size: 13px !important;
    font-weight: bold !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
}
.add-set .user-modify-card-section .add-u__inline-action-btn-gray:hover {
    background-color: #fff1f2 !important; /* ホバー時はほんのり薄赤に */
    opacity: 0.9 !important;
}

/* 認証コード下部の注釈テキスト */
.add-set .user-modify-card-section .add-u__field-note-bottom {
    display: block !important;
    font-size: 12px !important;
    color: #64748b !important;
    margin-top: 6px !important;
    text-align: left !important;
}

/* パスワード内の目玉配置 */
.add-set .user-modify-card-section .add-u__input-with-toggle {
    position: relative !important;
}
.add-set .user-modify-card-section .add-u__input-with-toggle input {
    padding-right: 44px !important;
}
.add-set .user-modify-card-section .add-password-toggle-btn {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    color: #94a3b8 !important;
    cursor: pointer !important;
}
.add-set .user-modify-card-section .add-password-toggle-btn svg { width: 20px !important; height: 20px !important; }
.add-set .user-modify-card-section .add-password-toggle-btn.is-visible { color: #E82E34 !important; }


/* ==========================================================================
   🔴【全画面一律バグ修正】ラジオボタンリスト＆チェックボックスの「赤色化」と正円化
   ========================================================================== */
/* custom.cssの強制黒丸(::before)要素を最優先で打ち消し、中の選択丸も完全にKEIAIレッドに変更 */
.add-set .user-modify-card-section input[type="radio"]:checked::before,
.add-set .user-modify-card-section .add-u__form-radio-wrapper input[type="radio"]:checked::before,
input[type="radio"]:checked::before {
    background: #E82E34 !important; /* custom.cssの#333を撃退して美しい赤丸にします */
}

/* ラジオボタンコンテナ */
.add-set .user-modify-card-section .add-u__radio-list-container {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
}

.add-set .user-modify-card-section .add-u__form-radio-wrapper{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    column-gap:18px !important;
    row-gap:10px !important;
    width:100% !important;
}

.add-set .user-modify-card-section .add-u__form-radio-wrapper span{
    display:inline-flex !important;
    align-items:center !important;
    margin-right:8px !important;
}

/* すべてのラジオボタンの潰れ（楕円バグ）を根絶し、外枠も赤に変更 */
.add-set .user-modify-card-section .add-u__form-radio-wrapper input[type="radio"],
.add-set .user-modify-card-section input[type="radio"],
input[type="radio"] {
    appearance: auto !important;
    -webkit-appearance: radio !important;
    accent-color: #E82E34 !important; /* ラジオボタンの選択・外枠色を赤に変更 */
    width: 18px !important;            /* 縦横18pxで正円を完全固定 */
    height: 18px !important;
    flex-shrink: 0 !important;         /* 親のFlexbox等に圧縮されて歪むのを100%ブロック */
    margin: 0 6px 0 0 !important;      /* ラベルテキストとの距離感 */
    cursor: pointer !important;
    vertical-align: middle !important;
    position: relative !important;     /* custom.cssの疑似要素配置基準を崩さないよう指定 */
}

/* ラジオボタンの隣のテキストラベル */
.add-set .user-modify-card-section .add-u__form-radio-wrapper label {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 14px !important;
    color: #1e293b !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    margin: 0 !important;
    white-space: nowrap !important;    /* 「その他（自由記入）」が途中で変な改行になるのをガード */
    vertical-align: middle !important;
}

/* ☑️ 【custom.css黒枠強制上書き】個人情報二次利用の同意（チェックボックス単体）の赤色化 */
.add-set .user-modify-card-section .add-u__checkbox-single-wrap {
    display: flex !important;
    align-items: center !important;
    height: 46px !important;
}

/* custom.css の appearance: none と独自の黒枠線を強制的に無効化する最優先命令 */
.add-set .user-modify-card-section .add-u__checkbox-single-wrap input[type="checkbox"],
.add-set .user-modify-card-section input[type="checkbox"],
input[type="checkbox"] {
    appearance: auto !important;             /* ブラウザ標準のコンポーネント挙動を再起動 */
    -webkit-appearance: checkbox !important; 
    -moz-appearance: checkbox !important;
    accent-color: #E82E34 !important;        /* 🟥 チェック時の背景とレ点をKEIAIレッドに完全固定 */
    border: none !important;                 /* custom.cssが強制描画していた黒い外枠線を完全消去 */
    background: transparent !important;      /* custom.cssの余計な背景塗りをリセット */
    width: 18px !important;                  /* サイズを一元固定 */
    height: 18px !important;
    flex-shrink: 0 !important;
    margin: 0 8px 0 0 !important;
    cursor: pointer !important;
    position: relative !important;
}

/* 保険対策：もしcustom.css側がレ点自体を擬似要素で生成していた場合も赤色へ同期 */
.add-set .user-modify-card-section input[type="checkbox"]:checked::after,
input[type="checkbox"]:checked::after {
    border-color: #E82E34 !important;
    background-color: #E82E34 !important;
}

.add-set .user-modify-card-section .add-u__checkbox-single-wrap label {
    font-size: 14px !important;
    color: #1e293b !important;
    font-weight: bold !important;
    cursor: pointer;
    margin: 0 !important;
    display: inline-block !important;
    vertical-align: middle !important;
}


/* ==========================================================================
   ★最下部アクションボタン（カンプ完全同期デザイン）
   ========================================================================== */
.add-set .dvUserBtnBox__actions {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
}

/* 🔙 左側：「戻る」ボタン（カンプ通りの白背景・黒枠・黒文字・丸型化） */
.add-set .add-u__btn-01 {
    width: 100% !important;
    max-width: 240px !important;
    min-width:200px !important;
    height: 50px !important;
    background-color: #ffffff !important;
    border: 1px solid #111111 !important;
    color: #111111 !important;
    border-radius: 25px !important;
    font-weight: bold !important;
    font-size: 15px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: background-color 0.2s;
}
.add-set .add-u__btn-01:hover {
    background-color: #f8fafc !important;
}

/* 🔴 右側：「確認画面へ進む」ボタン（黒からブランドカラーの「赤」に強制上書き変更） */
.add-set .add-u__btn-02-black {
    width: 100% !important;
    max-width: 280px !important;
    height: 50px !important;
    background-color: #E82E34 !important; /* 赤に変更 */
    border: 1px solid #E82E34 !important;
    color: #ffffff !important;
    border-radius: 25px !important;
    font-weight: bold !important;
    font-size: 15px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: opacity 0.2s;
}
.add-set .add-u__btn-02-black:hover {
    opacity: 0.85 !important;
}

/* 住所縦並びスタック */
.add-set .user-modify-card-section .add-u__address-inputs-vertical-stack {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

/* ドロップダウン矢印 */
.add-set .user-modify-card-section select {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 16px !important;
    padding-right: 40px !important;
}

/* 連名契約者ブロック */
.add-set .add-u__contractor-sub-block {
    border-bottom: 1px dashed #e2e8f0 !important;
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
}
.add-set .add-u__contractor-sub-block:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* ----------------==========================================================
   ▼ スマホ版（767px以下）：レスポンシブ
   ----------------========================================================== */
@media screen and (max-width: 767px) {
    .add-set .add-u__step-bar-container { gap: 4px; }
    .add-set .add-u__step-bar-container .step-text { font-size: 11px; }
    .add-set .add-u__step-bar-container .step-arrow::after { font-size: 14px; margin: 0 4px; }
    
    .add-set .user-modify-card-section .add-u__card-body { padding: 16px 20px !important; }
    .add-set .user-modify-card-section .add-login-fields.pc-flex-align {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 12px 0 !important;
    }
    .add-set .user-modify-card-section .add-u__label-area { width: 100% !important; padding-top: 0 !important; margin-bottom: 8px !important; }
    
    .add-set .user-modify-card-section .add-u__input-split-row,
    .add-set .user-modify-card-section .add-u__input-with-right-btn-group,
    .add-set .user-modify-card-section .add-u__input-wrapper-with-note,
    .add-set .user-modify-card-section .add-u__input-with-toggle,
    .add-set .user-modify-card-section .add-u__birth-select-row,
    .add-set .user-modify-card-section .add-u__radio-list-container,
    .add-set .user-modify-card-section .select-box-width-adjust,
    .add-set .user-modify-card-section .add-u__address-inputs-vertical-stack {
        max-width: 100% !important;
    }
    
    .add-set .user-modify-card-section .add-u__input-with-right-btn-group {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
    }
    .add-set .user-modify-card-section .add-u__inline-action-btn-gray { width: 100% !important; height: 44px !important; }
    
    .add-set .user-modify-card-section input[type="text"],
    .add-set .user-modify-card-section input[type="tel"],
    .add-set .user-modify-card-section input[type="email"],
    .add-set .user-modify-card-section input[type="password"],
    .add-set .user-modify-card-section select,
    .add-set .user-modify-card-section .add-u__static-text { height: 44px !important; }
    .add-set .user-modify-card-section .add-u__static-text { line-height: 42px !important; }
    
    /* スマホ版（SP）：ラジオボタン・チェックボックスの余白微調整 */
    .add-set .user-modify-card-section .add-u__form-radio-wrapper { gap: 12px 18px !important; height: auto !important; padding: 4px 0 !important; }
    .add-set .user-modify-card-section .add-u__form-radio-wrapper input[type="radio"],
    .add-set .user-modify-card-section input[type="radio"] { width: 16px !important; height: 16px !important; }
    .add-set .user-modify-card-section .add-u__form-radio-wrapper label { font-size: 13.5px !important; }
    .add-set .user-modify-card-section .add-u__checkbox-single-wrap { height: auto !important; padding: 4px 0 !important; }
    .add-set .user-modify-card-section .add-u__checkbox-single-wrap input[type="checkbox"] { width: 16px !important; height: 16px !important; }
    
    /* スマホ版の疑似要素（選択時の丸）サイズ補正 */
    .add-set .user-modify-card-section input[type="radio"]:checked::before,
    .add-set .user-modify-card-section .add-u__form-radio-wrapper input[type="radio"]:checked::before,
    input[type="radio"]:checked::before {
        width: 10px !important;
        height: 10px !important;
    }
    
    .add-set .dvUserBtnBox__actions { flex-direction: column-reverse !important; align-items: stretch !important; gap: 12px !important; }
    .add-set .add-u__btn-01, .add-set .add-u__btn-02-black { width: 100% !important; max-width: 100% !important; height: 48px !important; }
}

/* --------------------------------------------------------------------------
   ★中のレ点（✓）を「赤色」にし、背景を「白」にする
   -------------------------------------------------------------------------- */
.add-set .user-modify-card-section input[type="checkbox"]:checked,
input[type="checkbox"]:checked {
    background-color: #ffffff !important; /* 背景を白にリセット */
    accent-color: #ffffff !important;
}

.add-set .user-modify-card-section input[type="checkbox"]:checked::after,
.add-set .user-modify-card-section input[type="checkbox"]:checked::before,
input[type="checkbox"]:checked::after,
input[type="checkbox"]:checked::before {
    border-color: #E82E34 !important; /* レ点（✓）の線の色をKEIAIレッド（赤）に変更 */
    color: #E82E34 !important;        /* 文字としての✓の場合も赤に */
}

/* ==========================================================
   アコーディオン
========================================================== */
.add-set .user-modify-card-section{
    overflow:hidden;
}

.add-set .user-modify-card-section .add-u__card-hdr{
    display:flex;
    align-items:center;
    cursor:pointer;
    user-select:none;
    position:relative;
}

/* 矢印 */
.add-set .user-modify-card-section .add-u__card-hdr::after{
    content:"⌄";
    margin-left:auto;
    font-size:20px;
    font-weight:bold;
    color:#64748B;
    transition:.25s;
}

/* 開いている状態 */
.add-set .user-modify-card-section.is-open .add-u__card-hdr::after{
    transform:rotate(180deg);
}

/* 本文 */
.add-set .user-modify-card-section .add-u__card-body{
    display:none;
}

.add-set .user-modify-card-section.is-open .add-u__card-body{
    display:block;
}

/* ==========================================================
   ラジオボタン（SP）
========================================================== */
@media screen and (max-width:767px){

.add-set .user-modify-card-section .add-u__form-radio-wrapper{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    column-gap:12px !important;
    row-gap:10px !important;
}

.add-set .user-modify-card-section .add-u__form-radio-wrapper span{
    display:flex !important;
    align-items:center !important;
}

.add-set .user-modify-card-section .add-u__form-radio{
    width:100%;

}

}

/* ==========================================================================
   会員情報変更確認
   ========================================================================== */

/* 右側：確認テキストエリアの文字配置スタイル */
.add-set .user-modify-card-section .add-u__confirm-value-text {
    flex-grow: 1 !important;
    font-size: 15px !important;
    color: #1e293b !important;
    font-weight: 500 !important;
    padding-top: 11px !important; /* 左側項目タイトル（12px）とベースラインの完璧な高さ同期 */
    line-height: 1.5 !important;
    box-sizing: border-box !important;
    word-break: break-all !important;
}

/* 「（変更なし）」や「未設定(--)」などの上品なグレーダウントーン設定 */
.add-set .user-modify-card-section .add-u__confirm-value-text .style-not-changed {
    color: #94a3b8 !important;
    font-weight: normal !important;
    font-size: 14px !important;
}

/* パスワード（アスタリスク）の等幅フォント最適化 */
.add-set .user-modify-card-section .add-u__confirm-value-text.font-password-mask {
    font-family: monospace !important;
    letter-spacing: 2px !important;
    font-size: 16px !important;
}

/* 郵便番号の視認性向上フォント */
.add-set .user-modify-card-section .add-u__confirm-value-text.font-zip-code {
    font-weight: bold !important;
    color: #0f172a !important;
}

/* ----------------==========================================================
   ▼ スマホ版（767px以下）：確認テキストのレスポンシブ配置リセット
   ----------------========================================================== */
@media screen and (max-width: 767px) {
    .add-set .user-modify-card-section .add-u__confirm-value-text {
        width: 100% !important;
        padding-top: 4px !important; /* スマホ時は項目名の下にピタッと詰めて配置 */
        padding-bottom: 6px !important;
        font-size: 14.5px !important;
    }
}

/* ==========================================================================
   会員情報変更完了
   ========================================================================== */

/* 完了カード本体のセンタリング配置 */
.add-set .user-modify-card-section.add-u__complete-card {
    text-align: center !important;
}
.add-set .user-modify-card-section.add-u__complete-card .add-u__card-body {
    padding: 48px 32px !important; /* 縦を少し広めにとり上品な空間を演出 */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* 完了アイコン（KEIAIレッドのチェックマーク） */
.add-set .user-modify-card-section .add-u__complete-icon-wrap {
    color: #E82E34 !important;
    width: 48px !important;
    height: 48px !important;
    margin-bottom: 16px !important;
}
.add-set .user-modify-card-section .add-u__complete-icon-wrap svg {
    width: 100% !important;
    height: 100% !important;
}

/* 完了の大きな見出し */
.add-set .user-modify-card-section .add-u__complete-title {
    font-size: 20px !important;
    font-weight: bold !important;
    color: #111111 !important;
    margin: 0 0 24px 0 !important;
}

/* メッセージ文章の最適化 */
.add-set .user-modify-card-section .add-u__complete-message-box {
    font-size: 15px !important;
    color: #334155 !important;
    line-height: 1.8 !important;
    margin-bottom: 40px !important;
}
.add-set .user-modify-card-section .add-u__complete-message-box p {
    margin-bottom: 16px !important;
}
.add-set .user-modify-card-section .add-u__complete-message-box p:last-child {
    margin-bottom: 0 !important;
}
.add-set .user-modify-card-section .add-u__complete-message-box .add-u__complete-sub-text {
    color: #64748b !important;
    font-size: 14px !important;
}

/* マイページへ戻るボタンの領域拡張 */
.add-set .user-modify-card-section .add-u__complete-actions {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}
.add-set .user-modify-card-section .add-u__complete-actions .add-u__btn-01 {
    max-width: 280px !important; /* 完了画面専用にボタン幅を押しやすいサイズに調整 */
}

/* ----------------==========================================================
   ▼ スマホ版（767px以下）：完了画面のレスポンシブ微調整
   ----------------========================================================== */
@media screen and (max-width: 767px) {
    .add-set .user-modify-card-section.add-u__complete-card .add-u__card-body {
        padding: 32px 20px !important;
    }
    .add-set .user-modify-card-section .add-u__complete-title {
        font-size: 17px !important;
    }
    .add-set .user-modify-card-section .add-u__complete-message-box {
        font-size: 14px !important;
        margin-bottom: 28px !important;
    }
    .add-set .user-modify-card-section .add-u__complete-actions .add-u__btn-01 {
        max-width: 100% !important; /* スマホ時は横幅いっぱいにフィット */
    }
}

/* ==========================================================================
   ラジオボタン」標準の黒チェックを消去し、KEIAIレッドの自作レ点に一本化
   ========================================================================== */
/* 1. すべてのチェックボックスからブラウザ標準の黒レ点・四角枠を完全に消去 */
.add-set .user-modify-card-section .add-u__checkbox-single-wrap input[type="checkbox"],
.add-set .add-u__form-checkbox-red-sync input[type="checkbox"],
.add-set .user-modify-card-section input[type="checkbox"],
.add-set input[type="checkbox"],
input[type="checkbox"] {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important; /* 標準のコンポーネント外観を完全シャットアウト */
    
    /* 消えてしまった四角い外枠線を綺麗に再定義 */
    border: 2px solid #cbd5e1 !important; 
    background-color: #ffffff !important;
    border-radius: 4px !important;
    outline: none !important;
}

/* 2. ホバー時に枠線を赤くする */
.add-set .user-modify-card-section input[type="checkbox"]:hover,
input[type="checkbox"]:hover {
    border-color: #E82E34 !important;
}

/* 3. チェックが入った時、枠線は赤、背景は白を維持、独自の赤レ点を描画 */
.add-set .user-modify-card-section input[type="checkbox"]:checked,
input[type="checkbox"]:checked {
    border-color: #E82E34 !important;
    background-color: #ffffff !important; /* 背景を白に固定して競合を防御 */
}

/* 4. 二重化を解消：疑似要素を非表示にせず、鮮やかな赤レ点（1重）として精密に再描画 */
.add-set .add-u__form-wrapper input[type=checkbox]:checked:before, 
.add-set .user-modify-card-section input[type="checkbox"]:checked::before, 
.add-set input[type="checkbox"]:checked::before, 
input[type="checkbox"]:checked::before {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    top: 1px !important;
    left: 5px !important;
    width: 5px !important;
    height: 10px !important;
    transform: rotate(45deg) !important;
    border-right: 2.5px solid #E82E34 !important;
    border-bottom: 2.5px solid #E82E34 !important;
    background: none !important;
    border-radius: 0 !important;
}

/* ★★★ ここから競合解消のための命令を追記 ★★★ */
/* 連絡希望画面（add-u__form-checkbox-red-sync）の赤ベタ塗りつぶしを最優先で打ち消し、背景を白に戻します */
.add-set .add-user-input-page .add-u__form-checkbox-red-sync input[type=checkbox]:checked {
    background-color: #ffffff !important;
    background: #ffffff !important;
    border-color: #E82E34 !important;
}

/* =====================================================
   会員登録確認画面 ボタンレイアウト
===================================================== */
.add-set .add-u__btn-wrapper.add-u__btn-wrapper-confirm{
    display:flex !important;
    flex-direction:row !important;
    justify-content:center !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    gap:24px !important;
    margin-top: 20px !important;
}

/* 戻る */
.add-set .add-u__btn-wrapper.add-u__btn-wrapper-confirm .add-u__btn-01{
    width:240px !important;
    max-width:240px !important;
    min-width:240px !important;
}

/* 次へ */
.add-set .add-u__btn-wrapper.add-u__btn-wrapper-confirm .add-u__btn-02{
    width:240px !important;
    max-width:240px !important;
    min-width:240px !important;
}

/*==============================
   SP
==============================*/
@media screen and (max-width:767px){
.add-set .add-u__btn-wrapper.add-u__btn-wrapper-confirm{
    flex-direction:column-reverse !important;
    width:100% !important;
    gap:12px !important;
}

.add-set .add-u__btn-wrapper.add-u__btn-wrapper-confirm .add-u__btn-01,
.add-set .add-u__btn-wrapper.add-u__btn-wrapper-confirm .add-u__btn-02{
    width:100% !important;
    max-width:100% !important;
    min-width:100% !important;
}
}

/* ===========================================================
   メール送信完了メッセージ（UserModifyMailSend専用）
=========================================================== */
.keiai-mail-complete{
    max-width:720px;
    margin:32px auto;
}

.keiai-mail-complete__box{
    background:#f7f7f7;
    border:1px solid #e5e5e5;
    border-radius:12px;
    padding:32px;
    text-align:center;
}
.keiai-mail-complete__title{
    font-size:22px;
    font-weight:700;
    color:#333;
    margin-bottom:20px;
}
.keiai-mail-complete__text{
    font-size:15px;
    line-height:2;
    color:#555;
}
.keiai-mail-complete__note{
    margin-top:18px;
    color:#e51717;
    font-size:14px;
    font-weight:bold;
}
.keiai-mail-complete__btn{
    margin-top:32px;
    display:flex;
    justify-content:center;
}
.keiai-mail-complete__btn a{
    width:260px;
}
.add-u__btn-wrapper-complete{
    display:flex;
    justify-content:center;
    margin-top:32px;
}

.add-u__btn-wrapper-complete .add-u__btn-02{
    width:320px;
}
.add-set .keiai-btn-red{
    background:#E82E34 !important;
    border:1px solid #E82E34 !important;
    color:#fff !important;
}

.add-set .keiai-btn-red:hover{
    background:#cf2429 !important;
    border-color:#cf2429 !important;
    color:#fff !important;
}

/* ==========================================================================
   ★デグレ完全防止：会員登録完了画面（専用）レイアウト・全要素中央寄せ最適化
   ========================================================================== */
/* 1. 「登録完了」ページタイトルの中央寄せ */
.add-user-complete-page .add-title__page {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* 2. イラスト画像のサイズ適正化と中央寄せ */
.add-user-complete-page .add-u__complete-image-wrap {
    width: 100% !important;
    max-width: 480px !important; 
    margin: 0 auto 24px auto !important; 
    text-align: center !important;
}
.add-user-complete-page .add-u__complete-image {
    width: 100% !important;      
    height: auto !important;     
    display: inline-block !important;
}

/* 3. 見出し（ご登録ありがとうございました！）の中央寄せ */
.add-user-complete-page .add-u__complete-title {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 16px !important; /* 下のメッセージとの余白調整 */
}

/* 4. メッセージ本文の中央寄せ */
.add-user-complete-page .add-u__complete-text {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    line-height: 1.8 !important;
    margin-bottom: 24px !important; /* 下のメール案内ボックスとの余白調整 */
}

/* --- スマホ環境（767px以下）用の最適化 --- */
@media screen and (max-width: 767px) {
    .add-user-complete-page .add-u__complete-image-wrap {
        max-width: 280px !important; 
        margin-bottom: 16px !important;
    }
    .add-user-complete-page .add-u__complete-title {
        font-size: 20px !important; /* スマホで見やすいサイズに微調整 */
        margin-bottom: 12px !important;
    }
    .add-user-complete-page .add-u__complete-text {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }
}

@media screen and (max-width: 768px) {
    .add-user-input-page .add-u__page-header {
        display: block !important;
        margin-bottom: 24px !important;
    }

    .add-user-input-page .add-u__page-header .add-title__page {
        width: auto !important;
        margin: 0 0 16px !important;
        padding: 0 !important;
        font-size: 22px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
    }

    .add-u__page-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .add-u__page-actions .btn {
        width: 100% !important;
        min-width: 0 !important;
        height: 48px !important;
        font-size: 14px !important;
    }
}

/* ==========================================================================
   UploadUserDocument.aspx 専用スタイル
   Scope: .upload-doc-v2026
   ========================================================================== */
.upload-doc-v2026 {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  padding-bottom: 48px;

  /* ------------------------------------------------------------------------
     1. タイトル下：電話番号確認案内
     ------------------------------------------------------------------------ */
  .upload-doc-v2026__notice {
    display: flex;
    align-items: center;
    gap: 28px;
    width: 100%;
    max-width: 980px;
    margin: 0 auto 34px;
    padding: 30px 40px;
    background: #fff;
    border: 1px solid #f2caca;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
    box-sizing: border-box;
  }

  .upload-doc-v2026__notice-icon {
    display: flex;
    flex: 0 0 104px;
    align-items: center;
    justify-content: center;
    width: 104px;
    height: 104px;
    background: #fff3f3;
    border-radius: 50%;

    svg {
      width: 48px;
      height: 48px;
      fill: none;
      stroke: #e51717;
      stroke-width: 2.5;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
  }

  .upload-doc-v2026__notice-content {
    min-width: 0;
  }

  .upload-doc-v2026__notice-title {
    margin: 0 0 12px;
    color: #222;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
  }

  .upload-doc-v2026__notice-text {
    margin: 0;
    color: #444;
    font-size: 15px;
    line-height: 1.9;
  }

  /* ------------------------------------------------------------------------
     2. アップロードフォーム全体 & エリア
     ------------------------------------------------------------------------ */
  .upload-doc-v2026__form-wrap {
    width: 100%;
    margin: 0;
  }

  .upload-doc-v2026__form {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: 28px 34px 34px;
    background: #f8f8f8;
    border-radius: 18px;
    box-sizing: border-box;
  }

  .upload-doc-v2026__form-label {
    position: relative;
    margin: 0 0 20px;
    padding-left: 20px;
    color: #222;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;

    &::before {
      position: absolute;
      top: 50%;
      left: 0;
      width: 5px;
      height: 28px;
      background: #e51717;
      border-radius: 5px;
      content: "";
      transform: translateY(-50%);
    }
  }

  .upload-doc-v2026__form-content {
    width: 100%;
    padding: 36px 40px 28px;
    background: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 16px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    text-align: center;
    box-sizing: border-box;
  }

  .upload-doc-v2026__document-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    background: #fff1f1;
    border-radius: 50%;

    svg {
      width: 34px;
      height: 34px;
      fill: none;
      stroke: #e51717;
      stroke-width: 2.5;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
  }

  .upload-doc-v2026__form-title {
    margin: 0 0 10px;
    color: #222;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.5;
  }

  .upload-doc-v2026__form-text {
    margin: 0 0 26px;
    color: #555;
    font-size: 15px;
    line-height: 1.7;
  }

  /* ------------------------------------------------------------------------
     3. アップロードボタン
     ------------------------------------------------------------------------ */
  .upload-doc-v2026__upload-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 420px;
    max-width: 100%;
    height: 64px;
    padding: 0 30px;
    background: #e51717;
    border: 1px solid #e51717;
    border-radius: 32px;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    box-shadow: 0 5px 12px rgba(229, 23, 23, 0.18);
    box-sizing: border-box;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;

    &::before {
      width: 20px;
      height: 20px;
      margin-right: 14px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V3'/%3E%3Cpath d='m7 8 5-5 5 5'/%3E%3Cpath d='M5 21h14a2 2 0 0 0 2-2v-4'/%3E%3Cpath d='M3 15v4a2 2 0 0 0 2 2'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      content: "";
    }

    &:hover {
      background: #c91414;
      border-color: #c91414;
      color: #fff;
      box-shadow: 0 7px 16px rgba(229, 23, 23, 0.25);
      transform: translateY(-1px);
    }
  }

  /* ------------------------------------------------------------------------
     4. エラー & ファイルリスト
     ------------------------------------------------------------------------ */
  .upload-doc-v2026__error {
    width: 100%;
    margin-top: 12px;
    color: #d80000;
    font-size: 14px;
    text-align: left;
    box-sizing: border-box;
  }

  .upload-doc-v2026__file-list {
    width: 100%;
    margin-top: 16px;
  }

  .upload-doc-v2026__file-list-inner {
    width: 100%;
  }

  .upload-doc-v2026__file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 13px 4px;
    border-bottom: 1px solid #e2e2e2;
  }

  .upload-doc-v2026__file-name {
    min-width: 0;
    color: #333;
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
    word-break: break-all;
  }

  .upload-doc-v2026__file-delete {
    flex: 0 0 auto;
    color: #555;
    font-size: 13px;
    text-decoration: underline;
  }

  /* ------------------------------------------------------------------------
     5. チェックボックス
     ------------------------------------------------------------------------ */
  .upload-doc-v2026__checkbox-area {
    width: 100%;
    margin-top: 28px;
    padding: 24px 10px 0;
    border-top: 1px dashed #d6d6d6;
    text-align: center;
    box-sizing: border-box;
  }

  .upload-doc-v2026__checkbox {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: #444;
    font-size: 15px;
    line-height: 1.7;
    text-align: left;

    input[type="checkbox"] {
      appearance: none;
      -webkit-appearance: none;
      flex: 0 0 24px;
      width: 24px;
      height: 24px;
      min-width: 24px;
      min-height: 24px;
      margin: 0;
      padding: 0;
      background: #fff;
      border: 1px solid #c5cdd5;
      border-radius: 4px;
      box-sizing: border-box;
      cursor: pointer;

      &:checked {
        position: relative;
        background: #e51717;
        border-color: #e51717;

        &::after {
          position: absolute;
          top: 3px;
          left: 10px;
          width: 3px;
          height: 11px;
          border-right: 2px solid #fff;
          border-bottom: 2px solid #fff;
          content: "";
          transform: rotate(45deg);
        }
      }
    }
  }

  /* ------------------------------------------------------------------------
     6. 登録完了後ガイド
     ------------------------------------------------------------------------ */
  .upload-doc-v2026__guide {
    display: flex;
    align-items: center;
    gap: 28px;
    width: 100%;
    max-width: 940px;
    margin: 26px auto 42px;
    padding: 28px 36px;
    background: #fffdf9;
    border: 1px solid #efd9a8;
    border-radius: 16px;
    box-sizing: border-box;
  }

  .upload-doc-v2026__guide-icon {
    display: flex;
    flex: 0 0 104px;
    align-items: center;
    justify-content: center;
    width: 104px;
    height: 104px;
    background: #fff8e8;
    border-radius: 50%;

    svg {
      width: 50px;
      height: 50px;
      fill: none;
      stroke: #d58a00;
      stroke-width: 2.5;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
  }

  .upload-doc-v2026__guide-content {
    flex: 1;
    min-width: 0;
  }

  .upload-doc-v2026__guide-title {
    margin: 0 0 10px;
    color: #222;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.5;
  }

  .upload-doc-v2026__guide-text {
    margin: 0;
    color: #444;
    font-size: 15px;
    line-height: 1.8;
  }

  .upload-doc-v2026__guide-note {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e2d9c8;
    color: #555;
    font-size: 14px;
    line-height: 1.7;
  }

  .upload-doc-v2026__guide-note-icon {
    display: flex;
    flex: 0 0 21px;
    align-items: center;
    justify-content: center;
    width: 21px;
    height: 21px;
    margin-top: 1px;
    background: #d58a00;
    border-radius: 50%;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
  }

  /* ------------------------------------------------------------------------
     7. 戻る・次へボタン
     ------------------------------------------------------------------------ */
  .upload-doc-v2026__action-wrap {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
  }

  .upload-doc-v2026__actions {
    display: flex;
    align-items: center;
    gap: 32px;
    width: 100%;

    > span {
      flex: 1 1 0;
    }
  }

  .upload-doc-v2026__back-button,
  .upload-doc-v2026__next-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 72px;
    border-radius: 36px;
    font-size: 17px;
    font-weight: 700;
    text-decoration: none;
    box-sizing: border-box;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
  }

  .upload-doc-v2026__back-button {
    background: #fff;
    border: 1px solid #222;
    color: #222;

    &:hover {
      background: #f7f7f7;
      color: #222;
    }
  }

  .upload-doc-v2026__next-button {
    background: #e51717;
    border: 1px solid #e51717;
    color: #fff;
    box-shadow: 0 5px 12px rgba(229, 23, 23, 0.16);

    &:hover {
      background: #c91414;
      border-color: #c91414;
      color: #fff;
      transform: translateY(-1px);
    }
  }

  /* ------------------------------------------------------------------------
     8. Responsive (SP)
     ------------------------------------------------------------------------ */
  @media screen and (max-width: 767px) {
    padding-bottom: 32px;

    .upload-doc-v2026__notice {
      display: block;
      margin-bottom: 20px;
      padding: 24px 20px;
      text-align: center;
    }

    .upload-doc-v2026__notice-icon {
      width: 76px;
      height: 76px;
      margin: 0 auto 18px;

      svg {
        width: 38px;
        height: 38px;
      }
    }

    .upload-doc-v2026__notice-title {
      margin-bottom: 10px;
      font-size: 18px;
    }

    .upload-doc-v2026__notice-text {
      font-size: 13px;
      line-height: 1.8;
      text-align: left;

      br {
        display: none;
      }
    }

    .upload-doc-v2026__form {
      padding: 20px 12px 12px;
      border-radius: 12px;
    }

    .upload-doc-v2026__form-label {
      margin-bottom: 14px;
      padding-left: 15px;
      font-size: 15px;

      &::before {
        width: 4px;
        height: 22px;
      }
    }

    .upload-doc-v2026__form-content {
      padding: 28px 18px 24px;
      border-radius: 12px;
    }

    .upload-doc-v2026__document-icon {
      width: 60px;
      height: 60px;
      margin-bottom: 14px;

      svg {
        width: 30px;
        height: 30px;
      }
    }

    .upload-doc-v2026__form-title {
      font-size: 20px;
    }

    .upload-doc-v2026__form-text {
      margin-bottom: 20px;
      font-size: 13px;
    }

    .upload-doc-v2026__upload-button {
      width: 100%;
      height: 58px;
      border-radius: 29px;
      font-size: 15px;
    }

    .upload-doc-v2026__checkbox-area {
      margin-top: 24px;
      padding: 20px 0 0;
      text-align: left;
    }

    .upload-doc-v2026__checkbox {
      align-items: flex-start;
      gap: 10px;
      font-size: 13px;

      input[type="checkbox"] {
        flex: 0 0 24px;
        width: 24px;
        height: 24px;
        min-width: 24px;
        min-height: 24px;
        margin-top: 1px;
      }
    }

    .upload-doc-v2026__guide {
      display: block;
      margin-top: 20px;
      margin-bottom: 28px;
      padding: 24px 20px;
      text-align: left;
    }

    .upload-doc-v2026__guide-icon {
      width: 70px;
      height: 70px;
      margin: 0 auto 16px;

      svg {
        width: 36px;
        height: 36px;
      }
    }

    .upload-doc-v2026__guide-title {
      font-size: 18px;
      text-align: center;
    }

    .upload-doc-v2026__guide-text {
      font-size: 13px;
      line-height: 1.8;

      br {
        display: none;
      }
    }

    .upload-doc-v2026__guide-note {
      font-size: 12px;
    }

    .upload-doc-v2026__actions {
      flex-direction: column-reverse;
      gap: 12px;

      > span {
        width: 100%;
      }
    }

    .upload-doc-v2026__back-button,
    .upload-doc-v2026__next-button {
      height: 58px;
      border-radius: 29px;
      font-size: 15px;
    }
  }
}