a,
a:hover,
a:active {
	color: #383ec3;
	text-decoration: none;
}

.hidden {
	display:none;
}

.table>:not(caption)>*>* {
	padding : 0.8rem 0.5rem;
}

.form-control {
	max-width: 520px;
	padding: 8px 15px;
	font-size:15px;
	line-height: 22px;
	letter-spacing: -0.3px;
	border: 1px solid #ddd;
	box-shadow: none;
}

.form-select {
	max-width: 520px;
	background-image: url("../img/icon_select_arrow.svg");
}

.form-select.small,
.form-control.small {
	max-width: 160px;
}

.form-control:read-only {
	background: #ffffff;
}

.form-control:disabled,
.form-select:disabled {
	background: #f7f7f9;
}

.input-group .form-control {
	max-width: calc(520px - 42px);
}

.form-check,
.form-radio {
	padding-left: 0;
}

.form-check-input,
.form-radio-input {
	position: absolute;
	width: 24px;
	height: 24px;
	padding: 0;
	overflow: hidden;
	clip: rect(0,0,0,0);
	border: 0;
	margin: 0;
}

.form-check-input + .form-check-label,
.form-radio-input + .form-radio-label {
	position: relative;
	display: inline-block;
	height: 24px;
	padding-left: 32px;
	line-height: 22px;
	vertical-align: middle;
	cursor: pointer;
}

.form-check-input:not(:first-child) + .form-check-label,
.form-radio-input:not(:first-child) + .form-radio-label {
	margin-left: 40px;
}

.form-check-input + .form-check-label:before,
.form-radio-input + .form-radio-label:before {
	content:'';
	display: inline-block;
	position: absolute;
	left: 0;
	top: 0;
	width: 24px;
	height: 100%;
}

.form-check-input + .form-check-label:before {
	background: url("../img/button_select_n.svg") no-repeat;
}

.form-check-input:checked + .form-check-label:before {
	background: url("../img/button_select_s.svg") no-repeat;
}

.form-check-input:disabled + .form-check-label:before {
	background: url("../img/button_select_disable.svg") no-repeat;
	cursor: default;
}

.form-radio-input + .form-radio-label:before {
	background: url("../img/button_radio_n.svg") no-repeat;
}

.form-radio-input:checked + .form-radio-label:before {
	background: url("../img/button_radio_s.svg") no-repeat;
}

.form-radio-input:disabled + .form-radio-label:before {
	background: url("../img/button_radio_disable.svg") no-repeat;
	cursor: default;
}

.checkbox-group .form-check-label:not(:last-child),
.radio-group .form-radio-label:not(:last-child) {
	margin-left: 0 !important;
	margin-right: 40px;
}

