@charset "utf-8";

/*메인 공통*/
#mcontainer {
	overflow: hidden;
}

#mcontainer .main_sec {
	position: relative;
}

#mcontainer .main_inner {
	position: relative;
	max-width: 1700px;
	margin: 0 auto;
	box-sizing: border-box;
}

#mcontainer .mayor_title {
	font-family: gmarket;
}

#mcontainer .main_sec h2 {
	margin: 0;
	letter-spacing: -0.05em;
}

#mcontainer .main_sec .more {
	text-decoration: none;
}

/* section01 : 메인 비주얼 */
.mayor_visual {
	position: relative;
	padding-bottom: 98px;
	overflow: hidden;
}

.mayor_visual_bg {
	position: relative;
	max-width: 1800px;
	height: 650px;
	margin: 0 auto;
	border-radius: 50px;
	background: linear-gradient(278deg, #09D4DB -12.51%, rgba(30, 66, 152, 0.90)
		40.13%, rgba(0, 40, 118, 0.90) 94.38%);
}

.mayor_visual_bg::before {
	content: "";
	position: absolute;
	right: 0px;
	bottom: -96px;
	width: 866px;
	height: 148px;
	background: #fff;
	border-radius: 116px 100px 0 0px;
}

.mayor_photo_slider {
	position: absolute;
	left: calc(50% - 960px);
	top: 56px;
	z-index: 2;
	width: 1014px;
	height: 692px;
	overflow: hidden;
	border-radius: 0 22px 110px 0;
	background: #ddd;
}

.mayor_photo_slider .slick-list, .mayor_photo_slider .slick-track {
	height: 100%;
}

.mayor_photo_slider .slick-slide {
	height: 100%;
}

.mayor_photo_slider .slick-slide>div {
	height: 100%;
}

.mayor_photo_slider .photo_item {
	height: 100%;
	overflow: hidden;
}

.mayor_photo_slider img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mayor_visual_txt {
	position: absolute;
	right: 158px;
	top: 165px;
	z-index: 3;
	color: #fff;
}

.mayor_visual_txt p {
	margin: 0 0 26px;
	font-size: 52px;
	color: #fff;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: -0.05em;
}

.mayor_visual_txt strong {
	display: block;
	font-family: gmarket;
	font-size: 54px;
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: -0.05em;
}

.mayor_visual_txt em {
	position: relative;
	display: inline-block;
	font-family: gmarket;
	font-style: normal;
	font-size: 74px;
	font-weight: 700;
	padding-right: 10px;
}

/* .mayor_visual_txt em::after {
	content:'';
	width: 370px;
	height: 2px;
	background: #fff;
	position:absolute;
	bottom: 2px;
	left:0; 
} */
.mayor_visual_quick {
	position: absolute;
	right: 40px;
	bottom: -58px;
	z-index: 5;
	width: 784px;
	height: 190px;
}

.mayor_visual_quick ul {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	margin: 0;
}

.mayor_visual_quick li {
	display: flex;
	justify-content: center;
}

.mayor_visual_quick a {
	display: flex;
	width: 190px;
	height: 190px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 20px;
	border-radius: 50%;
	background: #f7fbff;
	color: #222;
	text-align: center;
	text-decoration: none;
	font-size: 18px;
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: -0.04em;
	box-shadow: 12px 16px 28px rgba(30, 65, 130, .17), inset 8px 8px 16px
		rgba(255, 255, 255, .95), inset -8px -8px 16px
		rgba(180, 198, 230, .22);
	transition: transform .25s ease, box-shadow .25s ease;
}

.mayor_visual_quick a:hover, .mayor_visual_quick a:focus {
	transform: translateY(-6px);
	box-shadow: 14px 20px 34px rgba(30, 65, 130, .22), inset 8px 8px 16px
		rgba(255, 255, 255, .95), inset -8px -8px 16px
		rgba(180, 198, 230, .22);
}

.mayor_visual_quick .ico {
	display: block;
	width: 52px;
	height: 52px;
}

.mayor_visual_quick .ico img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.mayor_visual_quick .txt {
	display: block;
}

#mcontainer .mayor_visual .window_icon {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

#mcontainer .mayor_visual .window_icon:after {
	content: "";
	display: block;
	flex: 0 0 auto;
	width: 12px;
	height: 12px;
	background: url('/images/common/ico_window.gif') no-repeat center center;
}

/* section01 : 메인 비주얼 반응형 */
@media ( max-width :1600px) {
	.mayor_visual {
		padding-bottom: 130px;
	}
	.mayor_visual_bg {
		width: 94%;
		height: 520px;
	}
	.mayor_photo_slider {
		left: calc(50% - 785px);
		top: 60px;
		width: 800px;
		height: 546px;
		border-radius: 0 40px 120px 0;
	}
	.mayor_visual_txt {
		top: 120px;
		right: calc(3% + 35px);
	}
	.mayor_visual_txt p {
		margin-bottom: 50px;
		font-size: 46px;
	}
	.mayor_visual_txt strong {
		font-size: 46px;
	}
	.mayor_visual_txt em {
		font-size: 62px;
	}
	.mayor_visual_txt em::after {
		width: 310px;
	}
	.mayor_visual_bg::before {
		right: 0;
		bottom: -86px;
		width: 720px;
		height: 130px;
		border-radius: 90px 90px 0 0;
	}
	.mayor_visual_quick {
		right: 25px;
		bottom: -55px;
		width: 690px;
		height: 165px;
	}
	.mayor_visual_quick a {
		width: 160px;
		height: 160px;
		font-size: 16px;
	}
}

@media ( max-width :1440px) {
	.mayor_visual_bg {
		height: 500px;
	}
	.mayor_photo_slider {
		left: calc(50% - 705px);
		width: 720px;
		height: 492px;
	}
	.mayor_visual_txt {
		top: 112px;
		right: calc(3% + 30px);
	}
	.mayor_visual_txt p {
		font-size: 40px;
	}
	.mayor_visual_txt strong {
		font-size: 40px;
	}
	.mayor_visual_txt em {
		font-size: 54px;
	}
	.mayor_visual_txt em::after {
		width: 270px;
	}
	.mayor_visual_bg::before {
		width: 660px;
	}
	.mayor_visual_quick {
		width: 635px;
	}
	.mayor_visual_quick a {
		width: 145px;
		height: 145px;
		font-size: 15px;
	}
}

@media ( max-width :1280px) {
	.mayor_visual {
		padding-bottom: 110px;
	}
	.mayor_visual_bg {
		height: 425px;
	}
	.mayor_photo_slider {
		left: calc(50% - 665px);
		top: 50px;
		width: 700px;
		height: 478px;
		border-radius: 0 40px 110px 0;
	}
	.mayor_visual_txt {
		top: 82px;
		right: calc(3% + 25px);
	}
	.mayor_visual_txt p {
		margin-bottom: 18px;
		font-size: 36px;
	}
	.mayor_visual_txt strong {
		font-size: 36px;
	}
	.mayor_visual_txt em {
		font-size: 48px;
	}
	.mayor_visual_txt em::after {
		width: 240px;
	}
	.mayor_visual_bg::before {
		bottom: -70px;
		width: 585px;
		height: 112px;
		border-radius: 70px 70px 0 0;
	}
	.mayor_visual_quick {
		right: 18px;
		bottom: -47px;
		width: 560px;
		height: 135px;
	}
	.mayor_visual_quick a {
		width: 132px;
		height: 132px;
		gap: 12px;
		font-size: 13px;
	}
	.mayor_visual_quick .ico {
		width: 40px;
		height: 40px;
	}
}

@media ( max-width :1024px) {
	.mayor_visual_txt {
		top: 120px;
		right: 54px;
		z-index: 10;
	}
	.mayor_visual_txt p {
		margin-bottom: 16px;
		font-size: 34px;
		line-height: 1.28;
	}
	.mayor_visual_txt strong {
		font-size: 34px;
		line-height: 1.2;
		white-space: nowrap;
	}
	.mayor_visual_txt em {
		font-size: 46px;
		padding-right: 2px;
	}
	.mayor_visual_txt em::after {
		width: 230px;
		height: 1px;
	}
	.mayor_visual_bg::before {
		right: 0;
		bottom: -62px;
		width: 474px;
		height: 125px;
		border-radius: 90px 90px 0 0;
		/* z-index: 6; */
	}
	.mayor_visual_quick {
		right: 20px;
		bottom: -40px;
		z-index: 11;
		width: 560px;
		height: 138px;
	}
	.mayor_visual_quick ul {
		grid-template-columns: repeat(4, 1fr);
		gap: 6px;
		margin: 0;
		padding: 0;
	}
	.mayor_visual_quick a {
		width: 132px;
		height: 132px;
		gap: 12px;
		font-size: 13px;
	}
	.mayor_visual_quick .ico {
		width: 40px;
		height: 40px;
	}
}

