.purchase {
	gap: 100px;
}

.purchase .desc_box {
	gap: 30px;
}
.purchase .title {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4;
}
.purchase .desc_box .txt_box {
	background: var(--white);
	padding: 20px;
	overflow-y: auto;
	max-height: 280px;
	border-radius: 10px;
	line-height: 1.6;
	font-family: 'SUIT';
	box-sizing: border-box;
}
.purchase .desc_box .agree {
	position: relative;
	margin-top: 5px;
}
.purchase .desc_box .agree input {
	display: none;
}
.purchase .desc_box .agree input + label {
	position: relative;
	display: inline-block;
	padding-left: 34px;
	box-sizing: border-box;
}
.purchase .desc_box .agree input + label:before {
	content: '';
	position: absolute;
	top: -3px;
	left: 0px;
	display: block;
	width: 24px;
	height: 24px;
	border-radius: 3px;
	border: 1px solid rgba(36, 33, 33, 0.5);
	background: var(--white);
	box-sizing: border-box;
}
.purchase .desc_box .agree input:checked + label:before {
	background: var(--black) url("../images/ic_check_white.svg")no-repeat 50% 50% / 12px;
}
.purchase .type_box {
	gap: 16px;
}
.purchase .type_box > div {
	width: calc(50% - 8px);
	gap: 20px;
}
.purchase .type_box > div h4 {
	font-size: 32px;
	line-height: 1.4;
}
.purchase .type_box > div > div {
	position: relative;
}
.purchase .type_box > div > div input {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
	z-index: -1;
}
.purchase .type_box > div > div input + label {
	position: relative;
	padding-left: 30px;
	box-sizing: border-box;
}
.purchase .type_box > div > div input + label:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 20px;
	height: 20px;
	border: 1px solid var(--black);
	border-radius: 50%;
	box-sizing: border-box;
}
.purchase .type_box > div > div input:checked + label:before {
	border: 6px solid var(--key-color);
	background: var(--white);
}


.purchase .radio {
	gap: 16px;
}
.purchase .radio > div {
	position: relative;
}
.purchase .radio > div input {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
	z-index: -1;
}
.purchase .radio > div input + label {
	position: relative;
}
.purchase .radio > div input + label {
	position: relative;
	padding-left: 30px;
	box-sizing: border-box;
}
.purchase .radio > div input + label:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 20px;
	height: 20px;
	border: 1px solid var(--black);
	border-radius: 50%;
	box-sizing: border-box;
}
.purchase .radio > div input:checked + label:before {
	border: 6px solid var(--key-color);
	background: var(--white);
}

.purchase .checkbox {
	gap: 20px 40px;
}
.purchase .checkbox > div {
	position: relative;
}
.purchase .checkbox.grid3 > div {
	width: calc(33.333% - 27px);
}
.purchase .checkbox.grid4 > div {
	width: calc(25% - 30px);
}
.purchase .checkbox > div input {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
	z-index: -1;
}
.purchase .checkbox > div input + label {
	position: relative;
	padding-left: 30px;
	box-sizing: border-box;
}
.purchase .checkbox > div input + label {
	position: relative;
	display: inline-block;
	padding: 4px 0 4px 33px;
	box-sizing: border-box;
}
.purchase .checkbox > div input + label:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 24px;
	height: 24px;
	border: 1px solid var(--black);
	background: var(--white);
	border-radius: 3px;
	box-sizing: border-box;
}
.purchase .checkbox > div input:checked + label:before {
	background: var(--black) url("../images/ic_check_white.svg")no-repeat 50% 50% / 12px;
}

