@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&display=swap');
.focus:focus-visible,
#support .splide__slide>a:focus-visible,
#support .supportDiv>ul>li>a:focus-visible,
#ban #bnList a:focus-visible,
#calendar .small table td *:focus-visible,
#calendar .wide .list .tit a:focus-visible {
	position: relative;
	outline: none;
	box-shadow: none;
	z-index: 9999;
}

.focus:focus-visible::after,
#support .splide__slide>a:focus-visible::after,
#support .supportDiv>ul>li>a:focus-visible::after,
#ban #bnList a:focus-visible::after,
#calendar .small table td *:focus-visible::after,
#calendar .wide .list .tit a:focus-visible::after {
	content: '';
	position: absolute;
	left: 0.2rem;
	top: 0.2rem;
	right: 0.2rem;
	bottom: 0.2rem;
	width: calc(100% - 0.4rem);
	height: calc(100% - 0.4rem);
	outline: 0.2rem dashed #e4004b;
	box-shadow: inset 0 -0.2rem 0 #fff, inset 0 0.2rem 0 #fff, inset 0.2rem 0 0 #fff, inset -0.2rem 0 0 #fff !important;
	z-index: 9999;
}

.wrapper {
  max-width: 1640px;
  width: 100%;
}

.wrap {
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  max-width: 1680px;
  min-width: auto;
  width: 100%;
}

.splide__sr {
  display: none;
}

.btn-more {
  display: inline-block;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  background: #050E5B url(../images/main2025/more.svg) no-repeat center / 100%;
}

#support {
  padding-top: 7rem;
  padding-bottom: 9rem;
  box-sizing: border-box;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 50.83%, #F2F4FA 100%);
  overflow: hidden;
}

#support .splide {
  position: relative;
  margin: 0 auto;
  max-width: 1500px;
}

#support .splide__track {
  position: relative;
  margin-left: 5rem;
  margin-right: 5rem;
  max-width: 1400px;
  height: 100%;
  z-index: 1;
  overflow: hidden;
}

#support .splide__list {
  display: flex;
  align-items: center;
  padding-bottom: 1rem;
}

#support .splide__list>li {
  position: relative;
  flex: 0 0 auto;
  width: calc(100% / 8);
}

#support .splide__list>li.select::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 0.3rem;
  background: #0A1D58;
}

#support .splide__list>li.select::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.5rem;
  margin: 0 auto;
  width: 2rem;
  height: 1rem;
  background: url(../images/main2025/support-tab.svg) no-repeat 0 0 / 100%;
}

#support .splide__list>li>a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 1rem 1.6rem 1rem;
  gap: 1rem;
  color: #333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 120%;
  letter-spacing: -0.02em;
}

#support .splide__list>li.select>a {
  color: #0A1D58;
  font-weight: 900;
}

#support .splide__list>li>a::before {
  content: '';
  display: block;
  --w: 13rem;
  --w-i: calc(var(--w) * -1);
  width: var(--w);
  height: var(--w);
  border-radius: 50%;
  background: #5FB6EB url(../images/main2025/ic-support.svg) no-repeat 0 0 / auto var(--w);
}

#support .splide__list>li.ic02>a::before {
  background-position: calc(var(--w-i) * 1) 0;
}

#support .splide__list>li.ic03>a::before {
  background-position: calc(var(--w-i) * 2) 0;
}

#support .splide__list>li.ic04>a::before {
  background-position: calc(var(--w-i) * 3) 0;
}

#support .splide__list>li.ic05>a::before {
  background-position: calc(var(--w-i) * 4) 0;
}

#support .splide__list>li.ic06>a::before {
  background-position: calc(var(--w-i) * 5) 0;
}

#support .splide__list>li.ic07>a::before {
  background-position: calc(var(--w-i) * 6) 0;
}

#support .splide__list>li.ic08>a::before {
  background-position: calc(var(--w-i) * 7) 0;
}

#support .splide__list>li.ic09>a::before {
  background-position: calc(var(--w-i) * 8) 0;
}

#support .splide__list>li.ic10>a::before {
  background-position: calc(var(--w-i) * 9) 0;
}

#support .splide__list>li.ic11>a::before {
  background-position: calc(var(--w-i) * 10) 0;
}

#support .splide__list>li.ic12>a::before {
  background-position: calc(var(--w-i) * 11) 0;
}

