@charset "UTF-8";
/* FRONT-UI15. Shared presentation contract, loaded after all theme/plugin sheets.
   Page-specific business rules, native controls and icon font families remain intact. */
body.ym-front.ym-unified {
  --ym-page-max:1240px;
  --ym-page-pad:24px;
  --ym-page-top:32px;
  --ym-page-bottom:48px;
  --ym-heading-gap:32px;
  --ym-h1:36px;
  --ym-h2:24px;
  --ym-h3:19px;
  --ym-section-gap:36px;
  --ym-card-pad:26px;
  --ym-card-radius:16px;
  --ym-grid-gap:18px;
  --ym-reading-max:920px;
  --ym-form-max:920px;
  --ym-result-max:820px;
  --ym-login-max:520px;
  --ym-helper:14px;
  --ym-action-gap:12px;
  --ym-action-top:24px;
  font-family:var(--ym-font);
  font-size:16px;
  font-weight:400;
  line-height:1.8;
  font-synthesis:none;
}
body.ym-front.ym-unified .ec-layoutRole__contents {
  width:100%;max-width:var(--ym-page-max);margin-inline:auto;
}
body.ym-front.ym-unified.front_page .ec-layoutRole__contents {max-width:none}
body.ym-front.ym-unified #ym-main-content {
  min-width:0;color:var(--ym-text);font-family:var(--ym-font);font-size:16px;line-height:1.8;overflow-wrap:anywhere;
}
/* One outer shell per page. Older shell names also cover the standard fallback views. */
body.ym-front.ym-unified #ym-main-content :is(
  .ym-page-shell,.ym-information-page,.ym-catalog-layout,.yrm-mypageShell,
  .ym-account-shell,.ym-checkout-shell,.ym-quote,.ys-public-page
) {
  box-sizing:border-box;width:100%;max-width:var(--ym-page-max);
  margin-inline:auto;padding:var(--ym-page-top) var(--ym-page-pad) var(--ym-page-bottom);
  min-width:0;color:var(--ym-text);font-family:var(--ym-font);font-size:16px;line-height:1.8;
}
body.ym-front.ym-unified #ym-main-content > :is(.ec-role,.ec-cartRole,.ec-customerRole,.ec-mypageRole) {
  width:100%;max-width:var(--ym-page-max);margin-inline:auto;
  padding-inline:var(--ym-page-pad);min-width:0;
}
body.ym-front.ym-unified #ym-main-content > .ec-role:first-child {padding-top:var(--ym-page-top)}
body.ym-front.ym-unified #ym-main-content .ym-page-shell :is(
  .ec-role,.ec-cartRole,.ec-customerRole,.ec-registerRole,.ec-forgotRole,
  .ec-registerCompleteRole,.ec-forgetCompleteRole
) {width:100%;max-width:none;margin-inline:0;padding-inline:0}
body.ym-front.ym-unified #ym-main-content .ym-page-shell .ym-page-shell {
  max-width:none;margin:0;padding:0;
}
body.ym-front.ym-unified #ym-main-content .ym-page-shell :is(.ym-checkout-layout,.ym-quote) {
  max-width:none;margin-inline:0;padding-inline:0;
}
/* Headings are semantic text; section labels are actual DOM siblings, never generated content. */
body.ym-front.ym-unified #ym-main-content :is(
  .ym-page-heading,.ec-pageHeader,.ym-information-heading,.ym-catalog-heading,.ys-public-page__header
) {
  width:100%;max-width:none;margin:0 0 var(--ym-heading-gap);
  padding:0;border:0;text-align:left;
}
body.ym-front.ym-unified #ym-main-content :is(h1,h2,h3,h4,h5,h6) {
  font-family:var(--ym-font)!important;font-weight:500!important;color:var(--ym-text);
  letter-spacing:normal;overflow-wrap:anywhere;border:0;background:transparent;
}
body.ym-front.ym-unified #ym-main-content h1 {
  font-size:var(--ym-h1)!important;line-height:1.5!important;margin:0;padding:0;
}
body.ym-front.ym-unified #ym-main-content h2 {
  font-size:var(--ym-h2)!important;line-height:1.55!important;margin:0 0 16px;
}
body.ym-front.ym-unified #ym-main-content h3 {
  font-size:var(--ym-h3)!important;line-height:1.6!important;margin:0 0 12px;
}
body.ym-front.ym-unified #ym-main-content :is(h4,h5,h6) {
  font-size:18px!important;line-height:1.6!important;margin:0 0 12px;
}
body.ym-front.ym-unified #ym-main-content :is(
  .ym-page-eyebrow,.ym-eyebrow,.ym-member-eyebrow,.ys-public-page__eyebrow,
  .ysfc-section__eyebrow,.yrm-public-block__eyebrow
) {
  display:block;font-family:var(--ym-font);font-size:12px!important;font-weight:500!important;
  line-height:1.6!important;letter-spacing:.08em;color:var(--ym-warm);margin:0 0 8px!important;
}
body.ym-front.ym-unified #ym-main-content :is(
  .ym-page-heading,.ec-pageHeader,.ym-information-heading,.ym-catalog-heading,.ys-public-page__header
) > p:not(.ym-eyebrow):not(.ym-page-eyebrow):not(.ym-member-eyebrow):not(.ys-public-page__eyebrow) {
  margin:16px 0 0;font-size:16px;line-height:1.8;color:var(--ym-muted);
}
body.ym-front.ym-unified #ym-main-content :is(p,li,dd) {line-height:1.8;overflow-wrap:anywhere}
body.ym-front.ym-unified #ym-main-content :is(strong,b,th,dt,summary,.ec-label,.ec-font-bold,.font-weight-bold,.fw-bold) {
  font-weight:500;
}
body.ym-front.ym-unified #ym-main-content :is(
  .yrm-referral-current,.yrm-referral-label,[style*="font-weight:700"],[style*="font-weight: 700"],
  [style*="font-weight:600"],[style*="font-weight: 600"]
) {font-weight:500!important}
/* Reading, input and result widths are inner limits; their page headings keep the shared left edge. */
body.ym-front.ym-unified #ym-main-content :is(.ym-reading,.ym-public-reading,.ym-info-article-body) {
  width:100%;max-width:var(--ym-reading-max);margin-inline:0;
}
body.ym-front.ym-unified #ym-main-content :is(.ym-form-width,.ym-account-form,.ym-member-form-card) {
  width:100%;max-width:var(--ym-form-max);margin-inline:auto;
}
body.ym-front.ym-unified #ym-main-content :is(
  .ym-result-width,.ym-account-result,.ym-checkout-result,.ym-member-result,.ym-quote-result
) {width:100%;max-width:var(--ym-result-max);margin-inline:auto}
body.ym-front.ym-unified #ym-main-content .ym-login-width {
  width:100%;max-width:var(--ym-login-max);margin-inline:auto;
}
body.ym-front.ym-unified #ym-main-content :is(.ym-section,.ys-public-page__section) {margin-top:var(--ym-section-gap)}
body.ym-front.ym-unified #ym-main-content :is(.ym-card,.portal-status) {
  padding:var(--ym-card-pad);border-radius:var(--ym-card-radius);border-color:var(--ym-line);
}
body.ym-front.ym-unified #ym-main-content :is(.ym-grid-2,.ym-grid-3,.ym-stack) {gap:var(--ym-grid-gap)}
body.ym-front.ym-unified #ym-main-content :is(.ym-section-head,.ysfc-section__head) {
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 18px;margin-bottom:18px;
}
body.ym-front.ym-unified #ym-main-content :is(.ym-section-head,.ysfc-section__head) > :is(h2,h3) {margin:0}
body.ym-front.ym-unified #ym-main-content :is(.ym-small,.ym-member-help,.ym-account-help,.ym-prepurchase-help,.yrm-small) {
  font-size:var(--ym-helper);line-height:1.8;
}
/* Consistent controls; keep the native element, type, names, ids and application handlers. */
body.ym-front.ym-unified #ym-main-content :is(button,input,select,textarea,label) {
  font-family:var(--ym-font);font-synthesis:none;
}
body.ym-front.ym-unified #ym-main-content :is(
  .ym-button,.ys-public-page__button,.ec-inlineBtn,.ec-inlineBtn--action,.ec-inlineBtn--cancel,
  .ec-blockBtn,.ec-blockBtn--action,.ec-blockBtn--cancel,.ec-blockBtn--primary,.ec-blockBtn--default
) {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;height:auto;max-width:100%;padding:11px 20px;
  border-radius:10px;font-family:var(--ym-font);font-size:16px;font-weight:500;
  line-height:1.6;white-space:normal;overflow-wrap:anywhere;text-align:center;text-decoration:none;
}
body.ym-front.ym-unified #ym-main-content :is(
  .ym-button-row,.ym-member-actions,.ym-account-result-actions,.ym-checkout-actions,
  .ym-contact-actions,.ys-public-page__actions
) {gap:var(--ym-action-gap);margin-top:var(--ym-action-top)}
body.ym-front.ym-unified #ym-main-content .ys-public-page__button {
  color:var(--ym-white);background:var(--ym-green);border:1px solid var(--ym-green);
}
body.ym-front.ym-unified #ym-main-content .ys-public-page__button:hover {
  color:var(--ym-white);background:var(--ym-green-hover);border-color:var(--ym-green-hover);
}
body.ym-front.ym-unified #ym-main-content .ys-public-page__button--secondary {
  color:var(--ym-green);background:var(--ym-white);border-color:var(--ym-input);
}
body.ym-front.ym-unified #ym-main-content .ys-public-page__button--secondary:hover {
  color:var(--ym-green);background:var(--ym-soft);border-color:var(--ym-green);
}
body.ym-front.ym-unified #ym-main-content :is(.ec-input,.ec-halfInput,.ec-telInput,.ec-zipInput,.ec-select,.ec-birth) :is(
  input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea
),body.ym-front.ym-unified #ym-main-content .ec-contactRole textarea {
  font-family:var(--ym-font)!important;font-size:16px;font-weight:400;
  min-height:46px;max-width:100%;border-color:var(--ym-input);border-radius:8px;
}
body.ym-front.ym-unified #ym-main-content :is(.ym-table-wrap,.table-responsive) {max-width:100%;overflow-x:auto}
body.ym-front.ym-unified #ym-main-content :is(.ym-button,.ec-inlineBtn,.ec-inlineBtn--action,.ec-inlineBtn--cancel,
  .ec-blockBtn,.ec-blockBtn--action,.ec-blockBtn--cancel) :is(.fa,.fas,.far,.fab,.glyphicon) {
  flex-shrink:0;font-size:18px;line-height:1;width:1.1em;text-align:center;vertical-align:middle;
}
body.ym-front.ym-unified #ym-main-content .ec-icon img {width:20px;height:20px;object-fit:contain}
body.ym-front.ym-unified #ym-main-content .ym-member-warning-icon .ec-icon img {width:28px;height:28px}
body.ym-front.ym-unified :is(.ym-button,.ec-headerSearch__keywordBtn) svg {
  flex-shrink:0;width:20px;height:20px;
}
/* All purchase progress indicators use the same circles and labels, without stray core connectors. */
body.ym-front.ym-unified #ym-main-content .ec-progress {
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  width:100%;max-width:none;margin:0;padding:20px;
  border:1px solid var(--ym-line);border-radius:var(--ym-card-radius);background:var(--ym-white);
}
body.ym-front.ym-unified #ym-main-content .ec-progress__item {flex:1;min-width:0;width:auto;float:none}
body.ym-front.ym-unified #ym-main-content .ec-progress__item::before,
body.ym-front.ym-unified #ym-main-content .ec-progress__item::after {display:none}
body.ym-front.ym-unified #ym-main-content .ec-progress__number {
  display:block;width:32px;height:32px;line-height:32px;margin:0 auto 8px;
  font-size:14px;font-weight:500;border:0;border-radius:50%;background:var(--ym-soft);color:var(--ym-green);
}
body.ym-front.ym-unified #ym-main-content .ec-progress__item:is(.is-complete,.is-active,.is-current) .ec-progress__number {
  background:var(--ym-green);color:var(--ym-white);
}
body.ym-front.ym-unified #ym-main-content .ec-progress__label {
  font-size:13px;font-weight:500;line-height:1.6;text-align:center;white-space:normal;overflow-wrap:anywhere;
}
/* Explicit purpose-based exceptions. These do not change the outer page grid. */
body.ym-front.ym-unified #ym-main-content :is(.ec-productRole,.ym-checkout-layout) {
  width:100%;max-width:var(--ym-page-max);margin-inline:auto;padding-inline:var(--ym-page-pad);
}
body.ym-front.ym-unified #ym-main-content .ec-productRole {padding-top:var(--ym-page-top);padding-bottom:var(--ym-page-bottom)}
body.ym-front.ym-unified #ym-main-content .ec-productRole .ec-role {max-width:none;margin:0;padding:0}
body.ym-front.ym-unified #ym-main-content .ec-productRole__title h1 {font-size:30px!important;line-height:1.5!important}
body.ym-front.ym-unified #ym-main-content .ec-productRole__title {padding:0;margin:0 0 24px}
body.ym-front.ym-unified #ym-main-content :is(.ym-catalog-name,.ysfc-recommendations__name,.ym-info-article-summary h2) {
  font-size:var(--ym-h3)!important;line-height:1.6!important;
}
body.ym-front.ym-unified #ym-main-content .portal-overview h2 {font-size:var(--ym-h2)!important}
body.ym-front.ym-unified #ym-main-content .portal-metrics h3 {font-size:14px!important;font-weight:400!important}
body.ym-front.ym-unified #ym-main-content :is(.portal-metric,.portal-rates strong) {font-size:28px;font-weight:500;line-height:1.5}
body.ym-front.ym-unified #ym-main-content .ym-portal-home {margin-top:24px}
body.ym-front.ym-unified #ym-main-content .yrm-program {padding-top:0}
body.ym-front.ym-unified #ym-main-content .ym-commerce-primary {min-height:54px}
body.ym-front.ym-unified #ym-main-content .ym-commerce-mobile-purchase button {
  min-height:44px;padding:10px 14px;font-size:14px;
}
body.ym-front.ym-unified #ym-main-content .ym-home-section {
  max-width:var(--ym-page-max);padding:var(--ym-section-gap) var(--ym-page-pad);margin-inline:auto;
}
body.ym-front.ym-unified #ym-main-content .ym-home-hero {width:100%;max-width:none}
body.ym-front.ym-unified #ym-main-content .ym-checkout-result h1 {text-align:left}
/* Existing external-plugin/standard fallback views use the same grid without altering their code. */
body.ym-front.ym-unified:is(#page_deferred_sms_auth,#page_mypage_kuronekocredit,
  .product_review,.product_review_confirm,.product_review_complete,
  #page_shopping_shipping_multiple,#page_shopping_shipping_multiple_edit,#page_plugin_coupon_shopping)
  #ym-main-content > :is(.container,.ec-layoutRole__main,.ec-registerRole,.ec-registerCompleteRole,.ec-role) {
  width:100%;max-width:var(--ym-page-max);margin-inline:auto;
  padding:var(--ym-page-top) var(--ym-page-pad) var(--ym-page-bottom);
}
body.ym-front.ym-unified#page_plugin_coupon_shopping #ym-main-content > .ec-registerRole {
  width:calc(100% - 2 * var(--ym-page-pad));max-width:var(--ym-form-max);padding-inline:0;
}
body.ym-front.ym-unified:is(#page_deferred_sms_auth,#page_mypage_kuronekocredit)
  #ym-main-content > :is(.container,.ec-layoutRole__main) :is(.ec-role,.ec-cartRole,.ec-mypageRole,.ec-layoutRole__main) {
  width:100%;max-width:none;margin-inline:0;padding-inline:0;
}
body.ym-front.ym-unified:is(#page_deferred_sms_auth,#page_mypage_kuronekocredit)
  #ym-main-content :is(#shopping-form > .ec-totalBox,#creditForm) {
  width:100%;max-width:var(--ym-form-max);margin-inline:auto;
}
body.ym-front.ym-unified#page_deferred_sms_auth #ym-main-content .heading {
  font-size:var(--ym-h2);font-weight:500;line-height:1.55;
}
body.ym-front.ym-unified#page_deferred_sms_auth #ym-main-content .notice {font-size:16px;line-height:1.8}
body.ym-front.ym-unified#page_deferred_sms_auth #ym-main-content .info {font-size:14px;line-height:1.8}
body.ym-front.ym-unified#page_deferred_sms_auth #ym-main-content .auth input {
  max-width:100%;width:48px;min-height:46px;font-family:var(--ym-font);font-size:20px;
}
body.ym-front.ym-unified #ym-main-content #product_review_recommend_level label {
  bottom:auto;position:static;line-height:1.8;
}
body.ym-front.ym-unified #ym-main-content #product_review_area {
  width:100%;max-width:var(--ym-page-max);margin:var(--ym-section-gap) auto;
  padding-inline:var(--ym-page-pad);
}
body.ym-front.ym-unified #ym-main-content #product_review_area .chevron .fas {font-family:"Font Awesome 5 Free";font-weight:900}
body.ym-front.ym-unified #ym-main-content #RelatedProduct-product_area {max-width:100%;min-width:0}
/* Header/footer keep their information hierarchy, while matching the common outer padding. */
body.ym-front.ym-unified :is(.ym-header-inner,.ym-header-search,.ym-footer-inner) {padding-inline:var(--ym-page-pad)}
@media(max-width:1000px) {
  body.ym-front.ym-unified #ym-main-content .ec-productRole__title h1 {font-size:27px!important}
}
@media(max-width:767px) {
  body.ym-front.ym-unified {
    --ym-page-pad:16px;--ym-page-top:24px;--ym-page-bottom:32px;
    --ym-heading-gap:24px;--ym-h1:25px;--ym-h2:22px;--ym-h3:18px;
    --ym-section-gap:28px;--ym-card-pad:20px;--ym-card-radius:13px;
    --ym-grid-gap:14px;--ym-action-top:20px;
  }
  body.ym-front.ym-unified #ym-main-content .ec-productRole__title h1 {font-size:25px!important}
  body.ym-front.ym-unified #ym-main-content :is(h4,h5,h6) {font-size:16px!important}
  body.ym-front.ym-unified #ym-main-content .ec-progress {gap:8px;padding:16px 10px}
  body.ym-front.ym-unified #ym-main-content .ec-progress__label {font-size:12px}
}
@media(max-width:360px) {
  body.ym-front.ym-unified {--ym-page-pad:14px;--ym-card-pad:17px}
}