.purchase .input_box {
	border-radius: 10px;
	border: 1px solid var(--text-opacity);
	background-color: var(--white);
	box-sizing: border-box;
	overflow: hidden;
}
.purchase .input_box.required {
	border: 1px solid var(--red);
}
.purchase .input_box input {
    width: 100%;
    height: 50px;
    padding: 0 20px;
    font-size: inherit;
    box-sizing: border-box;
}
.purchase .btn_gray {
	height: 50px;
    line-height: 49px;
	padding: 0 20px;
	border-radius: 10px;
}
.purchase .btn_color {
	height: 36px;
	line-height: 36px;
	padding: 0 20px;
	border-radius: 10px;
	box-sizing: border-box;
}
.purchase .down_btn {
    border-radius: 5px;
    border: 1px solid var(--text);
    padding: 3px 10px;
	font-size: 14px;
    box-sizing: border-box;
}
.purchase .file_box {
	position: relative;
}
.purchase .file_box input[type=file]{
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
	z-index: -1;
}
.purchase .file_box .input_box {
	padding: 7px 10px 7px 20px;
	box-sizing: border-box;
}
.purchase .file_box .upload_name {
	opacity: .5;
}
.purchase .file_box .upload_name.on {
	opacity: 1;
}
.purchase .file_box .pm_btn {
	width: 52px;
	height: 52px;
	border-radius: 5px;
	border: 1px solid var(--text);
	box-sizing: border-box;
}
.purchase .file_box .pm_btn.minus_btn {
	background: url("../images/ic_minus.svg")no-repeat 50% 50%;
}
.purchase .file_box .pm_btn.plus_btn {
	background: url("../images/ic_add.svg")no-repeat 50% 50%;
}
.purchase select {
	height: 52px;
	border-radius: 10px;
	border: 1px solid var(--text-opacity);
	background-color: var(--white);
	box-sizing: border-box;
}
.purchase .receive_box .form {
	gap: 20px;
	padding-bottom: 40px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--text-opacity);
}
.purchase .receive_box .form:last-child {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}
.purchase .receive_box .form .item > p {
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.4px;
}
.purchase .receive_box .form .grid2 {
	gap: 16px;
}
.purchase .receive_box .form .grid2 > .danger {
	position: relative;
	padding-left: 20px;
	box-sizing: border-box;
}
.purchase .receive_box .form .grid2 > .danger:before {
	content: '';
	position: absolute;
	top: 6px;
	left: 8px;
	display: block;
	width: 3px;
	height: 3px;
	background: #EA4335;
	border-radius: 50%;
}
.purchase .receive_box .form .grid3 {
	gap: 16px;
}
.purchase .receive_box .form .grid3 .item {
	width: calc(25% - 12px);
}
.purchase .receive_box .address .grid2 .input_box {
	padding-right: 10px;
}
.purchase .receive_box .address .btn_addr {
	height: 50px;
	padding: 0 30px;
	border-radius: 10px;
	box-sizing: border-box;
}
.purchase .product_box .item .top .tit {
	line-height: 1.2;
}
.purchase .product_box .item .top .tit strong {
	font-weight: 500;
	letter-spacing: 0.4px;
}
.purchase .product_box .item .top .btn_group button {
	border-radius: 10px;
	padding: 0 20px;
	box-sizing: border-box;
}
.purchase .product_box .item .top .btn_group button.btn_line_gray {
	padding: 0 10px 0 42px;
}
.purchase .product_box .item .top .btn_group button.copy_btn {
	background: url("../images/ic_copy.svg")no-repeat 10px 50%;
}
.purchase .product_box .item .top .btn_group button.add_btn {
	background: url("../images/ic_plus.svg")no-repeat 10px 50%;
}
.purchase .product_box .item .top .btn_group button.remove_btn {
	background: url("../images/ic_del.svg")no-repeat 10px 50%;
}
.purchase .product_box .item .item_box .thumb {
	position: relative;
	width: 270px;
}
.purchase .product_box .item .item_box .thumb input {
	display: none;
}
.purchase .product_box .item .item_box .thumb label {
	display: block;
	width: 100%;
	height: 270px;
	border-radius: 10px;
	border: 1px dashed var(--text);
	background: var(--white) url("../images/ic_photo.svg")no-repeat 50% 50%;
	overflow: hidden;
	box-sizing: border-box;
}
.purchase .product_box .item .item_box .thumb .preview {
	display: none;
	position: absolute;
	top: 1px;
	left: 1px;
	width: calc(100% - 2px);
	height: calc(100% - 2px);
	background: var(--white);
	border-radius: 10px;
}
.purchase .product_box .item .item_box .thumb .preview img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.purchase .product_box .item .item_box .thumb .preview .del_btn {
	position: absolute;
	top: 10px;
	right: 10px;
	display: block;
	width: 25px;
	height: 25px;
	background: var(--text-opacity) url("../images/ic_close_white.svg")no-repeat 50% 50% / 11px;
	border-radius: 50%;
}
.purchase .product_box .item .item_box .info_box {
	gap: 10px 16px;
}
.purchase .product_box .item .item_box .info_box > div {
	width: calc(50% - 8px);
}
.purchase .product_box .item .item_box .info_box select {
	width: calc(50% - 5px);
}
.purchase .product_box .item .item_box .info_box .danger {
	margin-bottom: 10px;
}
.purchase .price_box .desc {
	line-height: 1.4;
}
.purchase .price_box button {
	width: calc(33.333% - 11px);
	height: 50px;
	border-radius: 10px;
	background: rgba(234, 67, 53, 0.15);
	color: var(--red);
}
.purchase .service_box .item {
	padding: 30px 0;
	border-bottom: 1px solid var(--text-opacity);
	box-sizing: border-box;
}
.purchase .service_box .item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}
.purchase .service_box .item > div {
	padding: 0 20px;
	box-sizing: border-box;
}
.purchase .service_box .item .txt {
	position: relative;
	padding-left: 25px;
	line-height: 1.2;
	box-sizing: border-box;
}
.purchase .service_box .item .txt:before {
	content: '';
	position: absolute;
	top: 6px;
	left: 10px;
	display: block;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--black);
}
.purchase .service_box .item > div.input_box {
	padding: 0;
}
.purchase .danger_box {
	border-radius: 10px;
	background: rgba(234, 67, 53, 0.15);
	padding: 40px 20px;
	color: var(--red);
	line-height: 1.2;
	box-sizing: border-box;
}
.purchase .btn_area button {
	height: 52px;
	padding: 0 40px;
	border-radius: 10px;
	background: var(--text);
	color: var(--white);
}