@media ( max-width :768px) {
	.mayor_visual {
		padding-top: 50px;
		padding-bottom: 0px;
	}
	.mayor_visual_bg {
		width: 100%;
		height: 620px;
		margin: 0 auto;
		border-radius: 0;
		overflow: visible;
	}
	.mayor_visual_bg::before {
		display: none;
	}
	.mayor_photo_slider {
		left: 0;
		top: 0;
		width: 100%;
		height: 48vh;
		min-height: 300px;
		max-height: 330px;
		transform: translateX(-4%);
		border-radius: 24px 24px 80px 24px;
	}
	.mayor_visual_txt {
		top: 304px;
		left: 0;
		right: 0;
		width: 100%;
		text-align: center;
	}
	.mayor_visual_txt p br {
		display: none;
	}
	.mayor_visual_txt p {
		top: 320px;
		left: 0;
		right: 0;
		width: 100%;
		text-align: center;
		margin-bottom: 8px;
		font-size: 34px;
	}
	.mayor_visual_txt strong {
		font-size: 34px;
		line-height: 1.25;
		text-shadow: 0 2px 8px rgba(0, 0, 0, .35);
		white-space: nowrap;
	}
	.mayor_visual_txt em {
		font-size: 48px;
		padding-right: 0;
		text-shadow: 0 2px 8px rgba(0, 0, 0, .35);
	}
	.mayor_visual_txt em::after {
		display: none;
	}
	.mayor_visual_quick {
		left: 50%;
		right: auto;
		bottom: 32px;
		width: 90%;
		height: auto;
		transform: translateX(-50%);
	}
	.mayor_visual_quick ul {
		display: flex;
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
		width: 100%;
		max-width: 620px;
		margin: 0 auto;
		padding: 0;
		flex-wrap: wrap;
	}
	.mayor_visual_quick li {
		display: block;
		width: calc(50% - 4px);
	}
	.mayor_visual_quick a {
		width: 100%;
		max-width: none;
		height: 70px;
		aspect-ratio: auto;
		padding: 0 12px 0 50px;
		box-sizing: border-box;
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		gap: 24px;
		border-radius: 16px;
		font-size: 16px;
		line-height: 1.25;
		text-align: left;
	}
	.mayor_visual_quick a:hover, .mayor_visual_quick a:focus {
		transform: none;
		box-shadow: none;
	}
	.mayor_visual_quick .ico {
		width: 34px;
		height: 34px;
		flex: 0 0 34px;
	}
	#mcontainer .mayor_visual .window_icon {
		display: inline-flex;
		align-items: center;
		gap: 4px;
	}
	#mcontainer .mayor_visual .window_icon:after {
		width: 12px;
		height: 12px;
		transform: translateY(-1px);
	}
}
@media ( max-width :580px) {
	.mayor_visual_bg {
		height: 548px;
	}

	.mayor_photo_slider {
		height: 270px;
		min-height: 270px;
		max-height: 270px;
		border-radius: 22px 22px 64px 22px;
	}

	.mayor_visual_txt {
		top: 250px;
	}

	/* .mayor_visual_txt p {
		font-size: 26px;
	}

	.mayor_visual_txt strong {
		font-size: 28px;
	}

	.mayor_visual_txt em {
		font-size: 38px;
	} */

	.mayor_visual_quick {
		bottom: 28px;
	}

	.mayor_visual_quick a {
		height: 60px;
		padding: 0 10px 0 28px;
		gap: 12px;
		border-radius: 15px;
		white-space: nowrap;
	}

	.mayor_visual_quick .ico {
		width: 28px;
		height: 28px;
		flex: 0 0 28px;
	}
}

@media (max-width:412px) {
	.mayor_visual_txt p {
		font-size: 24px;
		line-height:1;
	}

	.mayor_visual_txt strong {
		font-size: 30px;
	}

	.mayor_visual_txt em {
		font-size: 46px;
	}

	.mayor_visual_quick a {
		height: 70px;
		padding: 16px 4px;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		font-size: 14px;
		line-height: 1.15;
		text-align: center;
		white-space: normal;
		border-radius: 15px;
	}

	.mayor_visual_quick .ico {
		width: 24px;
		height: 24px;
		flex: 0 0 24px;
	}

	#mcontainer .mayor_visual .window_icon {
		justify-content: center;
		gap: 3px;
	}

	#mcontainer .mayor_visual .window_icon:after {
		width: 9px;
		height: 9px;
		background-size: 9px auto;
	}
}

/* 비전과 목표 임시(공약사업 정리 전 까지 임시) */
/* section01-1 : 비전과 목표 */
#mcontainer .mayor_vision {
	position: relative;
	padding: 100px 0 0;
	background: #fff;
	overflow: hidden;
}

#mcontainer .mayor_vision:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 493px;
	background: #eaf6ff;
}

#mcontainer .mayor_vision .main_inner {
	z-index: 1;
}

/* 슬로건 */
#mcontainer .mayor_vision .vision_slogan {
	position: relative;
	z-index: 5;
	width: 683px;
	margin: 0 0 22px 100px;
}

#mcontainer .mayor_vision .vision_slogan img {
	display: block;
	width: 100%;
}

#mcontainer .mayor_vision .vision_box {
	position: relative;
	z-index: 2;
	width: 100%;
	min-height: 508px;
	margin: 0;
	padding: 118px 0 0 106px;
	box-sizing: border-box;
	border-radius: 30px;
	background: #004EA1;
	overflow: visible;
}

#mcontainer .mayor_vision .vision_box:after {
	content: "";
	position: absolute;
	right: 52px;
	bottom: 0;
	z-index: 1;
	width: 884px;
	height: 478px;
	background: url('/images/mayor/main/section01-1_object.svg') no-repeat
		right bottom/contain;
	pointer-events: none;
}

#mcontainer .mayor_vision .vision_txt {
	position: relative;
	z-index: 4;
}

#mcontainer .mayor_vision .vision_txt h2 {
	margin: 0;
	color: #fff033;
	font-size: 56px;
	line-height: 1.18;
	font-weight: 700;
	letter-spacing: -0.05em;
}

#mcontainer .mayor_vision .vision_txt h2 strong {
	display: inline-block;
	color: #fff033;
	font-size: 70px;
	line-height: 1;
	font-weight: 900;
	letter-spacing: -0.05em;
}

#mcontainer .mayor_vision .vision_txt p {
	margin: 18px 0 0;
	color: #fff;
	font-size: 30px;
	line-height: 1.35;
	font-weight: 400;
	letter-spacing: -0.04em;
}

#mcontainer .mayor_vision .vision_txt p strong {
	color: #fff;
	font-size: 30px;
	font-weight: 800;
}

#mcontainer .mayor_vision .vision_txt .more {
	display: inline-flex;
	align-items: center;
	height: 58px;
	margin-top: 70px;
	padding: 17px 40px;
	border: 1px solid rgba(255, 255, 255, .85);
	border-radius: 50px;
	color: #fff;
	font-size: 20px;
	line-height: 1;
	font-weight: 500;
	letter-spacing: -0.04em;
	text-decoration: none;
}

#mcontainer .mayor_vision .vision_txt .more span {
	display: flex;
	align-items: center;
	gap: 18px;
}

#mcontainer .mayor_vision .vision_txt .more img {
	display: block;
	width: 18px;
	height: 18px;
	object-fit: contain;
}

#mcontainer .mayor_vision .vision_mayor {
	position: absolute;
	right: 158px;
	bottom: -209px;
	z-index: 6;
	width: 610px;
}

#mcontainer .mayor_vision .vision_mayor {
	position: absolute;
	right: 158px;
	bottom: 0;
	z-index: 6;
	width: 610px;
}

#mcontainer .mayor_vision .vision_mayor img {
	display: block;
	width: 100%;
}