/* Audited legacy text emphasis: 400 body / 500 emphasis; icon weights remain native. */
body.ym-front.ym-unified #ym-main-content :is(
  b,
  strong,
  dt,
  kbd kbd,
  .badge,
  .alert-link,
  .fw-bold,
  .fw-bolder,
  .ec-pageHeader h1,
  .ec-pageHeader .h1,
  .ec-heading-bold,
  .ec-rectHeading h1,
  .ec-rectHeading .h1,
  .ec-rectHeading h2,
  .ec-rectHeading .h2,
  .ec-rectHeading h3,
  .ec-rectHeading .h3,
  .ec-rectHeading h4,
  .ec-rectHeading .h4,
  .ec-rectHeading h5,
  .ec-rectHeading .h5,
  .ec-rectHeading h6,
  .ec-rectHeading .h6,
  .ec-reportHeading,
  .ec-reportHeading h1,
  .ec-reportHeading .h1,
  .ec-reportHeading h2,
  .ec-reportHeading .h2,
  .ec-reportHeading h3,
  .ec-reportHeading .h3,
  .ec-reportHeading h4,
  .ec-reportHeading .h4,
  .ec-reportHeading h5,
  .ec-reportHeading .h5,
  .ec-reportHeading h6,
  .ec-reportHeading .h6,
  .ec-reportHeading p,
  .ec-font-bold,
  .ec-price .ec-price__unit,
  .ec-price .ec-price__price,
  .ec-definitions dt,
  .ec-definitions--soft dt,
  .ec-inlineBtn,
  .ec-inlineBtn--primary,
  .ec-inlineBtn--action,
  .ec-inlineBtn--cancel,
  .ec-blockBtn,
  .ec-blockBtn--primary,
  .ec-blockBtn--action,
  .ec-blockBtn--cancel,
  .ec-input .ec-errorMessage,
  .ec-birth .ec-errorMessage,
  .ec-select .ec-errorMessage,
  .ec-telInput .ec-errorMessage,
  .ec-zipInput .ec-errorMessage,
  .ec-numberInput .ec-errorMessage,
  .ec-halfInput .ec-errorMessage,
  .ec-checkbox .ec-errorMessage,
  .ec-radio .ec-errorMessage,
  .ec-select label,
  .ec-select label:nth-child(3),
  .ec-checkbox label,
  .ec-label,
  .ec-displayB .ec-displayB__catch,
  .ec-displayB .ec-displayB__link,
  .ec-displayC .ec-displayC__catch,
  .ec-displayC .ec-displayC__price,
  .ec-displayC .ec-displayC__price--sp,
  .ec-topicpath .ec-topicpath__item--active,
  .ec-progress .ec-progress__item,
  .ec-cartNaviIsset .ec-cartNaviIsset__cartContentPrice,
  .ec-cartNaviNull .ec-cartNaviNull__message,
  .ec-totalBox .ec-totalBox__total,
  .ec-totalBox .ec-totalBox__paymentTotal,
  .ec-totalBox .ec-totalBox__price,
  .ec-totalBox .ec-totalBox__btn .ec-blockBtn--action,
  .ec-news .ec-news__title,
  .ec-navlistRole .ec-navlistRole__item,
  .ec-favoriteRole .ec-favoriteRole__itemPrice,
  .ec-headerTitle .ec-headerTitle__title a,
  .ec-itemNav__nav li a,
  .ec-itemNav__nav li ul li a,
  .ec-drawerRole .ec-headerCategoryArea .ec-headerCategoryArea__heading,
  .ec-drawerRole .ec-headerLinkArea .ec-headerLink__item,
  .ec-maintenanceAlert,
  .ec-footerTitle .ec-footerTitle__logo,
  .ec-eyecatchRole .ec-eyecatchRole__introTitle,
  .ec-inlineBtn--top,
  .ec-blockBtn--top,
  .ec-secHeading .ec-secHeading__en,
  .ec-secHeading--tandem .ec-secHeading__en,
  .ec-newItemRole .ec-newItemRole__listItemTitle,
  .ec-newsRole .ec-newsRole__newsTitle,
  .ec-shelfGrid .ec-shelfGrid__plice,
  .ec-shelfGridCenter .ec-shelfGridCenter__plice,
  .ec-cartRole .ec-cartRole__total,
  .ec-cartHeader .ec-cartHeader__label,
  .ec-cartRow .ec-cartRow__summary,
  .ec-alert-warning .ec-alert-warning__text,
  .mypage .ec-orderRole .ec-inlineBtn,
  .ec-orderDelivery .ec-orderDelivery__title,
  .ec-AddAddress .ec-AddAddress__itemtTitle,
  .ec-historyRole .ec-historyRole__detail .ec-historyRole__detailTitle,
  .ec-historyRole .ec-historyRole__detail .ec-historyRole__detailPrice,
  .ec-historyListHeader .ec-historyListHeader__date,
  .ec-404Role .ec-404Role__title,
  .ec-withdrawRole .ec-withdrawRole__title,
  .ec-withdrawConfirmRole .ec-withdrawConfirmRole__title,
  .ec-userEditCompleteRole .ec-userEditCompleteRole__title,
  .ys-product-detail h2,
  .ys-product-detail h3,
  .ys-product-detail th,
  .ysfc-page__eyebrow,
  .ysfc-page__title,
  .ysfc-page__section-title,
  .ysfc-page__button,
  .ys-guide-page__step-number,
  .ys-guide-page__step h3,
  .ys-guide-page__card h3,
  .ysfc-content-index__card-title,
  .ysfc-content-detail__section h2,
  .ysfc-media__item-title,
  .ysfc-faq__section-title,
  .ysfc-content-detail__cta,
  .ysfc-media__section h3,
  .ysfc-faq__item summary,
  .ys-site-footer__heading,
  .ys-site-footer__shop-name,
  #product_review_area .review_list .review_date,
  .yamamoto-business-documents-mypage__button,
  .yrm-member-statusBlock__title,
  .yrm-member-statusBlock__role,
  .yrm-member-statusBlock__rate-label,
  .yrm-member-statusBlock__rate-unit,
  .yrm-ic .yrm-ic-progress [aria-current="step"],
  .yrm-ic .yrm-ic-check strong,
  .yrm-procedure dt,
  .yrm-publicFlow__applicationNo,
  .yrm-front__eyebrow,
  .yrm-section__title,
  .yrm-summaryCard__label,
  .yrm-summaryCard__value,
  .yrm-actionCard__title,
  .yrm-statusBadge,
  .yrm-definitionList dt,
  .yrm-formGroup > label,
  .yrm-formLabel,
  .yrm-required,
  .yrm-pageNav a,
  .yrm-stepList__title,
  .yrm-subsection__title,
  .yrm-front .yrm-primaryButton,
  .yrm-front .yrm-secondaryButton,
  .yrm-front .yrm-dangerButton,
  .yrm-table th,
  .yrm-qrMetrics td:first-child,
  .yrm-referral-current,
  .yrm-referral-label,
  .ysfc-recommendations__price.yrm-referral-price .yrm-referral-current,
  .ysfc-recommendations__price.yrm-referral-price .yrm-referral-label,
  .yrm-cart-price__current,
  .yrm-cart-price__label,
  .yrm-price-notice__title,
  .yrm-price-notice__amount,
  .yamamoto-shipping-field__label,
  .yamamoto-shipping-datetime-fields .ec-errorMessage,
  .yamamoto-shipping-preview-error,
  .form-check-label,
  .ec-radio label,
  label.ec-label,
  [style*="font-weight:bold"],
  [style*="font-weight: bold"]
):not(.fa):not(.fas):not(.far):not(.fab):not(.glyphicon) {font-weight:500!important}
body.ym-front.ym-unified #ym-main-content .ec-historyRole .ec-historyRole__detail .ec-historyRole__detailOption::after,
body.ym-front.ym-unified #ym-main-content .yrm-stepList__item::before {font-weight:500!important}
body.ym-front.ym-unified #ym-main-content :is(label,.ec-label,.ec-borderedDefs > dl > dt) {font-size:16px}
body.ym-front.ym-unified #ym-main-content .ym-account-shell .ec-forgotRole__intro p {font-size:16px;line-height:1.8}
body.ym-front.ym-unified #ym-main-content .ec-totalBox__taxLabel {font-size:14px}