.size_modal .modal_cont {
	max-width: 620px;
}
#delivery_pop .empty p {
	color: var(--text-opacity);
	font-size: 15px;
	letter-spacing: 0.375px;
	line-height: 1.2;
	padding: 40px 0 60px;
}
#delivery_pop .list > div {
	position: relative;
}
#delivery_pop .list > div input {
	display: none;
}
#delivery_pop .list > div input + label {
	align-items: start;
	padding: 16px 20px 16px 55px;
	gap: 14px;
	border-radius: 10px;
	border: 1px solid var(--text-opacity);
	box-sizing: border-box;
}
#delivery_pop .list > div input:checked + label {
	border: 1px solid var(--key-color);
}
#delivery_pop .list > div input + label:before {
	content: '';
	position: absolute;
	top: 16px;
	left: 20px;
	display: block;
	width: 26px;
	height: 26px;
	border: 1px solid var(--text);
	border-radius: 50%;
	box-sizing: border-box;
}
#delivery_pop .list > div input:checked + label:before {
	border-width: 8px;
	border-color: var(--key-color);
}
#delivery_pop .list > div .info {
	flex: 1;
	gap: 6px;
	padding-top: 2px;
	color: var(--text);
	box-sizing: border-box;
}
#delivery_pop .list > div .info strong {
	font-size: 20px;
	color: var(--black);
}
#delivery_pop .list > div .util {
	gap: 4px;
	color: var(--text);
	font-size: 14px;
	line-height: 1.2;
}
#delivery_pop .btn_area > div button {
	height: 52px;
	line-height: 52px;
	border-radius: 10px;
	font-size: 16px;
	text-align: center;
	padding: 0 24px;
	box-sizing: border-box;
}
#delivery_regist_pop .tit {
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.4px;
}
#delivery_regist_pop .input_box {
	border-radius: 10px;
	border: 1px solid var(--text-opacity);
	overflow: hidden;
	box-sizing: border-box;
}
#delivery_regist_pop .input_box input {
	width: 100%;
	height: 52px;
	padding: 0 20px;
	font-size: 16px;
	box-sizing: border-box;
}
#delivery_regist_pop .search_addr {
	padding-right: 20px;
}
#delivery_regist_pop .search_addr input {
	height: 66px;
}
#delivery_regist_pop .search_addr button {
	width: 108px;
	height: 36px;
	border-radius: 10px;
}
#delivery_regist_pop .checkbox {
	position: relative;
}
#delivery_regist_pop .checkbox input {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
	z-index: -1;
}
#delivery_regist_pop .checkbox input + label {
	position: relative;
	padding-left: 30px;
	box-sizing: border-box;
}
#delivery_regist_pop .checkbox input + label {
	position: relative;
	display: inline-block;
	padding: 4px 0 4px 33px;
	box-sizing: border-box;
}
#delivery_regist_pop .checkbox input + label:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 24px;
	height: 24px;
	border: 1px solid var(--black);
	background: var(--white);
	border-radius: 3px;
	box-sizing: border-box;
}
#delivery_regist_pop .checkbox input:checked + label:before {
	background: var(--black) url("../images/ic_check_white.svg")no-repeat 50% 50% / 12px;
}
#delivery_regist_pop .radio {
	gap: 16px;
}
#delivery_regist_pop .radio > div {
	position: relative;
}
#delivery_regist_pop .radio > div input {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
	z-index: -1;
}
#delivery_regist_pop .radio > div input + label {
	position: relative;
}
#delivery_regist_pop .radio > div input + label {
	position: relative;
	padding-left: 30px;
	box-sizing: border-box;
}
#delivery_regist_pop .radio > div input + label:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 20px;
	height: 20px;
	border: 1px solid var(--black);
	border-radius: 50%;
	box-sizing: border-box;
}
#delivery_regist_pop .radio > div input:checked + label:before {
	border: 6px solid var(--key-color);
	background: var(--white);
}
#delivery_regist_pop .receive_form {
	gap: 16px 10px;
}
#prd_url_pop .form select {
	width: 100%;
	height: 52px;
	border-radius: 10px;
	border: 1px solid var(--text-opacity);
	color: var(--text-opacity);
}
#prd_url_pop .form input {
	width: 100%;
	height: 52px;
	border-radius: 10px;
	border: 1px solid var(--text-opacity);
	font-size: 16px;
	padding: 0 20px;
	box-sizing: border-box;
}
#prd_url_pop .desc strong {
	color: var(--black);
}
#prd_url_pop .desc ul li {
	position: relative;
	padding-left: 24px;
	line-height: 1.4;
	box-sizing: border-box;
}
#prd_url_pop .desc ul li:before {
	content: '';
	position: absolute;
	top: 8px;
	left: 8px;
	display: block;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--black);
}
#regist_prd_pop .modal_cont {
	max-width: 726px;
}
#regist_prd_pop .regist input {
	width: 100%;
	height: 52px;
	border-radius: 10px;
	border: 1px solid var(--text-opacity);
	font-size: 16px;
	padding: 0 20px;
	box-sizing: border-box;
}
#regist_prd_pop .regist button {
	width: 96px;
	border-radius: 10px;
	font-size: 20px;
}
#regist_prd_pop .result .empty {
	line-height: 1.2;
}





