@charset "utf-8";
.greeting {
	position: relative;
	display: flex;
	padding: 7rem 5rem;
}

.greeting::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	max-width: 140rem;
	height: 26rem;
	border-radius: 2.6rem;
	background: url(../img/contents/greeting-bg.svg) no-repeat right 11rem top 1rem / 42.6rem, linear-gradient(180deg, #FFF6F8 0%, #FFF 100%);
	z-index: -1;
}

.greeting .deco {
	width: 6.5rem;
	height: 41.9rem;
	background: url(../img/contents/greeting-deco.svg) no-repeat 0 0 / 100%;
}

.greeting .con-box {
	display: flex;
	flex-direction: column;
	padding: 3rem;
	gap: 5rem;
}

.greeting .con-box .tit {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	font-size: 3rem;
	font-weight: 700;
}

.greeting .con-box .con {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.greeting .con-box .con .con-tit {
	margin-bottom: 1rem;
	color: var(--sub-main);
	font-weight: 400;
	font-size: 2.6rem;
}

.greeting .con-box .con strong {
	color: var(--sub-main);
	font-weight: 700;
}

.greeting .photo-box {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2rem;
}

.greeting .photo-box .photo {
	border-radius: 2.6rem;
	overflow: hidden;
}

.greeting .photo-box .name {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1.6rem;
}

.greeting .photo-box .name img {
	width: 10.9rem;
}

.profile .tit {
	text-align: center;
	padding: 3rem;
	font-size: 3rem;
	border-radius: 0 2.6rem 2.6rem 2.6rem;
	background: url(..//img/contents/profile-bg.svg) no-repeat center 0 / 150rem, linear-gradient(90deg, #F5F5F5 0%, #F9F5F3 100%);
}

.profile .tit span {
	font-weight: 700;
}

.profile dl {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
	padding: 2.6rem 0;
	border-bottom: 1px dashed #ACACAC;
}

.profile dl dt {
	flex: 0 0 auto;
	text-align: center;
	width: 39rem;
	font-weight: 700;
}

.profile dl dd {
	flex: 1 1 auto;
}

.generation {
	width: 100%;
}

.generation>div {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.2rem;
	width: 100%;
}

.generation dl {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 1.6rem;
	text-align: center;
	padding: 2.6rem 0;
	border-radius: 1.6rem;
	border: 1px solid #DBDBDB;
	background: #FFF;
}

.generation dl dt {
	display: inline-block;
	padding: 0.6rem 2rem;
	color: #fff;
	font-weight: 700;
	border-radius: 4rem;
	background: #07A478;
}

.generation dl dd .name {
	font-weight: 700;
	margin-bottom: 1.6rem;
}

.generation dl dd .name span {
	display: block;
	font-size: 2.4rem;
}

.generation dl dd .term {
	display: flex;
	align-items: center;
	height: 4.2rem;
	gap: 1rem;
	color: var(--krds-light-color-text-subtle);
}

.generation dl dd .term::before {
	content: '';
	width: 2.4rem;
	height: 2.4rem;
	background: url(../img/contents/generation-term.svg) no-repeat 0 0 / 100%;
}

.top-box {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 3.6rem;
	padding: 5rem 5rem 5rem 20.6rem;
	border-radius: 2.6rem;
	box-shadow: 0.2rem 0.2rem 1rem 0 rgba(0, 0, 0, 0.08);
}

.top-box::before {
	content: '';
	position: absolute;
	inset: 0;
	padding: 1px;
	background: var(--border-gra);
	-webkit-mask: var(--fff-gra);
	-webkit-mas-composite: xor;
	mask-composite: exclude;
	border-radius: 2.6rem;
}

.top-box::after {
	content: '';
	position: absolute;
	left: 5rem;
	top: 5rem;
	width: 12rem;
	height: 12rem;
	border-radius: 7rem;
	border: 2px dashed #DBDBDB;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 8.6rem;
}

.top-box .tit {
	font-size: 3rem;
	font-weight: 700;
}

.manifesto .top-box::after {
	background-image: url(../img/contents/manifesto-top-box.svg);
}

.manifesto .sec {
  margin-bottom: 3rem;
}

.manifesto .sec h3 {
  font-size: 2.4rem;
  font-weight: 700;
}

.manifesto .sec h3 {
	margin-top: 7rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid #6D6D6D;
}

.manifesto .sec dl {
	margin-top: 4rem;
	display: flex;
	gap: 4rem;
}

.manifesto .sec dt {
	width: 16.5rem;
	height: 10rem;
	background: url(../img/contents/manifesto-flag.svg) no-repeat 0 0 / auto 100%;
}

.manifesto .sec .us dt {
	background-position: -16.5rem 0;
}

.manifesto .sec .kr dt {
	background-position: -33rem 0;
}

.manifesto .sec dl dt {
	flex: 0 0 auto;
	width: 16.5rem;
}

.manifesto .sec dl dd .stit {
	margin-bottom: 1.6rem;
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 170%;/
}

.manifesto .sec .grayBox {
	margin-top: 1.6rem;
	padding: 1.6rem;
	border-radius: 0.4rem;
	background: #F6F6F6;
}

.manage .tit-box {
	display: flex;
	align-items: center;
	flex-direction: column;
	text-align: center;
	padding-bottom: 4rem;
	line-height: 170%;
	border-bottom: 1px dashed #ACACAC;
}

.manage .tit-box h3 {
	font-size: 3rem;
	font-weight: 700;
}

.manage .tit-box .date {
	color: var(--text-light-color-text-subtle);
	text-align: center;
	font-size: 1.7rem;
}

.manage .info-list {
	padding-left: 2.4rem;
}

.manage .des-sec>.info-list:only-child {
	padding-left: 0;
}

.manage .des-sec .info-list>li {
	padding-left: 0;
}

.manage .info-list.dot>li::before {
	display: none;
}

.manage .btm-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	text-align: center;
	padding-top: 5rem;
	border-top: 1px solid #DBDBDB;
}

.manage .btm-box .tit {
	text-align: justify;
	text-align-last: justify;
	width: 5.9rem;
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 170%;
}

.manage-photo-list .section:not(:first-child) {
	margin-top: 2rem;
}

.manage-photo-list .list-box {
	display: flex;
	flex-direction: column;
	border-radius: 1rem;
	border: 1px solid #DBDBDB;
	background: #FFF;
	overflow: hidden;
}

.manage-photo-list .list-box+.list-box {
	margin-top: 1.6rem;
}

.manage-photo-list .con-box {
	display: flex;
	flex-wrap: wrap;
	padding: 3rem;
	gap: 2rem 4rem;
}

.manage-photo-list .con-box .con-tit {
	padding-left: 3.2rem;
	width: 100%;
	font-size: 2rem;
	font-weight: 700;
	line-height: 170%;
	background: url(../img/contents/manage-con-tit.svg) no-repeat 0 0.4rem / 2.6rem;
}

.manage-photo-list .con-box .con-tit span {
	display: inline-block;
	background: linear-gradient(90deg, #07A478 0%, var(--krds-light-color-text-basic) 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.manage-photo-list .con-box .con {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.manage-photo-list .con-box .con dl {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.manage-photo-list .con-box .con dl dt {
	flex: 0 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0.6rem 1rem;
	width: 14rem;
	font-weight: 600;
	line-height: 170%;
	border-radius: 3.4rem;
	background: #ECF5F3;
}

.manage-photo-list .con-box .con dl dd {
	flex: 1 1 auto;
	padding: 0.6rem 1rem;
	border-bottom: 1px dashed #ACACAC;	
}

.manage-photo-list .con-box .con dl dd:has(ul) {
	border-bottom: none;
}

.manage-photo-list .con-box .photo {
	flex: 0 0 auto;
	width: 30rem;
	height: 19.8rem;
	border-radius: 0.6rem;
	overflow: hidden;
}

.manage-photo-list .con-box .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.manage-photo-list .btn-box {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 1rem 3rem 1.6rem 3rem;
	width: 100%;
	gap: 1rem;
	background: #F6F6F6;
}

.manage-photo-list .btn-box .krds-btn {
	color: var(--krds-light-color-text-basic);
	background: none;
	border-radius: 0;
	border: 0;
	border-bottom: 1px solid #464C53;
}

.manage-photo-list .btn-box .krds-btn i {
	background-color: var(--krds-light-color-text-basic);
}

.map-box {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 5rem;
	gap: 5rem;
	border-radius: 2.6rem;
	background: linear-gradient(180deg, #FFF 0%, #F6F6F6 100%);
}

.map-box .map-img {
	flex: 1 1 auto;
}

.map-box .list {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	flex-wrap: wrap;
	gap: 3rem;
	max-width: 50rem;
	width: 100%;
}

.map-box .list>ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.map-box .list>ul>li {
	flex-basis: calc(50% - 0.5rem);
}

.map-box .list>ul>li>a {
	display: block;
	text-align: center;
	padding: 1.8rem 2rem;
	font-weight: 600;
	border-radius: 3rem;
	border: 0.3rem solid #E9E9E9;
	background: #FFF;
	box-shadow: 0.2rem 0.2rem 0.4rem 0 rgba(0, 0, 0, 0.19);
}

.map-box .list>ul>li>a:hover {
	color: #fff;
	border-color: var(--sub-main);
	background: var(--sub-main);
}

.map-box .list>ul>li>a:hover span {
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-skip-ink: auto;
	text-decoration-thickness: auto;
	text-underline-offset: auto;
	text-underline-position: from-font;
}

.wish .top-box::after {
	background-image: url(../img/contents/wish-top-box.svg);
}

.sns {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding: 7rem;
	border-radius: 2.6rem;
	background-color: #FFF6F8;
	background-image: url(../img/contents/sns-bottom-bg.svg), url(../img/contents/sns-top-bg.svg);
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: 98.4rem, 150rem;
	box-shadow: 0.2rem 0.2rem 1rem 0 rgba(0, 0, 0, 0.08);
}

.sns .tit {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 4rem;
	width: 100%;
	max-width: 45.1rem;
	font-size: 2.6rem;
	font-weight: 700;
}

.sns .tit span {
	color: var(--sub-main);
}

.sns .tit::after {
	content: '';
	max-width: 45.1rem;
	width: 100%;
	height: 27rem;
	background: url(../img/contents/sns-deco.png) no-repeat 0 0 / 100%;
}

.sns>ul {
	display: flex;
	justify-content: flex-end;
	gap: 2.6rem;
	flex-wrap: wrap;
	max-width: 77rem;
}

.sns>ul li {
	flex-basis: calc(33.3% - 2.6rem * 2 / 3);
}

.sns>ul a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 2.6rem 3rem;
	gap: 1.2rem;
	font-size: 1.8rem;
	font-weight: 700;
	border-radius: 2rem;
	background: #FFF;
	box-shadow: 0.2rem 0.2rem 1rem 0 rgba(0, 0, 0, 0.08);
}

.sns>ul a::before {
	content: '';
	width: 10rem;
	height: 10rem;
	border-radius: 2rem;
	background: url(../img/contents/sns.svg) no-repeat 0 0 / 60rem;
}

.sns>ul a:hover {
	box-shadow: none;
}

.sns>ul li:nth-child(2) a::before {
	background-position: -10rem 0;
}

.sns>ul li:nth-child(3) a::before {
	background-position: calc(-10rem * 2) 0;
}

.sns>ul li:nth-child(4) a::before {
	background-position: calc(-10rem * 3) 0;
}

.sns>ul li:nth-child(5) a::before {
	background-position: calc(-10rem * 4) 0;
}

.sns>ul li:nth-child(6) a::before {
	background-position: calc(-10rem * 5) 0;
}

.suggestion {
	display: flex;
	gap: 2.6rem;
}

.suggestion>li {
	--bdrs: 2.6rem; /* border-radius */
	--bdw: 0.4rem; /* hover시 border 값 */
	flex-basis: calc(33.3% - 2.6rem * 2 /3);
	position: relative;
	padding: 3.6rem 2rem;
	border-radius: var(--bdrs);
	box-shadow: 0.2rem 0.2rem 1rem 0 rgba(0, 0, 0, 0.08);
}

.suggestion>li::before {
  content: '';
  position: absolute;
  inset: 0;
  padding: 1px;
  background: var(--border-gra);  
  -webkit-mask: var(--fff-gra);
  -webkit-mas-composite: xor;  /* 겹치지 않는 영역이 결합 */
  mask-composite: exclude;  /* 겹치지 않는 영역이 결합 */
  border-radius: var(--bdrs);
  transition: padding 0.25s ease;
  z-index: 0;
}

.suggestion>li::after {
  content: '';
  position: absolute;
  inset: var(--bdw);
  border-radius: calc(var(--bdrs) - var(--bdw));	
	background: linear-gradient(180deg, #FFF 0%, #FFF4F6 100%);
  opacity: 0;
  transition: opacity 0.25s ease;
  z-index: -1;
}

.suggestion>li:hover::before {
  padding: var(--bdw);
}

.suggestion>li:hover::after {
  opacity: 1;
}

.suggestion>li>div {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	z-index: 2;
}

.suggestion>li>div::before {
	content: '';
	width: 12rem;
	height: 8rem;
	margin-bottom: 1.6rem;
	background: url(../img/contents/suggestion.svg) no-repeat 0 0 / 36rem;
}

.suggestion>li:nth-child(2)>div::before {
	background-position: -12rem 0;
}

.suggestion>li:nth-child(3)>div::before {
	background-position: -24rem 0;
}

.suggestion>li>div>span {
	display: inline-block;
	margin-bottom: 0.6rem;
	font-weight: 700;
	background: linear-gradient(45deg, #DF2952, #07A478);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.suggestion>li>div .tit {
	margin-bottom: 1.6rem;
	font-size: 3rem;
	font-weight: 700;
}

.suggestion>li:hover .krds-btn {
	background: var(--krds-button--color-secondary-fill-hover);
}

@media (max-width: 1023px) {
	.greeting {
		flex-direction: column;
		align-items: flex-start;
		gap: 3rem;
		padding: 3rem;
	}

	.greeting::before {
		background: linear-gradient(180deg, #FFF6F8 0%, #FFF 100%);
	}

	.greeting .deco {
		display: none;
	}

	.greeting .con-box {
		padding: 0;
	}

	.generation>div {
		grid-template-columns: repeat(2, 1fr);
	}

	.manage-photo-list .con-box {
		flex-direction: column;
	}

	.map-box {
		flex-direction: column-reverse;
	}

	.sns {
		flex-direction: column;
		padding: 4rem 2rem;
		background-position: right bottom, right top;
	}

	.sns .tit {
		gap: 2rem;
		text-align: center;
	}

	.sns>ul {
		justify-content: center;
	}
}

@media (max-width: 767px) {
	.profile dl dt {
		width: 10rem;
	}
	
	.generation>div {
		grid-template-columns: repeat(1, 1fr);
	}
	
	.generation dl {
		min-width: 100%;
	}

	.top-box {
		padding-left: 5rem;
	}

	.top-box::after {
		display: none;
	}

	.manifesto .sec dl {
		flex-direction: column;
		align-items: center;
	}

	.manage-photo-list .con-box .photo {
		width: 100%;
		height: auto;
	}

	.manage-photo-list .con-box .con dl dt {
		width: 10rem;
	}

	.sns>ul li {
		flex-basis: calc(50% - 1.3rem);
	}

	.suggestion {
		flex-direction: column;
	}
}