@charset "utf-8";
:root {
	--info-box: url(../img/main/info-box.svg) no-repeat 0 0 / 28.1rem;
}

h4.tag {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

h4.tag span {
  position: relative;
  display: inline-block;
  padding: 0.75rem 2rem 0.75rem 0;
  margin-left: 4.4rem;
  color: #FFF;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: normal;
  border-radius: 0rem 0.2rem 0.2rem 0rem;
  background: #5129C5;
}

h4.tag span::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  left: -3.2rem;
  width: 3.2rem;
  height: 100%;
  background: url(../img/contents/observe-tag.svg) no-repeat 0 0 / auto 100%;
}

/*** 과학관소개 str ***/
.greeting {  
  background: url(../img/contents/greeting-bg.png) no-repeat right 2rem top 50.9rem / 60.3rem;
  overflow: hidden;
}

.greeting .photo {
  position: relative;
  text-align: center;
}

.greeting .photo::before {
  content: '';
  position: absolute;
  top: -7.19rem;
  right: -3.53rem;
  width: 35.8rem;
  height: 35.8rem;
  background: url(../img/contents/greeting-photo-deco.png) no-repeat 0 0 / 100%;
}

.greeting .photo i {
  position: absolute;
  top: 11.8rem;
  left: 0;
  right: 0;
  margin: auto;
  color: #8F8F8F;
  font-size: 3rem;
  font-style: normal;
  font-weight: 900;
  line-height: 140%;
  opacity: 0.12;
}

.greeting .photo img {
  line-height: 0;
  border-radius: 20rem 29rem 29rem 2rem;
  overflow: hidden;
}

.greeting .con-box {
  padding-left: 4rem;
}

.greeting .con {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin-top: 7.3rem;
}

.greeting .con .tit {
  font-size: 3.5rem;
  font-weight: 600;
  line-height: 160%;
  letter-spacing: -0.14rem;
}

.greeting .con .txt {
  color: #000;
  font-size: 1.9rem;
  line-height: 160%;
}

.greeting .con .txt span {
  background: linear-gradient(to bottom, #fff 55%, #E3CDF3 56%);
}

.greeting .con .txt02 {
  color: #000;
  font-size: 2.3rem;
  line-height: 160%;
}

.greeting .history {
  display: flex;
  gap: 2rem;
  text-align: center;
  margin-top: 10rem;
  max-width: 94.3rem;
  border-top: 1px solid #FFDA00;;
}

.greeting .history>li {
  position: relative;
  flex: 1 1 20%;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  padding-top: 3.6rem;
}

.greeting .history>li::before,
.greeting .history>li::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
  background: currentColor;
}

.greeting .history>li::before {
  width: 0.2rem;
  height: 3.6rem;
}

.greeting .history>li::after {
  top: -0.6rem;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
}

.greeting .history .year {
  padding: 0.8rem 3.4rem;
  color: #000;
  font-size: 2rem;
  font-weight: 500;
  line-height: normal;
  border-radius: 4.5rem;
}

.greeting .history>li:nth-child(1) {
  color: #FFF099;
}

.greeting .history>li:nth-child(1) .year {
  background: #FFF099;
}

.greeting .history>li:nth-child(2) {
  color: #FFEC80;
}

.greeting .history>li:nth-child(2) .year {
  background: #FFEC80;
}

.greeting .history>li:nth-child(3) {
  color: #FFE966;
}

.greeting .history>li:nth-child(3) .year {
  background: #FFE966;
}

.greeting .history>li:nth-child(4) {
  color: #FFE133;
}

.greeting .history>li:nth-child(4) .year {
  background: #FFE133;
}

.greeting .history>li:nth-child(5) {
  color: #FFDA00;
}

.greeting .history>li:nth-child(5) .year {
  background: #FFDA00;
}

.greeting .history .txt {
  color: #000;
  font-size: 1.9rem;
  font-weight: 400;
  line-height: normal;
}

.greeting .history .txt span {
  display: block;
}