#support .splide .splide__arrows {
  position: absolute;
  left: 0;
  top: calc(50% - 3.2rem / 2);
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

#support .splide .splide__arrows button {
  width: 3rem;
  height: 3.2rem;
  border: none;
  cursor: pointer;
  background: url(../images/main2025/support-arr.svg) no-repeat -3rem 0 / 6rem;
}

#support .splide .splide__arrows .splide__arrow--prev {
  transform: rotate(180deg);
}

#support .splide .splide__arrows button:disabled {
  background-position: 0 0;
}

#support .support-con {
  margin-top: 3.4rem;
}

#support .support-con .tit-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

#support .support-con .tit-box h3 {
  position: relative;
  padding: 1.15rem 0 1.15rem 6.2rem;
  color: #333;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: -0.02em;
  background: url(../images/main2025/support-con-tit.svg) no-repeat left center / 6.2rem;
}

#support .support-con .tit-box h3 span {
  color: #4F79FF;
}

#support .supportDiv>ul {
  display: flex;
  gap: 2rem;
  overflow: hidden;
}

#support .supportDiv>ul>li {
  flex: 0 0 calc(25% - 6rem / 4);
  max-width: calc(25% - 6rem / 4);
  width: 100%;
}

#support .supportDiv>ul>li.nodata {
  padding: 4rem 2.8rem;
  color: #242424;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.8rem;
  letter-spacing: -0.02em;
  border-radius: 1.6rem;
  border: 1px solid #A3A3A3;
  background: #FFF;
  box-sizing: border-box;
}

#support .supportDiv>ul>li>a {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 1.6rem;
  border: 1px solid #A3A3A3;
  background: #FFF;
  overflow: hidden;
  box-sizing: border-box;
}

#support .supportDiv>ul>li>a:focus-visible::after {
  border-radius: 1.6rem;
}

#support .supportDiv li a .con {
  padding: 4rem 2.8rem;
  height: 100%;
}

#support .supportDiv li a .con .tag {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.2rem;
}

#support .supportDiv li a .con .tag span {
  display: inline-block;
  padding: 0.1rem 1rem 0.3rem 1rem;
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: -0.02em;
  border-radius: 2rem;
  background: #1E1F47;
}

#support .supportDiv li a .con .tag span.due {
  background: #ED3C3F;
}

#support .supportDiv li a .con .tit {
  display: -webkit-box;
  height: 5.6rem;
  color: #242424;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.8rem;
  letter-spacing: -0.02em;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#support .supportDiv li a .con .date {
  margin-top: 1.6rem;
  color: #666;
  font-size: 1.4rem;
  line-height: 140%;
}

#support .supportDiv li a .con .date span {
  position: relative;
  display: inline-block;
  padding-left: 1.7rem;
  margin-right: 0.8rem;
  color: #444;
  font-weight: 500;
  letter-spacing: -0.02em;
  background: url(../images/main2025/ic-date.svg) no-repeat 0 0.3rem / 1.4rem;
}

#support .supportDiv li a .more {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 5.4rem;
  color: #FFF;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: -0.03em;
  background: #4F79FF;
}

.mid-con {
  position: relative;
  display: flex;
  gap: 5rem;
  justify-content: space-between;
  padding-top: 7rem;
  padding-bottom: 9rem;
  box-sizing: border-box;
}

.left-con {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 2.9rem;
}

#board {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding-bottom: 28.1rem;
  width: 100%; 
}

#board .board-tab {
  position: relative;
  display: block;
  padding: 1rem;
  color: #333;
  text-align: center;
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 120%;
  letter-spacing: -0.02em;
}

#board .board-tab::before {
  content: '';
  position: absolute;
  left: -1rem;
  top: calc(50% - 0.2rem);
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: #D9D9D9;
}

#board div:nth-child(1) .board-tab::before {
  display: none;
}

#board .select .board-tab {
  color: #4F79FF;
  font-weight: 700;
}

#board .select .board-tab::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 0.3rem;
  background: #4F79FF;
}

#board .select .board-list {
  display: flex;
  width: 100%;
}

#board .board-list {
  display: none;
  position: absolute;
  left: 0;
  top: 6.3rem;
  padding: 4rem 1.1rem;
  border-radius: 2rem;
  background: #FFF;
  box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
}