#mcontainer .mayor_vision .vision_link {
	position: relative;
	z-index: 7;
	width: 840px;
	margin: 60px 0 0 106px;
	padding-bottom: 156px;
}

#mcontainer .mayor_vision .vision_link ul {
	display: flex;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#mcontainer .mayor_vision .vision_link li {
	width: 410px;
}

#mcontainer .mayor_vision .vision_link a {
	position: relative;
	display: flex;
	width: 410px;
	height: 101px;
	padding: 17px 40px;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 4px;
	box-sizing: border-box;
	border-radius: 12px;
	border: 1px solid #72B6FF;
	background: #fff;
	color: #222;
	text-decoration: none;
}

#mcontainer .mayor_vision .vision_link a {
	transition: border-color .25s ease, box-shadow .25s ease;
}

#mcontainer .mayor_vision .vision_link a:hover, #mcontainer .mayor_vision .vision_link a:focus
	{
	/* border-width: 2px;
    border-color: #0077FF; */
	box-shadow: 0 10px 20px rgba(0, 119, 255, .15);
}

#mcontainer .mayor_vision .vision_link .ico {
	position: absolute;
	right: 40px;
	top: 50%;
	width: 42px;
	height: 42px;
	transform: translate(0, -50%);
}

#mcontainer .mayor_vision .vision_link a:hover .ico, #mcontainer .mayor_vision .vision_link a:focus .ico
	{
	animation: visionIconShakeX .8s ease-in-out infinite;
}

@keyframes visionIconShakeX {
	0% {
		transform: translate(0, -50%);
	}

	25% {
		transform: translate(-1.5px, -50%);
	}

	50% {
		transform: translate(1.5px, -50%);
	}

	75% {
		transform: translate(-1px, -50%);
	}

	100% {
		transform: translate(0, -50%);
	}
}
#mcontainer .mayor_vision .vision_link .txt {
	display: block;
	color: #222;
	font-size: 24px;
	line-height: 1.3;
	font-weight: 400;
	letter-spacing: -0.04em;
}

#mcontainer .mayor_vision .vision_link .eng {
	display: block;
	margin-bottom: 4px;
	color: #009E9A;
	font-size: 15px;
	line-height: 1.2;
	font-weight: 500;
	letter-spacing: 0;
}

#mcontainer .mayor_vision .vision_link strong {
	display: inline;
	color: #222;
	font-size: 24px;
	line-height: 1.3;
	font-weight: 800;
	letter-spacing: -0.04em;
}

#mcontainer .mayor_vision .vision_link .ico {
	position: absolute;
	right: 40px;
	top: 50%;
	width: 42px;
	height: 42px;
	transform: translateY(-50%);
}

#mcontainer .mayor_vision .vision_link .ico img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* section 01-1 비전과 목표 반응형 */
/* section 01-1 : 비전과 목표 반응형 */
@media ( max-width :1600px) {
	#mcontainer .mayor_vision {
		padding-top: 90px;
	}
	#mcontainer .mayor_vision .vision_slogan {
		width: 620px;
		margin-left: 70px;
	}
	#mcontainer .mayor_vision .vision_box {
		min-height: 465px;
		padding: 105px 0 0 80px;
	}
	#mcontainer .mayor_vision .vision_box:after {
		right: 20px;
		width: 760px;
		height: 420px;
	}
	#mcontainer .mayor_vision .vision_txt h2 {
		font-size: 50px;
	}
	#mcontainer .mayor_vision .vision_txt h2 strong {
		font-size: 62px;
	}
	#mcontainer .mayor_vision .vision_txt p, #mcontainer .mayor_vision .vision_txt p strong
		{
		font-size: 26px;
	}
	#mcontainer .mayor_vision .vision_txt .more {
		margin-top: 55px;
	}
	#mcontainer .mayor_vision .vision_mayor {
		right: 90px;
		width: 540px;
	}
	#mcontainer .mayor_vision .vision_link {
		width: 760px;
		margin: 50px 0 0 80px;
		padding-bottom: 130px;
	}
	#mcontainer .mayor_vision .vision_link li {
		width: 370px;
	}
	#mcontainer .mayor_vision .vision_link a {
		width: 370px;
		height: 95px;
		padding: 16px 36px;
	}
	#mcontainer .mayor_vision .vision_link .txt, #mcontainer .mayor_vision .vision_link strong
		{
		font-size: 22px;
	}
}

@media ( max-width :1440px) {
	#mcontainer .mayor_vision .vision_slogan {
		width: 560px;
		margin-left: 60px;
	}
	#mcontainer .mayor_vision .vision_box {
		min-height: 430px;
		padding: 95px 0 0 70px;
	}
	#mcontainer .mayor_vision .vision_box:after {
		width: 690px;
		height: 390px;
	}
	#mcontainer .mayor_vision .vision_txt h2 {
		font-size: 46px;
	}
	#mcontainer .mayor_vision .vision_txt h2 strong {
		font-size: 58px;
	}
	#mcontainer .mayor_vision .vision_txt p, #mcontainer .mayor_vision .vision_txt p strong
		{
		font-size: 24px;
	}
	#mcontainer .mayor_vision .vision_mayor {
		right: 55px;
		width: 500px;
	}
	#mcontainer .mayor_vision .vision_link {
		width: 700px;
		margin: 45px 0 0 70px;
		padding-bottom: 120px;
	}
	#mcontainer .mayor_vision .vision_link li {
		width: 340px;
	}
	#mcontainer .mayor_vision .vision_link a {
		width: 340px;
		height: 90px;
		padding: 15px 32px;
	}
	#mcontainer .mayor_vision .vision_link .txt, #mcontainer .mayor_vision .vision_link strong
		{
		font-size: 20px;
	}
}

@media ( max-width :1280px) {
	#mcontainer .mayor_vision {
		padding-top: 80px;
	}
	#mcontainer .mayor_vision:before {
		height: 430px;
	}
	#mcontainer .mayor_vision .vision_slogan {
		width: 500px;
		margin-left: 50px;
	}
	#mcontainer .mayor_vision .vision_box {
		min-height: 395px;
		padding: 82px 0 0 55px;
	}
	#mcontainer .mayor_vision .vision_box:after {
		width: 600px;
		height: 350px;
	}
	#mcontainer .mayor_vision .vision_txt h2 {
		font-size: 40px;
	}
	#mcontainer .mayor_vision .vision_txt h2 strong {
		font-size: 52px;
	}
	#mcontainer .mayor_vision .vision_txt p, #mcontainer .mayor_vision .vision_txt p strong
		{
		font-size: 22px;
	}
	#mcontainer .mayor_vision .vision_txt .more {
		height: 52px;
		margin-top: 40px;
		padding: 14px 32px;
		font-size: 18px;
	}
	#mcontainer .mayor_vision .vision_mayor {
		right: 20px;
		width: 440px;
	}
	#mcontainer .mayor_vision .vision_link {
		width: 620px;
		margin: 38px 0 0 55px;
		padding-bottom: 105px;
	}
	#mcontainer .mayor_vision .vision_link ul {
		gap: 16px;
	}
	#mcontainer .mayor_vision .vision_link li {
		width: 302px;
	}
	#mcontainer .mayor_vision .vision_link a {
		width: 302px;
		height: 84px;
		padding: 14px 54px 14px 28px;
	}
	#mcontainer .mayor_vision .vision_link .txt, #mcontainer .mayor_vision .vision_link strong
		{
		font-size: 18px;
	}
	#mcontainer .mayor_vision .vision_link .eng {
		font-size: 13px;
	}
	#mcontainer .mayor_vision .vision_link .ico {
		right: 24px;
		width: 36px;
		height: 36px;
	}
}