.checkbox-group .form-check-label:last-child,
.radio-group .form-radio-label:last-child {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.text-truncate {
	max-width: 0;
}

.btn-primary,
.btn-primary:focus {
	max-height: 42px;
	padding: 10px 16px;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -0.28px;
	font-weight: 500;
	border: 0 !important;
	border-radius: 6px;
	color: #fff;
	background: #383ec3;
	box-shadow: none !important;
	white-space: nowrap;
}

.btn-primary:hover,
.btn-primary:active {
	background: #2f34ac;
}

.btn-secondary,
.btn-secondary:focus {
	max-height: 42px;
	padding: 10px 34px;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -0.28px;
	font-weight: 500;
	border-radius: 6px;
	color: #fff;
	background: #555;
	box-shadow: none !important;
	white-space: nowrap;
}

.btn-secondary:hover,
.btn-secondary:active {
	background: #333;
}

.btn-secondary.small {
	padding: 10px 16px;
}

.btn-outline-secondary {
	max-height: 42px;
	padding: 10px 16px;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -0.28px;
	border-radius: 6px;
	border: solid 1px;
	border-color: #aaa !important;
	color: #777;
	white-space: nowrap;
}

.btn-outline-secondary.small {
	max-height: 34px;
	padding: 6.5px 12px;
	font-size: 13px;
	line-height: 19px;
	letter-spacing: -0.26px;
}

.btn-outline-secondary.fill {
	background: #fafafa;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:active,
.btn-outline-secondary:focus,
.btn-outline-secondary.fill:hover,
.btn-outline-secondary.fill:active,
.btn-outline-secondary.fill:focus {
	color: #777;
	background: #f2f2f4;
	box-shadow: none !important;
}

.btn-primary.icon-add {
	padding: 10px 16px 10px 40px;
	background: url("../img/icon_add.svg") no-repeat, #383ec3;
	background-position: 16px 12px;
}

.btn-primary.icon-add:hover,
.btn-primary.icon-add:active {
	background: url("../img/icon_add.svg") no-repeat, #2f34ac;
	background-position: 16px 12px;
}

.btn-primary.icon-add.small,
.btn-primary.icon-add.small:hover,
.btn-primary.icon-add.small:active {
    padding: 4px 16px 4px 28px;
    background-position: 8px 6px;
}

.btn-add-small {
	width: 24px;
	height: 24px;
	padding: 5px;
	line-height: 0;
	border-radius: 12px;
	border: solid 1px #c4c4c8;
	background: #fff;
}

.btn-del-small {
	width: 24px;
	height: 24px;
	padding: 5px;
	line-height: 0;
	border-radius: 12px;
	border: solid 1px #c4c4c8;
	background: #e5e5e9;
}

.btn-action {
	display: inline-flex;
	padding-left: 8px;
	column-gap: 8px;
	align-items: center;
}

.btn-action-list {
	display: inline-flex;
	column-gap: 4px;
	align-items: center;
}

.modal-header {
	border-color: #eee;
	padding: 12px 24px;
}

.modal-header .modal-title {
	font-size: 18px;
	font-weight: bold;
	line-height: 26px;
	letter-spacing: -0.36px;
	color: #333;
}

.modal-header .btn-close,
.modal-header .btn-close:hover,
.modal-header .btn-close:active {
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	background: url("../img/button_close.svg") no-repeat;
	background-position: center;
	opacity: 1;
	box-shadow: none !important;
}

.modal-body {
	position: static;
	padding: 24px;
}

.modal-footer {
	border: 0;
	padding: 0 24px 24px;
}

.modal-footer > button {
	width: 120px;
}

.modal-dialog.width-760 {
	max-width: 760px;
}

.data-process {
	display: none;
	position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	z-index: 99999;
}

.data-process-in {
	position: relative;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}

.process {
	width: 132px;
	height: 132px;
	position: absolute;
	top: calc(50% - 66px);
	left: calc(50% - 66px);
	text-align: center;
	background: #fff;
	border: solid 1px #777;
	border-radius: 6px;
	box-shadow: 8px 8px 8px 0 rgba(0, 0, 0, 0.1);
	z-index: 1;
}

.process > img {
	width: 40px;
	height: 40px;
	margin-top: 27px;
	object-fit: contain;
	animation: rotation 2s linear infinite;
	-moz-animation: rotation 2s linear infinite;
	-webkit-animation: rotation 2s linear infinite;
}

.process > div {
	margin-top: 12px;
	font-size: 18px;
	font-weight: 500;
	line-height: 26px;
	letter-spacing: -0.36px;
	color: #383ec3;
}

.process-img {
	width: 40px;
	height: 40px;
	object-fit: contain;
	animation: rotation 2s linear infinite;
	-moz-animation: rotation 2s linear infinite;
	-webkit-animation: rotation 2s linear infinite;
}

@keyframes rotation {
	0% {
		transform: rotate(0deg); 
	}
	100% {
		transform: rotate(360deg);
	}
}

@-moz-keyframes rotation {
	0% {
		transform: rotate(0deg); 
	}
	100% {
		transform: rotate(360deg);
	}
}

@-webkit-keyframes rotation {
	0% {
		transform: rotate(0deg); 
	}
	100% {
		transform: rotate(360deg);
	}
}

#login {
	display: flex;
	min-height: 100vh;
	align-items: center;
	background: url("../img/image_login_bg.png") no-repeat, #f7f7f9;
	background-size: auto 100%, contain;
	background-position: right, left;
}

.login-box {
	display: flex;
	width: 448px;
	padding: 64px 40px 40px;
	gap: 32px;
	border-radius: 6px;
	box-shadow: 16px 16px 24px 0 rgba(25, 31, 96, 0.1);
	background: #fff;
}

.login-title-box > img {
	widows: 131px;
	height: 18px;
	object-fit: contain;
}

.login-title-box > .title {
	margin-top: 16px;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: -0.44px;
	color: #13173f;
}

.login-form {
	display: flex;
	flex-grow: 0;
	flex-direction: column;
	gap: 24px;
}

.login-input input {
	padding: 17px 16px 16px 56px;
	font-size: 16px;
	line-height: 23px;
	letter-spacing: -0.32px;
}

.login-input input ~ input {
	margin-top: 16px;
}

.login-input input.login-id {
	background: url("../img/icon_id.svg") no-repeat;
	background-size: 24px 24px;
	background-position: 16px 16px;
}

.login-input input.login-pwd {
	background: url("../img/icon_password.svg") no-repeat;
	background-size: 24px 24px;
	background-position: 16px 16px;
}

.login-form .message {
	color: #777;
}

.btn.login {
	max-height: 100%;
	padding: 17px 16px 16px;
	font-size: 16px;
	line-height: 23px;
	letter-spacing: -0.32px;
}

.btn.login > img {
    margin-right: 12px;
}

.body-bg {
	background: #f7f7f9;
}

#menu.left {
    background: #fff;
}