#board .board-list>li {
  flex: 1 1 33.3%;
  max-width: 33.3%;
  padding: 2rem 3rem;
  border-left: 1px solid #D5DCE6;
  box-sizing: border-box;
}

#board .board-list>li:first-child {
  border-left: none;
}

#board .board-list a {
  display: block;
}

#board .board-list .name {
  margin-bottom: 1rem;
  color: #2055FF;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: -0.02em;
}

#board .board-list .tit {
  display: -webkit-box;
  height: 5.6rem;
  color: #242424;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.8rem;
  letter-spacing: -0.02em;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#board .board-list .date {
  margin-top: 4rem;
  padding-left: 1.9rem;
  color: #666;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 140%; 
  background: url(../images/main2025/ic-date.svg) no-repeat 0 0.3rem / 1.4rem;
}

#board .btn-more {
  display: none;
  position: absolute;
  right: 0;
  top: 0.8rem;
}

#board .select .btn-more {
  display: block;
}

.link-box {
  display: flex;
  align-items: center;
  gap: 3rem;
  width: 100%;
}

.link-box .link {
  flex: 1 1 40%;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 53rem;
}

.link-box .link li {
  flex: 1 1 33.3%;
}

.link-box .link a {
  position: relative;
  display: block;
  padding-top: 7.8rem;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: -0.02em;
  border-left: 1px solid #DDD;
}

.link-box .link .ic01 a {
  border-left: 0;
}

.link-box .link a::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: 0 auto;
  --w: 5rem;
  --w-i: calc(var(--w) * -1);
  width: var(--w);
  height: 6rem;
  background: url(../images/main2025/ic-link.svg) no-repeat 0 0 / auto 6rem;
}

.link-box .link .ic02 a::before {
  background-position: calc(var(--w-i) * 1) 0;
}

.link-box .link .ic03 a::before {
  background-position: calc(var(--w-i) * 2) 0;
}

.link-box .info {
  flex: 1 1 50%;
  display: flex;
  gap: 1rem;
  width: 100%;
  max-width: 62.3rem;
}

.link-box .info>li {
  flex: 1 1 50%;
}

.link-box .info .tel,
.link-box .info .biz a {
  position: relative;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 0.6rem;
  padding: 2.3rem 9rem 2.3rem 2rem;
  height: 13.6rem;
  border-radius: 2rem;
  box-sizing: border-box;
  overflow: hidden;
}

.link-box .info .tit {
  color: #FFF;
  font-size: 2rem;
  font-weight: 900;
  line-height: 2.8rem;
  letter-spacing: -0.02em;
}

.link-box .info .txt,
.link-box .info .txt a {
  color: #FFF;
  font-size: 1.5rem;
  line-height: normal;
}

.link-box .info .tel {
  background: #122561;
}

.link-box .info .tel::before {
  content: '';
  position: absolute;
  right: 1rem;
  top: calc(50% - 5.9rem / 2);
  width: 7rem;
  height: 5.9rem;
  background: url(../images/main2025/ic-info-tel.svg) no-repeat 0 0 / 100%;
}

.link-box .info .tel .txt {
  font-weight: 900;
}

.link-box .info .biz a {
  color: #fff;
  background: #039269;
  --bg: url(../images/main2025/ic-info-biz.svg) no-repeat 0 0 / 8.6rem;
}

.link-box .info .biz a::before {
  content: '';
  position: absolute;
  right: 1rem;
  top: calc(50% - 8.6rem / 2);
  width: 8.6rem;
  height: 8.6rem;
  background: var(--bg);
}

.link-box .info .biz .tit span {
  color: #FFE946;
}

.link-box .info .biz .txt {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-right: 2.1rem;
  font-weight: 500;
}

.link-box .info .biz .txt::after {
  content: '';
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background: var(--bg);
  background-position: 0 -9.6rem;
}

.right-con {
  flex: 0 0 auto;
}

#calendar {
  height: 100%;
}

#calendar .tit-box {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 4.8rem;
  margin-bottom: 1.5rem;
}

#calendar .tit-box h3 {
  color: #333;
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 120%;
  letter-spacing: -0.02em;
}

#calendar .btn-more {
  background-image: url(../images/main2025/cal-more.svg);
}

#calendar .month {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  margin-bottom: 1.5rem;
  color: #242424;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: normal;
}