@media ( max-width :1024px) {
	#mcontainer .mayor_vision {
		padding-top: 70px;
	}
	#mcontainer .mayor_vision:before {
		height: 370px;
	}
	#mcontainer .mayor_vision .vision_slogan {
		width: 440px;
		margin-left: 40px;
	}
	#mcontainer .mayor_vision .vision_box {
		min-height: 340px;
		padding: 68px 0 0 45px;
	}
	#mcontainer .mayor_vision .vision_box:after {
		right: -10px;
		width: 520px;
		height: 310px;
	}
	#mcontainer .mayor_vision .vision_txt h2 {
		font-size: 34px;
	}
	#mcontainer .mayor_vision .vision_txt h2 strong {
		font-size: 44px;
	}
	#mcontainer .mayor_vision .vision_txt p, #mcontainer .mayor_vision .vision_txt p strong
		{
		font-size: 20px;
	}
	#mcontainer .mayor_vision .vision_txt .more {
		height: 48px;
		margin-top: 32px;
		padding: 12px 28px;
		font-size: 16px;
	}
	#mcontainer .mayor_vision .vision_mayor {
		right: 0;
		width: 360px;
	}
	#mcontainer .mayor_vision .vision_link {
		width: calc(100% - 90px);
		margin: 32px 0 0 45px;
		padding-bottom: 85px;
	}
	#mcontainer .mayor_vision .vision_link ul {
		gap: 14px;
	}
	#mcontainer .mayor_vision .vision_link li {
		width: calc(( 100% - 14px)/2);
	}
	#mcontainer .mayor_vision .vision_link a {
		width: 100%;
		height: 78px;
		padding: 12px 50px 12px 22px;
	}
	#mcontainer .mayor_vision .vision_link .txt, #mcontainer .mayor_vision .vision_link strong
		{
		font-size: 17px;
	}
	#mcontainer .mayor_vision .vision_link .eng {
		font-size: 12px;
	}
	#mcontainer .mayor_vision .vision_link .ico {
		right: 20px;
		width: 32px;
		height: 32px;
	}
}

@media ( max-width :768px) {
	#mcontainer .mayor_vision {
		padding-top: 60px;
	}
	#mcontainer .mayor_vision:before {
		height: 320px;
	}
	#mcontainer .mayor_vision .vision_slogan {
		width: 420px;
		max-width: 80%;
		margin: 0 0 18px 30px;
	}
	#mcontainer .mayor_vision .vision_box {
		min-height: 300px;
		padding: 55px 0 0 34px;
		border-radius: 24px;
	}
	#mcontainer .mayor_vision .vision_box:after {
		right: 8px;
		width: 340px;
		height: 260px;
		opacity: .8;
	}
	#mcontainer .mayor_vision .vision_txt h2 {
		font-size: 30px;
	}
	#mcontainer .mayor_vision .vision_txt h2 strong {
		font-size: 38px;
	}
	#mcontainer .mayor_vision .vision_txt p, #mcontainer .mayor_vision .vision_txt p strong
		{
		font-size: 18px;
	}
	#mcontainer .mayor_vision .vision_txt .more {
		height: 44px;
		margin-top: 26px;
		padding: 10px 24px;
		font-size: 15px;
	}
	#mcontainer .mayor_vision .vision_mayor {
		right: -15px;
		width: 300px;
	}
	#mcontainer .mayor_vision .vision_link {
		width: calc(100% - 60px);
		margin: 28px 0 0 30px;
		padding-bottom: 70px;
	}
	#mcontainer .mayor_vision .vision_link ul {
		gap: 12px;
	}
	#mcontainer .mayor_vision .vision_link a {
		height: 72px;
		padding: 11px 46px 11px 18px;
		border-radius: 10px;
	}
	#mcontainer .mayor_vision .vision_link .txt, #mcontainer .mayor_vision .vision_link strong
		{
		font-size: 16px;
	}
	#mcontainer .mayor_vision .vision_link .eng {
		font-size: 11px;
	}
	#mcontainer .mayor_vision .vision_link .ico {
		right: 16px;
		width: 30px;
		height: 30px;
	}
}

@media ( max-width :412px) {
	#mcontainer .mayor_vision {
		padding-top: 45px;
	}
	#mcontainer .mayor_vision:before {
		height: 260px;
	}
	#mcontainer .mayor_vision .vision_slogan {
		width: 86%;
		margin: 0 0 14px 20px;
	}
	#mcontainer .mayor_vision .vision_box {
		min-height: 250px;
		padding: 38px 22px 0;
		border-radius: 20px;
	}
	#mcontainer .mayor_vision .vision_box:after {
		right: -80px;
		width: 360px;
		height: 220px;
		opacity: .55;
	}
	#mcontainer .mayor_vision .vision_txt h2 {
		font-size: 24px;
	}
	#mcontainer .mayor_vision .vision_txt h2 strong {
		font-size: 30px;
	}
	#mcontainer .mayor_vision .vision_txt p {
		margin-top: 12px;
	}
	#mcontainer .mayor_vision .vision_txt p, #mcontainer .mayor_vision .vision_txt p strong
		{
		font-size: 15px;
	}
	#mcontainer .mayor_vision .vision_txt .more {
		height: 38px;
		margin-top: 22px;
		padding: 9px 20px;
		font-size: 14px;
	}
	#mcontainer .mayor_vision .vision_txt .more span {
		gap: 12px;
	}
	#mcontainer .mayor_vision .vision_txt .more img {
		width: 14px;
	}
	#mcontainer .mayor_vision .vision_mayor {
		right: -60px;
		width: 230px;
	}
	#mcontainer .mayor_vision .vision_link {
		width: calc(100% - 40px);
		margin: 22px 0 0 20px;
		padding-bottom: 52px;
	}
	#mcontainer .mayor_vision .vision_link ul {
		gap: 8px;
	}
	#mcontainer .mayor_vision .vision_link li {
		width: calc(( 100% - 8px)/2);
	}
	#mcontainer .mayor_vision .vision_link a {
		height: 66px;
		padding: 10px 36px 10px 12px;
		border-radius: 9px;
	}
	#mcontainer .mayor_vision .vision_link .txt, #mcontainer .mayor_vision .vision_link strong
		{
		font-size: 14px;
		line-height: 1.25;
	}
	#mcontainer .mayor_vision .vision_link .eng {
		margin-bottom: 3px;
		font-size: 10px;
	}
	#mcontainer .mayor_vision .vision_link .ico {
		right: 10px;
		width: 25px;
		height: 25px;
	}
}

@media ( max-width :360px) {
	#mcontainer .mayor_vision .vision_txt h2 {
		font-size: 22px;
	}
	#mcontainer .mayor_vision .vision_txt h2 strong {
		font-size: 27px;
	}
	#mcontainer .mayor_vision .vision_txt p, #mcontainer .mayor_vision .vision_txt p strong
		{
		font-size: 14px;
	}
	#mcontainer .mayor_vision .vision_link a {
		height: 64px;
		padding-right: 32px;
	}
	#mcontainer .mayor_vision .vision_link .txt, #mcontainer .mayor_vision .vision_link strong
		{
		font-size: 13px;
	}
	#mcontainer .mayor_vision .vision_link .ico {
		right: 8px;
		width: 23px;
		height: 23px;
	}
}

/* section02 : 공약사업 */
#mcontainer .mayor_promise {
	position: relative;
	overflow: hidden;
	padding: 165px 0 95px;
	background: #fff;
}

#mcontainer .mayor_promise:before {
	content: "";
	position: absolute;
	left: -140px;
	bottom: -283px;
	z-index: 0;
	width: 1608px;
	height: 1030px;
	background: url('/images/mayor/main/section02_circle_bg.svg') no-repeat
		left top/contain;
	pointer-events: none;
}

#mcontainer .mayor_promise .promise_top {
	position: relative;
}

#mcontainer .mayor_promise .promise_title {
	position: relative;
	z-index: 3;
	padding-top: 0;
}

#mcontainer .mayor_promise .promise_title p {
	margin: 0 0 8px;
	color: #0BF;
	font-family: gmarket;
	font-size: 34px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.34px;
}

#mcontainer .mayor_promise .promise_title h2 {
	display: flex;
	align-items: flex-end;
	height: 72px;
	margin: 0 0 20px;
	overflow: visible;
	color: #0A305A;
	font-family: gmarket;
	font-size: 60px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.6px;
	white-space: nowrap;
}

#mcontainer .mayor_promise .promise_title h2 .num_img {
	flex: 0 0 auto;
	display: block;
	width: 153px;
	height: 171px;
	margin: 0 -24px 0 18px;
	line-height: 0;
	transform: translateY(-4px);
}

#mcontainer .mayor_promise .promise_title h2 .num_img img {
	display: block;
	width: 100%;
	height: 100%;
}

#mcontainer .mayor_promise .promise_title>div {
	margin: 0;
	color: #525252;
	font-family: 'NanumSquare Neo', 'NanumSquare Neo OTF', sans-serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: -0.48px;
}