/* Existing component names adapt to the same semantic tokens as ym-* components. */
body.ym-front.ym-unified {--ym-compact-pad:20px;--ym-nav-size:14px}
body.ym-front.ym-unified #ym-main-content :is(
  .ec-historyRole,.ec-orderOrder,.ec-orderAccount,.ec-orderDelivery,.ec-orderPayment,
  .ec-orderConfirm,.ec-orderMails,.ec-orderMail,.ec-orderAddPoint,.ec-orderUsePoint,
  .ec-orderWrap,.ec-orderCoupon,.ec-totalBox,.ec-cartRole__actions,.ec-login,.ec-guest,
  .ym-member-form,.ym-member-result,.ym-account-form,.ym-account-result,.ym-checkout-result,
  .yrm-section,.yrm-summaryCard,.yrm-actionCard,.yrm-terms-card,.yrm-conditional-panel,
  .yrm-procedure section,.ym-commerce-product-description,.ym-commerce-purchase-guide,
  .ysfc-info-cards__card,.ysfc-purchase-assurance__box,.ysfc-x__box,.yrm-public-block__card
) {
  min-width:0;padding:var(--ym-card-pad);border-radius:var(--ym-card-radius);
  border-color:var(--ym-line);font-size:16px;line-height:1.8;
}
body.ym-front.ym-unified #ym-main-content :is(#yamato_payment42_credit,#yamato_payment42_cvs):not(:empty) {
  padding:var(--ym-card-pad);border-radius:var(--ym-card-radius);border-color:var(--ym-line);
}
body.ym-front.ym-unified.ym-catalog-page #ym-main-content .ec-shelfGrid .ec-shelfGrid__item,
body.ym-front.ym-unified #ym-main-content .ec-favoriteRole__item {
  padding:var(--ym-card-pad);border-radius:var(--ym-card-radius);
}
body.ym-front.ym-unified #ym-main-content :is(
  .ec-cartRole__cart,.ysfc-recommendations__item,.ec-sliderItemRole,.ym-details,.ym-faq-item
) {border-radius:var(--ym-card-radius)}
body.ym-front.ym-unified #ym-main-content :is(
  .yrm-section--compact,.yrm-notice,.yrm-publicFlow__privacy,.yrm-consentRow,.yrm-confirmations,
  .yrm-terms-card__consent,.yrm-ic-check,.yrm-ic-progress,.ym-member-welcome,
  .portal-rates > div,.ysfc-recommendations__body,.ysfc-category-cards__card
) {padding:var(--ym-compact-pad)}
body.ym-front.ym-unified #ym-main-content .ysfc-category-cards__card {border-radius:var(--ym-card-radius)}
body.ym-front.ym-unified.ym-commerce-product #ym-main-content .ec-productRole__actions {
  padding:20px;border-radius:var(--ym-card-radius);
}
body.ym-front.ym-unified #ym-main-content .ec-addressList__item {
  padding-block:var(--ym-compact-pad);padding-left:var(--ym-compact-pad);
  border-radius:var(--ym-card-radius);
  /* Its existing right80px / SP72px is reserved for the delete control. */
}
body.ym-front.ym-unified #ym-main-content .ec-addressList__remove {top:var(--ym-compact-pad)}
body.ym-front.ym-unified #ym-main-content .ec-icon img {width:18px;height:18px}
body.ym-front.ym-unified #ym-main-content .ym-member-warning-icon .ec-icon img {width:28px;height:28px}
body.ym-front.ym-unified #ym-main-content :is(.ec-addressList__remove,.ec-closeBtn--circle) .ec-icon img {
  width:14px;height:14px;
}
/* Labels, prose, helper text and compact data each have an explicit scale. */
body.ym-front.ym-unified #ym-main-content :is(
  .ym-member-welcome,.ym-member .ec-para-normal,.ym-member .ec-definitions dd,
  .ym-member .ec-imageGrid__content p,.ec-addressList__address,.ym-member-mail summary,
  .portal-role dd,.yrm-termsBody,.yrm-terms-card__body,.yrm-procedure .yrm-terms,
  .yrm-ic-terms,.yrm-consentRow,.ys-product-detail,.ys-product-detail p,.ys-product-detail li,
  .ym-prepurchase-login .ec-guest p,.ym-checkout .ec-imageGrid__content p,
  .ec-totalBox .ec-totalBox__spec,.ysfc-info-cards__text,.ysfc-info-cards__list,
  .yrm-public-block__use,.ysfc-content-detail__section p,.ysfc-content-index__summary,
  .ysfc-media__body,.ys-guide-page__step p,.ys-guide-page__card p
) {font-size:16px;line-height:1.8}
body.ym-front.ym-unified #ym-main-content :is(
  .yrm-helpText,.yrm-summaryCard__label,.yrm-summaryCard__note,.yrm-section__description,
  .yrm-actionCard__body,.yrm-terms-card__guide,.yrm-terms-card__version,.yrm-consent-summary,
  .yrm-ic-help,.ec-zipInputHelp,.ym-member-mail-date,.ym-catalog-description,
  .ym-catalog-price-note,.ym-catalog-variant-note,.ym-prepurchase-total-label,
  .ec-login__link,.ec-productRole__code,.ym-commerce-purchase-guide dd > span,
  .ym-commerce-purchase-guide > p,.ym-commerce-payment-intro,.ym-commerce-payment-note,
  .ym-commerce-payment-fee,.yamamoto-shipping-field__note,.yamamoto-shipping-preview-loading,
  .yamamoto-shipping-unavailable-message,.ybd-sub-label,.ybd-form-help,.ybd-optional,
  .ybd-complete-actions p,.ym-info-breadcrumb,.ym-information-page figcaption,.ec-errorMessage,
  .ysfc-info-cards__link,.ym-info-read-more,.ym-commerce-guide-links a
) {font-size:14px;line-height:1.8}
body.ym-front.ym-unified #ym-main-content :is(
  label,.ec-label,.ym-prepurchase-field-label,.ym-catalog-sort-label,.ybd-delivery-toggle__label
) {font-size:16px;line-height:1.8}
body.ym-front.ym-unified #ym-main-content :is(.yrm-table th,.yrm-table td,.yrm-tableWrap th,.yrm-tableWrap td) {
  font-size:14px;line-height:1.8;
}
body.ym-front.ym-unified #ym-main-content :is(
  input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=image]):not([type=range]):not([type=color]),
  select,textarea
) {min-height:48px;max-width:100%;font-family:var(--ym-font);font-size:16px;font-weight:400;line-height:1.6;border-radius:8px}
/* Main section headers and compact card titles share spacing, regardless of their original tag. */
body.ym-front.ym-unified #ym-main-content :is(
  .ec-rectHeading,.ec-reportHeading,.yrm-section__header,.ym-section-head,.ysfc-section__head
) {padding:0;border:0;margin-bottom:16px}
body.ym-front.ym-unified #ym-main-content :is(
  .ec-rectHeading,.ec-reportHeading,.yrm-section__header,.ym-section-head,.ysfc-section__head
) > :is(h2,h3,.yrm-section__title) {margin:0;padding:0}
body.ym-front.ym-unified #ym-main-content :is(.yrm-section__title,.yrm-section__heading) {
  font-size:var(--ym-h2)!important;line-height:1.55!important;
}
body.ym-front.ym-unified #ym-main-content :is(
  .yrm-actionCard__title,.yrm-subsection__title,.yrm-stepList__title,.yrm-terms-card__title,
  .ec-orderDelivery__title,.ysfc-info-cards__title,.ym-commerce-purchase-guide h2,
  .ym-prepurchase-login .ec-login h2,.ym-prepurchase-login .ec-guest h2,.ym-prepurchase-guest-form h2
) {font-size:var(--ym-h3)!important;line-height:1.6!important;margin:0 0 12px}
body.ym-front.ym-unified #ym-main-content .ym-details > summary {
  padding:20px var(--ym-card-pad);line-height:1.8;
}
body.ym-front.ym-unified #ym-main-content .ym-faq-item > summary {font-size:var(--ym-h3)}
body.ym-front.ym-unified #ym-main-content .ym-details > .ym-details-content {
  padding:0 var(--ym-card-pad) var(--ym-card-pad);
}
body.ym-front.ym-unified #ym-main-content :is(
  .yrm-summaryGrid,.yrm-actionGrid,.ysfc-category-cards__grid,.ysfc-recommendations__grid,
  .ysfc-info-cards__grid,.ym-guide-steps,.ym-info-article-list,.portal-rates
) {gap:var(--ym-grid-gap)}
body.ym-front.ym-unified.ym-catalog-page #ym-main-content .ec-shelfGrid {gap:var(--ym-grid-gap)}
/* Complete CTA aliases. Circular delete/quantity/search controls are deliberately outside this set. */
body.ym-front.ym-unified #ym-main-content :is(
  .ym-btn,.ym-member-danger,.yrm-primaryButton,.yrm-secondaryButton,.yrm-dangerButton,
  .yrm-procedure button,.ec-inlineBtn--primary,.ec-inlineBtn--default,.ec-inlineBtn--top,
  .ec-blockBtn--top,.ym-commerce-primary,.ym-commerce-secondary,.ysfc-page__button,
  .ysfc-content-detail__cta,.ysfc-hero-block__button,.yrm-public-block__button,.ym-info-topics > a
) {
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;height:auto;max-width:100%;padding:11px 20px;border-radius:10px;
  font-family:var(--ym-font);font-size:16px;font-weight:500;line-height:1.6;
  white-space:normal;overflow-wrap:anywhere;text-align:center;text-decoration:none;
}
body.ym-front.ym-unified #ym-main-content :is(.ec-inlineBtn--primary,.ec-blockBtn--primary) {
  background:var(--ym-green);border-color:var(--ym-green);color:var(--ym-white);
}
body.ym-front.ym-unified #ym-main-content :is(.ec-inlineBtn--primary,.ec-blockBtn--primary):hover {
  background:var(--ym-green-hover);border-color:var(--ym-green-hover);color:var(--ym-white);
}
body.ym-front.ym-unified #ym-main-content :is(.ysfc-page__button,.ysfc-content-detail__cta) {
  background:var(--ym-green);border-color:var(--ym-green);color:var(--ym-white)!important;
}
body.ym-front.ym-unified #ym-main-content :is(.ysfc-page__button,.ysfc-content-detail__cta):hover {
  background:var(--ym-green-hover);color:var(--ym-white)!important;
}
body.ym-front.ym-unified #ym-main-content .ysfc-page__button--secondary {
  background:var(--ym-white);border-color:var(--ym-input);color:var(--ym-green)!important;
}
body.ym-front.ym-unified #ym-main-content :is(.ysfc-page__button,.ysfc-content-detail__cta,.ec-blockBtn--primary,.ec-inlineBtn--primary):is(:disabled,[aria-disabled=true]) {
  background:#eff1ec;border-color:#b4c0b4;color:var(--ym-muted)!important;
}
body.ym-front.ym-unified #ym-main-content .ym-commerce-primary {min-height:54px}
body.ym-front.ym-unified #ym-main-content .ym-commerce-mobile-purchase button {
  min-height:44px;padding:10px 14px;font-size:14px;
}
body.ym-front.ym-unified #ym-main-content .yamamoto-business-documents-mypage__button {
  min-height:44px;height:auto;padding:8px 12px!important;font-size:14px!important;
  line-height:1.6;border-radius:10px;white-space:normal;
}
/* Action groups use one top space; their nested alignment grids do not add it again. */
body.ym-front.ym-unified #ym-main-content :is(
  .ym-member-back,.ec-historyListHeader__action,.ec-RegisterRole__actions,.ec-registerRole__actions,
  .ec-AddAddress__actions,.yrm-actions,.yrm-actionBar,.yrm-buttons,.yrm-actionCard__action,
  .portal-record-action,.ec-login .ec-grid2,.ec-guest__actions,.ybd-quote-submit,
  .ybd-complete-actions,.ybd-document-actions,.ec-totalBox__btn,.ysfc-hero-block__actions,
  .ym-info-cta,.ysfc-x__profile-link,.ym-checkout-result .ec-off4Grid,
  .ec-contactCompleteRole .ec-off4Grid
) {margin-top:var(--ym-action-top);margin-bottom:0;gap:var(--ym-action-gap)}
body.ym-front.ym-unified #ym-main-content :is(
  .yrm-actionBar__primary,.yrm-actionBar__secondary,.ec-login__actions,
  .ym-checkout-actions .ec-off4Grid,.ym-contact-actions .ec-off4Grid
) {margin-top:0;gap:var(--ym-action-gap)}
body.ym-front.ym-unified #ym-main-content .yrm-actionBar {padding-top:var(--ym-action-top)}
body.ym-front.ym-unified #ym-main-content :is(
  .ec-RegisterRole__actions,.ec-registerRole__actions,.ec-AddAddress__actions,
  .ybd-quote-submit,.ybd-complete-actions,.ybd-document-actions
) .ec-off4Grid__cell {display:grid;gap:var(--ym-action-gap)}
body.ym-front.ym-unified #ym-main-content :is(
  .ec-RegisterRole__actions,.ec-registerRole__actions,.ec-AddAddress__actions,
  .ybd-quote-submit,.ybd-complete-actions,.ybd-document-actions
) .ec-off4Grid__cell > :is(a,button) {margin-top:0;margin-bottom:0}
body.ym-front.ym-unified #ym-main-content .ec-cartRole__actions .ec-cartRole__total {margin-bottom:0}
body.ym-front.ym-unified #ym-main-content .ec-cartRole__actions > :is(.ec-blockBtn--action,.ec-blockBtn--cancel) {
  margin-top:var(--ym-action-top);margin-bottom:0!important;
}
body.ym-front.ym-unified #ym-main-content .ec-cartRole__actions > :is(.ec-blockBtn--action,.ec-blockBtn--cancel)
  + :is(.ec-blockBtn--action,.ec-blockBtn--cancel) {margin-top:var(--ym-action-gap)}