#calendar .month a {
  display: block;
  width: 3rem;
  height: 3rem;
  background: url(../images/main2025/cal-arr.svg) no-repeat 0 0 / 100%;
}

#calendar .month .next {
  transform: rotate(180deg);
}

#calendar .tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0.1rem 1rem 0.2rem 1rem;
  min-width: 7.3rem;
  color: #FFF;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: -0.02em;
  border-radius: 2rem;
  border: 1px solid #ED3C3F;
  background: #ED3C3F;
  box-sizing: border-box;
}

#calendar .tag.ing {
  color: #3666FF;
  font-weight: 500;
  border-color: #4F79FF;
  background: #F3F6FF;
}

#calendar .tag.end {
  color: #fff;
  font-weight: 500;
  border-color: #545A6C;
  background: #545A6C;
}

#calendar .small {
  display: flex;
  flex-direction: column;
  max-width: 39.5rem;
  width: 100%; 
  height: 100%;
}

#calendar .small .cal-box {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 3rem 2rem 2rem 2rem;
  width: 100%;
  border-radius: 2rem;
  background: #FFF;
  box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
}

#calendar .small table {
  flex: 1 1 auto;
  text-align: center;
  width: 100%;
  table-layout: fixed;
}

#calendar .small table thead {
  margin-bottom: 0.8rem;
}

#calendar .small table tbody {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

#calendar .small table tr {
  display: flex;
  justify-content: center;
  gap: 0.8rem;
}

#calendar .small table th,
#calendar .small table td {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  color: #242424;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 4rem;
  overflow: hidden;
}

#calendar .small table td * {
  display: block;
  width: 4rem;
  height: 4rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 4rem;
  border: none;
  background: #fff;
  cursor: pointer;
}

#calendar .small table .sat,
#calendar .small table .sat * {
  color: #2635E0;
}

#calendar .small table .sun,
#calendar .small table .sun * {
  color: #D21C1C;
}

#calendar .small table .none,
#calendar .small table .none * {
  color: #8C8C8C;
}

#calendar .small table .today,
#calendar .small table .today * {
  color: #fff;
  font-weight: 700;
}

#calendar .small table .today *{
  border-radius: 3rem;
  background: #4F79FF;
}

#calendar .small table .today *:focus-visible::after {
  border-radius: 3rem;
} 

#calendar .small .cal-box .con {
  position: relative;
  padding-top: 1rem;
  margin-top: 0.3rem;
  border-top: 1px solid #D5D5D5;
}

#calendar .small .cal-box .con:has(.more) {
  padding-right: 2.1rem;
}

#calendar .small .cal-box .con a {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  color: #000;
  font-size: 1.5rem;
  line-height: normal;
}

#calendar .small .cal-box .con a .tag {
  flex: 0 0 auto;
}

#calendar .small .cal-box .con a p {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

#calendar .small .cal-box .con .more {
  position: absolute;
  right: 0;
  top: 1.6rem;
  width: 1.3rem;
  height: 1.2rem;
  background: url(../images/main2025/cal-con-more.svg) no-repeat 0 0 / 1.3rem;
}

#calendar .wide {
  display: none;
  position: absolute;
  right: 0;
  left: 0;
  top: 7rem;
  flex-direction: column;
  margin-left: 20px;
  margin-right: 20px;
  width: calc(100% - 40px);
  height: calc(100% - 7rem - 9rem);
  background: #fff;
  box-sizing: border-box;
}

#calendar.wide-on .wide {
  display: flex;
}

#calendar .wide .cal-box {
  display: flex;
  flex-direction: column;
  padding: 3rem 2rem;
  height: 100%;
  border-radius: 2rem;
  background: #FFF;
  box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

#calendar .wide .month-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 1.5rem;
  margin-bottom: 2.4rem;
  border-bottom: 1px solid #D4D4D4;
}

#calendar .wide .month-box .month {
  margin-bottom: 0;
}

#calendar .wide .month-box .month-tab {
  display: flex;
  gap: 2rem;
}

#calendar .wide .month-box .month-tab a {
  display: block;
  padding: 0.6rem 1rem 0.8rem 1rem;
  color: #000;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: normal;
  border-radius: 0.6rem;
  box-sizing: border-box;
}

