@charset "utf-8";

#container {
  position: relative;
}

.sub-top {
  padding-top: 9rem;
  background: linear-gradient(110deg, #ebf7ff, #f1fcde);
}

.sub-top .inner {
  padding-top: 7.4rem;
  padding-bottom: 10.7rem;
}

.sub-top .inner::before {
  content: "";
  width: 57rem;
  height: 38rem;
  position: absolute;
  bottom: 0;
  right: -5rem;
  background: url("../images/sub/ci_top.svg") no-repeat left top;
  background-size: 100%;
}

.sub-top .inner::after {
  content: "";
  position: absolute;
  background-size: 100%;
  right: 9%;
  background-repeat: no-repeat;
  background-position: left top;
}

.sub-top.s1 .inner::after {
  width: 33.3rem;
  height: 22.3rem;
  bottom: 5rem;
  background-image: url("../images/common/obj_menu1.png");
}
.sub-top.s2 .inner::after {
  width: 25rem;
  height: 25rem;
  bottom: 1.5rem;
  right: 15%;
  background-image: url("../images/common/obj_menu2.png");
}
.sub-top.s3 .inner::after {
  width: 33.3rem;
  height: 25rem;
  bottom: 3.4rem;
  background-image: url("../images/common/obj_menu3.png");
}
.sub-top.s4 .inner::after {
  width: 28.6rem;
  height: 21rem;
  bottom: 5rem;
  background-image: url("../images/common/obj_menu4.png");
}
.sub-top.s5 .inner::after {
  width: 42.3rem;
  height: 22.6rem;
  bottom: 3.2rem;
  background-image: url("../images/common/obj_menu5.png");
}

.sub-top .heading1 {
  position: relative;
}

.sub-top .breadcrumb {
  position: relative;
  margin-top: 1.6rem;
  display: flex;
  align-items: center;
}

.sub-top .breadcrumb .home {
  width: 1.5rem;
  height: 1.6rem;
  background: url("../images/ico/ico_home.svg") no-repeat left top;
  background-size: 100%;
}

.sub-top .breadcrumb p {
  position: relative;
  padding-left: 2.8rem;
  font-size: 1.6rem;
  color: var(--text-secondary);
  font-weight: 500;
}

.sub-top .breadcrumb p::before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  left: 0.6rem;
  top: 50%;
  transform: translateY(-50%);
  background: url("../images/ico/ico_arr_right.svg") no-repeat left top;
  background-size: 100%;
}

.sub-tabs {
  margin-top: -3.4rem;
}

.sub-tabs .current {
  display: none;
}

.sub-tabs .list {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 1rem;
  border: 1px solid var(--border);
}

.sub-tabs .list a {
  position: relative;
  flex-grow: 1;
  flex-basis: 0;
  padding: 1.9rem 0.6rem;
  color: var(--text-secondary);
  font-size: 2rem;
  text-align: center;
}

.sub-tabs .list a:hover,
.sub-tabs .list a:focus {
  color: var(--text-primary);
}

.sub-tabs .list a:not(:first-child)::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 2rem;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: var(--border);
}

.sub-tabs .list a.active {
  transform: scale(1.015) translate(-1px);
  color: #fff;
  font-weight: 500;
  background: var(--color-primary);
  border-radius: 1rem;
  z-index: 1;
}

.sub-tabs .list a.active::before {
  display: none;
}

.contents {
  padding-top: 8rem;
}

.contents.inner,
.contents.bottom {
  padding-bottom: 16rem;
}

h3.heading2 {
  margin-bottom: 8rem;
  text-align: center;
}

.section + .section {
  margin-top: 12rem;
}

.section h4.heading3 {
  margin-bottom: 3rem;
}

/* about */
.about1-banner {
  position: relative;
  overflow: hidden;
  margin-bottom: 1.5rem;
  padding-bottom: 6.5rem;
}

.about1-banner .img {
  overflow: hidden;
  border-radius: 2rem;
}

.about1-banner .img img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 34rem;
  object-fit: cover;
  object-position: center;
}

.about1-banner .text {
  width: 60%;
  max-width: 60rem;
  padding: 4.3rem 0;
  position: absolute;
  bottom: 0;
  right: 5%;
  border-radius: 0 0 0 2rem;
  background: linear-gradient(
    135deg,
    var(--color-primary),
    var(--color-primaryDark)
  );
}

.about1-banner .text::before {
  content: "";
  width: 29.4rem;
  height: 17.2rem;
  position: absolute;
  right: 0;
  top: 0;
  background: url("../images/sub/ci_transparent.svg") no-repeat left top 65%;
  background-size: 100%;
}

.about1-banner .text p {
  position: relative;
  margin-left: 8%;
  color: #fff;
  font-family: var(--font-nanum);
}

.about1-banner .text p::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  display: block;
  margin-bottom: 0.5rem;
  background: #fff;
  border-radius: 50%;
}

.greeting {
  margin-bottom: 4rem;
  font-size: 3.2rem;
}

.greeting .high {
  position: relative;
}

.greeting .high::before {
  content: "";
  width: 100%;
  height: 2.3rem;
  position: absolute;
  left: 0;
  bottom: -0.8rem;
  background: var(--color-secondary);
  opacity: 0.2;
  z-index: -1;
}

.gt-text p {
  max-width: 121rem;
}

.gt-text p + p {
  margin-top: 2.6rem;
}

.history-wrap {
  display: flex;
  justify-content: space-between;
}

.history-wrap .history-img {
  flex-basis: 49.8%;
}

.history-wrap .history-img p {
  margin-bottom: 4rem;
  position: relative;
  font-size: 4.8rem;
  line-height: 1.5;
}

.history-wrap .history-img p::after {
  content: "";
  width: 1rem;
  height: 1rem;
  position: absolute;
  top: 0;
  right: -1.4rem;
  background: var(--color-secondary);
  border-radius: 50%;
}

.history-wrap .img {
  overflow: hidden;
  max-width: 71.7rem;
  border-radius: 2rem;
}

.history-wrap .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.history-wrap .scroll {
  flex-basis: 40%;
  padding-right: 2rem;
  max-height: 62rem;
}

.history-wrap .history {
  position: relative;
}

.history-wrap .history::before {
  content: "";
  width: 1px;
  position: absolute;
  top: 3rem;
  bottom: 0;
  left: 2rem;
  border-left: 1px dashed var(--border);
}

.history-wrap .history .items {
  position: relative;
  padding-left: 18%;
}

.history-wrap .history .items::before {
  content: "";
  left: 2rem;
  width: 12%;
  height: 1px;
  top: 3.1rem;
  position: absolute;
  background: var(--border);
}

.history-wrap .history .items .year {
  position: relative;
  margin-bottom: 1.3rem;
  font-size: 4rem;
  font-weight: 700;
}

.history-wrap .history .items .year::before {
  content: "";
  width: 2rem;
  height: 2rem;
  position: absolute;
  left: -19.6%;
  top: 2.2rem;
  background: url("../images/sub/dot_history.svg") no-repeat left top;
  background-size: 100%;
}

.history-wrap .history .items:first-child .year::before {
  width: 4rem;
  height: 4rem;
  top: 1.1rem;
  left: -21.9%;
  background-image: url("../images/sub/ico_history.svg");
}

.history-wrap .history .items + .items {
  margin-top: 8rem;
}

.history-wrap .history .items .item {
  display: flex;
  gap: 1.6rem;
}

.history-wrap .history .items .item .date {
  font-size: 2rem;
  font-weight: 600;
}

.history-wrap .history .items .item p {
  margin-top: 0.2rem;
}

.organ {
  overflow: hidden;
  border: 1px solid var(--border-light);
  border-radius: 2rem;
}

.organ img {
  display: block;
  width: 100%;
}

table {
  border-top: 2px solid var(--color-primaryDark);
}

table th {
  padding: 1.6rem 0;
  font-weight: 600;
  background: var(--color-primaryLight);
  border-bottom: 1px solid var(--border);
}

table:not(.no-line) th:not(:first-child),
table:not(.no-line) td:not(:first-child) {
  border-left: 1px solid var(--border);
}

table td {
  padding: 1.6rem 0;
  text-align: center;
  border-bottom: 1px solid var(--border);
}

