.greeting_con {
	display: grid;	
	grid-template-columns: 550px auto;

	padding-top: 50px;
	gap: 90px;
	align-items: flex-start;
    justify-content: space-between;	
	transition: 0.3s;
}

.greeting_con > * {
	transition: 0.3s;
}

.greeting_con > .top_text {
	font-size: 33px;
	font-weight: 700;
	text-align: right;
	line-height: 1.4;
	grid-column: 2 / 3;
    grid-row: 1 / 2;
}

.greeting_con > .photo {
	position: sticky;
    top: 50px;
	display: flex;
	flex-flow: column;
	gap: 0;
	align-items: flex-end;
	grid-column: 1 / 2;
    grid-row: 1 / 3;
	z-index: -1;
}

.greeting_con > .photo > .img {
	width: 100%;
}

.greeting_con > .photo > .img > img {
	display: block;
	width: 100%;
}

.greeting_con > .photo > .sign {
	display: flex;
	flex-flow: column;
	gap: 10px;
	align-items: flex-end;
	font-size: 23px;
	font-weight: 600;
	padding-right: 60px;
}

.greeting_con > .txt {
	display: flex;
	flex-flow: column;
	gap: 130px;
	max-width: 800px;
	grid-column: 2 / 3;
    grid-row: 2 / 3;
}

.greeting_con > .txt > .bottom_txt {
	display: flex;
	flex-flow: column;
	gap: 40px;
	font-size: 20px;
	font-weight: 500;
	line-height: 35px;
	text-align: justify;
    word-break: keep-all;
}

.greeting_con > .txt > .bottom_txt > .top_intro {
	font-size: 40px;
	font-weight: 600;
}

.greeting_con > .txt > .bottom_txt > .sign {
	display: none;
	flex-flow: column;
	gap: 10px;
	align-items: center;
	font-size: 23px;
	font-weight: 600;
}

.greeting_con > .txt > .bottom_txt > .sign > span + span {
	width: 113px;
}

@media screen and (max-width: 1200px) {
	.greeting_con {
		padding-top: 0px;
		gap: 50px;
		grid-template-columns: 40% auto;
	}

	.greeting_con > .top_text {
		font-size: 30px;
		text-align: center;
		grid-column: 1 / 3;
		grid-row: 1 / 2;
	}
	
	.greeting_con > .photo {
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}

	.greeting_con > .txt > .bottom_txt {
		gap: 20px;
		font-size: 18px;
		line-height: 28px;
		word-break: break-all;
	}

	.greeting_con > .txt > .bottom_txt > .top_intro {
		font-size: 28px;
		line-height: 30px;
	}

	.greeting_con > .photo > .sign {
		font-size: 20px;
		padding-right: 30px;
	}

	.greeting_con > .photo > .sign > span + span {
		width: 113px;
	}
}

@media screen and (max-width: 767px) {
	.greeting_con {
		grid-template-columns: 100%;
		gap: 30px;
	}

	.greeting_con > .top_text {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}

	.greeting_con > .photo {
		grid-column: 1 / 2;
		grid-row: 2 / 3;
		position: relative;
        top: auto;
		width: 100%;
        max-width: 350px;
		margin: 0 auto;
	}

	.greeting_con > .txt {
		grid-column: 1 / 2;
		grid-row: 3 / 4;
	}

	.greeting_con > .photo > .sign {
        display: none;
    }

	.greeting_con > .txt > .bottom_txt > .sign {
		display: flex;
	}

	.greeting_con > .txt > .bottom_txt > .top_intro {
        text-align: center;
    }

}

@media screen and (max-width: 670px) {
	.greeting_con > .top_text {
        font-size: 20px;
    }

	.greeting_con > .txt > .bottom_txt > .top_intro {
        font-size: 22px;
        line-height: 25px;
    }

	.greeting_con > .txt > .bottom_txt {
        gap: 15px;
        font-size: 17px;
        line-height: 25px;
    }

	.greeting_con > .txt > .bottom_txt > .sign {
		font-size: 18px;
	}
}	