/*
 * Figma SP375 (2026-09-24): the body was resized from 390px by 25/26.
 * Keep that shared scale for text, spacing and images. The separately designed
 * header/menu controls and footer stay at 1:1 (44px controls, 100px mark).
 * Width remains fluid below the desktop breakpoint; zoom participates in layout.
 */
@media screen and (max-width: 767px) {
	.rc-main, .rs-menu { zoom: 0.9615384615384616; }

	/* Full-width SP summary; the desktop sidebar uses its existing styles. */
	.rf-summary { margin: 18px -24px 0; padding: 20px 24px 28px; }
	.rf-summary .rf-chapter--sp { margin-bottom: 38px; }
	.rf-summary dl div { padding: 5px 0 9px; }
	.rf-summary dt { font-size: 12px; line-height: 23px; }
	.rf-summary dd { font-size: 17px; line-height: 32px; }
	.rf-summary__salary { margin-top: 4px; padding-top: 0; border: 0; }
	.rf-summary__salary dt, .rf-summary__salary dd, .rf-summary__num--l { color: var(--rc-ink); }
	.rf-summary__salary dd { margin-top: 4px; }
	.rf-summary__num, .rf-summary__num--l { font: inherit; }
	.rf-summary__salary p { margin-top: 16px; font-size: 12.5px; }

	/* SP labels use a right-aligned required/optional label, without a badge. */
	.rf-req, .rf-opt { margin-left: auto; padding: 0; background: none; line-height: 1.45; }
	.rf-req { color: var(--rc-red); }
	.rf-label .rf-req, .rf-label .rf-opt { flex: 0 0 68px; }
	.rf-group { border-bottom: 1px solid #E9E9E9; }
	.rf-field :is(input, textarea)::placeholder { font-size: 12px; font-weight: 400; }
	.rf-field :is(input[type=text], input[type=email], input[type=tel], input[type=url], textarea, select), .rf-tile, .rf-file { border-color: #DDDDE0; }
	.rf-field.is-error :is(input, textarea, select), .rf-field.is-error .rf-file { border-color: #B01818; }
	.rf-guide { margin-left: -24px; margin-right: -24px; padding-left: 24px; padding-right: 24px; }
	.rf-page { padding-top: 36px; }
	.rf-h1 { margin-top: 14px; }
	.rf-progress { padding: 15px 14px; font-size: 12px; }
	.rf-confirm__rows { display: grid; gap: 19px; padding-top: 18px; }
	.rf-confirm__rows div { margin: 0; padding: 0 0 24px; }
	.rf-confirm__rows dd { margin-top: 8px; }
	.rf-summary__details-sp { position: relative; justify-content: center; background: transparent; border-color: var(--rc-ink); }
	.rf-summary__details-sp .rc-arrow { position: absolute; right: 16px; }

	/* Reservation completion uses the actual reserved date in the same card. */
	.rsm-done { padding-top: 65px; padding-bottom: 40px; }
	.rsm-done__en { font-size: 40px; }
	.rsm-done__ttl { margin-top: 30px; }
	.rsm-done__lead { margin-top: 30px; font-size: 16px; }
	.rsm-done__box { margin-top: 30px; }
	.rsm-done__box-txt { font-size: 15px; }

	.re-main .work-visual::after { display: none; }

	/* The entertainer form is narrower than the other SP page containers. */
	.ref-narrow { padding-left: 37px; padding-right: 37px; }
	.ref-page { padding-bottom: 44px; }
}
