@media (max-width: 1024px) {
	.mo_menu {
		display: block;
	}
	.mo_menu_overlay {
		display: block;
	}
	.top_banner_pc {
		display: none;
	}
	.top_banner_mo {
		display: block;
		max-width: 100%;
	}
	.top_banner_controler {
		right: 15px;
		justify-content: flex-end;
		gap: 5px;
	}
	.logo_title_wrap {
		display: none;
	}
	.common_inner {
		padding: 0 15px;
	}
	.common_inner.no_padding {
		padding: 0;
	}
	.common_title {
		padding: 20px 10px;
		border-bottom: 1px solid #ccc;
	}
	.goback_btn {
		display: block;
		min-width: 28px;
	}
	.goback_btn img {
		display: block;
	}
	.close_window_btn {
		display: none;
	}
	.mo_hamburger {
		display: block;
	}
	.mo_hamburger img {
		display: block;
	}
	.plan_inner {
		padding: 0 15px;
	}
	.plan_step label {
		flex: auto;
		width: 20%;
	}
	.plan_step img {
		display: none;
	}
	.plan_pop_card {
		gap: 40px;
		outline: none;
	}
	.pop_close_btn {
		right: 0;
	}
}

@media (max-width: 768px) {
	.plan_inner {
		padding: 0 10px;
	}
	.common_title h1 {
		font-size: 20px;
		margin-top:0px;
	}
	.goback_btn {
		top: 15px;
	}
	.plan_step label {
		flex-direction: column;
		gap: 3px;
	}
	.plan_step label em {
		width: 19px;
		height: 19px;
		font-size: 11px;
		line-height: 20px;
	}
	.plan_step label span {
		font-size: 12px;
	}
	.comment {
		font-size: 15px;
		margin: 20px 0;
		margin-top: 30px;
	}
	.card_wrap {
		flex-direction: column;
	}
	.card {
		display: flex;
		gap: 30px;
		align-items: center;
		text-align: left;
		padding: 15px 25px;
		flex-direction: row;
	}
	.call_card .card,
	.data_card .card {
		width: 100%;
	}
	.card img {
		width: 30px;
	}
	.card p {
		margin: 5px 0;
		margin-top: 0;
		font-size: 13px;
	}
	.card span {
		font-size: 16px;
	}
	.card_select {
		margin-top: 0;
		margin-left: auto;
	}
	.pn_btns {
		gap: 5px;
	}
	.pn_btn {
		font-size: 16px;
		padding: 6px;
		margin: 40px auto;
	}
	.rst_card {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		position: relative;
		padding: 10px 15px;
	}
	.rst_card h3 {
		font-size: 15px;
		max-width: 90%;
	}
	.rst_card > div {
		width: 100%;
		justify-content: space-between;
		align-items: flex-end;
	}
	.rst_card .card_select {
		position: absolute;
		margin-left: 0;
		top: 15px;
		right: 20px;
	}
	.rst_icons p img {
		width: 38px;
	}
	.rst_icons p span {
		font-size: 12px;
	}
	.rst_card > div > em {
		font-size: 15px;
	}
	.pt_small h2 {
		font-size: 16px;
	}
	.pt_small p {
		font-size: 14px;
	}
	.benefit_item img {
		width: 35px;
	}
	.benefit_item em,
	.benefit_item span {
		font-size: 14px;
	}
	.promo_top {
		border-bottom: none;
		padding: 15px;
	}
	.promo_bot {
		flex-direction: column;
		padding: 5px 0;
		background-color: #f8f8f8;
	}
	.plan_info {
		display: flex;
		justify-content: space-between;
		padding: 5px 15px;
		background-color: transparent;
	}
	.plan_info span {
		font-size: 12px;
	}
	.plan_info h4,
	.plan_info em {
		font-size: 14px;
	}
	.join_plan_inner {
		padding: 0 15px;
	}
	.join_plan_box {
		padding: 20px 15px;
	}
	.form_row {
		flex-direction: column;
		margin-bottom: 15px;
	}
	.form_row > span {
		font-size: 14px;
		padding-top: 0;
		padding-bottom: 5px;
	}
	.name_wrap {
		flex-direction: column;
	}
	.form_row input[type=text] {
		font-size: 14px;
		padding: 13px;
	}
	.name_wrap ul button {
		padding: 12px;
	}
	.form_btn {
		font-size: 14px;
	}
	.name_input_ex p {
		font-size: 12px;
		line-height: 1.5em;
	}
	.like_btn_chk {
		/* display: block; */
	}
	.like_btn_chk label {
		/* display: block; */
		font-size: 14px;
		flex-direction: column;
		gap: 7px;
		padding: 12px 5px;
	}
	.lines2:before {
		bottom: 17px;
		left: 50%;
		transform: translateX(-50%);
		font-size: 11px;
		min-width: 51px;
	}
	.form_usim_wrap {
		flex-direction: column;
	}
	.like_btn_chk label p small {
		font-size: 11px;
	}
	.like_btn_chk label.only {
		font-size: 16px;
		padding: 10px;
	}
	.selected_plan {
		flex-direction: column;
	}
	.selected_plan button {
		justify-content: center;
	}
	.form_usim_alert {
		padding: 7px;
		font-size: 13px;
	}
	.common_pop h2 {
		font-size: 18px;
		padding: 15px;
	}
	.pop_content {
		padding: 15px;
	}
	.pop_keyword a {
		font-size: 13px;
		padding: 0 10px;
	}
	.pop_filter_btn img {
		width: 15px;
	}
	.pop_filter_btn {
		font-size: 13px;
	}
	.plan_pop_top {
		margin-bottom: 15px;
	}
	.plan_pop_card {
		flex-direction: column;
		align-items: normal;
		gap: 10px;
	}
	.ppc_title h5 {
		font-size: 14px;
	}
	.ppc_usage {
		min-width: auto;
		gap: 10px;
	}
	.ppc_usage p {
		gap: 5px;
	}
	.ppc_usage p em {
		width: 35px;
		height: 35px;
		min-width: 35px;
		line-height: 41px;
	}
	.ppc_usage p em img {
		width: 17px;
	}
	.ppc_price del {
		font-size: 12px;
	}
	.ppc_price strong {
		display: inline;
		font-size: 16px;
		margin-left: 3px;
	}
	.ppc_title {
		margin-left: 0;
	}
	.pop_common_btns button {
		font-size: 15px;
	}
	.pop_close_btn img {
		width: 40px;
	}

	/*popup*/
	.layer {padding:5%;}
	.layer_pop { min-width:320px; left:0; margin-left:1%; background: #f0f0f0; width:96%; margin-top:30px;  margin-bottom:30px; border:solid 1px #ccc; }
	.layer_pop h1 { font-size:18px;  border-bottom: 1px solid #ccc; margin-top:0px; margin-bottom:20px;}
	.pop_wrap{padding:3%;}
	.layer_pop2 {min-width:320px; width:96%; margin-top:30px;  margin-bottom:30px;} /* 160714 */
	.layer_pop2 h1 { font-size:16px;}

	.telecom_section	{padding:0px;}
	.telecom_section dt {width:25%;}
	.telecom_section dd {width:60%; padding:0px;}

	.user_name_num_wrap {
		flex-direction: column;
	}
	input[type=text].user_name_input,
	.user_num {
		width: 100%;
	}
	.credit_card_wrap select {
		font-size: 14px;
	}
	.certi_icons {
		flex-wrap: wrap;
	}
	.certi_icons a span {
		font-size: 13px;
	}
	.certification_btn {
		margin: 0 auto;
		max-width: 100%;
	}
	.credit_card_wrap {
		flex-direction: column;
	}
	.credit_card_wrap select {
		max-width: 100%;
		padding: 13px;
	}
	.card_alert {
		font-size: 12px;
	}
	.join_terms_title button {
		min-width: 13px;
	}
	.join_terms_title div label {
		font-size: 14px;
	}
	.all_agree_comment {
		font-size: 12px;
	}
	.join_terms_children .default_checkbox label {
		font-size: 13px;
	}
	.join_terms_desc {
		line-height: 1.2em;
	}
	.join_terms_desc h5 {
		font-size: 12px;
	}
	.join_terms_desc p {
		font-size: 12px;
	}
	.form_usim_info_wrap {
		padding: 0;
		background-color: #fff;
	}
	.form_usim_info p {
		font-size: 12px;
	}
	.form_usim_info h6 {
		font-size: 12px;
	}
	.form_usim_info > button {
		font-size: 14px;
	}
	.user_phone_mail {
		flex-direction: column;
	}
	.user_phone {
		width: 100%;
	}
	input[type=text].user_mail_input {
		width: 100%;
	}
	.phone_face_comment {
		font-size: 12px;
	}
	.post_code_wrap button {
		font-size: 14px;
	}
	.form_id_kind label {
		font-size: 14px;
		padding: 10px;
	}
	.form_face_certi button {
		font-size: 14px;
	}
	.form_face_certi button:first-child img {
		display: none;
	}
	.ik_date {
		padding: 10px;
	}
	.ik_date h5 {
		font-size: 12px;
	}
	.ik_date input[type=text] {
		font-size: 14px;
		padding: 3px 0;
	}
	.ik_agree {
		padding: 10px;
	}
	.ik_agree label {
		font-size: 14px;
	}
	.ik_agree p {
		font-size: 12px;
	}
	.face_success_pop {
		padding: 10px;
	}
	.face_success_pop p {
		font-size: 16px;
	}
	.face_success_pop_close {
		font-size: 14px;
	}
	.bank_form,
	.card_form {
		flex-direction: column;
	}
	.bank_form select,
	.bank_form input,
	.card_form input {
		width: 100%;
		padding: 13px;
		font-size: 14px;
	}
	.pn_btn.bank_certi_btn {
		margin: 20px auto;
		margin-bottom: 0;
	}
	.reservation_num {
		flex-wrap: wrap;
	}
	.reservation_num div {
		width: 100%;
		display: flex;
		gap: 5px;
	}
	.reservation_num p {
		font-size: 14px;
	}
	.form_row .reservation_num input {
		padding: 10px;
	}
	.reservation_num button {
		font-size: 14px;
		padding: 10px 15px;
		width: 50%;
	}
	.reservation_num button.num_inquiry_btn {
		width: 100%;
	}
	.reservation_num button.num_inquiry_btn.active {
		width: 50%;
	}
	.nums_list li {
		width: 100%;
	}
	.nums_list li:nth-child(4n-3), 
	.nums_list li:nth-child(4n-2) {
		background-color: #fff;
	}
	.nums_list li:nth-child(odd) {
		background-color: #f6f6f6;
	}
	.pre_change_agree_pop h3 {
		font-size: 18px;
		padding: 15px;
	}
	.pre_change_info ul li {
		font-size: 12px;
	}
	.pre_change_info div {
		padding: 15px;
	}
	.pre_change_info_pc {
		display: none;
	}
	.pre_change_info_mo {
		display: block;
		max-width: 100%;
	}
	.using_company {
		flex-wrap: wrap;
	}
	.using_company label {
		width: calc(50% - 3px);
		flex: none;
	}
	.al_com {
		flex-direction: column;
	}
	.al_com select {
		font-size: 14px;
	}
	.using_num {
		max-width: 100%;
	}
	.using_company_tip li,
	.using_num_tip li {
		font-size: 12px;
		line-height: 1.5em;
	}
	.pre_agree_content p,
	.pre_agree_content p em {
		font-size: 14px;
	}
	.pre_agree_content div {
		padding: 15px;
	}
	.pre_agree_content div span {
		font-size: 14px;
	}
	.pre_agree_content div strong {
		font-size: 20px;
	}
	.change_num_agree {
		margin: 20px auto;
		margin-bottom: 0;
	}
	.bill_tip {
		font-size: 12px;
		line-height: 1.5em;
	}
	.like_btn_chk label .txt {
		line-height: 1.2em;
	}
	.join_plan_loading_box {
		margin-top: 40px;
	}
	.join_plan_loading_box h1 {
		font-size: 20px;
		margin: 15px 0;
	}
	.join_plan_loading_box p,
	.join_plan_loading_box span {
		font-size: 14px;
	}
	.join_plan_loading_box p {
		margin-bottom: 15px;
	}
	.join_plan_loading_box img {
		width: 40px;
	}
	.usim_pop h3 {
		font-size: 18px;
		padding: 15px;
	}
	.usim_pop_con {
		padding: 15px;
	}
	.usim_pop_con p {
		font-size: 14px;
	}
	.usim_method span {
		font-size: 17px;
	}
	.usim_method_step {
		flex-direction: column;
	}
	.usim_img img {
		max-width: 100%;
	}
	.usim_title em {
		padding: 2px 12px;
		font-size: 14px;
		margin-bottom: 5px;
	}
	.usim_title b {
		font-size: 14px;
	}
	.usim_pop_close {
		right: 0;
	}
	.join_plan_complete {
		padding: 30px 0;
	}
	.jpc_top img {
		width: 65px;
	}
	.jpc_top h1 {
		font-size: 24px;
	}
	.join_plan_complete p {
		font-size: 16px;
		margin-bottom: 40px;
	}
	.jpc_btns a {
		font-size: 14px;
		padding: 5px;
	}
}

@media (max-width: 375px) {
	.plan_step label span {
		font-size: 11px;
	}
}