#calendar .wide .month-box .month-tab .on a {
  color: #fff;
  font-weight: 700;
  background: #4F79FF;
  box-shadow: 0.2rem 0.2rem 1rem 0 rgba(0, 0, 0, 0.20);
}

#calendar .wide .list {
  flex: 1 1 auto;
  padding-left: 1rem;
  padding-right: 4.3rem;
  height: 100%;
  overflow-y: auto;
}

#calendar .wide .list::-webkit-scrollbar {
  width: 0.8rem;
  background: #F4F4F4;
}

#calendar .wide .list::-webkit-scrollbar-thumb {
  width: 0.8rem;
  border-radius: 1rem;
  background: #C3C3C3;
}

#calendar .wide .list ul>li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 1rem;
}

#calendar .wide .list ul>li:nth-child(1) {
  margin-top: 0;
}

#calendar .wide .list .tit {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  overflow: hidden;
}
 
#calendar .wide .list .tit .tag {
  flex: 0 0 auto;
}

#calendar .wide .list .tit a {
  display: block;
  color: #242424;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.8rem;
  letter-spacing: -0.02em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

#calendar .wide .list .info {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 2rem;
}

#calendar .wide .list .info span {
  color: #666;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: -0.02em;
}

#calendar .wide .list .info .date {
  padding-left: 1.9rem;
  background: url(../images/main2025/ic-date.svg) no-repeat 0 0.3rem / 1.4rem;
}

#calendar .wide .btn-more {
  position: absolute;
  right: 0;
  top: 0.8rem;
}

body.modal-on {
  overflow: hidden;
}

#calendar .modal {
  position: fixed;
  left: 0;
  top: 0;
  display: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  z-index: 999;
}

.modal-on #calendar .modal {
  display: flex;
}

#calendar .modal::before {
  content: '';
  position: fixed;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.60);
  z-index: -1;
}

#calendar .modal .modal-box {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5rem;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow: auto;
}

#calendar .modal .modal-con {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  margin: 0 auto;
  padding: 5rem;
  max-width: 1000px;
  width: 100%;
  height: 100%;
  max-height: 61.5rem;
  border-radius: 2rem;
  background: #FFF;
  box-shadow: 0.4rem 0.4rem 2rem 0 rgba(0, 0, 0, 0.19);
  box-sizing: border-box;
}

#calendar .modal .modal-con .tit {
  padding: 0.1rem 3rem 1.6rem 4rem;
  color: #333;
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 120%;
  letter-spacing: -0.02em;
  border-bottom: 1px solid #D4D4D4;
  background: url(../images/main2025/modal-tit.svg) no-repeat 0 0 / 3rem;
}

#calendar .modal .con-box {
  padding-right: 2.4rem;
  overflow-y: auto;
}

#calendar .modal .con-box::-webkit-scrollbar {
  width: 0.8rem;
  background: #F4F4F4;
}

#calendar .modal .con-box::-webkit-scrollbar-thumb {
  width: 0.8rem;
  border-radius: 1rem;
  background: #C3C3C3;
}

#calendar .modal .con-box .con-tit {
  margin-bottom: 2.4rem;
  color: #242424;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: -0.02em;
}

#calendar .modal .con-box ul {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  margin-bottom: 1.5rem;
}

#calendar .modal .con-box ul dl {
  display: flex;
  align-items: center;
}

#calendar .modal .con-box ul dl dt {
  flex: 0 0 auto;
  min-width: 8rem;
  color: #666;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 120%;
  letter-spacing: -0.02em;
}

#calendar .modal .con-box ul dl dd {
  color: #333;
  font-size: 1.5rem;
  line-height: 140%;
  letter-spacing: -0.02em;
}

#calendar .modal .con-box .txt-box {
  min-height: 20rem;
  padding: 2rem;
  border-radius: 1rem;
  background: #F5F5F5;
}

#calendar .modal .btn-close {
  position: absolute;
  right: 5rem;
  top: 5rem;
  display: inline-block;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  transform: rotate(45deg);
  background: #050E5B url(../images/main2025/more.svg) no-repeat center / 100%;
}

#pzone {
  padding-top: 7rem;
  padding-bottom: 9rem;
  padding: 7rem 0 9rem 0;
  background: #213988;
}

#pzone .splide {
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  max-width: 1680px;
}

