.page-quote .travel-info-shell {
	max-width: 1280px;
}

.page-quote .travel-info-detail-hero h1.travel-info-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.page-quote .travel-info-action {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	height: 36px;
	padding: 0 16px;
	background: #6b5344;
	color: #fff;
	border: 1px solid #fff;
	border-radius: 4px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.page-quote .travel-info-action:hover {
	background: #5a4638;
	color: #fff;
	border-color: #fff;
}

@media (max-width: 640px) {
	.page-quote .travel-info-action {
		height: 32px;
		padding: 0 12px;
		font-size: 14px;
	}
}

.page-quote .tc2c-wrap {
	max-width: 1280px;
	padding-left: 16px;
	padding-right: 16px;
}

.page-quote .join-page {
	max-width: 1280px;
}

.page-quote .quote-error {
	margin: 0 0 16px;
	padding: 12px 14px;
	background: #fff4f4;
	color: #b42318;
	border: 1px solid #f3c1c1;
	border-radius: 6px;
	font-size: 14px;
}

.page-quote .join-subtitle,
.page-quote .register-form,
.page-quote .register-label,
.page-quote .register-field,
.page-quote .register .register-tit {
	font-size: 1rem;
}

.page-quote .register-label {
	width: 240px;
	min-width: 240px;
}

.page-quote .register-label .req { color: #c62828; margin-left: 2px; }

.page-quote .quote-box {
	margin: 0 0 20px;
	padding: 20px 24px 8px;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
}
.page-quote .quote-box.is-locked {
	position: relative;
}
.page-quote .quote-box.is-locked::after {
	content: '';
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: rgba(160, 160, 160, 0.28);
	border-radius: inherit;
	pointer-events: none;
}
.page-quote .quote-box.is-locked .register-form {
	pointer-events: none;
}
.page-quote .quote-pax-note {
	margin: 8px 0 0;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #666;
}
.page-quote .quote-guest-guide {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin: 0 0 16px;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #666;
}
.page-quote .quote-guest-guide .bi {
	flex: 0 0 auto;
	margin-top: 2px;
	color: #6b5344;
	transform: rotate(90deg);
}
.page-quote .quote-box .register-tit {
	margin: 0 0 12px;
	padding-bottom: 10px;
}

.page-quote .quote-cus-head-main {
	display: inline-flex;
	align-items: center;
	gap: 16px;
}
.page-quote .quote-login-btn {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	height: 36px;
	padding: 0 16px;
	background: #6b5344;
	color: #fff;
	border-radius: 4px;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
}
.page-quote .quote-login-btn:hover { background: #5a4638; color: #fff; }
.page-quote .quote-tick {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 1rem;
	font-weight: 500;
	color: #444;
	white-space: nowrap;
}
.page-quote .quote-tick input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #6b5344;
	flex: 0 0 auto;
}
.page-quote .quote-cus-grid {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr) max-content minmax(0, 1fr);
	column-gap: 16px;
	row-gap: 1.35rem;
	align-items: start;
	padding-top: 1.35rem;
	padding-bottom: 1.35rem;
}
.page-quote .quote-cus-lb,
.page-quote .quote-cus-grid > .quote-tick {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}
.page-quote .quote-cus-lb {
	font-weight: 500;
	color: #444;
	white-space: nowrap;
}
.page-quote .quote-cus-lb .req,
.page-quote .quote-tick .req { color: #c62828; margin-left: 2px; }
.page-quote .quote-cus-grid > input[type="text"],
.page-quote .quote-cus-grid > input[type="email"],
.page-quote .quote-cus-grid > input[type="password"],
.page-quote .quote-cus-hp input,
.page-quote .quote-auth-row input {
	width: 100%;
	max-width: none;
	height: 44px;
	padding: 0 0.75rem;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 1rem;
	font-family: inherit;
	box-sizing: border-box;
	background: #fff;
}
.page-quote .quote-cus-hp {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	min-width: 0;
}
.page-quote .quote-cus-hp-line {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}
.page-quote .quote-cus-hp input { flex: 1; min-width: 0; }
.page-quote #cus_nm,
.page-quote #cus_hp,
.page-quote #secret_pw,
.page-quote .quote-cus-hp-line #cus_hp {
	width: 240px;
	max-width: 100%;
	flex: 0 0 240px;
}
.page-quote #cus_email {
	width: 300px;
	max-width: 100%;
}
.page-quote .quote-cus-grid > #cus_nm[readonly],
.page-quote .quote-cus-grid > #cus_email[readonly],
.page-quote .quote-cus-hp-line #cus_hp[readonly] {
	background: #f3f3f3;
}
.page-quote .quote-auth-row {
	display: flex;
	align-items: center;
	gap: 8px;
}
.page-quote .quote-auth-row input { width: 160px; max-width: 160px; }
.page-quote .quote-auth-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	box-sizing: border-box;
	min-width: 88px;
	height: 44px;
	padding: 0 14px;
	border: 1px solid #d5d5d5;
	border-radius: 4px;
	background: #f0f0f0;
	color: #555;
	font-size: 0.9375rem;
	font-family: inherit;
	line-height: 1;
	text-align: center;
	cursor: pointer;
	white-space: nowrap;
}
.page-quote .quote-auth-btn:hover { background: #e4e4e4; }
.page-quote .quote-auth-btn:disabled {
	cursor: default;
	opacity: 0.7;
}
.page-quote .quote-cus-grid input:focus,
.page-quote .quote-auth-row input:focus {
	outline: none;
	border-color: #6b5344;
}

.page-quote .quote-box-type .register-row {
	padding-top: 1.35rem;
	padding-bottom: 1.35rem;
}
.page-quote .register-row.is-top { align-items: flex-start; }
.page-quote .register-row.is-top .register-label {
	line-height: 1.4;
	padding-top: 12px;
}

.page-quote .register-field input[type="text"],
.page-quote .register-field input[type="email"],
.page-quote .register-field input[type="file"],
.page-quote .register-field select,
.page-quote .register-field textarea {
	width: 100%;
	max-width: 320px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 1rem;
	font-family: inherit;
	box-sizing: border-box;
	background: #fff;
}

.page-quote .register-field select,
.page-quote .register-field input[type="email"] {
	height: 44px;
	padding: 0 0.75rem;
}

.page-quote .register-field #tour_area,
.page-quote .register-field #start_place,
.page-quote .register-field #title,
.page-quote .register-field #room_comp_txt {
	max-width: 520px;
}