.offcanvas-header {
	padding: 30px var(--bs-offcanvas-padding-x) 30px 0;
}

.offcanvas-title {
	margin-left: 32px;
}

.navbar-brand {
    flex-grow: 1;
    margin: 0;
    padding: 30px 0 30px;
    text-align: center;
}

#menu.left .navbar-nav {
	width: 100%;
    gap: 16px;
}

#menu .navbar-expand-md .navbar-nav .nav-link,
#menu .navbar-nav .nav-link {
	padding: 17px 0;
	color: #555;
}

#menu .navbar-expand-md .navbar-nav .active .nav-link,
#menu .navbar-nav .active .nav-link {
	font-weight: 500;
	color: #383ec3;
	background: #f9f9fc;
}

#menu .nav-link::before {
	content: '';
	display: block;
	float: left;
	width: 16px;
	height: 16px;
	margin: 3px 16px;
}

.nav-link.device::before {
	background: url("../img/icon_posting_n.svg") no-repeat;
}

.active .nav-link.device::before {
	background: url("../img/icon_posting_s.svg") no-repeat;
}

.nav-link.company::before {
	background: url("../img/icon_group_n.svg") no-repeat;
}

.active .nav-link.company::before {
	background: url("../img/icon_group_s.svg") no-repeat;
}

.nav-link.admin::before {
	background: url("../img/icon_manager_n.svg") no-repeat;
}

.active .nav-link.admin::before {
	background: url("../img/icon_manager_s.svg") no-repeat;
}

#menu.left + #main.container-fluid,
#menu.left + #header + #main.container-fluid {
    padding: 24px;
    margin: 0 0 24px;
    background: #fff;
}

#menu.left + #main + .bottom-btn-group,
#menu.left + #header + #main + .bottom-btn-group {
	margin: 0;
	padding-bottom: 24px;
}

@media (min-width: 768px) {
    #menu.top {
        position:-webkit-sticky;
        position:sticky;
        top:0;
        z-index:1020;
    }
    
    #menu.left {
        position: fixed;
        width: 232px;
        top: 0;
        bottom: 0;
    }
    
    #menu.left .navbar {
        height: 100%;
        align-items: flex-start;
        overflow-y: auto;
    }
    
    #menu.left .container-fluid {
        flex-direction: column;
        margin: 0;
        padding: 0 16px;
        align-items: flex-start;
    }
    
    #menu.left .offcanvas {
        width: 100% !important;
    }
    
    #menu.left .navbar-nav {
        flex-direction: column;
    }

    .navbar-brand {
        flex-grow: 0;
	    margin: 0;
	    padding: 30px 0 30px 16px;
	    text-align: left;
    }
    
    #menu.left + #header.container-fluid {
        width: calc(100% - 232px);
        margin: 0 0 0 232px;
    }

    #menu.left + #main.container-fluid,
    #menu.left + #header + #main.container-fluid {
    	width: calc(100% - 280px);
    	margin: 0 24px 24px 256px;
        padding: 24px 24px 24px 24px;
        border-radius: 6px;
        box-shadow: 2px 2px 16px 0 rgba(25, 31, 96, 0.05);
    }
    
    #menu.left + #main + .bottom-btn-group,
    #menu.left + #header + #main + .bottom-btn-group {
		width: calc(100% - 280px);
		margin: 0 24px 0 256px;
	}
}

