@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');
@font-face {
    font-family: 'GongGothicBold';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10@1.0/GongGothicBold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'GongGothicLight';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10@1.0/GongGothicLight.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

a {
    color:inherit;
    font:inherit;
}

button {color:inherit;}

.flex {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    width:100%;
}

.flex-start {
    justify-content: flex-start;
}

.flex-center {
    justify-content: center;
}

.flex-end {
    justify-content: flex-end;
}

.flex-space-between {
    justify-content: space-between;
}

.flex-space-around {
    justify-content: space-around;
}

.flex-wrap {
    flex-wrap:wrap;
}

.align-center {
    align-items: center;
}

.align-end {
    align-items: flex-end;
}

.justify-content {
    justify-content: flex-start !important;
}

.flex.row-reverse {
    justify-content: flex-start;
    flex-direction: row-reverse;
}

.flex.column{
    justify-content: flex-start;
    flex-direction: column;
}

.flex.column div {
    width: 80%;
    margin: 0 auto 1rem;
}

.flex.column p {
    width:100%;
}

.hid, .hidden, .hide, .none {display:none;}

.w-10 {width:10% !important;}
.w-15 {width:15% !important;}
.w-20 {width:20% !important;}
.w-25 {width:25% !important;}
.w-30 {width:30% !important;}
.w-35 {width:35% !important;}
.w-40 {width:40% !important;}
.w-45 {width:45% !important;}
.w-50 {width:50% !important;}
.w-55 {width:55% !important;}
.w-60 {width:60% !important;}
.w-65 {width:65% !important;}
.w-70 {width:70% !important;}
.w-75 {width:75% !important;}
.w-80 {width:80% !important;}
.w-85 {width:85% !important;}
.w-90 {width:90% !important;}
.w-95 {width:95% !important;}
.w-100 {width:100% !important;}

.h-10 {height:10% !important;}
.h-15 {height:15% !important;}
.h-20 {height:20% !important;}
.h-25 {height:25% !important;}
.h-30 {height:30% !important;}
.h-35 {height:35% !important;}
.h-40 {height:40% !important;}
.h-45 {height:45% !important;}
.h-50 {height:50% !important;}
.h-55 {height:55% !important;}
.h-60 {height:60% !important;}
.h-65 {height:65% !important;}
.h-70 {height:70% !important;}
.h-75 {height:75% !important;}
.h-80 {height:80% !important;}
.h-85 {height:85% !important;}
.h-90 {height:90% !important;}
.h-95 {height:95% !important;}
.h-100 {height:100% !important;}

.ml-1 {margin-left:1rem;}
.ml-1-5 {margin-left:1.5rem;}
.mr {margin-right:1.5rem;}
.ml {margin-left:1.5rem;}
.ma {margin:auto;}
.mb-0 {margin-bottom:0 !important;}
.mb-1 {margin-bottom:1rem !important;}
img {width:100%;padding:0;display:block;}
.pc{display:block;}
.mobile{display: none;}
.l-mobile{display: none;}
.e-mobile{display: none;}

.text-left{text-align:left !important;}
.text-conter{text-align:center !important;}
.text-center{text-align:center !important;}
.text-right{text-align:right !important;}

.vertical-align-top {vertical-align:top !important;}

.font-30 {
	font-size: 30px !important;
}
.width-50 {
	width:50% !important;
}
.font-bold {
	font-weight: bold;
}
/* 공통 */
section article h2,
section div h2.column-title {
	padding-left: .8rem;
	padding-right: .8rem;
	font-size: 40px;
	font-weight: 900;
}
section div h2.column-title span {
	padding-left: .8rem;
	padding-right: .8rem;
	font-size: 30px;
	font-weight: 600;
}

h2.line,
h2.new-title {
	padding-bottom: 10px;
	margin-bottom: 16px;
	border-bottom: 2px solid #0a3d8e;
}

.picture-wrap {
	margin: 0.5rem 0;
}

.picture-wrap .picture {
	text-align: right;
	font-weight: 700;
	font-size: 1.2rem;
}

.picture-wrap .picture small {
	display: inline-block;
	padding: .4rem 0 1rem;
	font-size: 14px;
}


/* 헤더 */
header {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 18px 27px 50px;
	background-color: rgba(85,202,189,.08);
	overflow: hidden;
	position: relative;
}

header .title {
	color: #0a3d8e;
}

header .title span:first-child {
	display: inline-block;
	font-size: 16px;
	font-weight: 300;
}

header .title span:last-child {
	font-size: 30px;
	font-weight: 700;
}

header .number {
	color: #fff;
	font-family: "GongGothicLight", sans-serif;
	font-size: 16px;
	text-align: right;
}

header .number b {
	font-family: "GongGothicBold", sans-serif;
	font-size: 32px;
}

header img {
	width: 120px;
	height: 120px;
	z-index:-1;
	text-align: right;
	position: absolute;
	top: -18px;
	right: -16px;
}

/* 본문 */
body {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: #0a3d8e;
	line-height: 1.4 !important;
}

section {
	width: 100%;
	min-height: calc(100vh - 254px);
	padding: 20px 56px; 
}

section.cover {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: calc(100vh - 130px);
}

section.cover img {
	width: 560px;
	image-rendering: -webkit-optimize-contrast;
	/* transform: translateZ(0); */
	backface-visibility: hidden;
}

.list ul {
    display:flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap:wrap;
}

.list ul li {
    width:calc(100%/2.1);
    padding: .5rem 0;
    margin: 1rem 0;
}

.list a {
    width:100%;
}

.list a img {
    height:100%;
}

.list button{
    margin-top:1rem;
}

.column-name {
	width: 56%;
	padding: 10px 8px;
	margin-bottom: 8px;
	color: #fff;
	background-color: #0a3d8e;
	font-size: 18px;
}
.column-name2 {
	width: 100%;
	padding: 10px 8px;
	margin-bottom: 8px;
	color: #fff;
	background-color: #0a3d8e;
	font-size: 18px;
}
h2.board-title{
	padding-left: .8rem;
	padding-right: .8rem;
	font-size: 40px;
	font-weight: 900;
	padding-bottom: 16px;
    margin-bottom: 20px;
    border-bottom: 2px solid #0a3d8e;
}
h3.board-content-title {
	padding-left: 1.2rem;
	padding-right: .8rem;
	font-size: 28px;
	font-weight: 700;
	padding-bottom: 10px;
    margin-bottom: 20px;
    border-bottom: 1px solid #0a3d8e;
}
h3.board-content-title-2 {
	padding-left: 1.2rem;
	padding-right: .8rem;
	font-size: 28px;
	font-weight: 700;
	padding-bottom: 10px;
    margin-bottom: 20px;
}
div.board-content-m {
	padding-left: 1.4rem;
	padding-right: .8rem;
	font-size: 22px;
	font-weight: 700;
	padding-bottom: 20px;
    margin-bottom: 20px;
	border-bottom: 1px solid #0a3d8e;
}
span.content-sm {
	font-size: 0.7em;
}
section article h2.birthday-title {
	width:100%;
	height: 106px;
	position: relative;
	cursor: pointer;
	overflow: hidden;
}

section article h2.birthday-title picture {
	width:100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

section article h2.new-title,
section article h2.hospital-name{
	cursor: pointer;
	word-break: keep-all;
}

.birthday-title + .birthday-content {
	padding: 1rem 1rem 1.2rem;
	margin-bottom: 1.2rem;
	border-bottom: 1px solid #5A6E8E;
}

.birthday-title + .birthday-content ul {
	font-size: 1.4rem;
	font-weight: 700;
}
.birthday-content_new {
	padding: 1rem 1rem 1.2rem;
	margin-bottom: 1.2rem;
	border-bottom: 1px solid #5A6E8E;
}
.birthday-content_new ul {
	font-size: 1.4rem;
	font-weight: 700;
}
.wedding-title {
	padding-left: 0.8rem;
    padding-right: 0.8rem;
    font-size: 36px !important;
    font-weight: 900;
}
.wedding-notice {
	padding: 1rem 1rem 1.2rem;
	margin-bottom: 1.2rem;
	border-bottom: 1px solid #5A6E8E;
	font-size: 1.4rem;
	font-weight: 700;
}
.wedding_content {
	position:relative;
	overflow:hidden;
	height:auto;
}
.wedding_content img {
	width:130%;margin-left:-15%;
}
.wedding_content .wedding-text {
	position: absolute;
	width:40%;
	top:40%;
	left:30%;
	font-size: 20px;
	font-weight: 700;
}
.new-title + .new-content,
.hospital-name + .hospital-content {
	display: none;
}
.birth_new_div {
	position:relative;
	overflow:hidden;
	height:auto;
}
.birth_new_div .birth_new {
	position: absolute;
	top:45%;
	left:13%;
}
.new-content > p:last-child,
.hospital_exploration .hospital-conetent {
	padding: 0 0 1.2rem;
	margin-bottom: 1.8rem;
	border-bottom: 1px solid #5A6E8E;
}
/*.mini-title {*/
/*	display: flex;*/
/*}*/
/*.mini-title-content {*/
/*	display: flex;*/
/*	flex-wrap: wrap;*/
/*}*/

h2.hospital-name {
	width:100%;
	height: 195px;	
	background-size: cover !important;
	background-repeat: no-repeat !important;
	overflow: hidden;
	position: relative;
}

h2.hospital-name span {
	width: 40%;
	padding: 8px 36px;
	color: #fff;
	font-size: 20px;
	font-weight: 300;
	z-index: 10;
	position: absolute;
	left: -6px;
	bottom: 0;
}

h2.hospital-name span::before {
	display: inline-block;
	content: ' ';
	width: 100%;
	height: 100%;
	background-color: #0a3d8e;
	transform: skewX(-14deg);
	z-index:-1;
	position: absolute;
	left: 0;
	bottom: 0;
}

.hospital-content {
	margin-top: 1rem;
}

.hospital-content p {
	padding: 0 .5rem;
	margin-bottom: .5rem;
}

.hospital-content .sub-title {
	width: 100%;
	padding: 10px 8px;
	margin-bottom: 1rem;
	color: #fff;
	background-color: #0a3d8e;
	font-size: 25px;
	font-weight: 600;
}

p.last {
	margin-bottom: 1.5rem;
}

.hospital-content ul {
	margin-left: 2em;
	margin-bottom: .5rem;
}

.hospital-content ul li {
	margin-bottom: .35em;
}

.hospital-content ul li:last-child {
	margin-bottom: 0;
}
.strategy-title-large {
	font-size:22px;
	font-weight:700;
}
.strategy-title-middle {
	font-size:18px;
	font-weight:700;
}
.strategy-title {
	font-size:16px;
	font-weight:700;
}
.strategy-title-notice {
	width: 100%;
	padding: 15px 20px;
	border: 1px solid #3b9eb0;
	background: #f1fbfa;
	box-sizing: border-box;
	line-height: 180%;
	font-size: 17px;
}
.strategy-title-notice-deco {
	padding: 1px 0;
	border-top: 1px solid #3b9eb0;
	border-bottom: 1px solid #3b9eb0;
}
.border-inline {
	margin: 0 20px !important;
	padding: 10px !important;
	border:1px solid #0a3d8e !important;
}
.strategy-table-wrap {
	width: 70%;
	margin:0 auto;
}
.strategy-table th,
.strategy-table td {	
	padding: 5px 10px ;
	border:1px solid #0a3d8e;
	vertical-align:middle;
	font-size: 14px;
}
.strategy-table-wrap small {
	font-size: 14px;
}
.border-none {
	border: none !important;
}
.font-basic {
	font-size: 16px !important;
}
.board_btn {
	margin: 10px 0;
	padding: 8px 12px ;
	border-radius: 8px;
	background: #0a3d8e;
	color: #fff;
}
.summary{
	width: 100%;
	padding: 15px 20px;
    border: 1px solid #3b9eb0;
    background: #f1fbfa;
	box-sizing: border-box;
}


footer {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	position: relative;
}

footer > div {
	width: 100%;
}

footer .footer-top {
	width: 100%;
	background-color: #3b9eb0;
}

footer ul {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 14px 0;
}

footer ul li {
	border-right: 1px solid #fff;
	padding: 2px 0;
}

footer ul li:last-child  {
	border-right: 0;
}

footer ul li a  {
	display: inline-block;
	padding: 0 10px;
	/*  14px  */
}

footer .footer-top ul  {
	color: #fff;
	font-size: 22px;
	font-weight: 500;
}

footer .footer-bottom {
	background-color: rgba(85,202,189,.08);
}

footer .footer-bottom h4 {
	text-align: center;
    color: #3b9eb0;
    padding: .75rem 0;
    font-size: 2rem;
    font-weight: 500;
}

footer .footer-bottom > img {
	width: 75px;
	position: absolute;
	top: 65px;
	left: 50px;
}

section.cover + footer .footer-bottom > img  {
	top: 8px;
}

footer .footer-bottom ul {
	padding: 18px 0 30px;
	font-size: 32px;
	font-weight: 700;
}

footer .footer-bottom ul li {
	border-right: 3px solid #0a3d8e;
}

footer .footer-bottom ul li:last-child {
	border-right: 0;
}

footer .footer-bottom ul li:last-child a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

footer .footer-bottom ul li:last-child a img {
	display: inline-block;
	width: 36px;
	margin-left: 8px;
}

@media screen and (max-width:1024px) {
    .pc{display: none;}

    .mobile{display: block;}

    .w-20, .w-25, .w-30, .w-35, .w-40, .w-45, .w-50, .w-55,
	.w-60, .w-65, .w-70, .w-75, .w-80, .w-85, .w-90, .w-95{
        width:100% !important;
        margin:0 auto;
    }

	.ml {
		margin-left: 0;
	}

    .flex-wrap {
        flex-wrap: nowrap;
    }

    .mobile-flex-wrap {
        flex-wrap: wrap;
    }

	.flex {
		flex-direction: column;
	}

	.flex.mobile-flex-row {
		flex-direction: row;
	}
	
	.flex.row-reverse {
		flex-direction: column;
	}

	h2.hospital-name span {
		width: 56%;
	}
	.strategy-table-wrap {
		width: 90%;
		margin:0 auto;
	}
	.wedding_content img {
		width:130%;margin-left:-15%;
	}
	.wedding_content .wedding-text {
		position: absolute;
		width:40%;
		top:35%;
		left:30%;
		font-size: 18px;
	}
}
@media screen and (max-width:830px) {
	.wedding_content img {
	width:130%;margin-left:-15%;
	}
	.wedding_content .wedding-text {
		position: absolute;
		width:40%;
		top:30%;
		left:30%;
		font-size: 16px;
	}
	.birthday-content_new ul {
		font-size: 1.2rem;
		font-weight: 700;
	}
}
@media screen and (max-width:690px) { 
	.birthday-content_new ul {
		font-size: 1rem;
		font-weight: 700;
	}
}
@media screen and (max-width:650px) {
    .mobile-w-10 {width:10% !important;}
    .mobile-w-15 {width:15% !important;}
    .mobile-w-20 {width:20% !important;}
    .mobile-w-25 {width:25% !important;}
    .mobile-w-30 {width:30% !important;}
    .mobile-w-35 {width:35% !important;}
    .mobile-w-40 {width:40% !important;}
    .mobile-w-45 {width:45% !important;}
    .mobile-w-50 {width:50% !important;}
    .mobile-w-55 {width:55% !important;}
    .mobile-w-60 {width:60% !important;}
    .mobile-w-65 {width:65% !important;}
    .mobile-w-70 {width:70% !important;}
    .mobile-w-75 {width:75% !important;}
    .mobile-w-80 {width:80% !important;}
    .mobile-w-85 {width:85% !important;}
    .mobile-w-90 {width:90% !important;}
    .mobile-w-95 {width:95% !important;}
    .mobile-w-100 {width:100% !important;}

    .w-10, .w-15, .w-20, .w-25, .w-30, .w-35, .w-40, .w-45, .w-50,
    .w-55, .w-60, .w-65, .w-70, .w-75, .w-80, .w-85, .w-90, .w-95 {
        width:100% !important;
    }

    .h-10, .h-15, .h-20, .h-25, .h-30, .h-35, .h-40, .h-45, .h-50,
    .h-55, .h-60, .h-65, .h-70, .h-75, .h-80, .h-85, .h-90, .h-95 {
        width:100% !important;
		height: auto;
    }
	
	.mr,.ml-1, .ml-1-5 {
		margin-right: 0;
	}

    .flex-center,
    .flex-end,
    .flex-space-between,
    .flex-space-around {
        justify-content: flex-start;
    }

    .flex-wrap {
        flex-wrap: nowrap;
    }

	html,body {
		min-height: -webkit-fill-available;
	}

	body {
		font-size: 16px;
	}

	header {
		padding: 10px 16px 20px 18px;
	}

	header img {
		width: 114px;
		height: 114px;
		top: -24px;
		right: -11px;
	}

	section {
		padding: 20px 1rem; 
	}
	
	.list ul {
		justify-content: flex-start;
		flex-direction: column;
		padding:0;
	}

	.list ul li {
		width: 100%;
		padding: 0;
		margin: 0;
	}

	section article h2,
	section div h2.column-title,
	section article h2,
	section div h2.column-title span{
		font-size: 1.6rem;
		padding-left: 0.4rem;
		padding-right: 0.4rem;
		word-break: keep-all;
		word-wrap: break-word;
	}

	section.cover img {
		width: 100%;
	}

	section.list {
		padding: 0 0 1rem 0;
	}

	section article h2.birthday-title {
		height: 74px;
	}

	.birthday-title + .birthday-content {
		padding: .8rem .5rem 1rem;
	}
	
	.birthday-title + .birthday-content ul {
		font-size: 1.2rem;
	}

	.column-name {
		width: 100%;
		margin-top: 8px;
		font-size: 1.1rem;
	}
	.column-name2 {
		width: 100%;
		margin-top: 8px;
		font-size: 1.1rem;
	}

	h2.hospital-name {
		height: 152px;
	}

	h2.hospital-name span {
		width: 100%;
		padding: 8px 12px;
		left: 0;
	}

	h2.hospital-name span::before {
		transform: skewX(0);
	}

	.hospital-content p {
		padding:0;
	}

	.hospital-content ul {
		margin-left: 0;
	}

	.picture-wrap > div {
		margin-bottom: .8rem;
	}

	.picture-wrap > div:last-child {
		margin-bottom: 0;
	}

	.picture-wrap.flex.mobile-flex-row .picture small {
		padding-bottom:0;
	}

	.strategy-table-wrap {
		width: 100%;
		margin:0 auto;
	}
	.wedding_content img {
		width:160%;margin-left:-30%;
	}
	.wedding_content .wedding-text {
		position: absolute;
		width:50%;
		top:30%;
		left:25%;
	}
	.birthday-content_new ul {
		font-size: 1.1rem;
		font-weight: 700;
	}

	footer .footer-top ul  {
		font-size: .98rem;
	}

	footer .footer-bottom ul {
		padding: .8rem 0;
		font-size: 1.6rem;
	}
	footer .footer-bottom ul li {
		border-right-width: 2px;
	}

	footer .footer-bottom ul li:last-child a img {
		width: 28px; 
	}

	footer .footer-bottom > img {
		width: 45px;
		position: absolute;
		top: 65px;
		left: 20px;
	}

	footer .footer-bottom h4 {
		font-size: 1.25rem;
	}
}
@media screen and (max-width:530px) {
	.birth_new_div .birth_new {
		width:75%;
		top:40%;
		left:13%;
	}
	.birthday-content_new ul {
		font-size: 1rem;
		font-weight: 700;
	}
	h2.board-title{
		padding-left: .8rem;
		padding-right: .8rem;
		font-size: 26px;
		font-weight: 900;
		padding-bottom: 16px;
		margin-bottom: 20px;
		border-bottom: 2px solid #0a3d8e;
	}
	h3.board-content-title-2 {
		padding-left: 1.2rem;
		padding-right: .8rem;
		font-size: 22px;
		font-weight: 700;
		padding-bottom: 10px;
		margin-bottom: 20px;
	}
}
@media screen and (max-width:480px) {
	.wedding_content img {
		width:170%;margin-left:-35%;
	}
	.wedding_content .wedding-text {
		position: absolute;
		width:60%;
		top:35%;
		left:20%;
		font-size: 14px;
	}
	.birth_new_div .birth_new {
		width:75%;
		top:38%;
		left:13%;
	}
	.birthday-content_new ul {
		font-size: 0.9rem;
		font-weight: 700;
	}
}
@media screen and (max-width:390px) {
    .e-none {display: none;}
    .e-mobile{display: block;}
	

	section article h2,
	section div h2.column-title {
		font-size: 1.30rem;
	}
	
	.birthday-title + .birthday-content ul {
		font-size: 1.05rem;
	}
	.wedding_content img {
		width:200%;margin-left:-50%;
	}
	.wedding_content .wedding-text {
		position: absolute;
		width:60%;
		top:30%;
		left:20%;
	}
	div.board-content-m {
		padding-left: 1.4rem;
		padding-right: .8rem;
		font-size: 18px;
		font-weight: 700;
		padding-bottom: 20px;
		margin-bottom: 20px;
		border-bottom: 1px solid #0a3d8e;
	}

	footer .footer-top ul.list-footer {
		flex-wrap: wrap;
	}

	footer .footer-top ul.list-footer li:first-child {
		width: 100%;
		text-align:center;
		margin-bottom: .6rem;
		border:0;
		/* font-size: .9rem; */
	}
	footer .footer-top ul.list-footer li a {
		padding: 0 14px;
	}
}

@media screen and (max-width:320px) {
}


/* IOS 사파리 하단 여백 추가 */
@media not all and (min-resolution:.001dpcm) {
	@supports (-webkit-appearance:none) {
	   section.cover {
			min-height: 78vh;
		}
		footer.cover-footer .footer-bottom {
			padding-bottom: calc(5.8em + env(safe-area-inset-bottom));
		}
	}
}