body.ym-front.ym-unified.ym-commerce-product #ym-main-content .ym-commerce-product-purchase #form1 {margin-top:var(--ym-action-top)}
body.ym-front.ym-unified.ym-commerce-product #ym-main-content .ym-commerce-product-purchase .ec-productRole__btn {margin-top:var(--ym-action-top)}
body.ym-front.ym-unified.ym-commerce-product #ym-main-content #form1 + form .ec-productRole__btn {margin-top:var(--ym-action-gap)}
/* Upper account tabs and in-page navigation share text and hit targets, retaining their roles. */
body.ym-front.ym-unified #ym-main-content :is(.ym-member-nav .ec-navlistRole__item a,.yrm-pageNav a) {
  min-height:48px;font-size:var(--ym-nav-size);line-height:1.6;border-radius:10px;
}
body.ym-front.ym-unified #ym-main-content :is(.yrm-pageNav,.ym-info-topics) {gap:var(--ym-action-gap)}
@media(max-width:767px) {
  body.ym-front.ym-unified {--ym-compact-pad:16px}
  body.ym-front.ym-unified #ym-main-content .ym-details > summary {padding:20px var(--ym-card-pad)}
}
@media(max-width:360px) {
  body.ym-front.ym-unified {--ym-compact-pad:14px}
}