#header {
	display: flex;
	padding: 20px 24px;
	background: #f7f7f9;
}

#header .title-box,
#header .user-box {
	display: flex;
	gap: 24px;
	align-items: center;
}

#header .title {
	font-size: 20px;
	font-weight: bold;
	line-height: 29px;
	letter-spacing: -0.4px;
	color: #333;
}

#header .location {
	display: flex;
	gap: 8px;
	align-items: center;
}

#header .location > div {
	font-size: 13px;
	line-height: 19px;
	letter-spacing: -0.26px;
	color: #777;
}

#header .location > div::before {
	content: url("../img/icon_arrow.svg");
	position: relative;
	margin-right: 8px;
}

#header .user {
	display: flex;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -0.28px;
	color: #777;
	align-items: center;
    cursor: pointer;
}

#header .user::before {
	content: url("../img/icon_top_user.svg");
	position: relative;
	width: 24px;
	height: 24px;
	margin-right: 8px;
}

.nav-tabs {
	border: 0;
	padding-bottom: 24px;
}

.nav-tabs .nav-link {
	padding: 13px 16px;
	font-size: 15px;
	border: 0;
	border-bottom: solid 1px #eee;
	color: #555;
    cursor: pointer;
}

.nav-tabs .nav-link.active {
	font-weight: 500;
	border-color: #383ec3;
	color: #383ec3;
	background: transparent;
	cursor: default;
}

#searchForm .form-control,
#searchForm .form-select,
#searchForm .date-group,
#searchForm .btn-sel-group {
	max-width: 710px;
}

#searchForm .dummy {
    margin-top: 0;
}

.dataTables_wrapper {
	padding: 0;
}

.dataTables_wrapper .table-wrap {
    overflow-x: auto;
}

.dataTable thead th {
	font-weight: 500;
	text-align: center;
	border-top: solid 1px #eee;
	color: #777;
	background: #f9f9fc;
}

.dataTable tr.highlight {
    background: #ededff;
}

.dataTable .dataTables_empty {
	text-align: center;
}

.dataTable.empty-hidden .dataTables_empty {
	display: none;
}

.pn-wrap {
    text-align: center;
}

.pn-wrap .dataTables_paginate {
	white-space: nowrap;
	display: inline-block;
	vertical-align: middle;
}

.pn-wrap .dataTables_paginate > span {
	vertical-align: middle;
}

.pn-wrap .paginate_button {
	display: inline-block;
	width: 32px;
	height: 32px;
	margin: 0 2px;
	padding: 6px 0;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -0.28px;
	text-align: center;
	color: #777;
	cursor: pointer;
    text-decoration: none;
}

.pn-wrap .paginate_button.first {
	background: url("../img/icon_prev_all.svg") no-repeat;
	background-position: center;
	text-indent: -9999px;
}

.pn-wrap .paginate_button.previous {
	background: url("../img/icon_prev.svg") no-repeat;
	background-position: center;
	text-indent: -9999px;
}

.pn-wrap .paginate_button.next {
	background: url("../img/icon_next.svg") no-repeat;
	background-position: center;
	text-indent: -9999px;
}

.pn-wrap .paginate_button.last {
	background: url("../img/icon_next_all.svg") no-repeat;
	background-position: center;
	text-indent: -9999px;
}

.pn-wrap span .paginate_button.current {
	border-radius: 6px;
    color: #383ec3;
    background: #f0f0f4;
}

.pn-wrap span .paginate_button:not(.current):hover {
    border-radius: 6px;
	background: #f0f0f4;
}