.facility .list li {
  display: none;
  flex-direction: column;
  align-items: flex-end;
  gap: 8rem;
  margin: 0 auto;
  max-width: 94.5rem;
}

.facility .list li.select {
  display: flex;
  max-width: 90.4rem;
}

.facility .list li .photo {
  position: relative;
  border-radius: 2rem;
  box-shadow: 4rem 4rem 0 0 #EEE;
  overflow: hidden;
}

.facility .list li .photo img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.facility .list li .photo span {
  position: absolute;
  left: 0;
  bottom: 0;
  max-width: 51.2rem;
  padding: 3.2rem 10rem 3.2rem 6rem;
  color: #FFF;
  font-size: 3.4rem;
  font-weight: 600;
  line-height: normal;
  background: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, 0.00) 100%);
}

.facility .list li .txt {
  max-width: 80rem;
  color: #222;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 160%;
}

.location {
  display: flex;
  gap: 2rem;
}

.location .map {
  width: 100%;
  height: 52rem;
  border-radius: 1.2rem;
  background: #F5F5F5;
}

.location .con {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.location .con dl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 0.8rem;
  width: 44rem;
  height: 50%;
  padding: 3.6rem 4rem;
  border-radius: 1.2rem;
}

.location .con dt {
  color: #252525;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: normal;
}

.location .addr {
  background: #FFF7F3;
}

.location .addr dd {
  color: #252525;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 160%;
}

