@charset "utf-8";



#wrap {
	position: relative;
	box-sizing: border-box;
}


.inner {
	padding: 70px 40px;
}


#header {
	position: relative;
	background: #0E3FBB;
	padding: 30px;
	align-items: center;
	justify-content: space-between;
}
#header .logo {
	height: 72px;
	color: #fff;
	font-size: 46px;
	line-height: 72px;
}


h3.tit {
	font-size: 60px;
	font-weight: 700;
	margin-bottom: 50px;
}
.step {
	gap: 10px;
	align-items: center;
	margin-bottom: 50px;
	text-align: left;
}
.step span {
	width: 88px;
	height: 65px;
	line-height: 65px;
	border-radius: 15px;
	background: #0E3FBB;
	color: #fff;
	font-size: 45px;
	font-weight: 500;
	text-align: center;
}
.step p {
	font-weight: 500;
}



.keypad_form .input_form {
	height: 130px;
	line-height: 130px;
	border-radius: 30px;
	border: 3px solid #AAA;
	background: #FFF;
	padding: 0 35px;
	margin-bottom: 70px;
	box-sizing: border-box;
}
.keypad_form .input_form span {
	display: block;
	width: 100%;
	color: #AAA;
	font-size: 40px;
	font-weight: 700;
}
.keypad_form .keypad {
	gap: 20px;
	margin-bottom: 70px;
}
.keypad_form .keypad button {
	width: calc(33.333% - 14px);
	height: 140px;
	border-radius: 20px;
	background: #F1F1F1;
	font-size: 50px;
	font-weight: 700;
	text-align: center;
	box-sizing: border-box;
}
.keypad_form .keypad button.blue_line {
	border: 3px solid #0E3FBB;
	background: #FFF;
	font-size: 40px;
}
.keypad_form .btn_area {
	bottom: 40px;
	width: 100%;
	box-sizing: border-box;
}
.keypad_form .btn_area button {
	flex: 1;
	height: 130px;
	border-radius: 30px;
	background: #0E3FBB;
	color: #fff;
	font-size: 40px;
	font-weight: 700;
}


.button_form .desc {
	color: #F00;
	font-size: 45px;
	font-weight: 700;
	margin-bottom: 70px;
}
.button_form .btn_group {
	gap: 22px;
}
.button_form .btn_group > div {
	width: calc(33.333% - 15px);
}
.button_form .btn_group > div input {
	display: none;
}
.button_form .btn_group > div input + label {
	display: block;
	width: 100%;
	height: 140px;
	line-height: 140px;
	font-size: 50px;
	font-weight: 700;
	text-align: center;
	border-radius: 20px;
	background: #F1F1F1;
}
.button_form .btn_group > div input:checked + label {
	background: #6D92F0;
	color: #fff;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.button_form .grid2 > div {
	width: calc(50% - 15px);
}
.button_form .grid2 > div input + label {
    height: 160px;
    font-size: 40px;
    line-height: 1.3;
    padding: 28px 0;
    box-sizing: border-box;
}
.button_form .list {
	border-radius: 20px;
	border: 2px solid #F8F8F8;
	margin-top: 70px;
}
.button_form .list ul {
	overflow-y: auto;
	height: 650px;
	padding: 20px;
}
.button_form .list ul::-webkit-scrollbar {
	width: 14px;
}
.button_form .list ul::-webkit-scrollbar-thumb {
	background-color: #D7D7D7;
}
.button_form .list ul::-webkit-scrollbar-track {
	background-color: #F8F8F8;
}
.button_form .list ul li {
	border-radius: 20px;
	background: #FFF;
	box-shadow: 3px 3px 15px 0px rgba(0, 0, 0, 0.10);
	padding: 30px 20px;
    margin-bottom: 30px;
}
.button_form .list ul li .top {
	align-items: center;
	justify-content: space-between;
	font-size: 35px;
	margin-bottom: 20px;
}
.button_form .list ul li .top button {
	width: 40px;
	height: 40px;
	background: url("../images/remove_btn.svg")no-repeat 50% 50% / 100%;
}
.button_form .list ul li .price_form {
	align-items: center;
	justify-content: space-between;
}
.button_form .list ul li .price_form h3 {
	font-size: 40px;
}
.button_form .list ul li .price_form .stock {
	width: 400px;
	border-radius: 15px;
	border: 2px solid #E8E8E8;
	background: #FFF;
	padding: 20px 35px;
	box-sizing: border-box;
}
.button_form .list ul li .price_form .stock button {
	width: 65px;
	height: 35px;
}
.button_form .list ul li .price_form .stock button.plus {
	background: url("../images/toggle-plus.svg")no-repeat 50% 50% / 95px;
}
.button_form .list ul li .price_form .stock button.minus {
	background: url("../images/toggle-minus.svg")no-repeat 50% 50% / 95px;
}
.button_form .list ul li .price_form .stock input {
	width: calc(100% - 130px);
	font-size: 30px;
	font-weight: 700;
	text-align: center;
}
.button_form .btn_area {
    background: #fff;
    padding: 40px 0;
	box-sizing: border-box;
}
.button_form .btn_area .price {
	width: 100%;
	justify-content: space-between;
	align-items: center;
	padding: 30px 0;
}
.button_form .btn_area .price p {
	color: #7C7C7C;
	font-size: 50px;
}
.button_form .btn_area .price h3 {
	font-size: 50px;
	font-weight: 700;
}
.button_form .btn_area button {
	width: 100%;
	height: 130px;
	border-radius: 30px;
	background: #0E3FBB;
	color: #fff;
	font-size: 40px;
	font-weight: 700;
	background: #f1f1f1;
	color: #AAA;
}
.button_form .btn_area button.on {
	background: #0E3FBB;
	color: #fff;
}