/* Public and purchase aliases: semantic surfaces, type and actions complete the same contract. */
body.ym-front.ym-unified.ym-catalog-page #ym-main-content .ec-searchnavRole__infos,
body.ym-front.ym-unified:is(.ym-catalog-page,.ym-commerce-product) #ym-main-content .ec-modal-wrap {
  padding:var(--ym-card-pad);border-radius:var(--ym-card-radius);border-color:var(--ym-line);
}
body.ym-front.ym-unified:is(.ym-catalog-page,.ym-commerce-product) #ym-main-content .ec-modal-box {
  /* Keep a separate close-control reserve inside the surface, without moving the native close hook. */
  padding-top:24px;
}
body.ym-front.ym-unified #ym-main-content .ysfc-hero-block__copy {padding:var(--ym-card-pad)}
body.ym-front.ym-unified #ym-main-content :is(.ym-commerce-payment-intro,.ym-info-read-more) {
  font-size:16px;line-height:1.8;
}
body.ym-front.ym-unified #ym-main-content .ec-cartRow__summary {font-size:14px;line-height:1.8}
body.ym-front.ym-unified #ym-main-content :is(.ec-cartRow__name,.ec-cartRow__unitPrice) {
  font-size:16px;line-height:1.8;
}
body.ym-front.ym-unified #ym-main-content .ym-prepurchase-guest-form h2 {
  font-size:var(--ym-h2)!important;line-height:1.55!important;margin:0 0 16px;
}
body.ym-front.ym-unified #ym-main-content .ysfc-category-cards__name {
  font-size:var(--ym-h3)!important;font-weight:500;line-height:1.6;
}
body.ym-front.ym-unified #ym-main-content .ym-commerce-mobile-purchase button {
  min-height:44px;padding:8px 14px;font-size:16px;line-height:1.6;
}
body.ym-front.ym-unified #ym-main-content :is(
  .ym-prepurchase-login .ec-grid3,.ym-commerce-payment-grid,.ym-home-delivery__grid
) {gap:var(--ym-grid-gap)}
/* A group owns its one top space and its children's gap; do not restyle individual rows or totals. */
body.ym-front.ym-unified #ym-main-content .ec-totalBox__btn {
  display:grid;gap:var(--ym-action-gap);margin-top:var(--ym-action-top);
}
body.ym-front.ym-unified #ym-main-content .ec-totalBox__btn > :is(a,button) {
  margin-top:0;margin-bottom:0;
}
body.ym-front.ym-unified #ym-main-content .ec-totalBox__btn > .ec-blockBtn--cancel {
  color:var(--ym-green);background:var(--ym-white);border-color:var(--ym-input);
}
body.ym-front.ym-unified #ym-main-content .ec-totalBox__btn > .ec-blockBtn--cancel:hover {
  color:var(--ym-green);background:var(--ym-soft);border-color:var(--ym-green);
}
body.ym-front.ym-unified #ym-main-content :is(
  .ec-RegisterRole__actions,.ec-registerRole__actions,.ec-AddAddress__actions
) {padding-top:0}
body.ym-front.ym-unified #ym-main-content .ym-info-search-row {
  display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--ym-action-gap);
}
body.ym-front.ym-unified #ym-main-content .ym-info-search-row > .ym-button {margin-block:0}
body.ym-front.ym-unified #ym-main-content #coupon p:has(#coupon_button) {
  margin:var(--ym-action-top) 0 0;
}
body.ym-front.ym-unified #ym-main-content :is(
  .ym-info-empty,.ym-catalog-empty,.yrm-public-block__message
) > .ym-button {margin-top:var(--ym-action-top)}
body.ym-front.ym-unified #ym-main-content :is(
  .ym-info-empty,.ym-catalog-empty,.yrm-public-block__message
) > p:has(+ .ym-button) {margin-bottom:0}
body.ym-front.ym-unified #ym-main-content :is(.ym-info-empty,.ym-catalog-empty) > .ym-button + .ym-button {
  margin-top:var(--ym-action-gap);
}
body.ym-front.ym-unified #ym-main-content .ym-info-back {
  margin-top:0;padding-top:var(--ym-action-top);
}
body.ym-front.ym-unified #ym-main-content .ym-prepurchase-back {margin-top:var(--ym-action-top)}
body.ym-front.ym-unified:is(.ym-catalog-page,.ym-commerce-product) #ym-main-content .ec-modal-box .ec-role {
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:var(--ym-action-gap);margin-top:var(--ym-action-top);
}
body.ym-front.ym-unified:is(.ym-catalog-page,.ym-commerce-product) #ym-main-content .ec-modal-box .ec-role > :is(a,span,button) {
  margin-top:0;margin-bottom:0;
}
body.ym-front.ym-unified #ym-main-content .ybd-complete-actions .ec-off4Grid__cell > p {margin:0}
/* Reset old percentage-offset grids only inside the bounded form/result they used to narrow twice. */
body.ym-front.ym-unified.ym-contact-page #ym-main-content .ym-contact-form > .ec-off1Grid__cell {
  width:100%;max-width:none;margin:0;padding:0;
}
body.ym-front.ym-unified:is(.ym-checkout-addresses,.ym-checkout-address-edit) #ym-main-content .ec-registerRole > .ec-off1Grid {
  width:100%;max-width:var(--ym-form-max);margin-inline:auto;padding-inline:0;
}
body.ym-front.ym-unified:is(.ym-checkout-addresses,.ym-checkout-address-edit) #ym-main-content .ec-registerRole > .ec-off1Grid > .ec-off1Grid__cell {
  width:100%;max-width:none;margin-inline:0;padding-inline:0;
}
body.ym-front.ym-unified.ym-contact-page #ym-main-content .ec-contactCompleteRole :is(
  .ec-off3Grid,.ec-off3Grid__cell,.ec-off4Grid,.ec-off4Grid__cell
) {width:100%;margin-inline:0;min-width:0}
body.ym-front.ym-unified.product_review_complete #ym-main-content .ec-registerCompleteRole > .ec-off3Grid {
  width:100%;max-width:var(--ym-result-max);margin-inline:auto;min-width:0;
}
body.ym-front.ym-unified.product_review_complete #ym-main-content .ec-registerCompleteRole :is(
  .ec-off3Grid__cell,.ec-off4Grid,.ec-off4Grid__cell
) {width:100%;margin-inline:0;min-width:0}
body.ym-front.ym-unified.product_review_complete #ym-main-content .ec-registerCompleteRole .ec-off4Grid {
  margin-top:var(--ym-action-top);
}
body.ym-front.ym-unified:is(.product_review,.product_review_confirm,#page_plugin_coupon_shopping)
  #ym-main-content .ec-registerRole > .ec-off1Grid {
  width:100%;max-width:var(--ym-form-max);margin-inline:auto;padding-inline:0;
}
body.ym-front.ym-unified:is(.product_review,.product_review_confirm,#page_plugin_coupon_shopping)
  #ym-main-content .ec-registerRole > .ec-off1Grid > .ec-off1Grid__cell {
  width:100%;max-width:none;margin-inline:0;padding-inline:0;
}
@media(max-width:767px) {
  body.ym-front.ym-unified #ym-main-content .ysfc-hero-block__copy {border-radius:0}
  body.ym-front.ym-unified #ym-main-content .ym-info-search-row > .ym-info-field {margin-bottom:0}
}