.pn-wrap > div > .paginate_button.disabled {
	opacity: 0.3 !important;
	cursor: default;
}

.table-title {
    padding: 0 0 5px;
    font-size: 16px;
    line-height: 23px;
	letter-spacing: -0.32px;
	font-weight: 500;
}

.table:not(.dataTable) thead {
	color: #777;
}

.table:not(.dataTable) tbody tr {
	border: solid #eee;
	border-width: 1px 0px;
}

.table:not(.dataTable) tbody tr:first-child {
	border-top-color: #ddd;
}

.table:not(.dataTable) tbody tr:last-child {
	border-bottom-color: #ddd;
}

.table:not(.dataTable) tbody th {
	padding: 21px 16px;
	font-weight: normal;
	border: 0;
	color: #555;
	background: #f9f9fc;
}

.table:not(.dataTable) tbody td {
	padding: 12px 16px;
	border: 0;
}

.table:not(.dataTable) tbody td > p {
	margin: 12px 0 0;
}

.table:not(.dataTable) tbody th + td {
	border-left: solid 1px #eee;
}

th .required::after {
	content: "*";
    padding-left: 1px;
	color: #f52f2f;
}

td.form-mail > input {
	max-width: 160px;
}

td.form-mail > .at {
	margin: 0 8px;
	color: #555;
}

td.form-mail > select {
	max-width: 160px;
	margin-left: 8px;
}

td .contents {
	max-height: 250px;
	overflow-y: auto;
}

td .contents::-webkit-scrollbar {
	width: 4px;
}

td .contents::-webkit-scrollbar-thumb {
	width: 4px;
	border-radius: 2px;
	background: rgba(0, 0, 0, 0.1);
}

.table.scroll thead {
	display: table;
	width: calc(100% - 4px);
	table-layout: fixed;
}

.table.scroll:not(.dataTable) thead tr {
	border-bottom-color: transparent;
}

.table.scroll tbody {
	display: block;
	overflow-y: scroll;
}

.table.scroll tbody.max-height-310 {
	max-height: 310px;
}

.table.scroll tbody.max-height-440 {
	max-height: 440px;
}

.table.scroll tbody::-webkit-scrollbar {
	width: 4px;
}

.table.scroll tbody::-webkit-scrollbar-thumb {
	width: 4px;
	border-radius: 2px;
	background: rgba(0, 0, 0, 0.1);
}

.table.scroll tbody tr {
	display: table;
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}

.table.scroll:not(.dataTable) tbody tr {
	border-bottom-color: transparent;
}

.table td .txet-title {
	font-weight: 500;
}

.table td .txet-desc {
	color: #555;
}

.table td .txet-desc .cnt {
	font-weight: bold;
	color: #383ec3;
}

.table.scroll tbody tr:last-child {
	border-bottom-color: #ddd;
}

.search-bg {
	background: #f9f9fc;
}

.date-group {
	max-width: 520px;
	display: grid;
	grid-template-columns: 1fr 16px 1fr;
    text-align: center;
	align-items: center;
}