.page-quote .register-field textarea {
	max-width: 100%;
	min-height: 88px;
	padding: 0.75rem;
	resize: vertical;
}

.page-quote .register-field input:focus,
.page-quote .register-field select:focus,
.page-quote .register-field textarea:focus {
	outline: none;
	border-color: #6b5344;
}

.page-quote .quote-inline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	min-height: 44px;
}

.page-quote .quote-inline input[type="text"],
.page-quote .quote-inline input[type="date"],
.page-quote .quote-inline select {
	width: auto;
}
.page-quote .quote-pax-line { flex-wrap: nowrap; }
.page-quote .quote-pax-sum { white-space: nowrap; }
.page-quote .quote-pax-detail {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}
.page-quote .quote-pax-detail::before { content: '('; }
.page-quote .quote-pax-detail::after { content: ')'; }
.page-quote .quote-date-section {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	min-width: 360px;
	max-width: 100%;
	height: 56px;
	padding: 0 14px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	box-sizing: border-box;
	cursor: pointer;
	text-align: left;
}
.page-quote .quote-date-section:focus { outline: none; border-color: #6b5344; }
.page-quote .quote-date-label {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	color: #495057;
}
.page-quote .quote-date-value {
	font-size: 15px;
	line-height: 1.3;
	color: #141719;
	white-space: nowrap;
}
.page-quote .quote-date-value.is-empty { color: #848c94; }
.page-quote .quote-date-value .is-sun { color: #dc3545; }
.page-quote .quote-date-value .is-sat { color: #0d6efd; }
.page-quote .quote-stay-lb,
.page-quote .quote-term-lb { margin-left: 22px; }
.quote-cal {
	position: fixed;
	z-index: 80;
	width: 640px;
	max-width: calc(100vw - 16px);
	box-sizing: border-box;
	padding: 12px 8px 8px;
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}
.quote-cal-months { display: flex; }
.quote-cal-month { width: 50%; min-width: 0; box-sizing: border-box; padding: 0 10px 8px; }
.quote-cal-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
	font-weight: 700;
	font-size: 15px;
	color: #212529;
}
.quote-cal-nav {
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #adb5bd;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}
.quote-cal-nav:hover { color: #6b5344; }
.quote-cal-nav.is-hide { visibility: hidden; pointer-events: none; }
.quote-cal-board { width: 100%; border-collapse: collapse; table-layout: fixed; }
.quote-cal-board th {
	padding: 4px 0;
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	color: #6c757d;
}
.quote-cal-board th.is-sun,
.quote-cal-board button.is-sun { color: #dc3545; }
.quote-cal-board th.is-sat,
.quote-cal-board button.is-sat { color: #0d6efd; }
.quote-cal-board td { height: 34px; text-align: center; padding: 0; }
.quote-cal-board button {
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: transparent;
	font-size: 14px;
	font-family: inherit;
	color: inherit;
	cursor: pointer;
}
.quote-cal-board button:hover { background: #e9ecef; }
.quote-cal-board button.is-off,
.quote-cal-board button.is-off.is-sun,
.quote-cal-board button.is-off.is-sat {
	color: #adb5bd;
	background: transparent;
	cursor: default;
}
.quote-cal-board button.is-off:hover { background: transparent; }
.quote-cal-board button.is-range { background: #f3efe9; border-radius: 0; }
.quote-cal-board button.is-start,
.quote-cal-board button.is-end,
.quote-cal-board button.is-start.is-sun,
.quote-cal-board button.is-end.is-sun,
.quote-cal-board button.is-start.is-sat,
.quote-cal-board button.is-end.is-sat { background: #6b5344; color: #fff; }
.quote-cal-foot {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 8px;
	padding: 12px 8px 4px;
	border-top: 1px solid #eee;
	background: #fafafa;
}
.quote-cal-reset,
.quote-cal-apply {
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 14px;
	font-family: inherit;
	cursor: pointer;
}
.quote-cal-reset {
	border: 1px solid #dee2e6;
	background: #fff;
	color: #495057;
}
.quote-cal-reset:hover { background: #f1f3f5; }
.quote-cal-apply {
	border: 1px solid #6b5344;
	background: #6b5344;
	color: #fff;
}
.quote-cal-apply:hover { background: #5a4638; }

.page-quote .quote-num { width: 64px !important; max-width: 64px; text-align: center; }
.page-quote .quote-amt { width: 160px !important; max-width: 160px; }
.page-quote .quote-budget input[type="text"] { max-width: 280px; }

.page-quote .quote-checks {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	padding-top: 10px;
}

.page-quote .quote-conds {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 40px;
	padding-top: 10px;
	align-items: center;
}

.page-quote .register-field input[type="checkbox"],
.page-quote .register-field input[type="radio"] {
	width: 18px;
	height: 18px;
	max-width: none;
	margin: 0;
	accent-color: #6b5344;
	flex: 0 0 auto;
}

.page-quote .quote-checks label,
.page-quote .quote-conds label,
.page-quote .quote-budget label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 1rem;
	font-weight: 400;
	color: #333;
	white-space: nowrap;
}

.page-quote .quote-cond {
	display: grid;
	grid-template-columns: max-content 4.5em 6em;
	align-items: center;
	justify-content: start;
	column-gap: 12px;
}

.page-quote .quote-cond > span {
	display: inline-block;
	white-space: nowrap;
}

.page-quote .quote-cond > span::before {
	content: "- 관광/체험 프로그램 포함";
	display: block;
	height: 0;
	overflow: hidden;
	visibility: hidden;
	white-space: nowrap;
}

.page-quote .quote-opt,
.page-quote .quote-budget-line {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 16px;
}

.page-quote .quote-budget-line { margin-top: 10px; }

.page-quote .quote-done-link a { color: #6b5344; }

@media (max-width: 640px) {
	.page-quote .quote-box { padding: 16px 14px 4px; }
	.page-quote .quote-cus-grid { grid-template-columns: max-content minmax(0, 1fr); }
	.page-quote .quote-conds { grid-template-columns: 1fr; }
	.page-quote .register-row { flex-direction: column; gap: 0.35rem; }
	.page-quote .register-label,
	.page-quote .register-row.is-top .register-label {
		width: 100%;
		min-width: 0;
		line-height: 1.4;
		padding-top: 0;
	}
	.page-quote .register-field input[type="text"],
	.page-quote .register-field input[type="email"],
	.page-quote .register-field select,
	.page-quote .register-field textarea { max-width: 100%; }
	.page-quote .quote-pax-line { flex-wrap: wrap; }
	.page-quote .quote-pax-detail {
		flex-basis: 100%;
		flex-wrap: wrap;
		white-space: normal;
	}
}

.page-quote .quote-board {
	max-width: 1280px;
	margin: 36px auto 0;
	scroll-margin-top: calc(var(--tc2c-header-h) + 12px);
}
.page-quote .quote-board__line {
	height: 4px;
	margin: 0 0 32px;
	background: #6b5344;
}
.page-quote .quote-board__title {
	margin: 0 0 14px;
	padding-bottom: 8px;
	border-bottom: 2px solid #ddd;
	font-size: 1.25rem;
	font-weight: 700;
	color: #222;
}
.page-quote .quote-board__scroll { overflow-x: auto; }
.page-quote .quote-board__table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 0.9375rem;
}
.page-quote .quote-board__col-no { width: 72px; }
.page-quote .quote-board__col-type { width: 110px; }
.page-quote .quote-board__col-area { width: 160px; }
.page-quote .quote-board__col-writer { width: 130px; }
.page-quote .quote-board__col-date { width: 104px; }
.page-quote .quote-board__col-status { width: 88px; }
.page-quote .quote-board__table th,
.page-quote .quote-board__table td {
	padding: 12px 8px;
	border-bottom: 1px solid #e6e6e6;
	text-align: center;
	white-space: nowrap;
}
.page-quote .quote-board__table th {
	background: #f7f5f3;
	font-weight: 600;
	color: #444;
}
.page-quote .quote-board__table th.quote-board__subject {
	text-align: center;
}
.page-quote .quote-board__table td.quote-board__subject {
	text-align: left;
	white-space: normal;
}
.page-quote .quote-board__table td.quote-board__subject {
	font-size: 1.0625rem;
}
.page-quote .quote-board__table td.quote-board__area,
.page-quote .quote-board__table td.quote-board__writer,
.page-quote .quote-board__table td.quote-board__date {
	overflow: hidden;
	text-overflow: ellipsis;
}
.page-quote .quote-board__status.is-receive { color: #1a73e8; }
.page-quote .quote-board__status.is-done { font-weight: 700; }
.page-quote a.quote-board__edit {
	color: inherit;
	text-decoration: none;
}
.page-quote a.quote-board__edit:hover {
	text-decoration: underline;
}
.page-quote a.quote-board__lock {
	text-decoration: none;
}
.page-quote .quote-board__lock {
	margin-left: 6px;
	color: #6b5344;
	font-size: 0.9rem;
	vertical-align: -1px;
}
.page-quote .quote-board__invoice {
	margin-left: 6px;
	color: #e10600;
	font-weight: 700;
	font-size: 0.8125rem;
	text-decoration: none;
	white-space: nowrap;
	vertical-align: -1px;
}
.page-quote .quote-board__invoice i {
	color: #e10600;
	font-size: 1rem;
	vertical-align: -2px;
}
.page-quote .quote-invoice-msg,
.page-quote .quote-invoice-gate {
	max-width: 420px;
	margin: 24px auto 40px;
}
.page-quote .quote-invoice-gate__label {
	display: block;
	margin-bottom: 8px;
	font-weight: 700;
}
.page-quote .quote-invoice-gate__input {
	width: 100%;
	height: 42px;
	box-sizing: border-box;
	margin-bottom: 12px;
	padding: 0 10px;
}
.page-quote .quote-invoice-gate__error {
	margin: 0 0 10px;
	color: #e10600;
}
.page-quote .quote-invoice-gate__submit {
	height: 42px;
	padding: 0 18px;
	border: 0;
	background: #6b5344;
	color: #fff;
	font-family: inherit;
	cursor: pointer;
}
.page-quote .quote-sheet {
	background: #fff;
	padding: 12px 8px 28px;
}
.page-quote .quote-sheet__head {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 14px;
	border-bottom: 2px solid #454545;
}
.page-quote .quote-sheet__logo {
	max-width: 220px;
	height: auto;
}
.page-quote .quote-sheet__addr {
	margin: 0;
	text-align: right;
	color: #666;
	font-size: 12px;
	line-height: 1.6;
}
.page-quote .quote-sheet__table,
.page-quote .quote-sheet__grid {
	width: 100%;
	border-collapse: collapse;
	margin-top: 12px;
	table-layout: fixed;
}
.page-quote .quote-sheet__table td,
.page-quote .quote-sheet__grid th,
.page-quote .quote-sheet__grid td {
	border-bottom: 1px solid #b1b1b1;
	padding: 6px 8px;
	font-size: 14px;
}
.page-quote .quote-sheet__grid th,
.page-quote .quote-sheet__grid td {
	border: 1px solid #ddd;
}
.page-quote .quote-sheet__grid th {
	background: #f6f6f6;
	text-align: center;
}
.page-quote .quote-sheet__label {
	width: 15%;
	height: 30px;
	font-weight: 700;
	text-align: center;
}
.page-quote .quote-sheet__al { text-align: left; }
.page-quote .quote-sheet__ac { text-align: center; }
.page-quote .quote-sheet__ar { text-align: right; }
.page-quote .quote-sheet__air th,
.page-quote .quote-sheet__air td { text-align: center; }
.page-quote .quote-sheet__h {
	margin: 22px 0 8px;
	font-size: 16px;
}
.page-quote .quote-sheet__sum {
	font-weight: 700;
	text-align: right;
}
.page-quote .quote-sheet__plan {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	padding: 8px 0;
}
.page-quote .quote-board__empty {
	padding: 2rem 1rem;
	color: #666;
	text-align: center;
}
.page-quote .quote-board__pages {
	margin-top: 1.25rem;
	padding-bottom: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}
.page-quote .quote-board__pages a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	padding: 0 0.5rem;
	border: 1px solid #ddd;
	border-radius: 6px;
	color: #333;
	text-decoration: none;
	font-size: 0.875rem;
}
.page-quote .quote-board__pages a:hover {
	border-color: #6b5344;
	color: #6b5344;
}
.page-quote .quote-board__pages a.is-current {
	border-color: #6b5344;
	background: #6b5344;
	color: #fff;
}
.page-quote .quote-board__note {
	margin-top: 16px;
	padding: 14px 16px;
	background: #f8f9fa;
	border: 1px solid #e9ecef;
	border-radius: 6px;
}
.page-quote .quote-board__note span {
	display: block;
	font-size: 1rem;
	color: #333;
	line-height: 1.7;
}
.page-quote .quote-board__note span + span {
	margin-top: 4px;
}
@media (max-width: 640px) {
	.page-quote .quote-board__scroll { overflow: visible; }
	.page-quote .quote-board__table,
	.page-quote .quote-board__table tbody { display: block; width: 100%; }
	.page-quote .quote-board__table { table-layout: auto; }
	.page-quote .quote-board__table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		border: 0;
	}
	.page-quote .quote-board__table tr {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		row-gap: 6px;
		padding: 12px 0;
		border-bottom: 1px solid #e6e6e6;
	}
	.page-quote .quote-board__table td {
		display: block;
		width: auto;
		border-bottom: none;
		padding: 0;
		text-align: left;
		white-space: normal;
	}
	.page-quote .quote-board__table td.quote-board__subject {
		flex: 0 0 100%;
		order: 1;
		overflow-wrap: anywhere;
	}
	.page-quote .quote-board__table td:nth-child(1) { order: 2; }
	.page-quote .quote-board__table td:nth-child(2) { order: 3; }
	.page-quote .quote-board__table td.quote-board__area { order: 4; }
	.page-quote .quote-board__table td.quote-board__writer { order: 5; }
	.page-quote .quote-board__table td.quote-board__date { order: 6; }
	.page-quote .quote-board__table td.quote-board__status { order: 7; }
	.page-quote .quote-board__table td.quote-board__area,
	.page-quote .quote-board__table td.quote-board__writer,
	.page-quote .quote-board__table td.quote-board__date {
		overflow: visible;
		text-overflow: clip;
	}
	.page-quote .quote-board__table td:nth-child(1)::after,
	.page-quote .quote-board__table td:nth-child(2)::after,
	.page-quote .quote-board__table td.quote-board__area::after,
	.page-quote .quote-board__table td.quote-board__writer::after,
	.page-quote .quote-board__table td.quote-board__date::after {
		content: ' ·';
		color: #bbb;
	}
	.page-quote .quote-board__table td.quote-board__empty {
		flex: 0 0 100%;
		order: 0;
		text-align: center;
		padding: 2rem 0;
	}
	.page-quote .quote-board__table td.quote-board__empty::after { content: none; }
}
@media (max-width: 640px) {
	.page-quote .quote-sheet {
		padding: 4px 0 20px;
		min-width: 0;
	}
	.page-quote .quote-sheet__head {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	.page-quote .quote-sheet__logo {
		max-width: 160px;
	}
	.page-quote .quote-sheet__addr {
		text-align: left;
	}
	.page-quote .quote-sheet__table,
	.page-quote .quote-sheet__table tbody,
	.page-quote .quote-sheet__table tr {
		display: block;
		width: 100%;
	}
	.page-quote .quote-sheet__table tr {
		padding: 8px 0;
		border-bottom: 1px solid #ddd;
	}
	.page-quote .quote-sheet__table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
		border-bottom: 0;
		padding: 2px 0;
		text-align: left;
		word-break: break-word;
	}
	.page-quote .quote-sheet__label {
		width: auto;
		padding-bottom: 0;
		text-align: left;
		color: #666;
		font-size: 12px;
	}
	.page-quote .quote-sheet__grid thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		border: 0;
	}
	.page-quote .quote-sheet__grid,
	.page-quote .quote-sheet__grid tbody,
	.page-quote .quote-sheet__grid tfoot,
	.page-quote .quote-sheet__grid tr {
		display: block;
		width: 100%;
	}
	.page-quote .quote-sheet__grid tbody tr {
		margin: 0 0 10px;
		padding: 4px 10px;
		border: 1px solid #ddd;
	}
	.page-quote .quote-sheet__grid td {
		display: block;
		width: auto;
		border: 0;
		border-bottom: 1px solid #f2f2f2;
		padding: 7px 0;
		text-align: left;
		word-break: break-word;
	}
	.page-quote .quote-sheet__grid td[data-label]::before {
		content: attr(data-label);
		display: block;
		margin-bottom: 2px;
		color: #777;
		font-size: 12px;
		font-weight: 700;
	}
	.page-quote .quote-sheet__grid td[colspan] {
		border-bottom: 0;
		text-align: center;
	}
	.page-quote .quote-sheet__grid tfoot tr {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 12px;
		padding: 8px 10px;
		border: 1px solid #ddd;
		background: #f6f6f6;
	}
	.page-quote .quote-sheet__grid tfoot td {
		width: auto;
		border: 0;
		padding: 0;
	}
	.page-quote .quote-sheet__grid tfoot td:last-child:empty {
		display: none;
	}
	.page-quote .quote-sheet__plan {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.page-quote .quote-sheet__plan img,
	.page-quote .quote-sheet__plan video {
		max-width: 100% !important;
		height: auto !important;
	}
	.page-quote .quote-sheet__plan table {
		max-width: 100%;
	}
	.page-quote .quote-sheet__plan td,
	.page-quote .quote-sheet__plan th {
		word-break: break-word;
	}
}