/* Shared progress surfaces and vertical stacks; each group owns its spacing once. */
body.ym-front.ym-unified #ym-main-content .ec-cartRole__progress {
  padding:0;margin:0 0 var(--ym-heading-gap);text-align:left;
}
body.ym-front.ym-unified #ym-main-content :is(.ec-progress,.ym-account-steps) {
  padding:var(--ym-compact-pad);border-radius:var(--ym-card-radius);gap:12px;
}
body.ym-front.ym-unified #ym-main-content .ym-account-steps {
  width:100%;max-width:var(--ym-form-max);margin:0 auto var(--ym-heading-gap);
}
body.ym-front.ym-unified #ym-main-content .ym-account-steps li {
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  gap:8px;font-size:13px;line-height:1.6;text-align:center;font-weight:500;
}
body.ym-front.ym-unified #ym-main-content .ym-account-steps li > span {
  width:32px;height:32px;font-size:14px;line-height:32px;
}
body.ym-front.ym-unified #ym-main-content :is(
  .ec-historyRole,.ec-orderOrder,.ec-orderAccount,.ec-orderDelivery,.ec-orderPayment,
  .ec-orderConfirm,.ec-orderMails,.ec-orderMail,.ec-orderAddPoint,.ec-orderUsePoint,
  .ec-orderWrap,.ec-orderCoupon
) {margin-bottom:var(--ym-grid-gap)}
body.ym-front.ym-unified #ym-main-content .yrm-section {margin-bottom:var(--ym-section-gap)}
body.ym-front.ym-unified #ym-main-content .yrm-actionBar {margin-top:0!important}
body.ym-front.ym-unified #ym-main-content .ysfc-page__button--secondary:hover {
  background:var(--ym-soft);border-color:var(--ym-green);color:var(--ym-green)!important;
}
@media(max-width:767px) {
  body.ym-front.ym-unified #ym-main-content :is(.ec-progress,.ym-account-steps) {gap:8px}
  body.ym-front.ym-unified #ym-main-content .ym-account-steps li {font-size:12px}
}