.status-box {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.status-box .item {
    width: 100%;
    padding: 30px 0;
    display: flex;
    background: #f9f9fc;
    border-radius: var(--bs-border-radius);
}

.status-box .item .label,
.status-box .item .text {
    width: 50%;
    font-weight: 500;
    text-align: center;
}

@media (min-width: 992px) {
    .status-box .item {
        width: calc(50% - 5px);
    }
}

.file-drop-zone {
	min-height: 100px;
	border-radius: 6px;
	border: solid 1px #eee;
	background: #f7f7f9;
}

.file-drop-zone .no-file {
	display: flex;
	min-height: 98px;
	justify-content: center;
	align-items: center;
	color: #777;
}

.file-drop-zone .file-wrap:not(.hidden) {
	display: flex;
	min-height: 98px;
	flex-direction: column;
	justify-content: center;
}

.file-wrap .file-box {
	display: flex;
	padding: 16px;
	align-items: center;
}

.ip-addr {
	display: flex;
	max-width: 480px;
	align-items: end;
}

.ip-addr > span {
	margin: 0 5px;
}

.red {
	color: #e83434;
}

.blue {
	color: #383ec3;
}

.bottom-btn-group {
	display: flex;
	justify-content: space-between;
}

.bottom-btn-group > div {
	display: flex;
	column-gap: 8px;
}

.bottom-btn-group .btn {
	width: 120px;
}

.action-btn {
    display: flex;
    gap: 4px;
    justify-content: center;
}

.action-btn .blank {
	display: inline-block;
	width: 24px;
	height: 10px;
}

.action-btn > button {
	border: 0;
	background: transparent;
}

.hasDatepicker,
.mtz-monthpicker-widgetcontainer {
	padding: 8px 15px 8px 48px;
	background: url("../img/icon_calendar.svg") no-repeat, linear-gradient(#ddd 0, #ddd 100%) no-repeat, linear-gradient(#fff 0, #fff 100%);
	background-size: 24px 24px, 1px 16px;
	background-position: 8px 8px, 38px 12px;
}

input.hasDatepicker:disabled {
	padding: 8px 15px 8px 48px;
	background: url("../img/icon_calendar.svg") no-repeat, linear-gradient(#ddd 0, #ddd 100%) no-repeat, linear-gradient(#f7f7f9 0, #f7f7f9 100%) !important;
	background-size: 24px 24px, 1px 16px !important;
	background-position: 8px 8px, 38px 12px !important;
}

.ui-datepicker.ui-widget.ui-widget-content {
	width: 272px;
	padding: 16px 10px 10px;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: -0.28px;
	border: solid 1px #555;
	border-radius: 8px;
	color: #333;
	background: #fff;
	box-shadow: 4px 4px 20px 0 rgba(0, 0, 0, 0.1);
}

.ui-icon,
.ui-widget-content .ui-icon {
	background: transparent;
}

.ui-datepicker-prev,
.ui-datepicker-next {
	display: none;
}

.ui-datepicker .ui-datepicker-header {
	margin: 0;
	padding: 0;
	border: 0;
	background: #fff;
}

.ui-datepicker .ui-datepicker-header select {
	width: 80px;
	padding: 6px 26px 6px 8px;
	text-align: left;
	border: solid 1px #ddd;
	border-radius: 8px;
	appearance:none;
	background: url("../img/icon_select_arrow.svg") no-repeat;
	background-position: center right 8px;
}

.ui-datepicker .ui-datepicker-header select ~ select {
	margin-left: 8px;
}

.ui-datepicker .ui-datepicker-title {
	margin: 0;
}

.ui-datepicker table {
	margin: 0;
}

.ui-datepicker th {
	padding: 8px 2px;
}

.ui-datepicker td {
	padding: 2px;
}

.ui-widget-content .ui-state-default {
	width: 32px;
	padding: 6px 0;
	text-align: center;
	border: 0;
	border-radius: 8px;
	color: #777;
	background: transparent;
}

.ui-widget-content .ui-datepicker-week-end:first-child .ui-state-default,
th.ui-datepicker-week-end:first-child > span {
	color: #e83434;
}

.ui-widget-content .ui-datepicker-week-end:last-child .ui-state-default,
th.ui-datepicker-week-end:last-child > span {
	color: #2183f5;
}

.ui-widget-content .ui-state-hover:not(.ui-state-active),
.ui-widget-content .ui-state-highlight:not(.ui-state-active) {
	background: #f5f5f5;
}

table.mtz-monthpicker {
    margin-top: 10px;
}

.mtz-monthpicker-month {
    cursor: pointer !important;
}

.ui-widget-content .ui-state-active {
    color: #fff;
	background: #504de1;
}

.width-px-40 {
	width: 40px;
}

.width-px-40 + .width-per-20 {
	width: calc(20% - 40px);
}

.width-px-40 + .width-per-50 {
	width: calc(50% - 40px);
}

.width-per-20 {
	width: 20%;
}

.width-per-25 {
	width: 25%;
}

.width-per-40 {
	width: 40%;
}

.width-per-50 {
	width: 50%;
}

.app-download,
.guide {
    min-height: 100%;
    background: #ecf1f6;
}

.app-download .logo {
    position: relative;
    padding: 40px 24px 0;
    z-index: 2;
}

.app-download .logo > img {
    height: 24px;
    object-fit: contain;
}

.app-download .title {
    position: relative;
    padding: 16px 24px 0;
    font-family: "Pretendard";
    font-size: 40px;
    line-height: 52px;
    font-weight: bold;
    color: #151515;
    z-index: 2;
}

.app-download .img {
    position: absolute;
    left: 0;
    right: 0;
    top: 184px;
    bottom: 80px;
    display: flex;
    justify-content: end;
    align-items: center;
    z-index: 1;
}
.app-download .img > img {
    max-width: 100%;
    max-height: calc(100% + 160px);
    object-fit: contain;
}

.app-download .btn-box {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 2;
}

.app-download .btn-box .help-box {
    display: flex;
    justify-content: center;
}

.app-download .btn-box .help-box .help-btn {
    display: flex;
    padding: 12px 16px;
    border: 0;
    font-family: "Pretendard";
    font-size: 16px;
    line-height: 22.4px;
    font-weight: bold;
    color: #333333;
    background: transparent;
    align-items: center;
}

.app-download .btn-box .help-box .help-btn > img {
    margin-left: 10px;
}

.app-download .btn-box .btn-download {
    display: flex;
    width: 100%;
    height: 64px;
    margin-top: 8px;
    padding: 0 24px;
    border: 0;
    border-radius: 8px;
    font-family: "Pretendard";
    font-size: 18px;
    line-height: 23.4px;
    color: #ffffff;
    background: #4a7dff;
    justify-content: space-between;
    align-items: center;
}

.app-download .btn-box .btn-download .aos {
    padding-left: 32px;
    background: url("../img/ic_aos_logo.svg") no-repeat;
}

.app-download .btn-box .btn-download .ios {
    padding-left: 32px;
    background: url("../img/ic_ios_logo.svg") no-repeat;
}

.guide .title {
	display: flex;
	width: 100%;
	height: 56px;
	justify-content: center;
	align-items: center;
	font-size: 17px;
	font-weight: bold;
	line-height: 20px;
	letter-spacing: -0.51px;
}

.guide .guide-img {
	width: 100%;
	max-width: 360px;
	margin: 0 auto;
	padding: 24px 0 48px;
}

.guide .guide-img.aos::before {
	content: url("../img/img-help-content-aos.png");
}

.guide .guide-img.ios::before {
	content: url("../img/img-help-content-ios.png");
}

.set-box {
	display: grid;
	grid-template-columns: 1fr 32px 1fr;
	column-gap: 8px;
	row-gap: 16px;
}

.set-box .sub-title {
	grid-column: auto / span 3;
	font-weight: 500;
	color: #333;
}

.modal-body .sub-title .cnt {
	font-weight: bold;
	color: #f01e1e;
}

.sel-item-box {
	min-height: 100px;
	margin-top: 10px;
	padding: 16px 16px 8px 16px;
	font-size: 0;
	border-radius: 6px;
	border: solid 1px #eee;
	background: #f7f7f9;
}

.sel-item-box .item {
	display: inline-flex;
	margin: 0 8px 8px 0;
	padding: 6.5px 12px;
	column-gap: 8px;
	font-size: 13px;
	line-height: 19px;
	letter-spacing: -0.26px;
	align-items: center;
	border-radius: 6px;
	border: solid 1px #aaa;
	color: #777;
	background: #fff;
}

/*.sel-item-box .item ~ .item {
	margin-left: 8px;
}*/

.sel-item-box .item .item-del {
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url("../img/icon_list_delete.svg") no-repeat;
	cursor: pointer;
}

.line-box {
	display: grid;
	grid-template-rows: 1fr 32px 32px 1fr;
	row-gap: 16px;
	justify-items: center;
}

.line-box .line {
	width: 1px;
	border-left: dotted 1px #ccc;
}

.line-box .arrow-btn {
	padding: 4px;
	cursor: pointer;
	border-radius: 6px;
}

.line-box .arrow-btn:hover,
.line-box .arrow-btn:active {
	background: #f2f2f4;
}