#pzone .splide__slider {
  position: relative;
  padding-left: 3rem;
  padding-right: 3rem;
  width: 100%;
  box-sizing: border-box;
}

#pzone .splide__track {
  position: relative;
  width: 100%;
  overflow: hidden;
  z-index: 1;
}

#pzone .splide__list {
  display: flex;
}

#pzone .splide__list>li {
  flex: 0 0 auto;
  max-width: 52.7rem;
  max-height: 30rem;
  border-radius: 1.9rem;
  overflow: hidden;
}

#pzone .splide__list>li>a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 1.9rem;
  overflow: hidden;
}

#pzone .splide__list>li>a::after {
  border-radius: 1.9rem;
}

#pzone .splide__list>li img {
  width: 100%;
}

#pzone .splide__arrows {
  position: absolute;
  left: 0;
  top: calc(50% - 3rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

#pzone .splide__arrows button {
  position: relative;
  width: 6rem;
  height: 6rem;
  border-radius: 5rem;
  border: none;
  background: #FFF;
  box-shadow: 0.4rem 0.5rem 1rem 0 rgba(0, 0, 0, 0.25);
  cursor: pointer;
  z-index: 2;
}

#pzone .splide__arrows i {
  display: block;
  width: 6rem;
  height: 6rem;
  background: url(../images/main2025/pzone-arr.svg) no-repeat center / 6rem;
}

#pzone .splide__arrows .splide__arrow--next i {
  transform: rotate(180deg);
}

#ban {
  width: 100%;
  overflow: hidden;
}

#ban .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
  height: 7rem;
  --bg: url(../images/main2025/ban.svg) no-repeat 0 0 / 6rem;
}

#ban .tit-box {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 2rem;
}

#ban .tit-box h3 {
  position: relative;
  padding-left: 3.1rem;
  color: #242424;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.8rem;
  letter-spacing: -0.02em;
}

#ban .tit-box h3::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.3rem;
  width: 2.3rem;
  height: 2.2rem;
  background: var(--bg);
}

#ban .tit-box .control {
  display: flex;
  align-items: center;
  gap: 1rem;
}

#ban .tit-box .control a {
  position: relative;
  display: block;
  width: 2rem;
  height: 2rem;
  background: var(--bg);
}

#ban .tit-box .control #bnPlay {
  display: none;
  background-position: 0 -2.2rem;
}

#ban .tit-box .control #bnStop {
  background-position: -2rem -2.2rem;
}

#ban .tit-box .control .more {
  background-position: -4rem -2.2rem;
}

#ban .tit-box .control .more::before {
  content: '';
  position: absolute;
  left: -0.5rem;
  top: 0.4rem;
  width: 0.1rem;
  height: 1.2rem;
  background: #AFAFAF;
}

#ban .list {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  max-width: 142rem;
  box-sizing: border-box;
  overflow: hidden;
}

#ban .list-arr {
  position: absolute;
  left: 0;
  top: calc(50% - 2.4rem / 2);
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

#ban .list-arr a {
  position: relative;
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background: var(--bg);
  background-position: 0 -4.2rem;
  z-index: 3;
}

#ban .list-arr #bnRight {
  transform: rotate(180deg);
}

#ban .list-box {
  margin-left: 6rem;
  margin-right: 6rem;
  width: calc(100% - 12rem);
  box-sizing: border-box;
  overflow: hidden;
}

#ban #bnList {
  position: relative;
  display: flex;
  align-items: center;
  white-space: nowrap;
}

#ban #bnList>li {
  flex: 0 0 auto;
  width: 18.7rem;
  height: 4.1rem;
  border-right: 1px solid #E3E3E3;
}

#ban #bnList>li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #FFF;
  z-index: 1;
}

#ban #bnList>li a img {
  width: auto !important;
  height: auto !important;
}

@media screen and (min-width:1025px) {
	html {
		font-size: 62.5% !important; /* 10px */
	}
}