.location .tel {
  background: linear-gradient(93deg, #F1FBFF 0.46%, #F0F4FF 100%);
}

.location .tel dd {
  color: #235BC5;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: normal;
}
/*** 과학관소개 end ***/

/*** 이용안내 str ***/
.info {
  display: flex;
  gap: 2rem;
  margin-top: 2rem;
}

.info>div {
  flex: 1 1 50%;
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	padding: 3.6rem 4rem;
	border-radius: 1.2rem;
}

.info>div .tit {
	position: relative;
	padding: 0.1rem 0 0.4rem 3.6rem;
	font-size: 2.4rem;
	font-weight: 700;
}

.info .time {
	background: linear-gradient(116deg, #FFF4F8 0%, #F5E9FF 98.22%);
}

.info .time .tit::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 3.6rem;
	height: 3.6rem;
	background: var(--info-box);
}

.info .time>div {
	display: flex;
	gap: 0.4rem 0.8rem;
	justify-content: center;
  flex-wrap: wrap;
}

.info .time dl {
	flex: 1 1 calc(33.3% - 1.6rem / 2);
	text-align: center;
	height: 9rem;
	padding: 2.2rem 0rem;
	border-radius: 0.6rem;
	border: 1px solid #E4CCE4;
	background: #FFF;
}

.info .time dl dt {
	color: #EA1179;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 2.4rem;
	text-transform: uppercase;
}

.info .time dl dd {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2.4rem;
	text-transform: uppercase;
}

.info .time p {
  width: 100%;
}

.info .holiday {
	background: linear-gradient(93deg, #F1FBFF 0.46%, #F0F4FF 100%);
}

.info .holiday .tit::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 3.6rem;
	height: 3.6rem;
	background: var(--info-box);
	background-position: -3.6rem 0;
}

.info .holiday ul {
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
	margin-top: 0.4rem;
}

.info .holiday li {
	position: relative;
	padding-left: 2.7rem;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: normal;
}

.info .holiday li::before {
	content: '';
	position: absolute;
	left: 1.1rem;
	top: 0.9rem;
	width: 0.4rem;
	height: 0.4rem;
	border-radius: 50%;
	background: currentColor;
}

.info .holiday li:first-child:before {
	background-color: #235BC5;
}

.info .holiday li span {
	color: #235BC5;
	font-weight: 700;
}

.observe .data td li {
  display:inline-block;
  padding:0.4rem 1.6rem;
  margin-bottom: 4px;
  border-radius:1.3rem;
  background-color:#ffc107;
  min-width: 6rem;
}

.guide-box {
  padding: 4rem;
  border-radius: 0rem 0rem 12rem 0rem;
  border-right: 2px solid #FFDA00;
  border-bottom: 2px solid #FFDA00;
  overflow: hidden;
}

.guide-box p {
  margin-top: 1rem;
  color: #333;
  font-size: 2rem;
  font-weight: 600;
  line-height: 160%;
}

.guide-box p:nth-child(1) {
  margin-bottom: 2.4rem;
}

.guide-box p:nth-last-child(1) {
  margin-top: 4rem;
}

.guide-box p i {
  position: relative;
  font-style: normal;
}

.guide-box .info,
.guide-box p span {
  color: #5129C5;
}

.guide-box .info {
  padding: 0.3rem 0 0.3rem 2.9rem;
  font-size: 1.5rem;
  line-height: normal;
  background: url(../img/contents/guide-box-info.svg) no-repeat 0 0 / 2.4rem;
}

.guide-box .email {
  padding-left: 8.2rem;
  background: url(../img/contents/guide-box-email.svg) no-repeat 0 0.3rem / 5.8rem;
}
/*** 이용안내 end ***/


/*** pc ***/
@media all and (min-width:1025px) {
  .greeting {
    margin-left: -2rem;
    width: calc(100% + 4rem);
  }

  .guide-box i::before {
   content: '';
   position: absolute;
   bottom: 0;
   left: -0.4rem;
   width: calc(100% + 0.8rem);
   height: 100%;
   background: linear-gradient(to bottom, #fff 60%, #FFDA00 60%) no-repeat;
   z-index: -1;
  }
 
  .guide-box.program {
   padding-top: 10rem;
   padding-bottom: 10rem;
   padding-right: 35rem;
   background: url(../img/contents/guide-box-program.png) no-repeat right 10rem bottom 0 / 48.4rem;
  }
 
  .guide-box.education {
   padding-top: 8rem;
   padding-bottom: 8rem;
   padding-right: 24.7rem;
   background: url(../img/contents/guide-box-education.png) no-repeat right 11.1rem bottom 3rem / 47.3rem;
  }
}

@media screen and (max-width:1024px) {
  .greeting .con-box {
    padding-left: 0;
  }

  .greeting .history {
    flex-direction: column;
    border-top: none;
    margin-bottom: 5rem;
    margin-left: 0.5rem;
    border-left: 1px solid #FFDA00;
  }
  
  .greeting .history>li {
    flex-direction: row;
    align-items: center;
    gap: 1.6rem;
    text-align: left;
    padding-top: 0;
    padding-left: 3.6rem;
  }
  
  .greeting .history>li::before,
  .greeting .history>li::after {
    top: 0;
    bottom: 0;
  }

  .greeting .history>li::before {
    right: auto;
    width: 3.6rem;
    height: 0.2rem;
  }
  
  .greeting .history>li::after {
    left: -0.6rem;
    right: auto;
  }

  .greeting .history .txt span {
    display: inline-block;
  }

  .location {
    flex-direction: column;
  }

  .location .map {
    height: 30rem;
  }

  .location .con {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .location .con dl {
    width: calc(50% - 1rem);
    height: auto;
  }

  .info {
    flex-direction: column;
  }

  .guide-box i {
   background: linear-gradient(to bottom, #fff 60%, #FFDA00 60%) no-repeat;
  }
}

@media screen and (max-width:500px) {
  .greeting {
    background: none;
  }

  .greeting .photo::before,
  .greeting .photo i {
    display: none;
  }

  .greeting .con,
  .greeting .history {
    gap: 2rem;
    margin-top: 5rem;
  }

  .facility .list li {
    padding-right: 2rem;
  }

  .facility .list li .photo {
    box-shadow: 2rem 2rem 0 0 #EEE;
  }

  .facility .list li .photo span {
    padding: 2rem 5rem 2rem 3rem;
    font-size: 2rem;
  }
  
  .location .con dl {
    width: 100%;
  }

  .guide-box {
    padding-right: 3.2rem;
    padding-left: 3.2rem;
  }
}