/* FRONT-UI13: theme-only purchase and error presentation; no payment logic. */
.ym-front.ym-checkout{color:#293b31;background:#f7f4ed;font-family:var(--ym-font);font-size:16px;font-weight:400;line-height:1.8}
.ym-front.ym-checkout :is(.ym-checkout-shell,.ym-checkout-layout,.ec-cartRole,.ec-cartCompleteRole,.ec-role){min-width:0}
.ym-front.ym-checkout .ym-checkout-shell{max-width:1120px;margin:0 auto;padding:32px 24px 48px}
.ym-front.ym-checkout :is(h1,h2,h3,h4,label,strong,b,th,dt,summary,.ec-label,.ec-totalBox__price,.ec-totalBox__total,.yamamoto-shipping-field__label){font-weight:500;font-synthesis:none}
.ym-front.ym-checkout :is(h1,h2,h3,h4){color:#293b31;line-height:1.55;overflow-wrap:anywhere}
.ym-front.ym-checkout .ec-pageHeader{padding:32px 0 20px}
.ym-front.ym-checkout :is(h1,.ym-checkout-title){font-size:30px;margin:0 0 16px;line-height:1.55}
.ym-front.ym-checkout :is(.ym-checkout-intro,.ym-commerce-payment-intro){font-size:16px;color:#596b5f;line-height:1.9;margin:12px 0 20px}
.ym-front.ym-checkout a{color:#285d47;text-underline-offset:3px;overflow-wrap:anywhere}
.ym-front.ym-checkout :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #94702c;outline-offset:4px}
.ym-front.ym-checkout .ym-checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:28px;max-width:1200px;width:100%;margin:0 auto;padding:0 24px 48px;align-items:start}
.ym-front.ym-checkout .ym-checkout-layout>.ec-orderRole__detail{width:auto;min-width:0;padding:0}
.ym-front.ym-checkout .ym-checkout-layout>.ec-orderRole__summary{width:auto;min-width:0;margin:0;padding:0;position:sticky;top:165px}
.ym-front.ym-checkout :is(.ec-orderAccount,.ec-orderDelivery,.ec-orderPayment,.ec-orderConfirm,.ec-orderAddPoint,.ec-orderUsePoint,.ec-orderMail,.ec-orderWrap,.ec-orderCoupon){padding:24px;margin:0 0 22px;border:1px solid #d4dfd1;border-radius:16px;background:#fff;min-width:0}
.ym-front.ym-checkout .ec-rectHeading{border-bottom:1px solid #d4dfd1;margin:0 0 20px;padding:0 0 12px}
.ym-front.ym-checkout .ec-rectHeading h2{font-size:22px;font-weight:500;margin:0;padding:0;border:0;background:transparent;line-height:1.6}
.ym-front.ym-checkout .ec-orderDelivery__title{border-color:#d4dfd1;gap:12px;flex-wrap:wrap}
.ym-front.ym-checkout .ec-borderedList{border-color:#d4dfd1}
.ym-front.ym-checkout .ec-borderedList>li{border-color:#d4dfd1}
.ym-front.ym-checkout :is(.ec-orderAccount__account,.ec-orderDelivery__address,.ec-imageGrid__content){overflow-wrap:anywhere}
.ym-front.ym-checkout .ec-imageGrid{display:flex;gap:16px;min-width:0}
.ym-front.ym-checkout .ec-imageGrid__img{width:96px;flex:0 0 96px;min-width:0;margin:0}
.ym-front.ym-checkout .ec-imageGrid__img img{width:100%;height:auto;object-fit:contain}
.ym-front.ym-checkout .ec-imageGrid__content{flex:1;min-width:0;padding:0}
.ym-front.ym-checkout .ec-imageGrid__content p{font-size:15px;line-height:1.8}
.ym-front.ym-checkout .ec-totalBox{padding:24px;border:1px solid #d4dfd1;border-radius:16px;background:#fff;box-shadow:none;min-width:0}
.ym-front.ym-checkout .ec-totalBox .ec-totalBox__spec{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;font-size:15px;line-height:1.8;border-color:#d4dfd1}
.ym-front.ym-checkout .ec-totalBox .ec-totalBox__spec dt{color:#596b5f;font-weight:500;max-width:100%}
.ym-front.ym-checkout .ec-totalBox .ec-totalBox__spec dd{margin:0 0 0 auto;overflow-wrap:anywhere}
.ym-front.ym-checkout .ec-totalBox__total{padding:18px 0;margin:16px 0;border-top:1px solid #d4dfd1;border-bottom:1px solid #d4dfd1;color:#293b31;font-weight:500;line-height:1.8;overflow-wrap:anywhere}
.ym-front.ym-checkout .ec-totalBox__price{color:#285d47;font-size:28px;font-weight:500;line-height:1.5}
.ym-front.ym-checkout .ec-totalBox__taxLabel{font-size:14px;color:#596b5f}
.ym-front.ym-checkout :is(.ec-blockBtn--action,.ec-blockBtn--primary,.ec-blockBtn--cancel,.ec-inlineBtn,.ec-inlineBtn--action,.ec-inlineBtn--cancel,.ec-blockBtn,.ym-button){display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:48px;height:auto;padding:12px 20px;white-space:normal;line-height:1.6;font-family:inherit;font-size:16px;font-weight:500;border:1px solid #819286;border-radius:8px;text-decoration:none;cursor:pointer}
.ym-front.ym-checkout :is(.ec-blockBtn--action,.ec-blockBtn--primary,.ec-inlineBtn--action,.ym-button--primary){background:#285d47;color:#fff;border-color:#285d47}
.ym-front.ym-checkout :is(.ec-blockBtn--action,.ec-blockBtn--primary,.ec-inlineBtn--action,.ym-button--primary):hover{background:#1e4936;color:#fff;border-color:#1e4936}
.ym-front.ym-checkout :is(.ec-blockBtn--cancel,.ec-inlineBtn,.ec-inlineBtn--cancel,.ec-blockBtn){background:#fff;color:#285d47;border-color:#819286}
.ym-front.ym-checkout :is(.ec-blockBtn--cancel,.ec-inlineBtn,.ec-inlineBtn--cancel,.ec-blockBtn):hover{background:#eaf0e6;color:#1e4936}
.ym-front.ym-checkout .ec-inlineBtn.ec-inlineBtn--action{background:#285d47;color:#fff;border-color:#285d47}
.ym-front.ym-checkout :is(button,.ec-blockBtn--action,.ec-blockBtn--primary,.ec-inlineBtn--action,.ec-blockBtn--cancel,.ec-inlineBtn,.ec-blockBtn,.ym-button):disabled{background:#eff1ec;color:#596b5f;border-color:#b4c0b4;opacity:1;cursor:not-allowed}
.ym-front.ym-checkout :is(input:not([type=radio]):not([type=checkbox]):not([type=hidden]):not([type=submit]),select,textarea){font-family:inherit;font-size:16px;font-weight:400;color:#293b31;background:#fff;border:1px solid #819286;border-radius:8px;max-width:100%;min-width:0;min-height:48px;height:auto;line-height:1.6;padding:11px 12px;box-sizing:border-box}
.ym-front.ym-checkout :is(input,select,textarea):disabled{color:#596b5f;background:#eff1ec;opacity:1}
.ym-front.ym-checkout :is(input[type=radio],input[type=checkbox]){accent-color:#285d47;width:21px;height:21px;min-height:21px;flex:0 0 21px;margin-right:8px;vertical-align:middle}
.ym-front.ym-checkout .ec-required{color:#a43831;font-weight:500}
.ym-front.ym-checkout :is(.ec-errorMessage,.yamamoto-shipping-preview-error,.yamamoto-shipping-datetime-fields .ec-errorMessage){color:#a43831;font-size:14px;font-weight:500;line-height:1.8}
.ym-front.ym-checkout :is(.ec-alert-warning,.ec-alert-danger,.alert-danger,.alert-warning){background:#fff7e9;color:#69431f;border:1px solid #d6bc91;border-left:4px solid #875626;border-radius:10px;padding:18px 20px;line-height:1.8;margin:16px 0 24px}
.ym-front.ym-checkout :is(.ec-alert-danger,.alert-danger){background:#fff3f1;color:#8d302a;border-color:#d9aaa5;border-left-color:#a43831}
.ym-front.ym-checkout :is(.ec-alert-warning__text,.ec-alert-danger__text){color:inherit;font-weight:500}
.ym-front.ym-checkout .ec-alert-warning__icon{background:#875626;color:#fff;fill:#fff;border-radius:50%;padding:3px;width:20px;height:20px;box-sizing:content-box;vertical-align:middle}
.ym-front.ym-checkout .ec-progress{display:flex;gap:8px;width:100%;max-width:850px;margin:0 auto;padding:0;justify-content:center}
.ym-front.ym-checkout .ec-progress__item{flex:1;min-width:0;width:auto;padding:0 4px;color:#596b5f}
.ym-front.ym-checkout .ec-progress__number{font-weight:500;background:#eaf0e6;color:#285d47;border-color:#d4dfd1}
.ym-front.ym-checkout .ec-progress__label{font-size:13px;line-height:1.6;white-space:normal;overflow-wrap:anywhere;font-weight:500}
.ym-front.ym-checkout .ec-progress__item.is-complete .ec-progress__number{background:#285d47;color:#fff}
.ym-front.ym-checkout .ec-progress__item:after{border-color:#d4dfd1}
.ym-front.ym-checkout .ym-commerce-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ym-front.ym-checkout .ym-commerce-payment-card{position:relative;min-width:0;border:1px solid #819286;border-radius:12px;padding:18px;background:#fff;color:#293b31}
.ym-front.ym-checkout .ym-commerce-payment-card:has(input:checked){border:2px solid #285d47;padding:17px;background:#eaf0e6}
.ym-front.ym-checkout .ym-commerce-payment-card:focus-within{outline:3px solid #94702c;outline-offset:4px}
.ym-front.ym-checkout .ym-commerce-payment-card label{font-weight:500;color:#293b31;white-space:normal;overflow-wrap:anywhere;line-height:1.8}
.ym-front.ym-checkout .ym-commerce-payment-card>label{min-height:48px;position:static}
.ym-front.ym-checkout .ym-commerce-payment-card>label::after{content:"";position:absolute;inset:0;width:auto;height:auto;border:0;border-radius:0;background:transparent;transform:none;cursor:pointer}
.ym-front.ym-checkout .ym-commerce-payment-fee{font-size:14px;color:#596b5f;margin:12px 0 0}
.ym-front.ym-checkout .ym-commerce-payment-fee strong{color:#293b31;font-weight:500}
.ym-front.ym-checkout .ym-commerce-payment-selected{display:none;background:#285d47;color:#fff;padding:3px 9px;border-radius:6px;font-size:12px;font-weight:500}
.ym-front.ym-checkout .ym-commerce-payment-card:has(input:checked) .ym-commerce-payment-selected{display:inline-block}
.ym-front.ym-checkout .ym-commerce-payment-card:not(:has(input:checked)) .ym-commerce-payment-selected{display:none}
.ym-front.ym-checkout .ym-commerce-payment-image img{max-width:100%;max-height:52px;width:auto;object-fit:contain}
.ym-front.ym-checkout :is(.ec-selects,.ec-orderDelivery__actions){min-width:0}
.ym-front.ym-checkout .ec-orderDelivery__actions .ec-selects{display:grid;gap:18px}
.ym-front.ym-checkout .ec-selects .ec-select{width:100%;max-width:100%;margin:0}
.ym-front.ym-checkout .yamamoto-shipping-field__label{font-weight:500;color:#293b31}
.ym-front.ym-checkout :is(.yamamoto-shipping-field__note,.yamamoto-shipping-preview-loading){color:#596b5f;font-size:14px;line-height:1.8}
.ym-front.ym-checkout .yamamoto-shipping-datetime-fields{background:#f7f8f4;border:1px solid #d4dfd1;border-radius:10px;margin-top:16px;padding:18px}
.ym-front.ym-checkout .yamamoto-shipping-unavailable-message{color:#875626;font-size:14px;font-weight:400}
.ym-front.ym-checkout :is(.ec-borderedDefs dl,.ec-borderedDefs dt,.ec-borderedDefs dd){border-color:#d4dfd1}
.ym-front.ym-checkout .ec-borderedDefs dt{font-weight:500;color:#293b31}
.ym-front.ym-checkout .ec-zipInput{max-width:100%}
.ym-front.ym-checkout .ym-checkout-address-card{background:#fff;border:1px solid #d4dfd1;border-radius:12px;padding:18px;min-width:0;line-height:1.8;overflow-wrap:anywhere}
.ym-front.ym-checkout .ym-checkout-address-option:has(input:checked) .ym-checkout-address-card{border-color:#285d47;background:#eaf0e6}
.ym-front.ym-checkout .ym-checkout-address-card>span{display:block}
.ym-front.ym-checkout .ym-checkout-result{width:100%;max-width:820px;margin:28px auto 48px;padding:32px;border:1px solid #d4dfd1;border-radius:16px;background:#fff;min-width:0;line-height:1.9;overflow-wrap:anywhere}
.ym-front.ym-checkout .ym-checkout-result .ec-reportHeading{margin:0 0 20px;color:#293b31}
.ym-front.ym-checkout .ym-checkout-result .ec-reportDescription{font-size:16px;line-height:1.9;color:#596b5f}
.ym-front.ym-checkout .ym-checkout-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px;align-items:center}
.ym-front.ym-checkout .ym-checkout-result :is(.ec-off3Grid,.ec-off3Grid__cell,.ec-off4Grid,.ec-off4Grid__cell){width:100%;margin-left:0;margin-right:0;min-width:0}
.ym-front.ym-checkout .ym-checkout-error-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding-top:40px;padding-bottom:40px}
.ym-front.ym-checkout .ym-checkout-error-icon img{display:block;width:64px;height:64px;margin-bottom:22px}
.ym-front.ym-checkout .ym-checkout-error-message{font-size:16px;white-space:pre-line;line-height:1.9;color:#596b5f}
.ym-front.ym-checkout .ym-checkout-error-shell .ym-checkout-result{margin:0}
.ym-front.ym-checkout .ym-checkout-sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1000px){
 .ym-front.ym-checkout .ym-checkout-layout{grid-template-columns:minmax(0,1fr);max-width:900px}
 .ym-front.ym-checkout .ym-checkout-layout>.ec-orderRole__summary{position:static}
 .ym-front.ym-checkout .ym-commerce-payment-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:767px){
 .ym-front.ym-checkout :is(h1,.ym-checkout-title){font-size:26px}
 .ym-front.ym-checkout .ec-pageHeader{padding:24px 0 16px}
 .ym-front.ym-checkout .ym-checkout-shell{padding:24px 16px 36px}
 .ym-front.ym-checkout .ym-checkout-layout{padding:0 16px 36px;gap:18px}
 .ym-front.ym-checkout :is(.ec-orderAccount,.ec-orderDelivery,.ec-orderPayment,.ec-orderConfirm,.ec-orderAddPoint,.ec-orderUsePoint,.ec-orderMail,.ec-orderWrap,.ec-orderCoupon,.ec-totalBox){padding:20px 16px;border-radius:13px}
 .ym-front.ym-checkout .ec-rectHeading h2{font-size:20px}
 .ym-front.ym-checkout .ec-imageGrid{gap:12px}
 .ym-front.ym-checkout .ec-imageGrid__img{width:72px;flex-basis:72px}
 .ym-front.ym-checkout .ec-totalBox__price{font-size:26px}
 .ym-front.ym-checkout .ec-progress{gap:4px}
 .ym-front.ym-checkout .ec-progress__item{padding:0 2px}
 .ym-front.ym-checkout .ec-progress__label{font-size:12px}
 .ym-front.ym-checkout .ym-checkout-result{padding:24px 20px;margin-top:20px;border-radius:13px}
 .ym-front.ym-checkout .ym-checkout-actions{align-items:stretch}
 .ym-front.ym-checkout .ym-checkout-actions>*{width:100%}
 .ym-front.ym-checkout .ym-checkout-error-shell{padding:24px 16px}
}
@media(prefers-reduced-motion:reduce){.ym-front.ym-checkout *{scroll-behavior:auto;transition:none}}