table td.left {
  padding-left: 2%;
  padding-right: 1%;
  text-align: left;
}

.scr-dim.hide {
  display: none;
}

.map-container {
  display: flex;
  overflow: hidden;
  border-radius: 2rem;
}

.map-container .info-wrap {
  position: relative;
  flex-grow: 1;
  padding: 4rem 2.8%;
  background: linear-gradient(
    145deg,
    var(--color-primary),
    var(--color-primaryDark) 65%
  );
}

.map-container .info-wrap::before {
  content: "";
  position: absolute;
  width: 17.5rem;
  height: 20rem;
  top: -1rem;
  right: -1rem;
  background: url("../images/sub/ci_transparent.svg") no-repeat left top;
  background-size: 100%;
  z-index: 1;
}

.map-container .info-wrap > * {
  position: relative;
  z-index: 2;
}

.map-container .info-wrap .center {
  margin-top: 1.6rem;
  padding-bottom: 2rem;
  color: #fff;
  border-bottom: 1px dashed #ffffff20;
}

.map-container .info-wrap .center .heading3 {
  line-height: 1.2;
}

.map-container .info-wrap .center .eng {
  font-size: 1.5rem;
  font-weight: 600;
  color: #ffffff50;
}

.map-container .info-wrap .info dl {
  margin-top: 2rem;
  color: #fff;
}

.map-container .info-wrap .info dl dt {
  margin-bottom: 0.6rem;
  font-weight: 600;
}

.map-container .info-wrap .info dl dt::before {
  content: "";
  width: 1.9rem;
  height: 1.9rem;
  display: inline-block;
  vertical-align: middle;
  margin: -2px 0.8rem 0 0;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: left top;
}

.map-container .info-wrap .info dl dt.ico1::before {
  background-image: url("../images/sub/ico_map1.svg");
}
.map-container .info-wrap .info dl dt.ico2::before {
  background-image: url("../images/sub/ico_map2.svg");
}
.map-container .info-wrap .info dl dt.ico3::before {
  background-image: url("../images/sub/ico_map3.svg");
}

.map-container .info-wrap .sch {
  display: block;
  margin-top: 4rem;
  color: #fff;
  line-height: 4.6rem;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
  border-radius: 5rem;
  border: 1px solid #fff;
}

.map-container .info-wrap .sch::after {
  content: "";
  width: 1.5rem;
  height: 1.4rem;
  display: inline-block;
  vertical-align: middle;
  margin: -3px 0 0 0.7rem;
  background: url("../images/sub/ico_search.svg") no-repeat left top;
  background-size: 100%;
}

.map-container .map-wrap {
  width: 72.2%;
  border: 1px solid var(--border);
  border-left: 0;
  border-radius: 0 2rem 2rem 0;
}
.map-container .map-wrap #map {width:100%; height:100%;}

.trans {
  margin-top: 8rem;
  display: flex;
  gap: 2.8rem;
}

.trans .box {
  padding: 2.4rem;
  flex-grow: 1;
  flex-basis: 0;
  border-radius: 2rem;
  box-shadow: var(--shadow1);
}

.trans .box .stitle2 {
  position: relative;
  margin-bottom: 3rem;
  padding-left: 4.5rem;
  font-weight: 600;
}

.trans .box .stitle2::before {
  content: "";
  width: 3.5rem;
  height: 3.5rem;
  position: absolute;
  left: 0;
  top: 0.1rem;
  background: url("../images/sub/ico_trans.svg") no-repeat left top;
  background-size: 100%;
}

.trans .box .number {
}

.trans .box .number dl {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

.trans .box .number dl dt {
  width: 6rem;
  flex-shrink: 0;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2.8rem;
  color: #fff;
  border-radius: 5rem;
  background: var(--color-secondary);
}

.trans .box.metro .number dl + dl {
  margin-top: 1.3rem;
}

.trans .box.metro .number dl dd p {
  display: inline-block;
  margin-top: -0.3rem;
  font-weight: 600;
  line-height: 2;
}

.trans .box.bus .number {
  display: flex;
  flex-wrap: wrap;
  row-gap: 1.1rem;
}

.trans .box.bus .number dl {
  flex-basis: 50%;
}

.trans .box.bus .number dl dt {
  background: #3a9cfc;
}

/* research */
.box-warn {
  position: relative;
  padding: 4rem 2rem 4rem calc(9.5rem + 4%);
  border-radius: 1rem;
  background: var(--color-primaryLight);
}

.box-warn::before {
  content: "";
  width: 9.5rem;
  height: 9.5rem;
  position: absolute;
  left: 3%;
  top: 3rem;
  background: url("../images/sub/obj_warn.jpg") no-repeat left top;
  background-size: 100%;
}

.t-warn {
  position: relative;
  padding-left: 2.4rem;
  color: var(--color-secondary);
  font-size: 1.6rem;
}

.t-warn::before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  left: 0;
  top: 0.4rem;
  background: url("../images/ico/ico_warn.svg") no-repeat left top;
  background-size: 100%;
}

.charge {
  margin-top: 8rem;
  padding: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 3rem;
  background: var(--color-dark);
  border-radius: 1rem;
}

.charge dl {
  display: flex;
}

.charge dl dt {
  position: relative;
  padding-left: 2.5rem;
  color: #fff;
  font-weight: 600;
}

.charge dl dt::before {
  content: "";
  width: 1.6rem;
  height: 1.5rem;
  position: absolute;
  left: 0;
  top: 0.7rem;
  background-size: 100%;
  background-position: left top;
  background-repeat: no-repeat;
}

.charge dl dt.ico1::before {
  background-image: url("../images/sub/ico_charge1.svg");
}
.charge dl dt.ico2::before {
  background-image: url("../images/sub/ico_charge2.svg");
}
.charge dl dt.ico3::before {
  background-image: url("../images/sub/ico_charge3.svg");
}

.charge dl dd {
  position: relative;
  padding-left: 2.1rem;
  color: #fff;
}

.charge dl dd::before {
  content: "";
  width: 1px;
  height: 1.4rem;
  position: absolute;
  left: 1rem;
  top: 0.7rem;
  background: #ffffff25;
}

div[class*="banner-"] {
  padding: 4.5rem 2rem 5rem calc(21.7rem + 4%);
  position: relative;
  overflow: hidden;
  min-height: 20.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 2rem;
  background: var(--color-primaryLight);
}

div[class*="banner-"]::before {
  content: "";
  width: 21.7rem;
  height: 15rem;
  position: absolute;
  top: 2.8rem;
  left: 3rem;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: left top;
  z-index: 1;
}

.banner-s23::before {
  background-image: url("../images/sub/obj_banner23.png");
}
.banner-s24::before {
  background-image: url("../images/sub/obj_banner24.png");
}
.banner-s31::before {
  background-image: url("../images/sub/obj_banner31.png");
}
.banner-s33::before {
  background-image: url("../images/sub/obj_banner33.png");
}
.banner-s34::before {
  background-image: url("../images/sub/obj_banner34.png");
}
.banner-s35::before {
  background-image: url("../images/sub/obj_banner35.png");
}
.banner-s51::before {
  background-image: url("../images/sub/obj_banner51.png");
}

div[class*="banner-"]::after {
  content: "";
  width: 31rem;
  height: 31rem;
  position: absolute;
  top: 2.3rem;
  right: -7rem;
  background: url("../images/common/ci_circle.svg") no-repeat left top;
  background-size: 100%;
}

div[class*="banner-"] p {
  position: relative;
  z-index: 2;
}

.ico-step {
  display: flex;
  justify-content: space-between;
  gap: 4%;
}

.ico-step li {
  position: relative;
  text-align: center;
}

.ico-step li:not(:first-child)::before {
  content: "";
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 20%;
  left: -33%;
  background: url("../images/ico/ico_arr_step.svg") no-repeat left top;
  background-size: 100%;
}

.ico-step li .ico img {
  width: 100%;
  display: block;
}

.ico-step li .step {
  width: 8.3rem;
  display: inline-block;
  margin: 3rem 0 1.2rem;
  color: #fff;
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 500;
  background: var(--color-primary);
  border-radius: 5rem;
}

.ico-step li p {
  font-size: 2rem;
  font-weight: 600;
}