@media screen and (max-width:1459px){
  #support .splide__list>li {
    width: calc(100% / 6);
  }

  #support .support-con {
    padding-left: 0;
    padding-right: 0;
  }
  
  #support .support-con .tit-box {
    padding-left: 20px;
    padding-right: 20px;
  }
  
  #support .supportDiv>ul {
    padding-left: 20px;
    padding-right: 20px;
    white-space: nowrap;
    overflow-x: auto;
  }
  
  #support .supportDiv>ul::-webkit-scrollbar {
    height: 0.8rem;
    background: #F4F4F4;
  }
  
  #support .supportDiv>ul::-webkit-scrollbar-thumb {
    height: 0.8rem;
    border-radius: 1rem;
    background: #C3C3C3;
  }
  
  #support .supportDiv>ul>li {
    flex: 0 0 auto;
    width: 100%;
    max-width: 30rem;
    white-space: normal;
  }
}

@media screen and (max-width:1024px){	
	html {
		font-size: 50% !important;
	}

  #support .splide__list>li {
    width: calc(100% / 4);
  }

  .mid-con {
    flex-direction: column-reverse;
  }

  .link-box {
    flex-direction: column;
  }
  
  .link-box>ul {
    width: 100%;
    max-width: 100% !important;
  }

  #calendar .btn-more:focus-visible,
  #calendar .month a:focus-visible {
    outline: none;
  }

  #calendar .small {
    align-items: center;
    max-width: 100%;
    width: 100%;
  }

  #calendar .small .cal-box {
    max-width: 39.5rem;
    width: 100%;
  }

  #calendar .small table th,
  #calendar .small table td {
    max-width: 4rem;
    width: calc(100%  / 7 - ((0.8rem * 6) / 7));
  }

  #calendar .wide {
    top: 3rem;
    height: calc(100% - 6rem);
  }

  #calendar .wide .month-box {
    flex-direction: column;
    padding-bottom: 0;
  }

  #calendar .wide .month-box .month-tab {
    white-space: nowrap;
    justify-content: space-between;
    width: 100%;
    padding-bottom: 1.5rem;
    overflow-x: auto;
  }

  #calendar .wide .month-box .month-tab::-webkit-scrollbar {
    height: 0.8rem;
    background: #F4F4F4;
  }

  #calendar .wide .month-box .month-tab::-webkit-scrollbar-thumb {
    height: 0.8rem;
    border-radius: 1rem;
    background: #C3C3C3;
  }

  #calendar .wide .month-box .month-tab>li {
    flex: 0 0 auto;
  }

  #calendar .wide .list {
    padding: 0 10px;
    overflow-x: hidden;
  }
  
  #calendar .wide .list ul>li,
  #calendar .wide .list .tit,
  #calendar .wide .list .info {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    width: 100%;
  }

  #calendar .wide .list ul>li {
    margin-top: 3rem;
  }

  #calendar .wide .list .tit a {
    width: 100%;
  }
}

@media screen and (max-width:799px){
  #support {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  #support .splide__track {
    margin-left: 0;
    margin-right: 0;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
  }

  #support .splide .splide__arrows button {
    display: none;
  }

  #support .splide__list>li {
    flex: 0 0 auto;
    width: var(--w);
    word-break: keep-all;
  }

  #support .splide__list>li>a::before {
    --w: 7.8rem;
  }

  .mid-con {
    padding: 3rem 0;
  }
  
  .left-con {
    padding-left: 20px;
    padding-right: 20px;
  }

  #board {
    padding-bottom: 22rem;
  }
 
  #board .board-list {
    width: 100%;
    padding: 0;
    overflow: hidden;
  }

  #board .board-list>li {
    flex: 0 0 100%;
    max-width: 100%;
    border: none;
    box-sizing: border-box;
  }
  
  .link-box .info>li {
    flex-basis: auto;
  }

  .link-box .info {
    flex-direction: column;
  }

  .right-con {    
    padding-left: 20px;
    padding-right: 20px;
  }

  #pzone .splide__arrows button {
    width: 5rem;
    height: 5rem;
  }

  #pzone .splide__arrows i {
    width: 5rem;
    height: 5rem;
    background-size: 5rem;
  }

  #calendar .modal .modal-box {
    padding: 3rem;
  }

  #calendar .modal .modal-con {
    padding: 3rem;
  }
  
  #calendar .modal .con-box ul {
    gap: 1rem;
  }
  
  #calendar .modal .con-box ul dl {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  #calendar .modal .btn-close {
    top: 3rem;
    right: 3rem;
  }

  #ban {
    display: none;
  }

  footer #bottom .btm_info {
    margin-top: 0;
    padding-top: 20px;
  }
}