#mcontainer .mayor_promise .promise_title>div span {
	display: inline-block;
	font-weight: 800;
	transform: translateY(-2px);
}

#mcontainer .mayor_promise .promise_slogan {
	position: absolute;
	right: 19.5%;
	top: 108px;
	z-index: 2;
	width: 32.5%;
	max-width: 550px
}

#mcontainer .mayor_promise .promise_slogan img {
	display: block;
	width: 100%;
}

#mcontainer .mayor_promise {
	position: relative;
	overflow: hidden;
	padding: 165px 0 95px;
	background: #fff;
}

#mcontainer .mayor_promise .main_inner {
	position: relative;
	z-index: 2;
}

#mcontainer .mayor_promise .promise_mayor {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	width: 36%;
	max-width: 610px;
}

#mcontainer .mayor_promise .promise_mayor img {
	display: block;
	width: 100%;
}

#mcontainer .mayor_promise .promise_cont {
	position: relative;
	z-index: 4;
	width: 968px;
	margin-top: 104px;
}

#mcontainer .mayor_promise .promise_slider {
	overflow: visible;
	width: 968px;
	height: 446px;
	border-radius: 30px;
}

#mcontainer .mayor_promise .promise_slider .slick-list {
	overflow: hidden;
	height: 100%;
	border-radius: 30px;
	box-shadow: 0 16px 20px 0 rgba(0, 0, 0, 0.25);
}

#mcontainer .mayor_promise .promise_slider .slick-track, #mcontainer .mayor_promise .promise_slider .slick-slide,
	#mcontainer .mayor_promise .promise_slider .slick-slide>div,
	#mcontainer .mayor_promise .promise_slider .item {
	height: 100%;
}

#mcontainer .mayor_promise .promise_slider .item a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	width: 968px;
	height: 100%;
	padding: 0 60px 0 70px;
	box-sizing: border-box;
	color: #fff;
	text-decoration: none;
	border-radius: 30px;
	background: linear-gradient(86deg, #0030BD 2.67%, #38D7FF 96.53%);
}

#mcontainer .mayor_promise .promise_slider .item .cate {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 18px;
	line-height: 1.2;
}

#mcontainer .mayor_promise .promise_slider .item .cate em {
	color: #FEFFB4;
	font-family: 'Pretendard GOV', 'Pretendard', sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 1.2;
}

#mcontainer .mayor_promise .promise_slider .item .cate span {
	color: #fff;
	font-family: 'NanumSquare Neo', 'NanumSquare Neo OTF', sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
}

#mcontainer .mayor_promise .promise_slider .item strong {
	display: block;
	margin-bottom: 32px;
	color: #fff;
	font-family: 'Pretendard GOV', 'Pretendard', sans-serif;
	font-size: 38px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.76px;
}

#mcontainer .mayor_promise .promise_slider .item ul {
	counter-reset: promiseNum;
	margin: 0;
	padding: 0;
	list-style: none;
}

#mcontainer .mayor_promise .promise_slider .item li {
	position: relative;
	min-height: 28px;
	padding-left: 42px;
	color: #fff;
	font-family: 'NanumSquare Neo', 'NanumSquare Neo OTF', sans-serif;
	font-size: 20px;
	line-height: 1.4;
	font-weight: 700;
	letter-spacing: -0.04em;
}

#mcontainer .mayor_promise .promise_slider .item li+li {
	margin-top: 16px;
}

#mcontainer .mayor_promise .promise_slider .item li:before {
	counter-increment: promiseNum;
	content: counter(promiseNum);
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	width: 28px;
	height: 28px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #fff;
	color: #0A5FE8;
	font-size: 16px;
	line-height: 28px;
	font-weight: 800;
}

#mcontainer .mayor_promise .promise_slider .item .more {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	align-self: flex-end;
	gap: 8px;
	margin-top: 16px;
	color: #fff;
	font-family: 'Pretendard GOV', 'Pretendard', sans-serif;
	font-size: 18px;
	line-height: 1.2;
	font-weight: 600;
	opacity: .85;
	text-align: right;
}

#mcontainer .mayor_promise .promise_slider .item .more:before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background: url('/images/mayor/main/section02_icon.svg') no-repeat
		center center/contain;
}

#mcontainer .mayor_promise .promise_control {
	position: absolute;
	right: -284px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 6;
	display: flex;
	gap: 10px;
}

#mcontainer .mayor_promise .promise_control, #mcontainer .mayor_field .field_control
	{
	gap: 17px;
}

#mcontainer .mayor_promise .promise_control button, #mcontainer .mayor_field .field_control button
	{
	display: flex;
	width: 68px;
	height: 68px;
	padding: 0;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	border: 1px solid #d9e1ee;
	border-radius: 50%;
	background: #fff;
	font-size: 0;
	cursor: pointer;
}

#mcontainer .mayor_promise .promise_control button:before, #mcontainer .mayor_field .field_control button:before
	{
	content: "";
	display: block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

#mcontainer .mayor_promise .promise_control .prev:before, #mcontainer .mayor_field .field_control .prev:before
	{
	width: 12px;
	height: 20px;
	background-image: url('/images/mayor/main/control_prev.svg');
}

#mcontainer .mayor_promise .promise_control .next:before, #mcontainer .mayor_field .field_control .next:before
	{
	width: 12px;
	height: 20px;
	background-image: url('/images/mayor/main/control_next.svg');
}

#mcontainer .mayor_promise .promise_control .pause:before, #mcontainer .mayor_field .field_control .pause:before
	{
	width: 14px;
	height: 20px;
	background-image: url('/images/mayor/main/control_pause.svg');
}

#mcontainer .mayor_promise .promise_control .pause.play:before,
	#mcontainer .mayor_field .field_control .pause.play:before {
	width: 18px;
	height: 20px;
	background-image: url('/images/mayor/main/control_play.svg');
	transform: translateX(3px);
}

#mcontainer .mayor_promise .promise_menu {
	position: relative;
	z-index: 5;
	margin-top: 35px;
}

#mcontainer .mayor_promise .promise_menu ul {
	display: flex;
	gap: 50px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#mcontainer .mayor_promise .promise_menu a {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 0;
	color: #454545;
	font-family: 'NanumSquare Neo', 'NanumSquare Neo OTF', sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.36px;
	text-decoration: none;
}

/* #mcontainer .mayor_promise .promise_menu a:after {
    content: ">";
    display: inline-block;
    color: #004A9F;
    font-size: 26px;
    line-height: 1;
    font-weight: 700;
    opacity: 0;
    transform: translateY(-1px);
} */
#mcontainer .mayor_promise .promise_menu a:hover, #mcontainer .mayor_promise .promise_menu a:focus
	{
	color: #004A9F;
	font-size: 18px;
	font-weight: 800;
}

#mcontainer .mayor_promise .promise_menu a:hover:after, #mcontainer .mayor_promise .promise_menu a:focus:after
	{
	opacity: 1;
}

/* section02 : 공약사업 반응형 */
@media (max-width:1600px) {
	#mcontainer .mayor_promise .promise_title p {
		font-size: 32px;
	}

	#mcontainer .mayor_promise .promise_title h2 {
		height: 66px;
		font-size: 56px;
	}

	#mcontainer .mayor_promise .promise_title h2 .num_img {
		width: 140px;
		height: 156px;
		margin: 0 -22px 0 16px;
	}

	#mcontainer .mayor_promise .promise_title>div {
		font-size: 22px;
	}
	#mcontainer .mayor_promise .promise_slogan {
		right: 22.5%;
		width: 29%;
	}

	#mcontainer .mayor_promise .promise_cont {
		width: 910px;
		margin-top: 95px;
	}

	#mcontainer .mayor_promise .promise_slider {
		width: 910px;
		height: 420px;
	}

	#mcontainer .mayor_promise .promise_slider .item a {
		width: 910px;
		padding: 0 56px 0 64px;
	}

	#mcontainer .mayor_promise .promise_slider .item strong {
		margin-bottom: 28px;
		font-size: 35px;
	}

	#mcontainer .mayor_promise .promise_slider .item li {
		min-height: 26px;
		padding-left: 40px;
		font-size: 18px;
	}

	#mcontainer .mayor_promise .promise_slider .item li:before {
		width: 26px;
		height: 26px;
		font-size: 14px;
		line-height: 26px;
	}

	#mcontainer .mayor_promise .promise_slider .item li+li {
		margin-top: 13px;
	}

	#mcontainer .mayor_promise .promise_control {
		right: -255px;
	}

	#mcontainer .mayor_promise .promise_control button {
		width: 60px;
		height: 60px;
	}

	#mcontainer .mayor_promise .promise_menu ul {
		gap: 40px;
	}
}