.email {
  position: relative;
  padding-left: 3rem;
  margin-top: 0.3rem;
}

.email::before {
  content: "";
  width: 2.1rem;
  height: 2.1rem;
  position: absolute;
  left: 0;
  top: 0.5rem;
  background: url("../images/sub/ico_email.svg") no-repeat left top;
  background-size: 100%;
}

.item-triple {
  display: flex;
  gap: 2%;
}

.item-triple > div {
  flex-basis: 32%;
  padding: 6rem 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  text-align: center;
  font-size: 2rem;
  border-radius: 1.6rem;
  background: #fff;
  box-shadow: var(--shadow1);
}

.item-triple .tit::before {
  content: "";
  width: 5.8rem;
  height: 5.8rem;
  display: block;
  margin: 0 auto 1.6rem;
  background-size: 100%;
  background-position: left top;
  background-repeat: no-repeat;
}

.item-triple .item1 .tit::before {
  background-image: url("../images/sub/ico_edocu1.svg");
}
.item-triple .item2 .tit::before {
  background-image: url("../images/sub/ico_edocu2.svg");
}
.item-triple .item3 .tit::before {
  background-image: url("../images/sub/ico_edocu3.svg");
}
.item-triple .item4 .tit::before {
  background-image: url("../images/sub/ico_edocu4.svg");
}
.item-triple .item5 .tit::before {
  background-image: url("../images/sub/ico_edocu5.svg");
}

/* use */
.full-bg {
  position: relative;
  overflow: hidden;
  margin: 12rem 0;
  padding: 8rem 0;
  background: var(--color-primaryLight);
}

.full-bg.mb-0 {
  padding-bottom: 16rem;
}

.full-bg[class*="ci-"]::before {
  content: "";
  width: 66.6rem;
  height: 66.6rem;
  position: absolute;
  background: url("../images/common/ci_circle.svg") no-repeat left top;
  background-size: 100%;
  filter: grayscale(1);
  opacity: 0.5;
}

.full-bg.ci-right::before {
  right: -10rem;
  bottom: -25rem;
}

.full-bg.ci-left::before {
  left: -17rem;
  bottom: 14rem;
}

.crc-work {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}

.crc-work .item {
  flex-basis: calc((100% - 6rem) / 3);
  overflow: hidden;
  position: relative;
  border-radius: 2rem;
}

.crc-work .item .text {
  position: absolute;
  left: 2rem;
  bottom: 3rem;
  padding: 0 1rem;
  color: #fff;
}

.crc-work .item .text.inline p {
  display: inline-block;
}

.crc-work .item .text .sub {
  max-width: 34rem;
}

.terms {
  margin-top: 8rem;
}

.terms > div + div {
  margin-top: 3rem;
}

.terms > div {
  padding: 4rem;
  padding-left: 16.5rem;
  position: relative;
  border-radius: 2rem;
  border: 1px solid var(--border);
}

.terms > div::before {
  content: "";
  width: 10rem;
  height: 10rem;
  position: absolute;
  left: 4rem;
  top: 4rem;
  background-position: 0 0;
  background-size: 100%;
  background-repeat: no-repeat;
}

.terms .item1::before {
  background-image: url("../images/sub/ico_terms1.svg");
}
.terms .item2::before {
  background-image: url("../images/sub/ico_terms2.svg");
}
.terms .item3::before {
  background-image: url("../images/sub/ico_terms3.svg");
}
.terms .item4::before {
  background-image: url("../images/sub/ico_terms4.svg");
}
.terms .item5::before {
  background-image: url("../images/sub/ico_terms5.svg");
}
.terms .item6::before {
  background-image: url("../images/sub/ico_terms6.svg");
}
.terms .item7::before {
  background-image: url("../images/sub/ico_terms7.svg");
}

.terms > div ul {
  margin-top: 1.6rem;
  color: var(--text-secondary);
}

.item-triple.line {
  margin-top: 3.2rem;
}

.item-triple.line div {
  min-height: 13.7rem;
  padding: 2rem;
  box-shadow: none;
  border: 1px solid var(--border);
}

.item-triple.line div .c-secondary {
  margin-bottom: 1rem;
  font-weight: 600;
}

.item-triple.line div .t-secondary {
  font-size: 1.8rem;
}

.item-triple.line .num {
  position: absolute;
  top: 1.6rem;
  left: 1.6rem;
  width: 3.7rem;
  line-height: 3.7rem;
  text-align: center;
  font-size: 1.6rem;
  color: #fff;
  border-radius: 0.4rem;
  background: var(--color-primary);
}

.storage {
  display: flex;
}

.storage li + li {
  margin-left: 4.8rem;
}

.storage li {
  flex-grow: 1;
  flex-basis: 0;
  position: relative;
  padding: 4.8rem 3.2rem 3rem;
  background: #fff;
  border-radius: 2rem;
  box-shadow: var(--shadow1);
}

.storage li:not(:first-child)::before {
  content: "";
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -4.2rem;
  background: url("../images/ico/ico_arr_step.svg") no-repeat left top;
  background-size: 100%;
}

.storage li div[class*="step"] {
  position: relative;
  max-width: 18rem;
  width: 90%;
  aspect-ratio: 1 / 1;
  margin: 0 auto 2.4rem;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100%;
  z-index: 2;
}

.storage li .step1 {
  background-image: url("../images/sub/step_storage1.svg");
}
.storage li .step2 {
  background-image: url("../images/sub/step_storage2.svg");
}
.storage li .step3 {
  background-image: url("../images/sub/step_storage3.svg");
}
.storage li .step4 {
  background-image: url("../images/sub/step_storage4.svg");
}

.storage li div[class*="step"] span {
  position: absolute;
  top: -0.8rem;
  left: 50%;
  transform: translate(-50%);
  width: 8.3rem;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 600;
  border-radius: 5rem;
  background: var(--color-primary);
}

.storage li .dot + .dot {
  margin-top: 0.8rem;
}

.storage li .dot {
  position: relative;
  padding-left: 1rem;
  z-index: 2;
}

.storage li .dot::before {
  content: "· ";
  position: absolute;
  left: 0;
  top: 0;
}

.storage li:last-child {
  background: linear-gradient(
    135deg,
    var(--color-primary),
    var(--color-secondary)
  );
}

.storage li .line {
  position: absolute;
  left: 3px;
  top: 3px;
  bottom: 3px;
  right: 3px;
  background: #fff;
  border-radius: 1.8rem;
  z-index: 1;
}

.bg-white {
  position: relative;
}

.bg-white::before {
  content: "";
  width: 66.6rem;
  height: 66.6rem;
  position: absolute;
  right: -20rem;
  bottom: 7rem;
  background: url("../images/common/ci_circle.svg") no-repeat left top;
  background-size: 100%;
  filter: grayscale(1);
  opacity: 0.7;
  z-index: -1;
}

.img-work .item + .item {
  margin-top: 4rem;
}

.img-work .item {
  display: flex;
  align-items: flex-start;
  gap: 3%;
}

.img-work .item .img {
  max-width: 46rem;
  overflow: hidden;
  flex-basis: 35%;
  flex-shrink: 0;
  border-radius: 2rem;
}

.img-work .item .img img {
  width: 100%;
  display: block;
}

.img-work .item .text {
  flex-grow: 1;
}

.img-work .item .text .c-secondary {
  margin-bottom: 1.6rem;
}

.section.flex {
  display: flex;
}

.section.flex .heading3 {
  flex-basis: 25%;
  padding-right: 2%;
}

.step-work {
  flex-grow: 1;
  position: relative;
}

.step-work::before {
  content: "";
  width: 1px;
  top: 5rem;
  bottom: 5rem;
  left: 4.1rem;
  position: absolute;
  border-left: 1px dashed var(--border);
}

.step-work .item {
  display: flex;
  align-items: flex-start;
  gap: 3%;
  position: relative;
}

.step-work .item + .item {
  margin-top: 3rem;
}

.step-work .item .step {
  width: 8.3rem;
  position: relative;
  margin-top: 3.7rem;
  line-height: 2.6rem;
  font-size: 1.6rem;
  color: #fff;
  text-align: center;
  font-weight: 600;
  border-radius: 5rem;
  background: var(--color-primary);
}