/* FRONT-UI15 draft, not a product file. Append only after root review/samples.
   Final member aliases found by resolving all 501 presentation rules / 80 Twig.
   No form attributes, visibility, colors, business selectors or content changes. */

/* Compact PDF action: source has radius8/min48 !important; preserve an explicit44px/14px purpose. */
body.ym-front.ym-unified #ym-main-content .yamamoto-business-documents-mypage__button {
  min-height:44px!important;height:auto!important;padding:8px 12px!important;
  border-radius:10px!important;font-size:14px!important;font-weight:500!important;line-height:1.6;
}

/* Existing member card-grid and explicit paging action group aliases. */
body.ym-front.ym-unified #ym-main-content .ec-favoriteRole__itemList {gap:var(--ym-grid-gap)}
/* Match the page-shell native-wrapper reset specificity; result/form cards own their padding. */
body.ym-front.ym-unified #ym-main-content .ym-page-shell :is(
  .ym-account-result,.ym-member-result,.ym-account-form,.ym-member-form
) {padding:var(--ym-card-pad);border-radius:var(--ym-card-radius)}
body.ym-front.ym-unified #ym-main-content .yrm-pagination {
  gap:var(--ym-action-gap);margin-top:var(--ym-action-top);
}

/* Program landing uses its own class names, shared by both existing/new-contract views. */
body.ym-front.ym-unified #ym-main-content .yrm-program {padding-bottom:0}
body.ym-front.ym-unified #ym-main-content .yrm-program__button {
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;height:auto;
  max-width:100%;padding:11px 20px;border-radius:10px;font-family:var(--ym-font);
  font-size:16px;font-weight:500;line-height:1.6;text-align:center;white-space:normal;
  overflow-wrap:anywhere;text-decoration:none;
}
body.ym-front.ym-unified #ym-main-content .yrm-program__hero-actions {
  gap:var(--ym-action-gap);margin-top:var(--ym-action-top);
}
body.ym-front.ym-unified #ym-main-content .yrm-program__jump {
  gap:var(--ym-action-gap);padding-block:var(--ym-compact-pad);
}
body.ym-front.ym-unified #ym-main-content .yrm-program__jump a {
  min-height:48px;font-size:16px;font-weight:500;line-height:1.8;
}
body.ym-front.ym-unified #ym-main-content .yrm-program__section {
  padding-block:var(--ym-section-gap);
}
body.ym-front.ym-unified #ym-main-content :is(.yrm-program__section--soft,.yrm-program__cta) {
  padding:var(--ym-card-pad);border-radius:var(--ym-card-radius);
}
body.ym-front.ym-unified #ym-main-content .yrm-program__cta {margin-top:var(--ym-section-gap)}
body.ym-front.ym-unified #ym-main-content :is(
  .yrm-program__use-case,.yrm-program__model-item,.yrm-program__confirm-item,
  .yrm-program__audiences li,.yrm-program__facts li,.yrm-program__story-points
) {padding:var(--ym-compact-pad);border-radius:var(--ym-card-radius)}
body.ym-front.ym-unified #ym-main-content :is(
  .yrm-program__use-cases,.yrm-program__audiences,.yrm-program__model,
  .yrm-program__confirm,.yrm-program__facts
) {gap:var(--ym-grid-gap)}
body.ym-front.ym-unified #ym-main-content .yrm-program__section-header {margin-bottom:16px}
body.ym-front.ym-unified #ym-main-content .yrm-program__section-header > .yrm-program__heading {margin:0}
body.ym-front.ym-unified #ym-main-content .yrm-program__intro {margin-top:16px}
body.ym-front.ym-unified #ym-main-content :is(
  .yrm-program__lead,.yrm-program__intro,.yrm-program__story-copy p,
  .yrm-program__story-points li,.yrm-program__use-case p,.yrm-program__model p,
  .yrm-program__confirm-item p,.yrm-program__audiences li,.yrm-program__flow span,
  .yrm-program__cta p
) {font-size:16px;line-height:1.8}
body.ym-front.ym-unified #ym-main-content .yrm-program__flow strong {
  font-size:var(--ym-h3);font-weight:500;line-height:1.6;
}
body.ym-front.ym-unified #ym-main-content :is(
  .yrm-program__eyebrow,.yrm-program__section-label,.yrm-program__use-number,
  .yrm-program__model-mark
) {font-size:12px;font-weight:500;line-height:1.6}
body.ym-front.ym-unified #ym-main-content .yrm-program__cta p {margin-bottom:var(--ym-action-top)}

/* Deliberate remaining purposes, no reset here:
   - Address card right80/SP72 reserves the48px delete control; circular controls remain native.
   - QR image240px/QR responsive data labels, form compound grids/readonly/hidden stay native.
   - SummaryCard value24 includes words/date/status and money; portal metric28 is separate.
   - Table/definition/history-mail density14, badges/status/step metadata12/13 remain compact.
   - Program catch22/SP20 is lead copy; flow counters44px and bullet/step left reserves stay native.
   - Navigation container/internal padding is purposeful; nav target48/14/r10 is already common.
   - Existing important honeypot/hidden/display/outline/color rules remain intact. */

/* Measured primary purchase control must outrank the shared native action selector. */
body.ym-front.ym-unified.ym-commerce-product #ym-main-content .ym-commerce-product-purchase .ym-commerce-primary {min-height:54px}

/* FRONT-UI16: retain the original responsive intent without changing other cards. */
@media(max-width:1000px){
  body.ym-front.ym-unified #ym-main-content .ym-referral .yrm-program .yrm-program__confirm{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:767px){
  body.ym-front.ym-unified #ym-main-content .ysfc-recommendations .ysfc-section__head{align-items:flex-start}
}