@media (max-width:1440px) {
	#mcontainer .mayor_promise .promise_control {
		top: auto;
		right: 67px;
		bottom: -82px;
		transform: none;
		gap: 14px;
	}
}

@media (max-width:1280px) {
	#mcontainer .mayor_promise .promise_title p {
		font-size: 28px;
	}

	#mcontainer .mayor_promise .promise_title h2 {
		height: 58px;
		font-size: 48px;
	}

	#mcontainer .mayor_promise .promise_title h2 .num_img {
		width: 118px;
		height: 132px;
		margin: 0 -18px 0 12px;
	}

	#mcontainer .mayor_promise .promise_title>div {
		font-size: 19px;
	}
	#mcontainer .mayor_promise .promise_slogan {
		right: 20%;
		top: 108px;
		width: 30%;
		max-width: 410px;
	}
	
	#mcontainer .mayor_promise .promise_cont {
		width: 720px;
		margin-top: 75px;
	}

	#mcontainer .mayor_promise .promise_slider {
		width: 720px;
		height: 350px;
	}

	#mcontainer .mayor_promise .promise_slider .item a {
		width: 720px;
		padding: 0 44px 0 50px;
	}

	#mcontainer .mayor_promise .promise_slider .item .cate {
		margin-bottom: 14px;
	}

	#mcontainer .mayor_promise .promise_slider .item strong {
		margin-bottom: 22px;
		font-size: 28px;
	}

	#mcontainer .mayor_promise .promise_slider .item li {
		min-height: 23px;
		padding-left: 34px;
		font-size: 16px;
	}

	#mcontainer .mayor_promise .promise_slider .item li+li {
		margin-top: 9px;
	}

	#mcontainer .mayor_promise .promise_control button {
		width: 52px;
		height: 52px;
	}

	#mcontainer .mayor_promise .promise_menu ul {
		gap: 28px;
	}

	#mcontainer .mayor_promise .promise_menu a {
		font-size: 16px;
	}
}

@media ( max-width :768px) {
	#mcontainer .mayor_promise {
		padding: 100px 0 100px;
	}

	#mcontainer .mayor_promise:before {
		left: -52%;
		bottom: -220px;
		width: 1100px;
		height: 720px;
	}
	#mcontainer .mayor_promise .promise_title {
		position: relative;
		z-index: 5;
		width: 74%;
		text-align: left;
	}
	#mcontainer .mayor_promise .promise_title p {
		margin-bottom: 6px;
		font-size: 24px;
	}
	#mcontainer .mayor_promise .promise_title h2 {
		justify-content: flex-start;
		align-items: flex-end;
		height: 50px;
		overflow: visible;
		font-size: 40px;
		white-space: nowrap;
	}
	#mcontainer .mayor_promise .promise_title h2 .num_img {
		width: 100px;
		height: 112px;
		margin: 0 -16px 0 10px;
		transform: translateY(-4px);
	}
	#mcontainer .mayor_promise .promise_title>div {
		font-size: 15px;
		line-height: 1.4;
	}
	#mcontainer .mayor_promise .promise_title>div span {
		font-size: 15px;
	}
	#mcontainer .mayor_promise .promise_slogan {
		position: absolute;
		left: 122px;
		right: auto;
		top: 182px;
		z-index: 4;
		width: 42%;
		max-width: 300px;
		margin: 0;
	}
	#mcontainer .mayor_promise .promise_mayor {
		position: absolute;
		right: 7px;
		top: 30px;
		bottom: auto;
		z-index: 1;
		width: 50%;
		margin: 0;
	}
	#mcontainer .mayor_promise .promise_cont {
		position: relative;
		z-index: 6;
		width: 100%;
		margin-top: 176px;
	}
	#mcontainer .mayor_promise .promise_slider {
		width: 100%;
		min-height: 310px;
		height: auto;
		border-radius: 22px;
		overflow: hidden;
	}
	#mcontainer .mayor_promise .promise_slider .slick-list {
		height:100%;
		border-radius: 22px;
	}
	#mcontainer .mayor_promise .promise_slider .slick-track, #mcontainer .mayor_promise .promise_slider .slick-slide,
		#mcontainer .mayor_promise .promise_slider .slick-slide>div,
		#mcontainer .mayor_promise .promise_slider .item {
		height: 100%;
	}
	#mcontainer .mayor_promise .promise_slider .item a {
		width: 100%;
		height: 100%;
		padding: 36px 28px 32px;
		border-radius: 22px;
	}

	#mcontainer .mayor_promise .promise_slider .item strong {
		margin-bottom: 18px;
		font-size: 23px;
	}

	#mcontainer .mayor_promise .promise_slider .item li {
		min-height: 24px;
		padding-left: 34px;
		font-size: 16px;
	}

	#mcontainer .mayor_promise .promise_slider .item li:before {
		width: 22px;
		height: 22px;
		font-size: 12px;
		line-height: 22px;
	}

	#mcontainer .mayor_promise .promise_slider .item li+li {
		margin-top: 8px;
	}

	#mcontainer .mayor_promise .promise_slider .item .more {
		font-size: 14px;
	}
	#mcontainer .mayor_promise .promise_control {
		position: absolute;
		right: 0;
		top: auto;
		bottom: -60px;
		transform: none;
		gap: 8px;
	}

	#mcontainer .mayor_promise .promise_control button {
		width: 42px;
		height: 42px;
	}

	#mcontainer .mayor_promise .promise_control .prev:before,
	#mcontainer .mayor_promise .promise_control .next:before {
		width: 9px;
		height: 16px;
	}

	#mcontainer .mayor_promise .promise_control .pause:before {
		width: 11px;
		height: 16px;
	}
	#mcontainer .mayor_promise .promise_menu {
		position: relative;
		z-index: 7;
		margin-top: 24px;
		padding-right: 160px;
	}

	#mcontainer .mayor_promise .promise_menu ul {
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 8px 20px;
	}
}

@media (max-width:412px) {
	#mcontainer .mayor_promise {
		padding: 70px 0 150px;
	}

	#mcontainer .mayor_promise .promise_title {
		width: 100%;
	}

	#mcontainer .mayor_promise .promise_title p {
		font-size: 20px;
	}

	#mcontainer .mayor_promise .promise_title h2 {
		height: 40px;
		font-size: 30px;
	}

	#mcontainer .mayor_promise .promise_title h2 .num_img {
		width: 74px;
		height: 83px;
		margin: 0 -12px 0 6px;
	}

	#mcontainer .mayor_promise .promise_title>div,
	#mcontainer .mayor_promise .promise_title>div span {
		font-size: 13px;
	}

	#mcontainer .mayor_promise .promise_slogan {
		left: 24px;
		top: 152px;
		width: 62%;
		max-width: 270px;
	}

	#mcontainer .mayor_promise .promise_mayor {
		right: -42px;
		top: 40px;
		width: 62%;
	}

	#mcontainer .mayor_promise .promise_cont {
		margin-top: 150px;
	}

	#mcontainer .mayor_promise .promise_slider {
		height: 350px;
	}

	#mcontainer .mayor_promise .promise_slider .item a {
		padding: 30px 22px 28px;
	}

	#mcontainer .mayor_promise .promise_slider .item strong {
		margin-bottom: 16px;
		font-size: 21px;
	}

	#mcontainer .mayor_promise .promise_slider .item li {
		padding-left: 30px;
		font-size: 14px;
		line-height: 1.35;
	}

	#mcontainer .mayor_promise .promise_slider .item li+li {
		margin-top: 7px;
	}

	#mcontainer .mayor_promise .promise_menu {
		margin-top: 24px;
		padding-right: 0;
	}

	#mcontainer .mayor_promise .promise_menu ul {
		justify-content: center;
		gap: 6px 16px;
	}

	#mcontainer .mayor_promise .promise_menu a {
		font-size: 14px;
	}

	#mcontainer .mayor_promise .promise_control {
		left: 50%;
		right: auto;
		bottom: -108px;
		transform: translateX(-50%);
	}

	#mcontainer .mayor_promise .promise_control button {
		width: 40px;
		height: 40px;
	}
}