.step-work .item [class*="box"] {
  flex-grow: 1;
  position: relative;
  padding: 3rem 2rem;
  padding-left: 13.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 3rem;
  align-items: center;
  background-color: #fff;
  box-shadow: var(--shadow1);
  border-radius: 20rem;
}

.step-work .item [class*="box"]::before {
  content: "";
  position: absolute;
  width: 7rem;
  height: 5.8rem;
  left: 4.8rem;
  top: 2.1rem;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: left top;
}

.step-work .item .box1::before {
  background-image: url("../images/sub/step_work1.png");
}
.step-work .item .box2::before {
  background-image: url("../images/sub/step_work2.png");
}
.step-work .item .box3::before {
  background-image: url("../images/sub/step_work3.png");
}
.step-work .item .box4::before {
  background-image: url("../images/sub/step_work4.png");
}
.step-work .item .box5::before {
  background-image: url("../images/sub/step_work5.png");
}
.step-work .item .box6::before {
  background-image: url("../images/sub/step_work6.png");
}
.step-work .item .box7::before {
  background-image: url("../images/sub/step_work7.png");
}

.step-work .item div .c-secondary {
  font-size: 2.6rem;
  font-weight: 600;
}

/* news */
.brd-search {
  margin-bottom: 3rem;
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
}

.brd-search select {
  width: 20rem;
}

.brd-search .search {
  flex-basis: 45rem;
  overflow: hidden;
  padding-right: 0.5rem;
  background: var(--bg-light);
  border-radius: 5rem;
}

.brd-search .search input {
  width: calc(100% - 5rem);
  float: left;
}

.brd-search .search button {
  width: 5rem;
  height: 5rem;
  float: left;
  background: url("../images/ico/ico_search.svg") no-repeat center;
  background-size: 2rem;
  background-color: transparent;
}

.board {
  border-top: 2px solid #222;
}

.board a {
  display: flex;
  height: 8rem;
  align-items: center;
  border-bottom: 1px solid var(--border-light);
}

.board a:hover,
.board a:focus {
  background: var(--bg-light);
}

.board a .num {
  flex-basis: 9%;
  flex-shrink: 0;
  text-align: center;
  font-size: 1.6rem;
  color: var(--text-secondary);
}

.board a .num.fixed span {
  width: 80%;
  max-width: 8rem;
  display: inline-block;
  line-height: 3.4rem;
  font-weight: 600;
  text-align: center;
  color: var(--color-primaryDark);
  border-radius: 5rem;
  border: 1px solid var(--color-primaryDark);
}

.board a .cont {
  flex-basis: 77%;
  overflow: hidden;
  position: relative;
  padding-right: 9%;
}

.board a .cont .tit {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 600;
}

.board a.new .cont .tit::after {
  content: "";
  width: 1.9rem;
  height: 1.9rem;
  display: inline-block;
  vertical-align: middle;
  margin: -2px 0 0 0.7rem;
  background: url("../images/sub/ico_new.svg") no-repeat left top;
  background-size: 100%;
}

.board a .cont .file {
  position: absolute;
  right: 0;
  top: 0.3rem;
  width: 10%;
  height: 2.1rem;
  background: url("../images/sub/ico_file.svg") no-repeat center;
  background-size: 2.1rem;
}

.board a .date {
  flex-basis: 14%;
  flex-shrink: 0;
  text-align: center;
  color: var(--text-secondary);
}

.pagination {
  margin-top: 8rem;
  text-align: center;
  font-size: 0;
}

.pagination a {
  display: inline-block;
  margin: 0 0.2rem;
  width: 4rem;
  height: 4rem;
  font-weight: 500;
  text-align: center;
}

.pagination a.num {
  position: relative;
  font-size: 1.5rem;
  line-height: 4rem;
  font-family: "Poppins";
  font-weight: 500;
  border-radius: 0.4rem;
}

.pagination a.num.current {
  color: #fff;
  font-weight: 600;
  background: var(--color-primaryDark);
}

.pagination a.arrow {
  width: 4rem;
}

.pagination a.arrow.prev,
.pagination a.arrow.next {
  background: url("../images/ico/page_prev.svg") no-repeat center center;
  background-size: 100%;
}
.pagination a.arrow.first,
.pagination a.arrow.last {
  background: url("../images/ico/page_first.svg") no-repeat center center;
  background-size: 100%;
}

.pagination a.arrow.disabled {
  opacity: 0.8;
  cursor: inherit;
}

.pagination a.arrow.next {
  transform: rotate(180deg);
}

.pagination a.arrow.last {
  transform: rotate(180deg);
}

.brd-view .title {
  padding: 0 2rem 3.2rem;
  text-align: center;
  border-bottom: 3px solid var(--border-light);
}

.brd-view .title .tag {
  display: block;
  width: 8rem;
  margin: 0 auto 1.6rem;
  line-height: 3.6rem;
  text-align: center;
  font-weight: 600;
  font-size: 1.6rem;
  color: var(--color-primaryDark);
  border-radius: 5rem;
  border: 1px solid var(--color-primaryDark);
}

.brd-view .title .date {
  margin-top: 3.2rem;
  font-size: 1.6rem;
  color: var(--text-secondary);
}

.brd-view .cont {
  padding: 6rem 8.4%;
}

.brd-view .cont img {
  max-width: 100%;
  display: block;
  margin: 2rem auto;
}

.brd-view .attached {
  margin-bottom: 3rem;
  padding: 2rem 3rem;
  background: var(--bg-light);
  border-radius: 1rem;
}

.brd-view .attached p {
  color: var(--text-secondary);
}

.brd-view .attached > *::after {
  content: "";
  width: 2.1rem;
  height: 2.1rem;
  display: inline-block;
  margin: -2px 0 0 0.8rem;
  vertical-align: middle;
  background: url("../images/sub/ico_file.svg") no-repeat left top;
  background-size: 100%;
}

.brd-view .bottom {
  position: relative;
  padding-top: 4.8rem;
  border-top: 3px solid var(--border-light);
}

.brd-view .bottom .prevnext {
  display: flex;
  justify-content: space-between;
  gap: calc(7rem + 9%);
}