@media screen and (max-width: 1240px) {
	.purchase {
		gap: 70px;
	}
}
@media screen and (max-width: 1024px) {
	.purchase {
		gap: 50px;
	}
	.purchase .desc_box {
		gap: 15px;
	}
	.purchase .title {
    	font-size: 22px;
	}
	.purchase .desc_box .txt_box {
		font-size: 14px;
	}
	.purchase .desc_box .agree input + label {
		font-size: 14px;
		padding-left: 25px;
	}
	.purchase .desc_box .agree input + label:before {
		width: 20px;
		height: 20px;
	}
	.purchase .type_box > div {
		gap: 10px;
	}
	.purchase .type_box > div h4 {
    	font-size: 22px;
	}
	.purchase .type_box > div > div input + label {
		font-size: 14px;
		padding-left: 25px;
	}
	.purchase .type_box > div > div input + label:before {
		width: 17px;
		height: 17px;
	}
	.purchase .type_box > div > div input:checked + label:before {
		border-width: 5px;
	}

	.purchase .receive_box .form .grid2 .item,
	.purchase .receive_box .form .grid3 .item {
		flex: none;
		width: 100%;
	}
	.purchase .product_box .item .top .btn_group button {
		padding: 0 18px;
	}
	.purchase .product_box .item .item_box .thumb {
		width: 100%;
	}
	.purchase .product_box .item .item_box .thumb label {
		width: 200px;
		height: 200px;
		margin: 0 auto;
		background-size: 90px;
	}

	#delivery_pop .empty p {
		padding: 20px 0;
	}
	#delivery_pop .list > div .info {
		font-size: 14px;
	}
	#delivery_pop .list > div .info strong {
    	font-size: 16px;
	}
	#delivery_pop .list > div .util {
		font-size: 12px;
	}
	#delivery_regist_pop .tit {
		font-size: 14px;
	}
	#delivery_regist_pop .input_box input {
		height: 44px;
		font-size: 14px;
	}
	#delivery_regist_pop .search_addr input {
		height: 54px;
	}
	#delivery_regist_pop .search_addr button {
		width: 90px;
		height: 30px;
		font-size: 14px;
	}
	#delivery_regist_pop .checkbox input + label {
    	padding: 2px 0 2px 28px;
		font-size: 14px;
	}
	#delivery_regist_pop .checkbox input + label:before {
		width: 20px;
		height: 20px;
	}
	#delivery_regist_pop .radio > div input + label {
		font-size: 14px;
		padding-left: 25px;
	}
	#delivery_regist_pop .radio > div input + label:before {
		width: 18px;
		height: 18px;
	}




	#prd_url_pop .form {
		font-size: 14px;
	}
	#prd_url_pop .form select,
	#prd_url_pop .form input {
		height: 44px;
		font-size: 14px;
	}
	#regist_prd_pop .regist > div {
		gap: 10px;
	}
	#regist_prd_pop .regist button {
		font-size: 16px;
	}
	#regist_prd_pop .regist input {
		height: 44px;
		font-weight: 14px;
	}
	#regist_prd_pop .result .empty {
		font-size: 14px;
	}
}
@media screen and (max-width: 768px) {
	.purchase {
		font-size: 14px;
	}
	.purchase .type_box > div {
		width: 100%;
	}

	.purchase .input_box input {
		height: 44px;
		padding: 0 14px;
	}
	.purchase .receive_box .form .grid2 {
		gap: 8px;
	}
	.purchase .receive_box .form .grid2 .input_box {
		flex: none;
		width: 100%;
	}
	.purchase .btn_gray {
		width: 100%;
		height: 44px;
    	line-height: 45px;
		text-align: center;
		padding: 0 10px;
	}
	.purchase .btn_color {
		height: 30px;
    	line-height: 31px;
		font-size: 14px;
		padding: 0 10px;
	}
	.purchase .down_btn {
		width: 100%;
		padding: 6px 10px;
	}
	.purchase .file_box .pm_btn {
		width: 46px;
		height: 46px;
	}
	.purchase .receive_box .address .btn_addr {
		width: 100%;
		height: 46px;
		padding: 0 20px;
		font-size: 14px;
	}
	.purchase select {
    	height: 44px;
		font-size: 14px;
		padding: 0 14px;
	}
	.purchase .product_box .item .top .btn_group {
		width: 100%;
	}
	.purchase .product_box .item .top .btn_group button {
		width: calc(50% - 5px);
		height: 44px;
		padding: 0 10px;
	}
	.purchase .product_box .item .top .btn_group button.btn_line_gray {
		flex: 1;
	}
	.purchase .product_box .item .item_box .info_box > div {
		width: 100%;
	}
	.purchase .price_box .grid {
		gap: 10px;
	}
	.purchase .price_box .grid > div {
		flex: none;
		width: 100%;
	}
	.purchase .price_box button {
		width: 100%;
	}
	.purchase .service_box .item {
    	padding: 20px 0;
	}
	.purchase .service_box .item > div {
		padding: 0 10px;
	}
	.purchase .checkbox > div {
		width: 100%!important;
	}
	.purchase .checkbox > div input + label {
		padding: 3px 0 3px 28px;
	}
	.purchase .checkbox > div input + label:before {
		width: 20px;
		height: 20px;
	}
}
@media screen and (max-width: 480px) {
	.purchase .product_box .item .top .btn_group button {
		flex: none!important;
		width: 100%!important;
	}
	.purchase .product_box .item .item_box .info_box select {
		width: 100%;
	}
	.purchase .product_box .item .f1 {
		flex: none;
		width: 100%;
	}


	#delivery_regist_pop .input_box input {
		padding: 0 15px;
	}
	#delivery_regist_pop .search_addr {
		padding: 0 10px 10px 10px;
	}
	#delivery_regist_pop .search_addr button {
		width: 100%;
	}
	#delivery_regist_pop .radio > div {
		width: 100%;
	}
	#delivery_regist_pop .receive_form .input_box {
		flex: none;
		width: 100%;
	}
}
@media screen and (max-width: 380px) {
	.purchase .file_box .upload_name {
		padding: 10px 0;
	}
	.purchase .file_box .input_box {
		flex: none;
		width: 100%;
    	padding: 7px 10px;
	}
	.purchase .btn_color {
		width: 100%;
		text-align: center;
	}
	.purchase .file_box .pm_btn.plus_btn,
	.purchase .file_box .pm_btn.minus_btn {
		flex: 1;
	}

	#regist_prd_pop .regist button {
		width: 100%;
		height: 44px;
	}
}