@media (max-width:360px) {
	#mcontainer .mayor_promise {
		padding-bottom: 140px;
	}

	#mcontainer .mayor_promise .promise_title p {
		font-size: 18px;
	}

	#mcontainer .mayor_promise .promise_title h2 {
		height: 36px;
		font-size: 26px;
	}

	#mcontainer .mayor_promise .promise_title h2 .num_img {
		width: 66px;
		height: 74px;
		margin: 0 -10px 0 5px;
	}

	#mcontainer .mayor_promise .promise_title>div,
	#mcontainer .mayor_promise .promise_title>div span {
		font-size: 12px;
	}

	#mcontainer .mayor_promise .promise_slogan {
		top: 140px;
		width: 64%;
	}

	#mcontainer .mayor_promise .promise_mayor {
		right: -54px;
		width: 66%;
	}

	#mcontainer .mayor_promise .promise_cont {
		margin-top: 140px;
	}

	#mcontainer .mayor_promise .promise_slider {
		height: 350px;
	}

	#mcontainer .mayor_promise .promise_slider .item a {
		padding: 28px 18px 26px;
	}

	#mcontainer .mayor_promise .promise_slider .item strong {
		font-size: 19px;
	}

	#mcontainer .mayor_promise .promise_slider .item li {
		font-size: 13px;
	}

	#mcontainer .mayor_promise .promise_menu a {
		font-size: 13px;
	}

	#mcontainer .mayor_promise .promise_control {
		bottom: -100px;
	}

	#mcontainer .mayor_promise .promise_control button {
		width: 38px;
		height: 38px;
	}
}

/*section03 : 시정활동 */
#mcontainer .mayor_today {
	padding: 105px 0 110px;
	background: #071945;
}

#mcontainer .mayor_today .today_title {
	position: relative;
	margin-bottom: 35px;
}

#mcontainer .mayor_today .today_title h2 {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: #fff;
	font-size: 43px;
	line-height: 1.2;
	font-weight: 900;
}

#mcontainer .mayor_today .today_title h2 img {
	display: block;
	flex: 0 0 auto;
}

#mcontainer .mayor_today .today_cont {
	display: flex;
}

#mcontainer .mayor_today .today_video {
	width: calc(100% - 430px);
}

#mcontainer .mayor_today .today_video .video_box {
	position: relative;
	overflow: hidden;
	height: 0;
	padding-bottom: 56.25%;
	background: #000;
}

#mcontainer .mayor_today .today_video .video_box::after {
	content: "";
    position: absolute;
    width: 100%;
    height: 10%;
    background: linear-gradient(0deg, rgba(2, 0, 31, 1) 0%, rgba(2, 0, 31, 0) 100%);
    left: 0;
    bottom: 0;
    z-index: 6;
}

#mcontainer .mayor_today .today_video .video_box iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

#mcontainer .mayor_today .today_video .video_info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 18px;
}

#mcontainer .mayor_today .today_video .video_tit {
	flex: 1;
	margin: 0;
	color: #fff;
	font-size: 20px;
	line-height: 1.4;
	font-weight: 700;
	letter-spacing: -0.04em;
}

#mcontainer .mayor_today .today_video .video_btns {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 12px;
}

#mcontainer .mayor_today .today_video .play_btn, #mcontainer .mayor_today .today_video .volume_btn
	{
	display: flex;
	width: 36px;
	height: 36px;
	padding: 0;
	align-items: center;
	justify-content: center;
	border: 0;
	background: none;
	cursor: pointer;
}

#mcontainer .mayor_today .today_video .play_btn img, #mcontainer .mayor_today .today_video .volume_btn img
	{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#mcontainer .mayor_today .today_video .play_btn span, #mcontainer .mayor_today .today_video .volume_btn span
	{
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	margin: -1px;
	clip: rect(0, 0, 0, 0);
}

#mcontainer .mayor_today .today_list {
	width: 430px;
}

#mcontainer .mayor_today .today_list ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#mcontainer .mayor_today .today_list li {
	height: 122px;
	border-bottom: 1px solid rgba(255, 255, 255, .14);
	box-sizing: border-box;
}

#mcontainer .mayor_today .today_list li:first-child {
	border-top: 0;
}

#mcontainer .mayor_today .today_list a {
	display: flex;
	width: 430px;
	height: 122px;
	align-items: center;
	gap: 18px;
	padding: 24px 20px 24px 52px;
	box-sizing: border-box;
	color: #fff;
	text-decoration: none;
}

#mcontainer .mayor_today .today_list li.active a, #mcontainer .mayor_today .today_list a:hover,
	#mcontainer .mayor_today .today_list a:focus {
	background: rgba(255, 255, 255, .08);
}

#mcontainer .mayor_today .today_list .thumb {
	flex: 0 0 120px;
	width: 120px;
	height: 74px;
	overflow: hidden;
	background: rgba(255, 255, 255, .1);
}

#mcontainer .mayor_today .today_list .thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#mcontainer .mayor_today .today_list .txt {
	display: block;
	overflow: hidden;
	max-height: 50px;
	color: #fff;
	font-size: 17px;
	line-height: 1.45;
	font-weight: 600;
	letter-spacing: -0.04em;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	display: -webkit-box;
}

/* section04 : 생생한 현장 */
#mcontainer .mayor_field {
	position: relative;
	padding: 150px 0 90px;
	background: #f4fbff;
	overflow: hidden;
}

#mcontainer .mayor_field:before {
	content: "";
	position: absolute;
	left: 34%;
	top: 125px;
	z-index: 0;
	width: 578px;
	height: 141px;
	background: url('/images/mayor/main/section04_deco_txt.svg') no-repeat
		center center/contain;
	transform: translateX(-35%);
	pointer-events: none;
}

#mcontainer .mayor_field:after {
	content: "";
	position: absolute;
	left: 110px;
	bottom: 0px;
	z-index: 0;
	width: 695px;
	height: 137px;
	background: url('/images/mayor/main/section04_object.svg') no-repeat
		left bottom/contain;
	pointer-events: none;
}

#mcontainer .mayor_field .main_inner {
	display: flex;
	align-items: flex-start;
	max-width: 1700px;
	padding: 0 40px;
	box-sizing: border-box;
	z-index: 1;
}

#mcontainer .mayor_field .field_title {
	position: relative;
	z-index: 5;
	flex: 0 0 360px;
	padding-top: 55px;
}

#mcontainer .mayor_field .field_title p {
	margin: 0 0 8px;
	color: #00BBFF;
	font-size: 32px;
	line-height: 1.25;
	font-weight: 500;
	letter-spacing: -0.05em;
}

#mcontainer .mayor_field .field_title h2 {
	margin: 0;
	color: #004EA2;
	font-size: 52px;
	line-height: 1.15;
	font-weight: 900;
	letter-spacing: -0.05em;
	/*    background: linear-gradient(167deg, #00BFFF 47.06%, #0077FF 90.15%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent; */
}

#mcontainer .mayor_field .field_title>span {
	display: block;
	margin-top: 30px;
	color: #555;
	font-size: 20px;
	line-height: 1.55;
	letter-spacing: -0.04em;
}

#mcontainer .mayor_field .field_title .more {
	display: inline-flex;
	width: 196px;
	height: 56px;
	margin-top: 35px;
	padding: 0 34px;
	align-items: center;
	justify-content: center;
	gap: 38px;
	box-sizing: border-box;
	border-radius: 28px;
	color: #fff;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.04em;
	text-decoration: none;
	background: linear-gradient(120deg, #0759df 0%, #25c8e2 100%);
}

#mcontainer .mayor_field .field_title .more img {
	display: block;
	flex: 0 0 auto;
	width: 18px;
	height: auto;
}

#mcontainer .mayor_field .field_control {
	display: flex;
	gap: 10px;
	margin-top: 170px;
}

#mcontainer .mayor_field .field_slider {
	position: relative;
	z-index: 2;
	flex: 1;
	width: 100%;
	max-width: 1350px;
	min-width: 0;
	margin-left: 20px;
	margin-right: -360px;
	padding-top: 0;
}