.brd-view .bottom .prevnext div {
  flex-grow: 1;
  flex-basis: 0;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.brd-view .bottom .prevnext .next {
  flex-direction: row-reverse;
  text-align: right;
}

.brd-view .bottom .prevnext div span {
  flex-basis: 12.5rem;
  flex-shrink: 0;
  position: relative;
  font-weight: 600;
  color: var(--color-primaryDark);
}

.brd-view .bottom .prevnext .prev span::before,
.brd-view .bottom .prevnext .next span::after {
  content: "";
  width: 1.6rem;
  height: 1rem;
  display: inline-block;
  margin: -2px 1rem 0 0;
  vertical-align: middle;
  background: url("../images/sub/arr_prevnext.svg") no-repeat left top;
  background-size: 100%;
}

.brd-view .bottom .prevnext .next span::after {
  transform: rotate(180deg);
  margin: -2px 0 0 1rem;
}

.brd-view .bottom .prevnext div a {
  flex-grow: 1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.brd-view .bottom .btn-list {
  width: 6.4rem;
  height: 6.4rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 3rem;
  background: url("../images/sub/ico_list.svg") no-repeat left top;
  background-size: 100%;
}

/* recruit */
.phase {
  display: flex;
  flex-wrap: wrap;
  gap: 8rem;
}

.phase .item {
  padding: 4rem 3.1rem;
  position: relative;
  flex-basis: calc(50% - 4rem);
  box-shadow: var(--shadow1);
  border-radius: 2rem;
}

.phase .item:nth-child(3) {
  order: 2;
}

.phase .item:nth-child(4) {
  order: 1;
}

.phase .item:not(:nth-child(2))::before {
  content: "";
  width: 3.6rem;
  height: 3.6rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -6rem;
  background: url("../images/sub/arr_step.svg") no-repeat left top;
  background-size: 100%;
}

.phase .item:nth-child(3)::before {
  left: 50%;
  top: -5.8rem;
  transform: translateX(-50%) rotate(90deg);
}
.phase .item:nth-child(4)::before {
  transform: translateY(-50%) rotate(180deg);
}

.phase .item .tag {
  display: inline-block;
  margin-bottom: 1.6rem;
  padding: 0.4rem 2.4rem;
  color: #fff;
  font-weight: 700;
  background: var(--color-primaryDark);
  border-radius: 4rem;
}

.phase .item .stitle2 {
  margin-bottom: 0.8rem;
}

.phase .item .bullet-check {
  margin-top: 1.6rem;
}

.pr-text {
  position: relative;
  text-align: center;
  font-size: 3rem;
  font-weight: 600;
  z-index: 2;
}

.pr-text span {
  position: relative;
  display: inline-block;
}

.pr-text span::before {
  content: "";
  position: absolute;
  left: -4px;
  right: -4px;
  bottom: 1px;
  height: 2.3rem;
  background: #e2f1d5;
  z-index: -1;
}

.pr-ico {
  margin-top: 4.8rem;
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.pr-ico .item {
  position: relative;
  flex-basis: 30%;
  aspect-ratio: 1 / 1;
  max-width: 29.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(
    135deg,
    var(--color-primary),
    var(--color-secondary)
  );
  border-radius: 50%;
}

.pr-ico .item::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 2px;
  right: 2px;
  bottom: 2px;
  background: #fff;
  border-radius: 50%;
}

.pr-ico .item p {
  position: relative;
  font-size: 2.6rem;
  font-weight: 300;
}

.pr-ico .item p::before {
  content: "";
  width: 7.1rem;
  height: 5.4rem;
  display: block;
  margin: 0 auto 1.8rem;
  background-size: 100%;
  background-position: left top;
  background-repeat: no-repeat;
}

.pr-ico .item .ico1::before {
  background-image: url("../images/sub/ico_pr1.svg");
}
.pr-ico .item .ico2::before {
  background-image: url("../images/sub/ico_pr2.svg");
}
.pr-ico .item .ico3::before {
  background-image: url("../images/sub/ico_pr3.svg");
}

.item-triple.pac {
  gap: 3%;
}

.item-triple.pac .item {
  justify-content: flex-start;
  padding: 4.8rem 3.1rem 4rem;
  font-size: 1.8rem;
}

.item-triple.pac .item [class*="top"] {
  position: relative;
  margin-bottom: 3.2rem;
  padding-bottom: 2.4rem;
  border-bottom: 1px solid var(--border-light);
}

.item-triple.pac .item [class*="top"]::before {
  content: "";
  width: 18rem;
  height: 18rem;
  display: block;
  margin: 0 auto 2.4rem;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: left top;
}

.item-triple.pac .item .top1::before {
  background-image: url("../images/sub/img1_s51.jpg");
}
.item-triple.pac .item .top2::before {
  background-image: url("../images/sub/img2_s51.jpg");
}
.item-triple.pac .item .top3::before {
  background-image: url("../images/sub/img3_s51.jpg");
}

.item-triple.pac .item [class*="top"] .c-secondary {
  font-size: 2.6rem;
  font-weight: 700;
}

.item-triple.pac .item [class*="top"] .f-medium {
  max-width: 28rem;
  margin: 1.4rem auto 0;
}

.item-triple.pac .item .bullet-dot {
  color: var(--text-secondary);
  text-align: left;
}

.step-part {
  display: flex;
  flex-wrap: wrap;
  gap: 8rem;
}

.step-part [class*="item"] {
  position: relative;
  flex-basis: calc((100% - 16rem) / 3);
  padding: 4rem 3.2rem;
  border-radius: 1.6rem;
  box-shadow: var(--shadow1);
}

.step-part .item4 {
  order: 3;
}
.step-part .item5 {
  order: 2;
}
.step-part .item6 {
  order: 1;
}

.step-part [class*="item"]::before {
  content: "";
  width: 3.6rem;
  height: 3.6rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -6rem;
  background: url("../images/sub/arr_step.svg") no-repeat left top;
  background-size: 100%;
}
.step-part [class*="item"]:nth-child(3)::before {
  display: none;
}
.step-part [class*="item"]:nth-child(4)::before {
  left: 50%;
  top: -5.8rem;
  transform: translateX(-50%) rotate(90deg);
}
.step-part [class*="item"]:nth-child(5)::before,
.step-part [class*="item"]:nth-child(6)::before {
  transform: translateY(-50%) rotate(180deg);
}

.step-part .item6 {
  background: linear-gradient(
    135deg,
    var(--color-primary),
    var(--color-secondary)
  );
}

.step-part .item6 .line {
  position: absolute;
  left: 3px;
  top: 3px;
  bottom: 3px;
  right: 3px;
  background: #fff;
  border-radius: 1.4rem;
}

.step-part p {
  position: relative;
  word-break: break-all;
  z-index: 1;
}

.step-part .stitle2 {
  margin-bottom: 0.8rem;
  padding-top: 8rem;
  font-weight: 600;
}

.step-part .stitle2::before {
  content: "";
  width: 6rem;
  height: 6rem;
  position: absolute;
  top: 0;
  left: 0;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: left top;
}

.step-part .item1 .stitle2::before {
  background-image: url("../images/sub/step_part1.svg");
}
.step-part .item2 .stitle2::before {
  background-image: url("../images/sub/step_part2.svg");
}
.step-part .item3 .stitle2::before {
  background-image: url("../images/sub/step_part3.svg");
}
.step-part .item4 .stitle2::before {
  background-image: url("../images/sub/step_part4.svg");
}
.step-part .item5 .stitle2::before {
  background-image: url("../images/sub/step_part5.svg");
}
.step-part .item6 .stitle2::before {
  background-image: url("../images/sub/step_part6.svg");
}

.right {
  display: flex;
  gap: 3rem;
  flex-wrap: wrap;
}

.right .item {
  flex-basis: calc(50% - 1.5rem);
  padding: 4.8rem 3.5rem 4rem;
  border-radius: 1.6rem;
  box-shadow: var(--shadow1);
}

.right .item [class*="ico"] {
  position: relative;
  width: 18rem;
  height: 18rem;
  margin: 0 auto 2.4rem;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: left top;
}

.right .item .ico1 {
  background-image: url("../images/sub/img1_s53.png");
}
.right .item .ico2 {
  background-image: url("../images/sub/img2_s53.png");
}
.right .item .ico3 {
  background-image: url("../images/sub/img3_s53.png");
}
.right .item .ico4 {
  background-image: url("../images/sub/img4_s53.png");
}

.right .item [class*="ico"] span {
  position: absolute;
  top: 1.2rem;
  left: 0.3rem;
  width: 3.7rem;
  line-height: 3.7rem;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  border-radius: 0.4rem;
  background: var(--color-primary);
}

.right .item .stitle2 {
  margin-bottom: 3.2rem;
  padding-bottom: 3.2rem;
  font-weight: 600;
  text-align: center;
  border-bottom: 1px solid var(--border-light);
}

.txt07 {font-size:18px; font-weight: 600;}
.mb5 {margin-bottom:50px;}
.mb2 {margin-bottom:20px;}

@media screen and (max-width: 1200px) {
  .ico-step li:not(:first-child)::before {
    width: 3.5rem;
    height: 3.5rem;
    top: 14%;
  }
}

/* tablet */
@media screen and (max-width: 1024px) {
  .sub-top .inner {
    padding-top: 4.5rem;
  }

  .sub-top.s1 .inner::after {
    width: 27rem;
    height: 18rem;
    bottom: 6rem;
    right: 5%;
  }

  .sub-tabs .list a {
    font-size: 1.7rem;
  }

  .history-wrap {
    display: block;
  }

  .history-wrap .history-img {
    margin-bottom: 6rem;
  }

  .history-wrap .history-img p {
    display: inline-block;
    max-width: 57rem;
    font-size: 3.8rem;
  }

  .history-wrap .history .items {
    padding-left: 10rem;
  }

  .history-wrap .history .items::before {
    width: 7rem;
  }

  .history-wrap .history .items .year::before {
    left: -8.9rem;
  }

  .history-wrap .history .items:first-child .year::before {
    left: -9.9rem;
  }

  .trans .box.bus .number dl {
    flex-basis: 100%;
  }

  .ico-step {
    width: 55rem;
    margin: 0 auto;
    flex-wrap: wrap;
    gap: 6rem;
  }

  .ico-step li {
    flex-basis: 13rem;
  }

  .ico-step li:not(:first-child)::before {
    top: 4.8rem;
    left: -5.7rem;
  }

  .ico-step li:nth-child(4) {
    order: 5;
  }
  .ico-step li:nth-child(5) {
    order: 4;
  }
  .ico-step li:nth-child(6) {
    order: 3;
  }
  .ico-step li:nth-child(7) {
    order: 6;
  }

  .ico-step li:nth-child(4)::before,
  .ico-step li:nth-child(5)::before {
    transform: scaleX(-1);
  }

  .ico-step li:nth-child(6)::before,
  .ico-step li:nth-child(7)::before {
    display: none;
  }

  .ico-step li:nth-child(4)::after,
  .ico-step li:nth-child(7)::after {
    content: "";
    width: 3.5rem;
    height: 3.5rem;
    position: absolute;
    top: -3rem;
    left: 39%;
    transform: rotate(90deg) translateX(-50%);
    background: url("../images/ico/ico_arr_step.svg") no-repeat left top;
    background-size: 100%;
  }

  .section.flex {
    display: block;
  }

  .item-triple.pac .item {
    padding-left: 3%;
    padding-right: 3%;
    font-size: 1.7rem;
  }

  .item-triple.pac .item [class*="top"]::before {
    width: 14rem;
    height: 14rem;
  }

  .step-part {
    gap: 5rem;
  }

  .step-part [class*="item"] {
    flex-basis: calc((100% - 10rem) / 3);
    padding: 4rem 4%;
  }

  .step-part [class*="item"]::before {
    width: 2.8rem;
    height: 2.8rem;
    right: -4rem;
  }

  .step-part [class*="item"]:nth-child(4)::before {
    left: 50%;
    top: -4rem;
  }
}

/* mobile */
@media screen and (max-width: 768px) {
  .sub-top {
    text-align: center;
    padding-top: 6rem;
  }

  .sub-top .inner {
    padding-bottom: 6rem;
  }

  .sub-top .inner::before,
  .sub-top .inner::after {
    display: none;
  }

  .sub-top .breadcrumb {
    margin-top: 1rem;
    justify-content: center;
  }

  .sub-top .breadcrumb p {
    font-size: 1.4rem;
  }

  .sub-tabs {
    margin-top: 3rem;
    z-index: 10;
  }

  .sub-tabs .current {
    position: relative;
    display: block;
    width: 100%;
    height: 5rem;
    margin: 0 auto;
    padding: 0 4rem 0 1.4rem;
    font-size: 1.5rem;
    text-align: left;
    font-weight: 600;
    border: 1px solid var(--border);
    border-radius: 0.8rem;
    background: #fff;
    z-index: 3;
  }

  .sub-tabs .current::before {
    content: "";
    width: 2.2rem;
    height: 2.2rem;
    position: absolute;
    right: 1.5rem;
    top: 1.3rem;
    transform: rotate(90deg);
    background: url("../images/ico/ico_arr_right.svg") no-repeat left top;
    background-size: 100%;
    opacity: 0.8;
  }

  .sub-tabs.on .current {
    color: var(--color-primary);
    border-color: var(--color-primary);
  }

  .sub-tabs.on .current::before {
    transform: rotate(-90deg);
  }

  .sub-tabs .list {
    display: none;
    width: calc(100% - 4rem);
    max-height: 30rem;
    position: absolute;
    left: 50%;
    top: 4.9rem;
    transform: translateX(-50%);
    overflow-y: auto;
    background: #fff;
    border-radius: 0.8rem;
    border: 0;
    box-shadow: var(--shadow1);
  }

  .sub-tabs.on .list {
    display: block;
    padding: 0.7rem 0;
  }

  .sub-tabs .list a {
    display: block;
    padding: 0.7rem 1.4rem;
    color: var(--text-primary);
    font-size: 1.5rem;
    text-align: left;
    font-weight: 500;
  }

  .sub-tabs .list a:not(:first-child)::before {
    display: none;
  }

  .sub-tabs .list a.active {
    transform: none;
    color: var(--color-primary);
    background: transparent;
  }

  .contents {
    padding-top: 6rem;
  }

  .contents.inner,
  .contents.bottom {
    padding-bottom: 10rem;
  }

  h3.heading2 {
    margin-bottom: 6rem;
  }

  .section + .section {
    margin-top: 8rem;
  }

  .section h4.heading3 {
    margin-bottom: 2rem;
  }

  /* about */
  .about1-banner {
    padding-bottom: 7.5rem;
    margin-bottom: 4rem;
  }

  .about1-banner .img img {
    min-height: 23rem;
  }

  .about1-banner .text {
    width: 86%;
    right: 0;
    padding: 2rem 0;
  }

  .about1-banner .text .stitle2 {
    font-size: 1.7rem;
  }

  .greeting {
    margin-bottom: 2.4rem;
    font-size: 2rem;
  }

  .gt-text p + p {
    margin-top: 1.6rem;
  }

  .history-wrap .history-img p {
    margin-bottom: 2.4rem;
    max-width: 31rem;
    font-size: 2.1rem;
  }

  .history-wrap .history-img p::after {
    width: 0.7rem;
    height: 0.7rem;
    right: -0.8rem;
  }

  .history-wrap .scroll {
    overflow-y: visible;
    max-height: 100%;
    padding-right: 0;
  }

  .history-wrap .history .items {
    padding-left: 6rem;
  }

  .history-wrap .history .items + .items {
    margin-top: 6rem;
  }

  .history-wrap .history .items::before {
    width: 3.5rem;
    top: 2.4rem;
  }

  .history-wrap .history .items .year {
    margin-bottom: 0.8rem;
    font-size: 3rem;
  }

  .history-wrap .history .items .year::before {
    top: 1.5rem;
    left: -4.9rem;
  }

  .history-wrap .history .items:first-child .year::before {
    width: 3.3rem;
    height: 3.3rem;
    top: 0.6rem;
    left: -5.6rem;
  }

  .history-wrap .history .items .item .date {
    font-size: 1.6rem;
  }

  .organ {
    border-radius: 1.2rem;
  }

  .table-wrap {
    position: relative;
    padding-bottom: 1rem;
  }

  .table-wrap .about4 {
    min-width: 70rem;
  }

  .table-wrap .about51 {
    min-width: 60rem;
  }

  .table-wrap .about52 {
    min-width: 85rem;
  }

  .table-wrap .research1 {
    min-width: 78rem;
  }

  table th,
  table td {
    padding: 0.8rem 0;
  }

  .scr-dim {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 1rem;
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
    transition: opacity 0.3s ease-in-out;
  }

  .scr-dim.hide {
    display: block;
    opacity: 0;
    z-index: -2;
  }

  .scr-dim p::before {
    content: "";
    width: 14.8rem;
    height: 4rem;
    display: block;
    margin: 20rem auto 2.4rem;
    background: url("../images/sub/obj_scroll.svg") no-repeat left top;
    background-size: 100%;
  }

  .scr-dim p {
    position: relative;
    font-size: 1.8rem;
    font-weight: 600;
    color: #fff;
  }

  .map-container {
    display: block;
    border-radius: 1.6rem;
  }

  .map-container .info-wrap {
    padding: 2.2rem 2rem 3rem;
  }

  .map-container .info-wrap::before {
    width: 15rem;
    height: 18.5rem;
  }

  .map-container .info-wrap .logo {
    width: 12rem;
  }

  .map-container .info-wrap .center {
    margin-top: 1.4rem;
    padding-bottom: 1.2rem;
  }

  .map-container .info-wrap .center .heading3 {
    line-height: 1.2;
  }

  .map-container .info-wrap .center .eng {
    font-size: 1.3rem;
  }

  .map-container .info-wrap .info dl {
    margin-top: 1.2rem;
  }

  .map-container .info-wrap .info dl dt::before {
    width: 1.5rem;
    height: 1.5rem;
  }

  .map-container .info-wrap .sch {
    margin-top: 2.4rem;
    line-height: 3.8rem;
    font-size: 1.3rem;
  }

  .map-container .info-wrap .sch::after {
    width: 1.2rem;
    height: 1.1rem;
  }

  .map-container .map-wrap {
    width: 100%;
    height: 32rem;
    border: 1px solid var(--border);
    border-left: 1px solid var(--border);
    border-top: 0;
    border-radius: 0 0 1.6rem 1.6rem;
  }

  .trans {
    margin-top: 6rem;
    flex-direction: column;
  }

  .trans .box .stitle2 {
    padding-left: 3.6rem;
    margin-bottom: 2.2rem;
  }

  .trans .box .stitle2::before {
    width: 3rem;
    height: 3rem;
  }

  .trans .box .number dl dt {
    width: 4.8rem;
    font-size: 1.3rem;
    line-height: 2.3rem;
  }

  /* research */
  .box-warn {
    position: relative;
    padding: 2.4rem 1.6rem 2.4rem 7.2rem;
  }

  .box-warn::before {
    width: 5.6rem;
    height: 5.6rem;
    left: 1.2rem;
    top: 2rem;
  }

  .box-warn .stitle1 {
    font-size: 2rem;
  }

  .t-warn {
    padding-left: 1.8rem;
    font-size: 1.3rem;
  }

  .t-warn::before {
    width: 1.3rem;
    height: 1.3rem;
  }

  .charge {
    margin-top: 6rem;
    padding: 2rem 1.8rem;
    flex-direction: column;
    gap: 1rem 0;
  }

  .charge dl dt {
    padding-left: 2.2rem;
  }

  .charge dl dt::before {
    width: 1.3rem;
    height: 1.2rem;
    top: 0.5rem;
  }

  .charge dl dd {
    padding-left: 1.7rem;
  }

  .charge dl dd::before {
    height: 1.1rem;
    left: 0.8rem;
    top: 0.6rem;
  }

  div[class*="banner-"] {
    padding: 12.5rem 2rem 2.4rem 2rem;
    min-height: 16rem;
    text-align: center;
    border-radius: 2rem;
  }

  div[class*="banner-"]::before {
    width: 14rem;
    height: 9.5rem;
    top: 1.6rem;
    left: 50%;
    transform: translateX(-50%);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: left top;
    z-index: 1;
  }

  div[class*="banner-"]::after {
    width: 18.5rem;
    height: 18.5rem;
    top: -4rem;
    right: -4rem;
  }

  .ico-step {
    width: 100%;
    gap: 4rem;
  }

  .ico-step li {
    flex-basis: calc((100% - 8rem) / 3);
  }

  .ico-step li:not(:first-child)::before {
    width: 3rem;
    height: 3rem;
    top: 4.6rem;
    left: -3.4rem;
  }

  .ico-step li:nth-child(4)::after,
  .ico-step li:nth-child(7)::after {
    width: 3rem;
    height: 3rem;
    top: -2rem;
    left: 39%;
  }

  .ico-step li .step {
    margin: 1.6rem 0 0.8rem;
    width: 7.1rem;
    font-size: 1.2rem;
    line-height: 1.9rem;
  }

  .ico-step li p {
    font-size: 1.3rem;
  }

  .email {
    margin-top: 0.5rem;
    padding-left: 2.4rem;
  }

  .email::before {
    width: 1.8rem;
    height: 1.8rem;
    top: 0.3rem;
  }

  .item-triple {
    flex-wrap: wrap;
    gap: 1rem;
  }

  .item-triple > div {
    flex-basis: calc(50% - 0.5rem);
    padding: 2rem 1rem;
    min-height: 16rem;
    font-size: 1.5rem;
    border-radius: 1.2rem;
  }

  .item-triple .tit::before {
    width: 3.8rem;
    height: 3.8rem;
    margin: 0 auto 0.6rem;
  }

  /* use */
  .full-bg {
    margin: 6rem 0;
    padding: 4.8rem 0;
  }

  .full-bg.mb-0 {
    padding-bottom: 10rem;
  }

  .full-bg[class*="ci-"]::before {
    display: none;
  }

  .crc-work {
    gap: 1.6rem;
  }

  .crc-work .item {
    flex-basis: 100%;
    border-radius: 1.5rem;
  }

  .crc-work .item .text {
    left: 1rem;
    bottom: 1.2rem;
    padding: 0 0.6rem;
  }

  .crc-work .item .text .stitle1 {
    display: inline-block;
    font-size: 1.8rem;
  }

  .crc-work .item .text .sub {
    display: inline-block;
    max-width: 26rem;
  }

  .terms {
    margin-top: 6rem;
  }

  .terms > div + div {
    margin-top: 1.8rem;
  }

  .terms > div {
    padding: 2.6rem 2rem;
    padding-left: 2rem;
    border-radius: 1.6rem;
  }

  .terms > div::before {
    position: relative;
    width: 8rem;
    height: 8rem;
    left: auto;
    top: auto;
    display: block;
    margin: 0 auto 1.6rem;
  }

  .terms > div ul {
    margin-top: 0.6rem;
  }

  .item-triple.line {
    margin-top: 2rem;
    gap: 1rem 0;
  }

  .item-triple.line div {
    flex-basis: 100%;
    min-height: 10rem;
    padding: 1.6rem 2rem;
  }

  .item-triple.line div .c-secondary {
    margin-bottom: 0.6rem;
  }

  .item-triple.line div .t-secondary {
    font-size: 1.4rem;
  }

  .item-triple.line .num {
    top: 1.2rem;
    left: 1.2rem;
    width: 3rem;
    line-height: 3rem;
    font-size: 1.3rem;
  }

  .storage {
    display: block;
  }

  .storage li + li {
    margin-left: 0;
    margin-top: 4rem;
  }

  .storage li {
    padding: 3.8rem 4.6rem 2.6rem;
    border-radius: 1.6rem;
  }

  .storage li:not(:first-child)::before {
    width: 3rem;
    height: 3rem;
    top: -3.4rem;
    transform: translateX(-50%) rotate(90deg);
    left: 50%;
  }

  .storage li div[class*="step"] {
    width: 12rem;
    margin: 0 auto 1.6rem;
  }

  .storage li div[class*="step"] span {
    width: 6.5rem;
    font-size: 1.3rem;
    line-height: 2.2rem;
  }

  .storage li .dot + .dot {
    margin-top: 0.6rem;
  }

  .storage li .dot {
    padding-left: 0.6rem;
  }

  .storage li .line {
    border-radius: 1.4rem;
  }

  .bg-white::before {
    display: none;
  }

  .img-work .item + .item {
    margin-top: 2.6rem;
  }

  .img-work .item {
    display: block;
  }

  .img-work .item .img {
    max-width: 100%;
    margin-bottom: 1rem;
    border-radius: 1.6rem;
  }

  .img-work .item .img img {
    width: 100%;
    display: block;
  }

  .img-work .item .text {
    flex-grow: 1;
  }

  .img-work .item .text .c-secondary {
    margin-bottom: 0.4rem;
  }

  .step-work::before {
    top: 5rem;
    bottom: 5rem;
    left: 50%;
  }

  .step-work .item {
    display: block;
  }

  .step-work .item .step {
    display: block;
    width: 7.1rem;
    margin-top: 0;
    left: 50%;
    top: 1rem;
    transform: translateX(-50%);
    font-size: 1.2rem;
    line-height: 1.9rem;
    z-index: 1;
  }
  .step-work .item [class*="box"] {
    display: block;
    padding: 2.4rem 2rem 1.8rem;
    text-align: center;
    border-radius: 2rem;
  }

  .step-work .item [class*="box"]::before {
    display: block;
    position: relative;
    width: 6rem;
    height: 5rem;
    margin: 0 auto 1rem;
    left: auto;
    top: auto;
  }

  .step-work .item div .c-secondary {
    font-size: 2rem;
  }

  /* news */
  .brd-search {
    margin-bottom: 2rem;
    gap: 0.6rem;
  }

  .brd-search select {
    width: 11rem;
    flex-shrink: 0;
  }

  .brd-search .search {
    flex-basis: calc(100% - 11.6rem);
    padding-right: 0.5rem;
  }

  .brd-search .search input {
    width: calc(100% - 3rem);
  }

  .brd-search .search button {
    width: 3rem;
    height: 4.6rem;
    background-size: 1.8rem;
    background-position: left center;
  }

  .pagination {
    margin-top: 8rem;
    text-align: center;
    font-size: 0;
  }

  .pagination a {
    display: inline-block;
    margin: 0 0.2rem;
    width: 4rem;
    height: 4rem;
    font-weight: 500;
    text-align: center;
  }

  .pagination a.num {
    position: relative;
    font-size: 1.5rem;
    line-height: 4rem;
    font-family: "Poppins";
    font-weight: 500;
    border-radius: 0.4rem;
  }

  .pagination a.num.current {
    color: #fff;
    font-weight: 600;
    background: var(--color-primaryDark);
  }

  .pagination a.arrow {
    width: 4rem;
  }

  /* recruit */
  .phase {
    display: block;
  }

  .phase .item + .item {
    margin-top: 7.2rem;
  }

  .phase .item {
    padding: 2.4rem 2.2rem;
    border-radius: 1.6rem;
  }

  .phase .item:nth-child(3),
  .phase .item:nth-child(4) {
    order: inherit;
  }

  .phase .item:not(:nth-child(2))::before {
    width: 2.8rem;
    height: 2.8rem;
    top: -5rem;
    transform: translateX(-50%) rotate(90deg);
    right: auto;
    left: 50%;
  }

  .phase .item:nth-child(1)::before {
    top: auto;
    bottom: -5rem;
  }

  .phase .item:nth-child(4)::before {
    transform: translateX(-50%) rotate(90deg);
  }

  .phase .item .tag {
    margin-bottom: 1.2rem;
    padding: 0.4rem 2.4rem;
  }

  .phase .item .stitle2 {
    margin-bottom: 0.8rem;
    font-size: 1.8rem;
  }

  .phase .item .t-secondary {
    font-size: 1.3rem;
  }

  .phase .item .bullet-check {
    margin-top: 1.2rem;
  }

  .pr-text {
    font-size: 2.2rem;
  }

  .pr-text span::before {
    left: -2px;
    right: -2px;
    height: 1.8rem;
  }

  .pr-ico {
    margin-top: 3rem;
    gap: 0 2rem;
  }

  .pr-ico .item {
    flex-basis: 45%;
    max-width: 15rem;
  }

  .pr-ico .item p {
    font-size: 1.8rem;
  }

  .pr-ico .item p::before {
    width: 3.9rem;
    height: 3rem;
    margin: 0 auto 1.2rem;
  }

  .item-triple.pac {
    display: block;
  }

  .item-triple.pac .item {
    padding: 2rem;
    font-size: 1.4rem;
  }

  .item-triple.pac .item + .item {
    margin-top: 2rem;
  }

  .item-triple.pac .item [class*="top"] {
    margin-bottom: 1.6rem;
    padding-left: 12.3rem;
    padding-bottom: 1.6rem;
    text-align: left;
  }

  .item-triple.pac .item [class*="top"]::before {
    width: 10.7rem;
    height: 10.7rem;
    position: absolute;
    left: 0;
    top: 0;
    margin: 0;
  }

  .item-triple.pac .item [class*="top"] .c-secondary {
    font-size: 1.8rem;
  }

  .item-triple.pac .item [class*="top"] .f-medium {
    max-width: 100%;
    margin-top: 1rem;
  }

  .step-part {
    gap: 7rem;
  }

  .step-part [class*="item"] {
    flex-basis: 100%;
    padding: 2rem 2.4rem 2.4rem;
  }

  .step-part .item4,
  .step-part .item5,
  .step-part .item6 {
    order: initial;
  }

  .step-part [class*="item"]::before {
    top: auto;
    bottom: -5rem;
    transform: translateX(-50%) rotate(90deg);
    right: auto;
    left: 50%;
  }

  .step-part [class*="item"]:nth-child(3)::before {
    display: block;
  }

  .step-part [class*="item"]:nth-child(4)::before {
    top: auto;
    bottom: -5rem;
  }

  .step-part [class*="item"]:nth-child(5)::before {
    transform: translateX(-50%) rotate(90deg);
  }
  .step-part [class*="item"]:nth-child(6)::before {
    display: none;
  }

  .step-part p {
    word-break: keep-all;
  }

  .step-part .stitle2 {
    margin-bottom: 1.8rem;
    padding-top: 0.9rem;
    padding-left: 6rem;
  }

  .step-part .stitle2::before {
    width: 4.8rem;
    height: 4.8rem;
    top: 0;
  }

  .right {
    gap: 2rem;
  }

  .right .item {
    flex-basis: 100%;
    padding: 3rem 2.4rem;
  }

  .right .item [class*="ico"] {
    width: 10rem;
    height: 10rem;
    margin: 0 auto 1.8rem;
  }

  .right .item [class*="ico"] span {
    top: -0.1rem;
    left: 0.1rem;
    width: 2.8rem;
    line-height: 2.8rem;
    font-size: 1.3rem;
  }

  .right .item .stitle2 {
    margin-bottom: 2.2rem;
    padding-bottom: 2rem;
    font-size: 1.8rem;
  }

  .board a {
    display: block;
    height: auto;
    padding: 1.2rem 1.2rem;
  }

  .board a .num {
    margin-bottom: 0.3rem;
    text-align: left;
    font-size: 1.3rem;
  }

  .board a .num.fixed span {
    width: 5.4rem;
    line-height: 2.6rem;
  }

  .board a.new .cont .tit::after {
    width: 1.6rem;
    height: 1.6rem;
    margin: -2px 0 0 0.6rem;
  }

  .board a .cont .file {
    top: 0.3rem;
    width: 1.6rem;
    height: 1.6rem;
    background-size: 1.6rem;
  }

  .board a .date {
    margin-top: 0.3rem;
    text-align: left;
  }

  .pagination {
    margin-top: 4rem;
  }

  .pagination a {
    margin: 0 0.1rem;
    width: 3rem;
    height: 3rem;
  }

  .pagination a.num {
    font-size: 1.3rem;
    line-height: 3rem;
  }

  .pagination a.arrow {
    width: 3rem;
  }

  .brd-view .title {
    padding: 0 1rem 2rem;
    border-bottom-width: 2px;
  }

  .brd-view .title .tag {
    width: 5.4rem;
    margin-bottom: 1rem;
    line-height: 2.6rem;
    font-size: 1.3rem;
  }

  .brd-view .title .heading3 {
    font-size: 2.2rem;
  }

  .brd-view .title .date {
    margin-top: 1.6rem;
    font-size: 1.3rem;
  }

  .brd-view .cont {
    padding: 4rem 0;
  }

  .brd-view .cont img {
    margin: 1rem auto;
  }

  .brd-view .attached {
    margin-bottom: 2rem;
    padding: 1.6rem;
  }

  .brd-view .attached > *::after {
    width: 1.6rem;
    height: 1.6rem;
    margin: -2px 0 0 0.6rem;
  }

  .brd-view .bottom {
    padding-top: 2.4rem;
    border-top-width: 2px;
  }

  .brd-view .bottom .prevnext {
    gap: calc(4rem + 9%);
  }

  .brd-view .bottom .prevnext div,
  .brd-view .bottom .prevnext div span {
    display: block;
  }

  .brd-view .bottom .prevnext .prev span::before,
  .brd-view .bottom .prevnext .next span::after {
    width: 1.2rem;
    height: 0.8rem;
    margin: -2px 0.6rem 0 0;
  }

  .brd-view .bottom .prevnext .next span::after {
    margin: -2px 0 0 0.6rem;
  }

  .brd-view .bottom .prevnext div a {
    display: block;
  }

  .brd-view .bottom .btn-list {
    width: 4rem;
    height: 4rem;
    top: 2.7rem;
  }
	.txt07 {font-size:15px;}
	.mb5 {margin-bottom:30px;}
	.mb2 {margin-bottom:10px;}
}

@media screen and (max-width: 580px) {
  .ico-step li:not(:first-child)::before {
    width: 2rem;
    height: 2rem;
    top: 3rem;
    left: -3rem;
  }

  .ico-step li:nth-child(4)::after,
  .ico-step li:nth-child(7)::after {
    width: 2rem;
    height: 2rem;
    top: -2rem;
    left: 39%;
  }
}