.modal {
	display: none;
}
.black_bg {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	z-index: 10;
}
.modal .modal_cont {
    width: 90%;
    max-width: 780px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(calc(-50% + 0.5px), calc(-50% + 0.5px));
    max-height: 95vh;
    overflow: hidden;
	z-index: 12;
	background: #F8F8F8;
	border-radius: 20px;
	box-sizing: border-box;
}
.modal .modal_cont .scroll {
	padding: 100px 50px 50px;
	max-height: 80vh;
    overflow-x: hidden;
    overflow-y: visible;
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    box-sizing: border-box;
    -ms-overflow-style: none;
    scrollbar-width: none;
    box-sizing: border-box;
}
.modal .modal_cont .scroll::-webkit-scrollbar {
    display: none;
}
.modal .modal_cont .close {
	position: absolute;
	top: 50px;
	right: 50px;
	display: block;
	width: 32px;
	height: 32px;
	background: url("../images/ic_close.svg")no-repeat 50% 50% / 100%;
}
.modal .modal_cont h3.tit {
	background: #ddd;
	border-radius: 20px 20px 0 0;
	text-align: center;
	font-size: 32px;
	font-weight: 500;
	padding: 30px 0;
}
.not_scroll {
	overflow: hidden;
}


#re_pop h2 {
	font-size: 60px;
	margin-bottom: 50px;
	font-weight: 700;
}
#re_pop h2 span {
	display: block;
	color: #0E3FBB;
}
#re_pop h3 {
	font-size: 50px;
	font-weight: 700;
	word-break: keep-all;
	margin-bottom: 50px;
}
#re_pop .btn_area button {
	flex: 1;
	height: 130px;
	border-radius: 30px;
	background: #0E3FBB;
	color: #fff;
	font-size: 40px;
	font-weight: 700;
	margin-bottom: 50px;
}



#pay_pop .icon {
	margin: -10px 0 40px;
}
#pay_pop .txt {
	color: #AAA;
	font-size: 40px;
	font-weight: 500;
	margin-bottom: 40px;
}
#pay_pop .total_price {
	color: #F00;
	font-size: 50px;
	font-weight: 700;
}

#pay_complete h2 {
	font-size: 60px;
	font-weight: 500;
	margin-bottom: 100px;
}
#pay_complete h4 {
	color: #0E3FBB;
	font-size: 60px;
	font-weight: 700;
	margin-bottom: 100px;
}
#pay_complete .btn_area button {
	flex: 1;
	height: 130px;
	border-radius: 30px;
	background: #0E3FBB;
	color: #fff;
	font-size: 40px;
	font-weight: 700;
}
a.complete_btn.btn_blue {
    width: 100%;
    flex: 1;
    height: 130px;
    border-radius: 30px;
    background: #0E3FBB;
    color: #fff;
    font-size: 40px;
    font-weight: 700;
    text-align: center;
    line-height: 130px;
}


#select_pop .flex {
	gap: 20px;
	margin-top: 26px;
}
#select_pop .flex a {
    flex: 1;
    padding: 35px 0;
    border-radius: 20px;
	border: 3px solid #0E3FBB;
    background: #FFF;
    text-align: center;
	font-size: 40px;
	box-sizing: border-box;
}