#mcontainer .mayor_field .field_slider .slick-list {
	overflow: hidden;
	padding-bottom: 35px;
	margin-bottom: -35px;
}

#mcontainer .mayor_field .field_slider .slick-track {
	display: flex;
	padding-bottom: 35px;
}

#mcontainer .mayor_field .field_slider .slick-slide {
	height: auto;
}

#mcontainer .mayor_field .field_slider .slick-slide>div {
	height: 100%;
}

#mcontainer .mayor_field .field_slider .item {
	width: 100%;
	padding: 84px 20px 0;
	box-sizing: border-box;
}

#mcontainer .mayor_field .field_slider .slick-slide:nth-child(2n) .item
	{
	padding-top: 0;
}

#mcontainer .mayor_field .field_slider .item a {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	width: 100%;
	max-width: 410px;
	min-height: 628px;
	margin: 0 auto;
	border-radius: 30px;
	color: #fff;
	text-decoration: none;
	background: #061028;
	transition: background .25s ease, box-shadow .25s ease, transform .25s
		ease;
}

#mcontainer .mayor_field .field_slider .item a:hover, #mcontainer .mayor_field .field_slider .item a:focus
	{
	background: #004A9F;
	box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.30);
}

#mcontainer .mayor_field .field_slider .item .img {
	position: relative;
	display: block;
	flex: 0 0 auto;
	width: 100%;
	height: 0;
	padding-top: 114.634%;
	overflow: hidden;
	background: #d8e6ef;
}

#mcontainer .mayor_field .field_slider .item .img img {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#mcontainer .mayor_field .field_slider .item .cate {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	width: 62px;
	height: 23px;
	margin: -12px 0 20px 44px;
	padding: 0;
	box-sizing: border-box;
	color: #0095FF;
	font-size: 10px;
	line-height: 1;
	font-weight: 700;
	background: #fff;
	border: 1px solid #00A1FF;
}

#mcontainer .mayor_field .field_slider .item strong {
	display: block;
	min-height: 52px;
	margin: 0 44px;
	color: #fff;
	font-size: 18px;
	line-height: 1.4;
	font-weight: 800;
	letter-spacing: -0.04em;
}

#mcontainer .mayor_field .field_slider .item em {
	display: block;
	margin: auto 44px 32px;
	color: rgba(255, 255, 255, .6);
	font-size: 14px;
	line-height: 1.2;
	font-style: normal;
}

/* section05 : SNS */
#mcontainer .mayor_sns {
	position: relative;
	z-index: 2;
	padding: 28px 0;
	background: #f4fbff;
	border-top: 1px solid #E7EEF5;
}

#mcontainer .mayor_sns .sns_wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 48px;
}

#mcontainer .mayor_sns .sns_item {
	display: flex;
	align-items: center;
	gap: 16px;
	color: #111;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
}

#mcontainer .mayor_sns .sns_item img {
	display: block;
	width: 43px;
	height: 43px;
	object-fit: contain;
}

@media ( max-width :1280px) {
	#mcontainer .mayor_field .field_slider .item {
		padding: 70px 16px 0;
	}
	#mcontainer .mayor_field .field_slider .slick-slide:nth-child(2n) .item
		{
		padding-top: 0;
	}
	#mcontainer .mayor_field .field_slider .item a {
		max-width: 350px;
		min-height: 520px;
		border-radius: 26px;
	}
	#mcontainer .mayor_field .field_slider .item .img {
		padding-top: 100%;
	}
	#mcontainer .mayor_field .field_slider .item .cate {
		margin: -12px 0 16px 34px;
	}
	#mcontainer .mayor_field .field_slider .item strong {
		min-height: 48px;
		margin: 0 34px;
		font-size: 17px;
		line-height: 1.35;
	}
	#mcontainer .mayor_field .field_slider .item em {
		margin: auto 34px 26px;
	}
}

@media ( max-width :1024px) {
	#mcontainer .mayor_vision .vision_box {
		min-height: 0;
		padding: 10% 0 10% 10%
	}
	#mcontainer .mayor_vision .vision_txt h2 strong, #mcontainer .mayor_today .today_title h2
		{
		font-size: 40px;
	}
	#mcontainer .mayor_vision .vision_slogan {
		display: flex;
		justify-content: center;
		width: 80%;
		margin: 0 auto 28px;
	}
	#mcontainer .mayor_vision .vision_mayor {
		width: 50%;
		right: 20px;
	}
	#mcontainer .mayor_vision .vision_link {
		margin-top: 40px
	}
	#mcontainer .mayor_vision .vision_link ul {
		flex-direction: column;
	}
	#mcontainer .mayor_today .today_title h2 {
		display: flex;
		flex-direction: column;
	}
	#mcontainer .mayor_today .today_title h2 img {
		width: 30%
	}
	#mcontainer .mayor_today .today_cont {
		flex-direction: column;
		align-items: center;
		gap: 40px;
	}
	#mcontainer .mayor_today .today_video {
		width: 100% !important
	}
	#mcontainer .mayor_today .today_list {
		width: 100% !important
	}
	#mcontainer .mayor_today .today_list ul {
		display: flex;
	}
	#mcontainer .mayor_today .today_list ul li {
		width: 33.3%;
		height: auto;
	}
	#mcontainer .mayor_today .today_list ul li a {
		display: flex;
		flex-direction: column;
		width: 100%;
		height: auto;
		padding: 24px 20px
	}
	#mcontainer .mayor_field .main_inner {
		flex-direction: column;
		padding: 0;
	}
	#mcontainer .mayor_field .field_title {
		flex: 0 0 40px;
		position: relative;
		width: 100%;
		padding: 0;
		text-align: center;
	}
	#mcontainer .mayor_field .field_title .more {
		position: absolute;
		top: 110px;
		right: 0px;
		width: auto;
		gap: 4px;
		font-size: 15px;
	}
	#mcontainer .mayor_field .field_control {
		gap: 4px;
		margin: 50px 0 20px;
	}
	#mcontainer .mayor_field .field_slider {
		width: 100%;
		max-width: 100%;
		flex: none;
		margin-left: 0;
		margin-right: 0;
		padding: 0 46px;
		box-sizing: border-box;
	}
	#mcontainer .mayor_field .field_slider .item {
		width: 100%;
		padding: 0 8px;
		box-sizing: border-box;
	}
	#mcontainer .mayor_field .field_slider .item a {
		width: 100%;
		max-width: none;
		min-height: 0;
	}
	#mcontainer .mayor_field .field_title>span, #mcontainer .mayor_sns .sns_item span
		{
		display: none
	}
}
@media ( max-width :768px) {
	    #mcontainer .mayor_vision .vision_mayor {
        width: 52%;
        right: -20px;
    }
}

    @media (max-width: 580px) {
        #mcontainer .mayor_vision .vision_mayor {
            width: 60%;
            right: -48px;
        }
    }

@media ( max-width :640px) {
	#mcontainer .mayor_vision .vision_txt h2 strong, #mcontainer .mayor_today .today_title h2,
		#mcontainer .mayor_field .field_title h2 {
		font-size: 36px;
	}
}

@media ( max-width :360px) {
	.mayor_visual_txt p {
		font-size: 22px;
	}
	.mayor_visual_txt strong {
		font-size: 28px;
	}
	.mayor_visual_txt em {
		font-size: 42px;
	}
	.mayor_visual_bg {
		height: 526px;
	}
	#mcontainer .mayor_vision .vision_txt h2 strong, #mcontainer .mayor_today .today_title h2,
		#mcontainer .mayor_field .field_title h2 {
		font-size: 32px;
	}
	    #mcontainer .mayor_vision .vision_box {
        padding: 10% 0 10% 8%;
    }
    #mcontainer .mayor_vision .vision_txt p, #mcontainer .mayor_vision .vision_txt p strong{
    font-size:16px;}
    #mcontainer .mayor_vision .vision_mayor{
    	width: 83%;
        right: -70px;
        bottom: -140px;
    }
    #mcontainer .mayor_vision .vision_link{
    width: calc(100% - 40px);
        margin: 22px 0 0 20px;
        padding-bottom: 52px;
    }
        #mcontainer .mayor_vision .vision_link li {
        width: 58%;
    }
    #mcontainer .mayor_today {
    padding: 70px 0 70px;}
}