/* 서브 상단 배너 */
.subPage {
  font-family: var(--noto-sans);
}
.subWidth {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  padding: 80px 0;
}
.subWidth.noPaddingTop {
  padding-top: 0;
}
.subPage:not(.location) .subWidth:has(.sub04_tab) {
  padding: 0;
}

.ward-life-guide article.subWidth {
  padding-bottom: 0;
}
.subPage .subTop {
  position: relative;
}
.subPage .subTop .subTopBox {
  width: 100%;
  height: 250px;
  background: url(/img/bg/sub_bg01.jpg) center / contain no-repeat;
  background-size: cover;
}
.subPage.center01 .subTop .subTopBox,
.subPage.center02 .subTop .subTopBox,
.subPage.center03 .subTop .subTopBox,
.subPage.center04 .subTop .subTopBox,
.subPage.center05 .subTop .subTopBox {
  background: url(/img/bg/sub_bg02.jpg) center / contain no-repeat;
  background-size: cover;
}
.subTopBox {
  display: flex;
  justify-content: flex-start;
  width: 79%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  align-items: center;
}
.subTop h2 {
  color: var(--color-white);
  font-family: var(--GMarket);
}
.subTop ul {
  max-width: 1480px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 80px;
  justify-content: space-between;
  text-align: center;
  color: var(--color-white);
}

.subTop ul li {
  width: 100%;
  /* padding: clamp(15px, calc(15px + (25 - 15) * var(--fluid-280-1920)), 25px) 0; */
  background: #00000080;
  letter-spacing: -0.25px;
  font-weight: var(--bold);
  transition: all 0.3s ease 0s;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

.subTop ul li.on,
.subTop ul li:hover {
  background: var(--color-white);
  color: #072037;
}

.subTop ul li a {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: clamp(15px, calc(15px + (25 - 15) * var(--fluid-280-1920)), 25px) 0;
}

.subPage .subTitle {
  text-align: center;
  font-weight: var(--bold);
  letter-spacing: -0.3px;
  padding: 60px 0 80px 0;
  font-size: 45px;
}
.greetingBox .subTitle {
  margin-top: 0;
}
.subTabMenu {
  display: none !important;
}
.subTabMenu .btn-group {
  width: 50%;
}

.subTabMenu .btn-group > .btn {
  border: 1px solid #e4e4e4;
  width: 50%;
  background: #fff;
  color: inherit;
}

.subTabMenu .first-depth .btn {
  border-left: none;
}
.subTabMenu .second-depth .btn {
  border-left: none;
  border-right: none;
}

.btn-group > .btn .btn-group > .btn {
  width: 50%;
  background: #fff;
}

.subTabMenu button {
  font-size: 16px;
  background: #fff;
  color: #5a5a5a;
  border-radius: 0;
  padding: 20px;
  text-align: left;
  position: relative;
}

.subTabMenu .dropdown-toggle::after {
  width: 9px;
  height: 9px;
  border: none;
  border-bottom: 2px solid #5a5a5a;
  border-right: 2px solid #5a5a5a;
  margin-left: auto;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.subTabMenu .btn:hover {
  background: none;
  color: #5a5a5a;
}

.subTabMenu .btn:hover::after {
  border-bottom: 2px solid #5a5a5a;
  border-right: 2px solid #5a5a5a;
}

.subTabMenu .dropdown-item.active,
.subTabMenu .dropdown-item:active {
  background: #e4e4e4;
  color: #353535;
}

.subTabMenu .dropdown-menu {
  width: 100%;
  font-size: 16px;
  border-radius: 0;
  padding: 0;
}

.subTabMenu .dropdown-item {
  padding: 10px 15px;
  font-size: 15px;
  display: inline-block;
}
.subTab {
  display: flex;
  justify-content: space-between;
  column-gap: 8px;
  text-align: center;
  margin-bottom: 70px;
  padding: 0;
}

.subTab li {
  width: 33.333%;
  border: 1px solid #cfcfcf;
  letter-spacing: -0.25px;
  transition: all 0.3s ease 0s;
  cursor: pointer;
  font-size: 20px;
}
.subTab li.on,
.subTab li:hover {
  background: var(--color-primary02);
  color: var(--color-white);
}
.subTab li a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px 0;
}
.subTitleBox .subWidth {
  padding: 0;
}

/* 서브 콘텐츠 */
.subBoxInfo {
  border: 1px solid var(--color-primary02);
  background: var(--color-white) fff;
  padding: clamp(12px, calc(12px + (32 - 12) * var(--fluid-280-1920)), 32px)
    clamp(20px, calc(20px + (40 - 20) * var(--fluid-280-1920)), 40px);
  display: flex;
  align-items: center;
  /* column-gap: clamp(25px, calc(25px + (30 - 25) * var(--fluid-280-1920)), 30px); */
  color: var(--color-text);
  column-gap: 15px;
}
.location02 #sub03,
.doc03 .subBoxInfo {
  margin-bottom: 80px;
}
.subBoxInfo img {
  align-self: baseline;
}
.subBoxInfo p {
  /* font-weight: var(--light); */
  letter-spacing: -0.3px !important;
  font-weight: var(--semiLight) !important;
  line-height: 1.2 !important;
  font-size: 17px !important;
}
.subBoxInfo .listUl {
  margin: clamp(5px, calc(5px + (10 - 5) * var(--fluid-280-1920)), 10px) 0;
}
.subBoxInfo div ul.listUl li {
  margin-bottom: 0;
}
.subPage article section:not(:last-of-type) {
  margin-bottom: 80px;
}
.subPage article h4 {
  font-size: 26px;
  margin-bottom: 40px;
  letter-spacing: -0.3px;
  font-weight: var(--normal);
}

.subPage article p:not(.plus_info, .doc_info_box p, .subBoxInfo p) {
  font-weight: var(--light);
  letter-spacing: -0.3px;
  font-size: 18px;
  word-break: auto-phrase;
}
.subPage .goLinkBtn a {
  background: #004a98;
  color: var(--color-white);
  padding: 8px 23px;
  border-radius: 25px;
  font-weight: var(--normal);
  display: flex;
  width: max-content;
  column-gap: 12px;
  align-items: center;
  margin-left: auto;
  transition: all 0.3s ease 0s;
  cursor: pointer;
  border: 1px solid #004a98;
  box-sizing: border-box;
}
.subPage .goLinkBtn a:hover {
  background: var(--color-white);
  color: #004a98;
}
.bg_blue {
  background: #f8fbff;
}
.bg_grey {
  background: #f9f9f9;
}
.docBox > div {
  align-items: flex-start;
  column-gap: clamp(
    25px,
    calc(25px + (100 - 25) * var(--fluid-768-1920)),
    100px
  );
}
.docBox .flex-column {
  row-gap: clamp(20px, calc(20px + (40 - 20) * var(--fluid-280-1920)), 40px);
}
.subWidth h5,
.admission-guide #sub03 h5 {
  display: inline-block;
  color: #004a98;
  font-weight: var(--normal);
  letter-spacing: -0.3px;
  background: var(--color-white);
  border: 1px solid #004a98;
  border-radius: 20px;
  padding: 5px 0px;
  margin-bottom: 20px;
  width: 175px;
  text-align: center;
  font-size: 20px;
}
.listUl {
  font-weight: var(--light);
  letter-spacing: -0.3px;
  font-size: 18px;
}
.listUl li {
  display: flex;
  align-items: baseline;
  column-gap: 10px;
}
.listUl li:not(li:last-of-type) {
  margin-bottom: 10px;
}
.listUl ul {
  list-style: none;
  padding-left: 10px;
  margin-top: 10px;
}
.listUl .listNone {
  list-style: none;
}
.subTable {
  width: 100%;
  border-top: 1px solid #004a98;
  border-spacing: 0;
  border-collapse: separate;
  font-size: 16px;
}
.subTable th {
  background: #f3f6fc;
  padding: 18px 0;
  letter-spacing: -0.3px;
  font-size: clamp(10px, calc(10px + (17 - 10) * var(--fluid-280-1920)), 17px) 0;
  border-bottom: 1px solid #d8d8d8;
  text-align: center;
}
.subTable th:not(th:last-of-type),
.subTable td:not(td:last-of-type) {
  border-right: 1px solid #d8d8d8;
}
.subTable td {
  text-align: center;
  font-weight: var(--normal);
  color: var(--color-text);
  letter-spacing: -0.3px;
  padding: clamp(14px, calc(14px + (20 - 14) * var(--fluid-280-1920)), 20px);
  border-bottom: 1px solid #d8d8d8;
}
.subTable td.leftTd {
  text-align: left;
}
.table_info {
  background: #f3f3f3;
  padding: 35px 30px;
  font-weight: var(--normal);
  letter-spacing: -0.3px;
  text-align: left;
}
.table_info span {
  display: inline-block;
  margin: 20px 0 10px 0;
  font-size: 18px;
  color: #ce4040;
}

.sub_txt {
  margin-bottom: 40px;
  font-weight: var(--normal);
  letter-spacing: -0.3px;
  color: var(--color-text);
}
.donwloads {
  margin-top: 40px;
}
.donwloads ul {
  column-gap: 10px;
}
.downloadIcon,
.downloadIcon:after {
  width: 18px;
  height: 16px;
}
.downloadIcon {
  position: relative;
}
.downloadIcon:after {
  content: "";
  display: inline-block;
  background: url("/img/icons/downLoadIcon.png") center / contain no-repeat;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.donwloads li:hover .downloadIcon:after {
  background: #004a98;
  mask-image: url("/img/icons/downLoadIcon.png");
  mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
}

/* 서류발급 안내 */
.sub02_process {
  display: flex;
  flex-direction: column;
  row-gap: clamp(20px, calc(20px + (40 - 20) * var(--fluid-280-1920)), 40px);
}

.subWidth:has(.processUl) {
  padding-bottom: 0;
}

.sub02_process:not(:last-of-type) {
  margin-bottom: 40px;
}

.processUl {
  background: #f8fbff;
  padding: 50px;
}

.processUl h5 {
  width: auto;
  padding: 7px 20px;
}

.processUl ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-content: space-around;
  text-align: center;
  align-items: baseline;
  position: relative;
}

.processUl ul:before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 100%;
  border: 1px solid transparent;
  border-image: linear-gradient(
      90deg,
      #00cfe5,
      #00b8dc,
      #2dacfd,
      #36b2fa,
      #5290fd,
      #5da2fd
    )
    1;
  top: 49px;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.processUl .num_process {
  display: inline-block;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  color: #fff;
  font-weight: var(--middle);
  position: relative;
  line-height: 140px;
  z-index: 1;
  border: 12px solid transparent;
}

.processUl .num_process:after {
  display: inline-block;
  width: 60px;
  height: 60px;
  line-height: 60px;
  border-radius: 50%;
  color: #fff;
  font-weight: var(--middle);
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  /* outline: 10px solid #f8fbff; */
  font-size: 22px;
  z-index: 3;
}

.num01 {
  background: linear-gradient(#f8fbff, #f8fbff) padding-box,
    /* 내부 채우기 */ linear-gradient(180deg, #00cfe5, #00b8dc 50%, #f8fbff 50%)
      border-box;
}

.num01:after {
  background: linear-gradient(90deg, #00cfe5, #00b8dc);
  content: "01";
}

.num02 {
  background: linear-gradient(#f8fbff, #f8fbff) padding-box,
    /* 내부 채우기 */ linear-gradient(180deg, #2dacfd, #36b2fa 50%, #f8fbff 50%)
      border-box;
}

.num02:after {
  background: linear-gradient(90deg, #2dacfd, #36b2fa);
  content: "02";
}

.num03 {
  background: linear-gradient(#f8fbff, #f8fbff) padding-box,
    /* 내부 채우기 */ linear-gradient(180deg, #5290fd, #5da2fd 50%, #f8fbff 50%)
      border-box;
}

.num03:after {
  background: linear-gradient(90deg, #5290fd, #5da2fd);
  content: "03";
}

.processUl ul p {
  font-weight: var(--normal);
  letter-spacing: -1px;
}

.processUl ul p span {
  font-weight: var(--middle);
}

/* 찾아오시는길 */
.mapBox .map {
  position: relative;
  height: 530px;
}
.mapTxt {
  position: absolute;
  top: 50%;
  background: #000000cc;
  z-index: 25;
  right: 10px;
  transform: translateY(-50%);
  width: 32%;
  color: #fff;
  padding: 35px 15px;
}
.mapTxt ul {
  display: flex;
  flex-direction: column;
  row-gap: 5px;
}
.mapTxt ul li {
  display: flex;
  align-items: center;
  color: #fff;
  column-gap: 5px;
}
.mapTxt ul li span {
  color: #ffbf3f;
  display: inline-block;
  width: 60px;
  text-align: left;
}
.mapTxt ul li p {
  color: #fff;
  font-weight: var(--middle);
}
.mapTxt ul li:nth-of-type(2) {
  padding-bottom: 25px;
  border-bottom: 1px solid #cfcfcf;
}
.mapTxt ul li:nth-of-type(3) {
  margin-top: 25px;
}
.mapTxt ul li:nth-of-type(3),
.mapTxt ul li:nth-of-type(4) {
  background: #fff;
  color: #161616;
  padding: 5px 10px;
}
.mapTxt ul li img {
  max-width: 40px;
  width: 20%;
}
.mapTxt ul li a {
  display: flex;
  align-items: center;
  column-gap: 10px;
  width: 100%;
}
.sub04_tab[data-target] li,
.sub04_tab li[data-target] {
  cursor: pointer;
  width: 50%;
}
.subPage .root_daum_roughmap {
  max-width: 1280px;
  width: 100% !important;
  max-height: 530px !important;
  height: 100% !important;
}
.mapBox h4,
.mapBox p {
  margin-bottom: 0;
  color: #353535;
}

#sub01.mapBox {
  padding-top: 0;
}
.location .mapBox > h4 {
  margin-bottom: 0;
  font-size: 34px;
}
.location .mapBox > p {
  font-size: 24px;
}

.location .mapBox section h4 {
  text-align: left;
}

.map_arrow_icon {
  display: inline-block;
  transform: translateY(calc(-50% - 40px));
  display: block;
  width: 100%;
}
.map_arrow_icon img {
  margin: 0 auto;
}

.subPage #sub01.mapBox > div {
  margin: 70px 0;
}
.paddingTop0 {
  padding-top: 0 !important;
}
.paddingbottm0 {
  padding-bottom: 0 !important;
}
/* 탭 콘텐츠 숨김/보임 */
.tabPanel,
.br_320 {
  display: none;
}
.tabPanel.on {
  display: block;
  animation: fadeIn 0.4s ease;
  padding-bottom: clamp(
    25px,
    calc(25px + (50 - 25) * var(--fluid-280-1920)),
    50px
  );
}
.subway li,
.bus li,
.train li,
.airplane li {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}
.subway li:last-of-type,
.bus li:last-of-type,
.train li:last-of-type,
.airplane li:last-of-type {
  margin-bottom: 0;
}

.subway span,
.bus span,
.train > li > span,
.airplane span {
  max-width: 112px;
  width: 100%;
  height: 30px;
  text-align: center;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.subway span {
  color: var(--color-white);
}
.subPage ul.subway p,
.subPage ul.bus p,
.subPage ul.train p,
.subPage ul.airplane p {
  font-weight: var(--normal);
  color: var(--color-text);
  font-size: 16px;
  word-break: auto-phrase;
}
.line6 {
  border: 1px solid #b5500b;
  background: #b5500b;
}
.line5 {
  border: 1px solid #8936e0;
  background: #8936e0;
}
.line2 {
  border: 1px solid #3cb44a;
  background: #3cb44a;
}
.bus01 {
  border: 1px solid var(--color-primary02);
  color: var(--color-primary02);
}
.bus02 {
  border: 1px solid #33a641;
  color: #33a641;
}
.bus03 {
  border: 1px solid #ed3232;
  color: #ed3232;
}
.bus04,
.bus05,
.train > li > span,
.airplane span {
  border: 1px solid #595959;
  color: #595959;
}

/* 의료진 소개 */
.doc_intro .txtBox {
  color: #353535;
  padding-top: 0;
  text-align: center;
  line-height: 1.95;
}
.doc_intro .txtBox h4 {
  font-size: 34px;
  margin-bottom: 0;
  font-weight: var(--normal);
  letter-spacing: -0.3px;
}
.doc_intro .txtBox p {
  font-size: 24px;
  font-weight: var(--normal);
  letter-spacing: -0.3px;
}
.center_tab,
.table_tab {
  display: grid;
  row-gap: 8px;
  font-size: clamp(13px, calc(13px + (16 - 13) * var(--fluid-280-1920)), 16px);
}
.center_tab {
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
}
.center_tab li,
.table_tab li {
  padding: 8px 0;
  font-weight: var(--normal);
  font-size: 18px;
}
.table_tab {
  grid-template-columns: repeat(7, 1fr);
}
.timetableBox .table_tab {
  border-bottom: 3.2px solid #036db7;
  margin-bottom: 35px;
}
.timetableBox .table_tab li {
  border-bottom: none;
}
.center_tab li,
.table_tab li {
  width: 100%;
}
.docCards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  text-align: center;
  letter-spacing: -0.25px;
}
.docCards li {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.docCards > li:hover {
  background: #f2f2f2;
  border: 1px solid #036db7;
}
.docCards > li:hover .docBtn p {
  border-bottom: none;
}
.doc_info_box {
  border: 1px solid #dbdbdb;
  border-bottom: none;
  height: 100%;
  padding: 30px 10px 0 10px;
}
.doc_info_box a > span {
  font-size: 16px;
  color: var(--color-primary02);
  margin-bottom: 7px;
  font-weight: var(--normal);
}
.docCards li h4 {
  font-size: 24px;
  letter-spacing: -2px;
  margin-bottom: 20px;
}
.docCards li h4 span {
  font-size: 32px;
  font-weight: var(--normal);
}

.docCards .doc_info_box p {
  width: 100%;
  font-size: 15px;
  color: #666;
  text-wrap-style: pretty;
  letter-spacing: -2px;
  /* padding: 20px 20px; */
  padding: 20px 0px;
  height: auto;
  border: none;
  font-weight: var(--normal);
  line-height: normal;
  display: inline-block;
}
.docCards li img {
  border-bottom: 1px solid #bfbfbf;
  width: 100%;
  transition: all 0.3s ease 0s;
}
.docCards li:hover img {
  transform: scale(1.05);
  border-bottom: none;
}
.docCards li:hover .docBtn p:nth-of-type(2) {
  border-right: none;
}
.docCards li div:nth-of-type(1) {
  position: relative;
  flex-direction: column;
  display: inline-block;
  overflow: hidden;
  min-height: 217px;
}
.doc_info_box .empty::before {
  display: block;
  content: "2025년 8월 ~ 2026년 9월 해외 의료연수 중";
  color: var(--color-white);
  font-size: 15px;
  letter-spacing: -1px;
  font-weight: 500;
  background: #16488dbf;
  border-radius: 10px 10px 0 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 10px);
  padding: 8px 4px;
  z-index: 5;
}
.doc_info_box a[href*="doctor_detail05"] .empty::before {
  content: "2023년 ~ 해외의료연수 중";
}
.doc_info_box p {
  width: 100%;
  font-size: 16px;
  color: #666;
  text-wrap-style: pretty;
  letter-spacing: -2px;
  padding: 25px 27px;
  height: 100%;
}
.mo_span {
  display: inline-block;
  width: 100%;
}
.docCards li div {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  z-index: 10;
}
.docBtn p {
  width: 50%;
  padding: 9px 0;
  background: var(--color-primary02);
  color: var(--color-white);
  border: 1px solid var(--color-primary02);
  transition: all 0.3s ease 0s;
  min-height: auto;
  font-weight: var(--normal);
}
.docBtn p:nth-of-type(2) {
  color: var(--color-primary02);
  background: var(--color-white);
}

.docBtn p a {
  display: inline-block;
  width: 100%;
  height: 100%;
  font-size: 16px;
  font-weight: var(--normal);
}

/* 의료진 상세페이지 */
.detailTopBox {
  background: url(/img/bg/detail_bg.png) left top / contain no-repeat;
  /* aspect-ratio: 960 / 373; */
  overflow: hidden;
  padding-top: 80px;
}
.docDetailTop {
  display: grid;
  align-items: center;
  padding-bottom: 0;
  column-gap: clamp(
    50px,
    calc(50px + (100 - 50) * var(--fluid-280-1920)),
    100px
  );
  height: 100%;
  padding: 0;
  grid-template-columns: 1fr 2fr;
  grid-template-rows: repeat(2, auto);
}
.docDetailTop .detailImg {
  grid-row: 1 / 3;
  margin-top: auto;
}
.docDetailTop img {
  margin-top: auto;
  /* width: clamp(30%, calc(30% + (58 - 30) * var(--fluid-280-1920)), 58%); */
  max-width: 400px;
  width: 100%;
}
.docTxt {
  margin-top: auto;
  grid-row: 1 / 2;
}
.docDetailTop h2 {
  /* font-size: 40px; */
  font-size: clamp(30px, 4vw, 40px);
  font-weight: var(--middle);
  font-family: var(--suit);
  color: var(--color-primary);
  letter-spacing: 0;
  margin-bottom: 40px;
}
.docDetailTop .docTxt p {
  font-weight: var(--normal);
  font-size: 18px;
  letter-spacing: -0.25px;
}
.docName {
  margin-bottom: 40px;
}
.subPage:has(.detailTopBox) .subTop {
  margin-bottom: 0;
}
.docName ul {
  line-height: 20px;
  margin-bottom: 10px;
  font-family: var(--noto-sans);
  letter-spacing: -0.25px;
  font-weight: var(--normal);
}
.docName li {
  padding-right: 20px;
}
.docName li:nth-of-type(2) {
  padding-left: 20px;
  border-left: 2px solid #000000;
}
.docName li span {
  font-weight: var(--middle);
  font-size: 26px;
}

.tableBox {
  column-gap: 10px;
  grid-column: 2 / 3;
  margin-bottom: auto;
  margin: 40px 0;
}
.timetable {
  width: 90%;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  border-radius: 10px;
  border: 1px solid #ffbd26;
  text-align: center;
  font-size: clamp(13px, calc(13px + (15 - 13) * var(--fluid-280-1920)), 15px);
  grid-template-rows: repeat(3, 50px);
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.timetable li {
  height: 100%;
  line-height: 50px;
  letter-spacing: -0.25px;
  background: var(--color-white);
  font-family: var(--suit);
  font-weight: var(--middle);
}
.red_txt {
  color: #d61717;
}
.timetable li.title {
  background: var(--color-accent01);
  font-weight: var(--middle);
  font-size: 15px;
  color: #000;
  font-family: var(--noto-sans);
}
.timetable li.am,
.timetable li.pm {
  border-right: 1px solid var(--color-accent01);
  background: var(--color-white) bf2;
  color: var(--color-text);
  font-size: 15px;
  font-weight: var(--normal);
  font-family: var(--noto-sans);
}
.timetable li.tableLine2 {
  border-bottom: 1px solid var(--color-accent01);
}
.tableBtn {
  background: #e7a100;
  border: 1px solid #e7a100;
  width: 145px;
  height: 147px;
  font-size: clamp(15px, calc(15px + (22 - 15) * var(--fluid-280-1920)), 22px);
  font-family: var(--suit);
  color: var(--color-white);
  border-radius: 10px;
  transition: all 0.3s ease 0s;
}
.tableBtn:hover {
  background: none;
  color: #e7a100;
}
.tableBtn a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: var(--bold);
  font-size: 22px;
  line-height: 26px;
  font-family: var(--suit);
  letter-spacing: 0;
}

.docTabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--color-primary02);
  column-gap: 7px;
}
.docTabs li {
  padding: clamp(7px, calc(7px + (14 - 7) * var(--fluid-280-1920)), 14px) 0;
  border-radius: 7px 7px 0 0;
  border: 1px solid var(--color-primary02);
  border-bottom: none;
  text-align: center;
  color: var(--color-primary02);
  transition: all 0.3s ease 0s;
  cursor: pointer;
  font-weight: var(--bold);
  font-size: 20px;
}
.docTabs li.on,
.docTabs li:hover {
  border: 1px solid var(--color-primary02);
  border-bottom: none;
  background: var(--color-primary02);
  color: var(--color-white);
}
.subWidth:has(.docTabs) {
  padding-top: 0;
}
div[data-con="datail01"],
div[data-con="datail02"],
div[data-con="datail03"],
div[data-con="datail04"] {
  padding: 40px 30px;
  display: none;
}
div[data-con="datail01"].on,
div[data-con="datail02"].on,
div[data-con="datail03"].on,
div[data-con="datail04"].on {
  display: block;
}
div[data-con="datail01"] h4,
div[data-con="datail02"] h4,
div[data-con="datail03"] h4,
div[data-con="datail04"] h4 {
  font-family: var(--suit);
  font-weight: var(--middle);
}

div[data-con="datail01"] li,
div[data-con="datail02"] li,
div[data-con="datail03"] li,
div[data-con="datail04"] li {
  list-style: none;
  display: flex;
  align-items: baseline;
  font-weight: var(--light);
  column-gap: 4px;
  line-height: 30px;
}
div[data-con="datail01"] li:last-of-type,
div[data-con="datail02"] li:last-of-type,
div[data-con="datail03"] li:last-of-type,
div[data-con="datail04"] li:last-of-type {
  margin-bottom: 0;
}
:is(div[data-con="datail04"], div[data-con="datail03"]) > div {
  height: clamp(
    427px,
    calc(427px + (627 - 427) * var(--fluid-280-1920)),
    627px
  );
  overflow-y: scroll;
}
:is(div[data-con="datail04"], div[data-con="datail03"]) h6 {
  position: relative;
  padding-left: 25px;
  margin-bottom: 25px;
  font-weight: var(--bold);
  color: #036db7;
  font-size: 22px;
  margin-left: 10px;
}
:is(div[data-con="datail04"], div[data-con="datail03"]) h6::before {
  content: "";
  display: inline-block;
  background: url("/img/icons/check_d_icon.png") center / contain no-repeat;
  height: 17px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  max-width: 18px;
  width: 5%;
}
:is(div[data-con="datail04"], div[data-con="datail03"]) > div ul {
  margin-bottom: 40px;
  padding-left: 20px;
}
.subProSwiper .swiper-pagination {
  display: none;
}
.subProSwiper {
  background: #f3f6fc;
  position: relative;
  overflow: hidden;
}
.subProSwiper .swiper-slide {
  border: 1px solid #b7b7b7;
  /* aspect-ratio: 293 / 500; */
  background: var(--color-white);
}
.subProSwiper .swiper-slide a > div > p {
  min-height: 81px;
  display: -webkit-box;
  line-clamp: 3;
  box-orient: vertical;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.5;
}
.subProSwiper .swiper-slide figure > img {
  width: 100%;
  aspect-ratio: 291 / 280;
  object-fit: cover;
}
.subProSwiper .swiper-slide div {
  padding: calc(10px + (30 - 15) * ((100vw - 280px) / (1920 - 280)));
  color: #424242;
  text-wrap-style: pretty;
}
.subProSwiper .swiper-slide .tagBox {
  padding: 30px 0;
  padding: calc(10px + (30 - 10) * ((100vw - 280px) / (1920 - 280))) 0;
}
.subProSwiper .swiper-button-next,
.subProSwiper .swiper-button-prev {
  font-family: "Material Icons";
  color: #8b8b8b;
  width: 20px;
  height: 38px;
}
.subProSwiper .swiper-button-prev {
  left: clamp(9%, calc(9% + (6.5 - 9) * var(--fluid-280-1920)), 6.5%);
}
.subProSwiper .swiper-button-next {
  right: clamp(9%, calc(9% + (6.5 - 9) * var(--fluid-280-1920)), 6.5%);
}
.subProSwiper .swiper-scrollbar {
  display: none;
}
.subProSwiper .swiper-slide figure {
  position: relative;
}
.f_sns.swiper_sns {
  position: absolute;
  top: 20px;
  left: 15px;
  display: flex;
  flex-direction: column;
  row-gap: 5px;
  justify-content: center;
  align-items: center;
  display: flex !important;
}

.f_sns.swiper_sns li {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 28px;
  max-height: 28px;
}

.f_sns.swiper_sns img {
  width: 50%;
}

.f_sns.swiper_sns .facebook {
  background: #4d6797;
}

.f_sns.swiper_sns .blog {
  background: #55c243;
}
.f_sns.swiper_sns .youtube {
  background: #ce4747;
}

.f_sns.swiper_sns .ext_icon {
  background: var(--color-accent);
}

.f_sns.swiper_sns .insta {
  background: linear-gradient(
    45deg,
    #f58529,
    /* 주황 */ #feda77,
    /* 노랑 */ #dd2a7b,
    /* 핑크 */ #8134af,
    /* 보라 */ #515bd4 /* 파랑 보라 */
  );
}

.subPage:has(.subProSwiper) .btn_box {
  margin-bottom: clamp(
    45px,
    calc(45px + (90 - 45) * var(--fluid-280-1920)),
    90px
  );
}

.docDetailTop .bigDot img {
  width: 30px;
  padding-top: 15px;
  margin-bottom: 30px;
  display: none;
}

/* 진료 시간 페이지  */

.timetableBox #sub01 {
  background: #f2f6f8;
  /* margin-bottom: 50px; */
  border-top: 1px solid #d2d2d2;
  background: linear-gradient(180deg, #f6f8fa 0%, #ffffff 80%);
}
.processBox #sub01 {
  background: var(--color-white);
}

:is(.timetableBox, .processBox) .subTop {
  margin-bottom: 0;
}

:is(.timetableBox, .processBox) #sub01 > section {
  margin-top: 0;
  align-items: flex-start;
  font-family: var(--suit);
}
.timetableBox #sub01 > section {
  padding: 70px 0;
}

:is(.timetableBox, .processBox) .whatTime {
  margin: 0 auto;
  min-height: 66px;
  width: 100% !important;
  text-align: center;
}

:is(.timetableBox, .processBox) #sub01 h4 {
  width: 30%;
  font-family: var(--suit);
  font-weight: var(--bold);
  font-size: 30px;
  letter-spacing: -0.25px;
  text-align: left;
}

:is(.timetableBox, .processBox) #sub01 div:nth-of-type(1) {
  width: 70%;
}

:is(.timetableBox, .processBox) #sub01 ul {
  grid-template-columns: repeat(3, 1fr);
  display: grid;
  justify-content: center;
  align-items: center;
  column-gap: clamp(5px, calc(5px + (50 - 5) * var(--fluid-280-1920)), 50px);
}

:is(.timetableBox, .processBox) #sub01 li {
  text-align: center;
  border: 1px solid var(--color-primary02);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  aspect-ratio: 280 / 300;
  background: var(--color-white);
  display: grid;
  grid-template-rows: 40% 30% 30%;
  grid-template-columns: repeat(1, 1fr);
  padding: clamp(12px, calc(12px + (35 - 12) * var(--fluid-280-1920)), 35px);
}

:is(.timetableBox, .processBox) #sub01 li {
  background: #fff;
  border: 1px solid #ebebeb;
  color: #1f1f1f;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.04), 0 4px 10px rgba(0, 0, 0, 0.05),
    0 1px 3px rgba(0, 0, 0, 0.04);
}
:is(.timetableBox, .processBox) #sub01 li figure {
  position: relative;
  height: 70px;
  display: flex;
  align-items: center;
}

:is(.timetableBox, .processBox) #sub01 li figure:before {
  content: "";
  display: inline-block;
  width: 70px;
  height: 70px;
  display: inline-block;
  background: #036db7;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

:is(.timetableBox, .processBox) #sub01 li > span {
  font-weight: var(--bold);
  font-size: 22px;
}

:is(.timetableBox, .processBox) #sub01 li img {
  max-height: 35px;
  width: 100%;
  margin: 0 auto;
  filter: brightness(0) invert(1);
}

.timetableBox #sub01 li span {
  font-weight: var(--normal);
  margin: 30px 0;
}

:is(.timetableBox, .processBox) #sub01 li p {
  font-weight: var(--bold);
  min-height: clamp(26px, calc(26px + (60 - 26) * var(--fluid-280-1920)), 60px);
  letter-spacing: -0.25px;
}

:is(.timetableBox, .processBox) #sub01 section > div > p:nth-of-type(1) {
  margin-top: 35px;
  margin-bottom: 25px;
  font-weight: var(--middle);
}
:is(.timetableBox, .processBox) #sub01 div div {
  font-weight: var(--normal);
}

.timetableBox .docDetailTop {
  padding: 0;
  grid-template-columns: 1fr 3fr;
  grid-template-rows: repeat(2, auto);
  border-bottom: 1px solid #d2d2d2;
  overflow: hidden;
}
.timetableBox .docDetailTop .docImg {
  grid-row: 1 / 3;
  position: relative;
  transform: translateY(40px);
  margin-left: clamp(
    15px,
    calc(15px + (30 - 15) * var(--fluid-280-1920)),
    30px
  );
}
.timetableBox .docDetailTop .docImg::before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  background: #f5f7f9;
  max-width: 200px;
  max-height: 200px;
  width: 100%;
  aspect-ratio: 1/1;
  position: absolute;
  /* top: 47%; */
  top: 28%;
  right: 4%;
  transform: translateY(-50%);
  z-index: -1;
}
.timetableBox .docDetailTop img {
  max-width: 278px;
  /* transform: translateY(17%); */
  grid-row: unset;
}
.timetableBox .docTxt {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
}
.timetableBox .docTxt div:not(.docName) {
  width: 36%;
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
  font-size: clamp(10px, calc(10px + (15 - 10) * var(--fluid-280-1920)), 15px);
}
.timetableBox .docTxt div:not(.docName) p {
  width: 50%;
  padding: clamp(5px, calc(5px + (10 - 7) * var(--fluid-280-1920)), 10px) 0;
  background: var(--color-primary02);
  color: var(--color-white);
  border: 1px solid var(--color-primary02);
  transition: all 0.3s ease 0s;
  min-height: auto;
  font-weight: var(--normal);
  cursor: pointer;
}
.timetableBox .docTxt div:not(.docName) p:nth-of-type(2) {
  background: var(--color-white);
  color: var(--color-primary02);
}
.timetableBox .docTxt div:not(.docName) p a {
  display: inline-block;
  width: 100%;
  height: 100%;
}
/* .timetableBox .docTxt div:not(.docName) p:hover {
  background: #ffb814;
  border: 1px solid #ffb814;
} */
/* .timetableBox .docTxt div:not(.docName) p:hover:nth-of-type(2) {
  border: 1px solid #ffb814;
  color: #ffb814;
  background: #fff;
} */

.timetableBox .tableBox {
  width: 100%;
}
.timetableBox .timetable {
  width: 100%;
  border: none;
  border-top: 2px solid #072037;
  border-radius: 0;
  /* grid-template-columns: 9.222% 15.222% 15.222% 15.222% 15.222% 15.222% 15.222%; */
  grid-template-columns: repeat(7, 1fr);
}
.timetableBox .timetable li {
  border-right: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
  font-size: 15px;
}
.timetableBox .timetable li:nth-of-type(7n) {
  border-right: none;
}
.timetableBox .timetable li.title {
  background: #f5f7f9;
}
.timetable li.am,
.timetable li.pm {
  background: #fffbf2;
}

.timetableBox .subBoxInfo,
.processBox .subBoxInfo,
.admission-guide .subBoxInfo,
.ward-life-guide .subBoxInfo,
.service .subBoxInfo {
  border: none;
  background: #f3f6fc;
  /* margin-bottom: clamp(
    0px,
    calc(0px + (120 - 0) * var(--fluid-280-1920)),
    120px
  ); */
  margin-bottom: 80px;
}
.admission-guide .subBoxInfo {
  margin-bottom: 80px;
}
.timetableBox .subBoxInfo li,
.processBox .subBoxInfo li,
.admission-guide .subBoxInfo li,
.ward-life-guide .subBoxInfo li,
.service .subBoxInfo li {
  font-weight: var(--light);
  display: flex;
  /* column-gap: 10px; */
  align-items: baseline;
  color: var(--color-text);
  line-height: clamp(
    16px,
    calc(16px + (32 - 16) * var(--fluid-280-1920)),
    32px
  );
  text-wrap-style: pretty;
  line-height: 1.2;
  /* margin-bottom: 5px; */
}
.timetableBox #sub01 li p,
.processBox #sub01 li p {
  font-size: 22px;
}
.docDetailTop .empty::after {
  display: block;
  content: "2025년 8월 ~ 2026년 9월 해외 의료연수 중";
  color: var(--color-white);
  font-size: 15px;
  letter-spacing: -1px;
  font-weight: 500;
  background: #16488dbf;
  border-radius: 10px 10px 0 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -40px);
  width: calc(100% - 0px);
  padding: 15px 4px;
  text-align: center;
  word-break: auto-phrase;
  text-wrap-style: balance;
}
.docDetailTop .empty[data-type="김태관원장"]::after {
  content: "2023년 ~ 해외의료연수 중";
}
.timetableBox .timetable li.am,
.timetableBox .timetable li.pm {
  background: #fff;
}

.timetableBox .docTxt {
  align-items: end;
}
.doc_detail .docTxt h5 {
  background: #174c98;
  color: #fff;
  margin-right: auto;
  margin-bottom: 10px;
}

.timetableBox .docName {
  margin-bottom: 20px;
}

.timetableBox .tableBox {
  /* margin-top: 20px; */
  padding: 0;
  margin: 0;
}

.docTimes {
  padding-bottom: 70px;
}

.timetableBox .subBoxInfo {
  margin-bottom: 0;
}

.table_tab li {
  width: 100%;
}

/* 진료안내 */
.processBox #sub01 > section {
  padding-top: 0;
}
.processBox #sub01 .checkTimeBtn {
  display: inline-block;
  color: var(--color-primary02);
  border: 1px solid var(--color-primary02);
  font-size: clamp(11px, calc(11px + (15 - 11) * var(--fluid-280-1920)), 15px);
  padding: 10px 20px;
  letter-spacing: -0.25px;
  font-weight: 500;
  margin-top: 40px;
  font-family: var(--noto-sans);
  transition: all 0.3s ease 0s;
  font-size: 20px;
}
.processBox #sub01 .checkTimeBtn:hover {
  background: var(--color-primary02);
  color: var(--color-white);
}
.processBox #sub01 div:nth-of-type(1) > div {
  width: 100%;
}
.processBox article#sub02 section {
  margin-top: 0;
}
.processBox .subWidth h5,
.admission-guide .subWidth h5 {
  background: none;
  border: none;
  border-radius: 0;
  width: 100%;
  text-align: left;
  font-size: clamp(18px, calc(18px + (25 - 18) * var(--fluid-280-1920)), 25px);
  letter-spacing: -0.3px;
  display: flex;
  align-items: center;
}
.processBox .subWidth h5 span,
.admission-guide .subWidth h5 span {
  background: #004a98;
  border-radius: 15.5px;
  color: var(--color-white);
  font-size: clamp(15px, calc(15px + (16 - 15) * var(--fluid-280-1920)), 16px);
  font-family: var(--suit);
  font-weight: var(--normal);
  padding: 4px 14px;
  letter-spacing: -0.3px;
  text-transform: uppercase;
  margin-right: 15px;
}
.processBox .subWidth h5 span strong,
.admission-guide .subWidth h5 span strong {
  font-size: clamp(16px, calc(16px + (18 - 16) * var(--fluid-280-1920)), 18px);
  font-weight: var(--bold);
}
.processBox #sub02 section > ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, 1fr);
  font-family: var(--noto-sans);
}
.processBox #sub02 section > ul > li,
.admission-guide #sub02 section > ul > li {
  display: flex;
  border: 1px solid #e4e4e4;
  background: var(--color-white);
  border-right: none;
  border-bottom: none;
  padding: clamp(15px, calc(15px + (35 - 15) * var(--fluid-280-1920)), 35px)
    clamp(20px, calc(20px + (40 - 20) * var(--fluid-280-1920)), 40px);
}

.processBox #sub02 section > ul > li:nth-of-type(2n) {
  border-right: 1px solid #e4e4e4;
}
.processBox #sub02 section > ul > li:nth-of-type(n + 5) {
  border-bottom: 1px solid #e4e4e4;
}
.processBox #sub02 section > ul li div:nth-of-type(2),
.admission-guide #sub02 section > ul li div:nth-of-type(2),
.admission-guide #sub04 section > ul li div:nth-of-type(2) {
  align-self: end;
  justify-self: end;
  margin-left: auto;
}

.processBox #sub02 section > ul > li img,
.admission-guide #sub02 section > ul > li img,
.admission-guide #sub04 section > ul > li img {
  width: 100%;
  max-width: 70px;
}

.processBox #sub02 div div p,
.admission-guide #sub02 div div p {
  font-size: clamp(9px, calc(9px + (18 - 9) * var(--fluid-280-1920)), 18px);
}

.processBox #sub02 section > ul ul {
  font-size: clamp(8px, calc(8px + (17 - 8) * var(--fluid-280-1920)), 17px);
  margin-top: clamp(10px, calc(10px + (25 - 10) * var(--fluid-280-1920)), 25px);
}
.processBox #sub02 section > ul ul li {
  display: flex;
  align-items: baseline;
}
.processBox .subBoxInfo {
  margin-bottom: 0;
}

/* 입퇴원안내 */
.admission-guide .sub04_tab,
.ward-life-guide .sub04_tab {
  grid-template-columns: repeat(2, 1fr);
  display: grid;
  font-size: clamp(13px, calc(13px + (16 - 13) * var(--fluid-280-1920)), 16px);
}
.admission-guide .sub04_tab li,
.ward-life-guide .sub04_tab li {
  width: 100%;
}
.admission-guide #sub02 section {
  padding-top: 0;
}
.admission-guide #sub02 ul,
.admission-guide #sub04 ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.admission-guide #sub04 .subBoxInfo ul {
  display: block;
}

.admission-guide .subWidth h5 {
  color: var(--color-primary02);
}
.admission-guide .subWidth h5 span {
  background: var(--color-primary02);
}
.admission-guide .subWidth h5 span strong {
  margin-left: 5px;
}
.admission-guide #sub02 li img,
.admission-guide #sub04 li img {
  max-width: 70px;
  width: 100%;
}

.admission-guide #sub02 section > ul > li,
.admission-guide #sub04 section > ul > li {
  display: flex;
  flex-direction: column;
  border: 1px solid #e4e4e4;
  background: var(--color-white);
  border-right: none;
  padding: clamp(15px, calc(15px + (30 - 15) * var(--fluid-280-1920)), 30px)
    clamp(20px, calc(20px + (30 - 20) * var(--fluid-280-1920)), 30px);
}
.admission-guide #sub02 section > ul > li:nth-of-type(3n),
.admission-guide #sub04 section > ul > li:nth-of-type(3n) {
  border-right: 1px solid #e4e4e4;
}
.admission-guide #sub02 section > ul > li p,
.admission-guide #sub04 section > ul > li p {
  font-size: clamp(9px, calc(9px + (18 - 9) * var(--fluid-280-1920)), 18px);
  word-break: auto-phrase;
}
.admission-guide #sub02 section > ul li div:nth-of-type(2),
.admission-guide #sub04 section > ul li div:nth-of-type(2) {
  margin-top: auto;
}
.admission-guide #sub02 section > ul ul,
.admission-guide #sub04 section > ul ul {
  display: flex;
  flex-direction: column;
  font-size: clamp(9px, calc(9px + (18 - 9) * var(--fluid-280-1920)), 18px);
}
.admission-guide #sub02 section > ul ul li,
.admission-guide #sub04 section > ul ul li {
  display: flex;
  align-items: baseline;
  column-gap: 5px;
}
.admission-guide #sub02 section > ul ul li span,
.admission-guide #sub04 section > ul ul li span {
  font-weight: var(--light);
}

.admission-guide .docBox .subWidth div:not(:last-of-type) {
  margin-bottom: 35px;
}

.admission-guide #sub03 h5.caution {
  color: var(--color-white);
  background: var(--color-accent01);
  border: 1px solid var(--color-accent01);
}
.admission-guide #sub04 h5 span {
  background: var(--color-accent01);
}

.admission-guide #sub03 li {
  display: flex;
  align-items: baseline;
  column-gap: 5px;
}

.admission-guide #sub04 h5 {
  color: var(--color-accent01);
}
.admission-guide #sub04 section:nth-of-type(2n + 1) {
  padding-bottom: 0;
}
.admission-guide #sub04 section:nth-of-type(2n) {
  padding: 0;
}

/* 병실생활안내 */
.ward-life-guide article:not(#sub04, #sub05) p {
  font-weight: var(--normal);
}
.ward-life-guide #sub01 {
  text-align: center;
}
.ward-life-guide #sub02 p {
  color: #ce4040;
}
.ward-life-guide #sub04 li {
  display: flex;
  align-items: baseline;
  margin-bottom: 15px;
}
.ward-life-guide #sub04 li span {
  position: relative;
  margin-right: 25px;
  text-align: center;
  height: 9px;
}
.ward-life-guide #sub04 li span::before {
  content: "";
  display: inline-block;
  background: url(/img/icons/check_d_icon.png) center / contain no-repeat;
  height: 17px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  max-width: 18px;
  width: 18px;
}
.title_border {
  width: 50px;
  height: 3px;
  display: inline-block;
  background: var(--color-primary02);
  margin-bottom: 40px;
}
.ward-life-guide #sub01 p {
  font-weight: var(--light);
  color: var(--color-text);
  letter-spacing: -0.3px;
}
.ward-life-guide #sub01 strong {
  font-weight: var(--normal);
}

/* 간호간병통합서비스, 병원소개 공통  */
.service #sub01 .subWidth {
  padding-top: 0;
}
.service #sub01,
.intro01 #sub01,
.intro03 #sub01 {
  background: linear-gradient(
    to bottom,
    var(--color-white)
      clamp(27%, calc(27% + (30 - 27) * var(--fluid-280-1920)), 30%),
    #f9f9f9 0%
  );
  text-align: center;
  letter-spacing: -0.3px;
  color: var(--color-text);
}

.intro03 #sub01 {
  background: linear-gradient(
    to bottom,
    var(--color-white)
      clamp(13%, calc(13% + (30 - 13) * var(--fluid-280-1920)), 30%),
    #f9f9f9 0%
  );
}

.half_bg {
  background: linear-gradient(
    to bottom,
    var(--color-white)
      clamp(27%, calc(27% + (30 - 27) * var(--fluid-280-1920)), 30%),
    #f9f9f9 0%
  );
  text-align: center;
  letter-spacing: -0.3px;
  color: var(--color-text);
}
.service #sub01 h4,
.intro01 #sub01 h4 {
  padding-top: 100px;
  padding-bottom: 35px;
  /* font-size: clamp(13px, calc(13px + (30 - 13) * var(--fluid-280-1920)), 30px); */
  font-size: clamp(20px, calc(20px + (30 - 20) * var(--fluid-280-1920)), 30px);
  font-weight: var(--normal);
}
.intro01 #sub01 h4 {
  padding-top: 50px;
  font-weight: var(--middle);
}

/*  간호간병통합서비스 */

.service #sub01 p {
  font-weight: var(--light);
}
.service #sub01 img[src*="ward-life02"] {
  padding: 70px 0;
  padding-bottom: 50px;
}
.service .subTable strong {
  font-size: clamp(9px, calc(9px + (18 - 9) * var(--fluid-280-1920)), 18px);
  font-weight: var(--bold);
  color: #ce4040;
}
.service #sub03 {
  padding: 0;
}

#service_process {
  display: flex;
  justify-content: center;
}

#service_process li {
  width: 25%;
  /* margin-right: -8px; */
  margin-right: clamp(
    -8px,
    calc(-5px - ((100vw - 768px) * (3 / (1902 - 768)))),
    -5px
  );
}

#service_process li:last-of-type {
  margin-right: 0;
}

#service_process figure {
  position: relative;
}

#service_process .service_txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}

#service_process .service_txt p {
  font-size: 22px;
  font-weight: var(--middle);
  color: #000000;
  margin-top: 25px;
  letter-spacing: -1px;
}

#service_process li .service_txt02 {
  font-weight: var(--normal);
  letter-spacing: -1px;
  font-size: 17px;
  line-height: 1.25;
  margin-top: 20px;
}

#service_process img {
  max-width: 76px;
  max-height: 75px;
  margin: 0 auto;
}

/* 병원소개 */
.intro01 .subTab {
  margin-bottom: 0;
}
.intro01 #sub01 figure {
  padding-bottom: 70px;
}
.intro01 #sub01 p {
  letter-spacing: -0.3px;
}
.intro01 #sub01 p span {
  font-weight: var(--bold);
}
.intro01 #sub01 p .yellow {
  /* color: var(--color-accent01); */
  color: #161616;
}
.intro01 #sub01 p .blue {
  color: var(--color-primary02);
}
.intro01 #sub02 img {
  margin: 0 auto;
  max-width: 935px;
  width: 100%;
}
.promiseCircle ul {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 30px;
  text-align: center;
}
.promiseCircle ul li {
  position: relative;
}
.promiseCircle ul svg {
  width: 100%;
  max-width: 311px;
}
.intro01_txt {
  position: absolute;
  top: calc(50% - 12px);
  left: calc(50% - 12px);
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-family: var(--suit);
  line-height: 1.3;
  width: 100%;
}

.intro01_txt h6 {
  font-size: 24px;
  font-weight: var(--bold);
  color: #036db7;
}
.intro01_txt span {
  font-size: 19px;
  font-weight: var(--middle);
  color: #036db7;
  margin-bottom: 15px;
}
.yellowIntro .intro01_txt h6 {
  font-size: 24px;
  font-weight: var(--bold);
  color: #eba800;
}
.yellowIntro .intro01_txt span {
  font-size: 19px;
  font-weight: var(--middle);
  color: #eba800;
  margin-bottom: 15px;
}
.promiseCircle .intro01_txt p {
  font-weight: var(--middle);
  letter-spacing: -1.2px;
  line-height: 1.2;
}

.blueCircle .cls-1 {
  stroke: #fff;
  stroke-miterlimit: 10;
}

.blueCircle .cls-1,
.blueCircle .cls-2 {
  fill: #036db7;
}

.blueCircle .cls-3 {
  fill: url(#radial-gradient);
  mix-blend-mode: multiply;
}

.blueCircle .cls-4 {
  fill: #fff;
}

.blueCircle .cls-5 {
  isolation: isolate;
}

.blueCircle .cls-6 {
  fill: url(#linear-gradient);
}
.yellowCircle .cls-1 {
  fill: #ffb814;
}

.yellowCircle .cls-2 {
  fill: url(#radial-gradient);
  mix-blend-mode: multiply;
}

.yellowCircle .cls-3 {
  isolation: isolate;
}

.yellowCircle .cls-4 {
  fill: url(#linear-gradient);
}

.yellowCircle .cls-5 {
  fill: #fffdf8;
}
/* 병원소개 왜 올센인가? */
.intro03List {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.intro03List li {
  width: 100%;
  display: flex;
  align-items: center;
  border: 1px solid #e4e4e4;
  background-color: #fff;
  padding: 50px 65px;
  box-sizing: border-box;
}
.intro03List li .introAlpha {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--noto-sans);
  font-size: 40px;
  font-weight: 500;
  color: #fff;
  margin-right: 45px;
}
.intro03List li:nth-child(odd) .introAlpha {
  background-color: #004a98;
}
.intro03List li:nth-child(odd) .txtTitle {
  color: #004a98;
}
.intro03List li:nth-child(even) .introAlpha {
  background-color: #eba800;
}
.intro03List li:nth-child(even) .txtTitle {
  color: #eba800;
}
.intro03List li .txtBox {
  text-align: left;
  width: calc(100% - 160px);
}
.intro03List li .txtTitle {
  font-size: 28px;
  font-weight: 500;
  margin-bottom: 8px;
}
.intro03List li .txtTitle span {
  font-size: var(--f_20);
  margin-left: 5px;
  font-weight: 400;
}
.intro03List li .txt {
  font-size: 18px;
  line-height: 40px;
  font-weight: 400;
}

/* sub4 하단 공통 */
.subPage article:has(.sub04_bottom) {
  background: url(/img/bg/bottom_bg.png) center right / cover no-repeat;
  width: 100%;
  aspect-ratio: 1920 / 300;
  color: var(--color-white);
  display: flex;
  align-items: center;
}
.sub04_bottom {
  margin: auto;
  margin-top: 0 !important;
}

.sub04_bottom p strong {
  font-weight: var(--middle);
}

.sub04_bottom ul {
  display: flex;
  margin-top: clamp(25px, calc(25px + (50 - 25) * var(--fluid-280-1920)), 50px);
  gap: clamp(5px, calc(5px + (30 - 5) * var(--fluid-280-1920)), 30px);
  font-weight: var(--normal);
  letter-spacing: -0.3px;
  width: 100%;
  max-width: 768px;
  padding-left: 0;
}
.sub04_bottom ul li {
  width: 33.333%;
  border: 1px solid var(--color-white);
  display: flex;
  align-items: center;
  padding: 14px 20px;
  position: relative;
  transition: all 0.3s ease 0s;
  cursor: pointer;
}
.sub04_bottom ul li:hover {
  background: var(--color-white);
  color: var(--color-primary);
}
.sub04_bottom ul li:after {
  content: "";
  display: inline-block;
  background: url("/img/icons/arrow-right.svg") center / contain no-repeat;
  max-width: 31px;
  max-height: 7px;
  width: 100%;
  height: 100%;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

/* 비전 */
.intro02 #sub01 section {
  margin-top: 0;
  /* margin-bottom: clamp(
    55px,
    calc(55px + (110 - 55) * var(--fluid-280-1920)),
    110px
  ); */
}
.intro02 #sub01 .subWidth {
  display: grid;
  grid-template-columns: repeat(1, 100%);
  grid-template-rows: repeat(3, auto);
  row-gap: 25px;
}
.intro02 #sub01 li,
.intro02 #sub01 figure {
  background: var(--color-white);
  display: flex;
  align-items: center;
  column-gap: 50px;
  margin-bottom: 0;
}
.intro02 #sub01 li > div:nth-of-type(1) {
  max-width: 311px;
  width: 100%;
  text-align: center;
  padding: clamp(20px, calc(20px + (40 - 20) * var(--fluid-280-1920)), 40px)
    clamp(25px, calc(25px + (50 - 25) * var(--fluid-280-1920)), 50px);
  background: #004a98;
  color: var(--color-white);
  border-radius: 10px 0 0 10px;
  position: relative;
}
.intro02 #sub01 li > div:nth-of-type(1)::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 0;
  height: 0;
  border-top: 8.5px solid transparent;
  border-bottom: 8.5px solid transparent;
  border-left: 20px solid var(--color-primary);
  right: -18px;
  top: 50%;
  transform: translateY(-50%);
}
.intro02 #sub01 li:nth-of-type(2n) > div:nth-of-type(1) {
  background: #eba800;
}
.intro02 #sub01 li:nth-of-type(2n) > div:nth-of-type(1)::after {
  border-left: 20px solid #eba800;
}

.intro02 #sub01 li h4 {
  font-size: clamp(15px, calc(15px + (33 - 15) * var(--fluid-280-1920)), 33px);
  letter-spacing: -0.5px;
  font-family: var(--GMarket);
  margin-bottom: 10px;
}
.intro02 #sub01 li span:not(.mo_block) {
  font-size: clamp(10px, calc(10px + (20 - 10) * var(--fluid-280-1920)), 20px);
  font-weight: var(--middle);
}

.intro02 #sub01 img {
  max-width: 69px;
  width: 100%;
}

.intro02 #sub01 li p {
  font-size: clamp(
    9.5px,
    calc(9.5px + (19 - 9.5) * var(--fluid-280-1920)),
    19px
  );
  font-weight: 400;
  letter-spacing: -0.25px;
  line-height: 30px;
  margin-bottom: 0;
}

.intro03 .subTab {
  margin-bottom: 0;
}
.intro03 img[src*="intro03_1.png"] {
  margin-bottom: clamp(
    50px,
    calc(50px + (110 - 50) * var(--fluid-280-1920)),
    110px
  );
}

/* 인사말_greeting.php */
.greeting_top {
  /* background: url(/img/bg/greeting_bg_m.png) right bottom / contain no-repeat; */
  width: 100%;
  height: 100%;
  background-size: 80%;
  background-origin: padding-box;
  background-size: auto;
  border-bottom: 1px solid #d0d0d0;
  position: relative;
  padding-bottom: 0;
  display: grid;
  grid-template-columns: 50% 50%;
  padding-top: 0;
}
.greeting_top::before {
  content: "";
  background: url(/img/bg/detail_bg.png) right top / cover no-repeat;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) scaleX(-1);
  z-index: -1;
  width: 100%;
  height: 100%;
}
.greeting_top img {
  max-width: 325px;
}
.greeting_top div {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: var(--noto-sans);
  font-weight: var(--normal);
}
.greeting_top div:has(img[src*="greeting_doc"]) {
  padding-top: 30px;
  margin-left: 29%;
}
.greeting_top h3 {
  font-size: 34px;
  margin-bottom: 30px;
  /* width: 50%; */
  line-height: 1.3;
}
.greeting_top h3 strong {
  color: #174c98;
  font-size: 36px;
}
.greeting_top #sub01 p {
  width: auto;
  display: inline-block;
}
.greeting #sub01 {
  font-family: var(--suit);
  padding: 0;
}
.greeting #sub01 h4 {
  font-size: var(--f_36);
  letter-spacing: -0.3px;
  line-height: clamp(
    25px,
    calc(25px + (50 - 25) * var(--fluid-280-1920)),
    50px
  );
  font-weight: var(--middle);
}
/* 부제목 */
.greeting #sub01 p {
  font-size: var(--f_25);
  line-height: clamp(
    20px,
    calc(20px + (45 - 20) * var(--fluid-280-1920)),
    45px
  );
  letter-spacing: -0.5px;
  margin-bottom: clamp(
    15px,
    calc(15px + (40 - 15) * var(--fluid-280-1920)),
    40px
  );
  text-wrap-style: pretty;
}

/* 본문 */
/* .subPage:has(.greetingBox) .subTop {
  margin-bottom: 0;
} */
.greeting #sub02 .subWidth {
  padding-top: 100px;
}
.greetingBox::after {
  /* content: ""; */
  display: block;
  position: absolute;
  background: url(/img/bg/greeting_bg.png) top right / contain no-repeat;
  /* background-size: 80%; */
  background-size: 70%;
  padding-top: clamp(
    45px,
    calc(45px + (90 - 45) * var(--fluid-280-1920)),
    90px
  );
  top: 15%;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.greeting #sub02 p {
  font-size: var(--f_20);
  font-weight: var(--light);
  font-family: var(--suit);
  letter-spacing: -0.25px;
  line-height: clamp(
    15px,
    calc(15px + (32 - 15) * var(--fluid-280-1920)),
    32px
  );
  margin-bottom: var(--f_45);
}
/* .greeting #sub02 p:not(p:last-of-type) {
  margin-bottom: var(--f_45);
} */

.greeting #sub02 .writer {
  font-weight: 700;
  /* font-size: 24px; */
  font-size: 28px;
  line-height: 45px;
  letter-spacing: -0.5px;
  font-family: var(--suit);
}
.greeting #sub02 .writer strong {
  font-weight: var(--bold);
  color: var(--color-primary);
  font-size: 32px;
}

.greetingBox .greeting_txt p {
  width: 75%;
  font-family: var(--suit);
}
.greetingBox .greeting_txt p:nth-last-child(1),
.greetingBox .greeting_txt p:nth-last-child(2) {
  width: 100%;
}
.greetingBox .greeting_txt p:nth-last-child(3) {
  width: 65%;
}

/* 연혁 */
.history01 .subTab,
.yearBox,
.device .subTab {
  padding: 0 clamp(20px, calc(20px + (80 - 20px) * var(--fluid-280-1920)), 80px);
  font-family: var(--suit);
}

.history01 .subTab li {
  width: calc(50% - 4px);
}
.yearBox {
  display: flex;
  font-family: var(--suit);
  column-gap: 65px;
}
.yearBox > ul {
  font-size: clamp(10px, calc(10px + (20 - 10) * var(--fluid-280-1920)), 20px);
  letter-spacing: -0.25px;
  width: 20%;
  font-weight: var(--bold);
}
.yearBox > div {
  width: 80%;
}
.yearBox > div > div {
  display: none;
}
.yearBox > div > div.on {
  display: block;
}
.yearBox > ul li {
  padding: clamp(10px, calc(10px + (15 - 10) * var(--fluid-280-1920)), 15px) 0;
  transition: all 0.3s ease 0s;
}
.yearBox > ul li.on,
.yearBox > ul li:hover {
  border-bottom: 2px solid #036db7;
  padding: clamp(15px, calc(15px + (25 - 15) * var(--fluid-280-1920)), 25px) 0;
}
.yearBox > ul li.on a,
.yearBox > ul li:hover a {
  color: #036db7;
}
.yearBox .yearTxt h4 {
  font-weight: var(--extraBold);
  font-family: var(--suit);
  font-size: clamp(28px, calc(28px + (80 - 28) * var(--fluid-280-1920)), 80px);
  letter-spacing: -0.5px;
  color: #036db7;
  padding-right: clamp(
    30px,
    calc(30px + (70 - 30) * var(--fluid-280-1920)),
    70px
  );
  margin-bottom: 0;
  width: 34%;
  line-height: clamp(
    25px,
    calc(25px + (50 - 25) * var(--fluid-280-1920)),
    50px
  );
}
.yearTxt {
  display: flex;
  align-items: flex-start;
}
.yearTxt ul {
  row-gap: 25px;
  display: flex;
  flex-direction: column;
  width: 66%;
  position: relative;
  border-left: 2px solid #e0e0e0;
  padding-bottom: 40px;
  transition: all 0.3s ease 0s;
  padding-bottom: clamp(
    40px,
    calc(40px + (80 - 40) * var(--fluid-280-1920)),
    80px
  );
}

.yearTxt ul li:hover:after {
  background: #036db7;
}
.yearBox .yearTxt:nth-of-type ul {
  padding-top: 0;
}
.yearTxt ul li {
  display: flex;
  column-gap: 10px;
  font-size: clamp(8px, calc(8px + (17 - 8) * var(--fluid-280-1920)), 17px);
  font-family: var(--noto-sans);
  transition: all 0.3s ease 0s;
  transform: translateY(-10px);
  padding-left: clamp(
    30px,
    calc(30px + (70 - 30) * var(--fluid-280-1920)),
    70px
  );
}
.yearTxt ul li:after {
  content: "";
  width: 10px;
  height: 10px;
  display: inline-block;
  background: #e0e0e0;
  position: absolute;
  left: -6px;
  border-radius: 50%;
  transform: translateY(-50%);
  top: 10px;
}
.yearTxt span {
  font-weight: var(--bold);
  width: 100%;
  max-width: clamp(20px, calc(20px + (50 - 20) * var(--fluid-280-1920)), 50px);
}
.yearTxt div {
  font-weight: var(--normal);
  letter-spacing: -0.5px;
  width: 80%;
}
.yearTxt div p {
  letter-spacing: -0.5px;
  text-wrap-style: pretty;
}

/* 의료장비소개 */
.subPage.device #sub01 > div {
  display: none;
}
.subPage.device #sub01 > div.on {
  display: block;
}
.subPage.device #sub01 figure > div {
  max-height: 285px;
  height: 100%;
  aspect-ratio: 328 / 285;
  margin-bottom: clamp(
    20px,
    calc(20px + (40 - 20) * var(--fluid-280-1920)),
    40px
  );
}
.device #sub01 div ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, calc(20px + (40 - 20) * var(--fluid-280-1920)), 40px);
  padding-left: 0;
}

.device #sub01 div ul li {
  border: 1px solid #eaeaea;
  padding: clamp(25px, calc(25px + (55 - 25) * var(--fluid-280-1920)), 55px)
    clamp(15px, calc(15px + (35 - 15) * var(--fluid-280-1920)), 35px);
}

.device #sub01 div ul li img {
  margin: 0 auto;
  height: 100%;
  object-fit: contain;
}
.device div > ul li h4 {
  /* font-size: clamp(15px, calc(15px + (22 - 15) * var(--fluid-280-1920)), 22px); */
  font-size: clamp(18px, calc(18px + (22 - 18) * var(--fluid-280-1920)), 22px);
  font-weight: var(--bold);
  letter-spacing: -0.5px;
  font-family: var(--suit);
  text-decoration: underline;
  color: #036db7;
}

.device div > ul li p {
  /* font-size: clamp(8px, calc(8px + (17 - 8) * var(--fluid-280-1920)), 17px); */
  font-weight: var(--semiLight);
  letter-spacing: -0.25px;
  color: #161616;
}
.devices_notice {
  width: 100%;
  background: #f3f6fc url(/img/sub/devices_bottom_icon.png) no-repeat 42px 42px;
  /* padding: 50px 10px 45px 90px; */
  padding: 30px 20px;
  box-sizing: border-box;
  margin-bottom: 120px;
}
.device .devices_notice {
  background: #f3f6fc;
}
.devices_notice h4 {
  font-weight: 500;
  margin-bottom: 10px;
}
.devices_notice p {
  display: flex;
}
.f_17px {
  font-size: 17px;
}
.plus_info {
  margin-top: 28px;
  padding-top: 16px;
  border-top: 1px solid #e5e5e5;
  color: #666;
  font-size: 17px;
  line-height: 1.6;
}

/* 병원미리보기 */
.preview #sub01 {
  padding: 0 0 50px 0;
}
.preview #sub02 {
  display: flex;
  /* padding: 0 clamp(20px, calc(20px + (80 - 20) * var(--fluid-280-1920)), 80px); */
  gap: clamp(15px, calc(15px + (25 - 15) * var(--fluid-280-1920)), 25px);
  padding-bottom: clamp(
    25px,
    calc(25px + (50 - 25) * var(--fluid-280-1920)),
    50px
  );
}

.preview #sub02 div:has(.floor) {
  width: 36%;
}
.preview #sub02 div:has(.preview_swiper) {
  width: 64%;
  /* aspect-ratio: 900 / 723; */
  aspect-ratio: 945 / 639;
  height: 100%;
  border: 1px solid #e0e0e0;
  display: flex;
  align-items: center;
}
.preview #sub02 div:has(.preview_swiper) > div {
  height: 100%;
}
.preview #sub02 div:has(.preview_swiper) > div img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.preview #sub02 div:has(.floor) li.on {
  position: relative;
}
.preview #sub02 div:has(.floor) li.on,
.preview #sub02 div:has(.floor) li.on .floor {
  background: #036db7;
}

.preview #sub02 div:has(.floor) li.on .space {
  color: #fff;
}

/* .preview #sub02 div:has(.floor) li.on:after {
  content: "\27F6";
  font-size: 20px;
  display: inline-block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
} */
.preview #sub02 div:has(.floor) li {
  display: flex;
  background: #efefef;
  color: #fff;
  font-family: var(--noto-sans);
  font-weight: var(--middle);
  font-size: clamp(9px, calc(9px + (18 - 9) * var(--fluid-280-1920)), 18px);
  display: grid;
  grid-template-columns: 27% 73%;
  align-items: center;
  height: 100%;
  border-bottom: 1px solid #fff;
}
.preview #sub02 div:has(.floor) li p {
  font-weight: var(--middle);
  height: 100%;
}
.floor {
  text-align: center;
  background: #6e6e6e;
  padding: 14.5px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.space {
  color: #6e6e6e;
  padding: 14.5px 10px;
  display: flex;
  flex-direction: column;
}
.space:not(:last-of-type) {
  padding-bottom: 0;
}
.space span {
  font-size: clamp(10px, calc(10px + (15 - 10) * var(--fluid-280-1920)), 15px);
}
.preview_swiper .swiper-button-prev,
.preview_swiper .swiper-button-next {
  filter: contrast(0.1) brightness(0.8);
}

/* 진료센터 */
.subPage.center01 .subTop {
  margin-bottom: 0;
}
.centerGate #sub02 {
  background: url(/img/sub/centerGate_bg.png) no-repeat bottom right;
}
.centerGate #sub02 .subWidth {
  padding: 0;
}
.centerGate .centerGate_list {
  flex-wrap: wrap;
  gap: 20px;
}
.centerGate .centerGate_list li {
  width: calc(100% / 3 - 15px);
  /* width: 480px; */
  height: 410px;
  background-image: linear-gradient(
    -60deg,
    #cadbeb 0%,
    #e8f4fe 40%,
    #c8deec 100%
  );
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
}
.centerGate .centerGate_list li a {
  width: 100%;
  height: 100%;
  padding: 65px 60px 60px;
  box-sizing: border-box;
  align-items: flex-start;
}
.centerGate .centerGate_list li:nth-child(1) a {
  background: url(/img/sub/centerGate_bg01.png) no-repeat center right;
}
.centerGate .centerGate_list li:nth-child(2) a {
  background: url(/img/sub/centerGate_bg02.png) no-repeat center right;
}
.centerGate .centerGate_list li:nth-child(3) a {
  background: url(/img/sub/centerGate_bg03.png) no-repeat bottom right;
}
.centerGate .centerGate_list li:nth-child(4) a {
  background: url(/img/sub/centerGate_bg04.png) no-repeat top right;
}
.centerGate .centerGate_list li:nth-child(5) a {
  background: url(/img/sub/centerGate_bg05.png) no-repeat center right;
}
.c_004a98 {
  color: #004a98;
}
.centerGate .centerGate_list li a h2,
.centerGate .centerGate_list li a p {
  font-family: var(--noto-sans);
  letter-spacing: -1px;
}
.centerGate .centerGate_list li a h2 {
  font-weight: 700;
}
.centerGate .centerGate_list li a p {
  font-weight: 400;
}
.centerGate .centerGate_list li a .con {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  margin: 23px 0 15px;
  box-sizing: border-box;
}
.centerGate .centerGate_list li a .con p {
  background-color: #fff;
  padding: 5px 13px;
  border-radius: 50px;
}
.centerGate .centerGate_list li a .bot {
  max-width: 300px;
  width: 100%;
  height: 47px;
  background-color: #004a98;
  padding: 0 20px;
  box-sizing: border-box;
}
.centerGate .centerGate_list li a .bot p {
  color: #fff;
}
.centerGate_list li img {
  transition: transform 0.3s ease;
}
/* hover 시 화살표 좌우로 살짝 움직이기 */
.centerGate_list li:hover img {
  animation: arrowMove 0.5s ease-in-out infinite;
}
/* 애니메이션 정의 */
@keyframes arrowMove {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(5px);
  } /* 오른쪽으로 5px 이동 */
  100% {
    transform: translateX(0);
  }
}
.centerGate #sub03 .subWidth {
  max-width: 1280px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.centerGate #sub03 .subWidth p {
  font-weight: var(--semiLight);
  letter-spacing: -1px;
  font-size: 40px;
  font-family: var(--noto-sans);
  margin: 60px 0 100px;
  box-sizing: border-box;
}
.centerGate #sub03 .subWidth img {
  width: 100%;
  object-fit: contain;
}
.centerGate #sub04 {
  background: url(/img/sub/centerGate_bottom_bg.png) no-repeat center;
  margin-top: 100px;
  height: 300px;
  display: flex;
  align-items: center;
}
.centerGate #sub04 .subWidth {
  max-width: 1280px;
}
.centerGate .centerBottom_list {
  gap: 20px;
}
.centerGate .centerBottom_list li {
  border: 3px solid #fff;
  border-radius: 50px;
  width: calc(100% / 4);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.centerGate .centerBottom_list li:hover {
  border-color: #ffbf3f;
  background-color: #ffbf3f;
}
.centerGate .centerBottom_list li a {
  display: flex;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 14px 0 15px;
  box-sizing: border-box;
}
.centerGate .centerBottom_list li a > div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.centerGate .centerBottom_list li a h6 {
  color: #fff;
  font-weight: 600;
  width: 100%;
}
.centerGate .centerBottom_list li a span {
  width: 45px;
}
.f_22 {
  font-size: 22px;
}

.center01 .centerUl {
  display: grid;
  grid-template-columns: repeat(5, calc(20% - 16px));
  align-items: center;
  height: 100%;
  gap: 20px;
}
.centerUl li {
  background: #e9e9e9;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 50px 0;
  transition: all 0.3s ease 0s;
  overflow: hidden;
}
.centerUl li:hover {
  background: #194d99;
  color: #fff;
}
.centerUl figure {
  width: 130px;
  margin: 0 auto;
  height: 130px;
  background: #fff;
  border-radius: 50%;
}

.centerUl figure img {
  max-width: 71px;
  margin: 0 auto;
}

.centerUl li div div {
  margin: 45px 0;
}

.centerUl .f_23 {
  font-weight: var(--middle);
}

.centerUl .right-arrow {
  filter: brightness(0.1);
  transition: all 0.3s ease 0s;
}

.centerUl li:hover .right-arrow {
  filter: brightness(1);
  /* transform: translateX(100%); */
}

/* 서브 배너 스타일 */
.subBanner {
  position: relative;
  user-select: none;
}
:is(.history01, .history02) .subBanner:before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: linear-gradient(
    to right,
    rgb(230 237 245),
    rgb(230 237 245),
    rgb(255 255 255 / 0%),
    rgb(255 255 255 / 0%)
  );
  mix-blend-mode: lighten;
}
.subBanner > div {
  position: absolute;
  top: 35%;
  left: 10%;
  text-align: left;
  transform: translateY(-50%);
}
.subBanner h3 {
  font-size: 34px;
  letter-spacing: -1px;
  margin-bottom: 20px;
  position: relative;
  font-weight: var(--normal);
  word-break: auto-phrase;
}
.subBanner h3 span {
  display: block;
}
.subBanner p {
  letter-spacing: -0.3px;
  font-size: 27px !important;
}
.centerGate .subBanner p:nth-of-type(1) {
  margin-bottom: 10px;
}
:is(.history01, .history02, .intro03, .device) .subBanner > div {
  top: 50%;
}

:is(.greeting, .device, .centerGate) .subBanner > div {
  color: #fff;
  top: 50%;
  width: calc(100% - 10%);
}

/* 애니메이션 */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 반응형 1688px */
@media (max-width: 1688px) {
  .subProSwiper .swiper-button-next,
  .subProSwiper .swiper-button-prev {
    display: none;
  }
  .subProSwiper .swiper-scrollbar {
    display: block;
    padding-bottom: 10px;
  }

  /* 인사말 1688px */
  .greetingBox::after {
    background-size: 90%;
    top: 20vw;
    right: -10vw;
  }
}

/* 반응형 1480px */
@media (max-width: 1480px) {
  /* 센터소개 1480px */
  .centerGate .centerGate_list li {
    width: calc(100% / 2 - 15px);
  }
  .centerGate .centerGate_list li a {
    padding: 65px 30px 60px;
  }
  .centerGate .centerGate_list li a .con {
    flex-wrap: wrap;
  }
}
/* 반응형 1024px */
@media (max-width: 1024px) {
  /* doc01.php 1024px */
  .table_wrap {
    width: 100%;
    max-width: 1024px;
    overflow-x: auto;
  }
  .table_wrap .subTable {
    min-width: 1024px;
  }

  #sub03:has(.docCards) {
    padding: 0;
  }
  .subBoxInfo {
    width: calc(100% - 20px);
  }
  .center_tab {
    grid-template-columns: repeat(4, 1fr);
  }
  .docCards {
    grid-template-columns: repeat(3, 1fr);
  }
  .detailTopBox {
    aspect-ratio: unset;
    background-size: cover;
  }
  .docDetailTop {
    padding-bottom: 0;
  }

  /* 간호간병통합서비스 1024px */
  #service_process .service_txt p {
    font-size: 16px;
    margin-top: 10px;
  }
  #service_process li .service_txt02 {
    font-size: 15px;
    text-wrap-style: balance;
    padding: 0 5px;
    word-break: auto-phrase;
  }

  /* 연혁 1024px */
  .yearBox {
    flex-direction: column;
    row-gap: 50px;
  }
  .yearBox > ul {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-around;
  }
  .yearBox > div {
    width: 100%;
  }

  /* 병원미리보기 */
  .preview #sub01 {
    padding: 0 0 30px 0;
  }
  .preview #sub02 {
    flex-direction: column;
  }
  .preview #sub02 div:has(.floor),
  .preview #sub02 div:has(.preview_swiper) {
    width: 100%;
  }

  /* 병원센터 */
  .center01 .centerUl {
    grid-template-columns: repeat(3, calc(33.333% - 7px));
    gap: 10px;
  }

  /* 인사말 1024px */
  .greetingBox::after {
    top: 50vw;
    right: -10vw;
  }
  .greeting_top::before {
    background: url(/img/bg/detail_bg.png) right top / contain no-repeat;
  }
  .greeting_top img {
    max-width: 274px;
  }
}
/* 모바일 반응형 시작 */
/* 반응형 768px */
@media (max-width: 768px) {
  .tc768 {
    text-align: center;
  }
  /* 헤더 768px */
  header {
    backdrop-filter: blur(10px);
    border-bottom: 1px solid #bbbbbb;
    background: rgb(255, 255, 255);
  }
  header .logo a {
    background: url("/img/logo/logo_hover.svg") no-repeat center / contain;
    aspect-ratio: 171 / 50;
  }

  header .dep1 > a {
    color: #0e2f5d;
  }

  header .changeColor {
    filter: brightness(0.31);
  }

  header .menu span {
    border-top: 2px solid #4f4f4f;
  }
  header .menu span {
    border-top: 3px solid #004a98;
  }
  main {
    margin-top: 0;
  }
  .table_wrap {
    max-width: 768px;
  }
  .table_wrap .subTable {
    min-width: 768px;
  }
  /* 공통서브탭 */
  .subTabMenu {
    display: flex !important;
  }
  .subPage .subTitle {
    font-size: 34px;
    padding: 44px 0;
    font-weight: var(--middle);
  }
  .subWidth {
    padding: 30px 10px;
  }
  .location02 #sub03,
  .doc03 .subBoxInfo {
    margin-bottom: 30px;
  }
  .subPage article section:not(:last-of-type) {
    margin-bottom: 30px;
  }
  .subTopBox {
    width: 100%;
  }
  .subTab {
    margin-bottom: 0;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 0;
  }
  .subTab li {
    width: calc(50% - 4px);
    font-size: 16px;
  }
  .table_tab li {
    width: 100%;
  }
  .subTab li a {
    padding: 12px 0;
  }
  .subTop {
    display: none;
  }
  .subTop h2 {
    font-size: clamp(
      20px,
      calc(20px + (64 - 20) * var(--fluid-280-1920)),
      64px
    );
  }
  .doc01 .subTab,
  .doc02 .subTab,
  .doc03 .subTab {
    margin-bottom: 30px;
    padding: 0 10px;
  }
  .subPage article p:not(.plus_info) {
    font-size: 15px !important;
    letter-spacing: -1px !important;
    line-height: 24px !important;
  }
  .plus_info {
    display: flex;
    column-gap: 5px;
  }
  .subBoxInfo {
    padding: 20px 10px;
  }
  .subBoxInfo img {
    margin-bottom: auto;
  }
  /* .subBoxInfo div {
    padding-top: 10px;
  } */
  .sub_txt {
    margin-bottom: 20px;
  }
  .subWidth h5,
  .admission-guide #sub03 h5 {
    font-size: 18px;
  }
  .listUl {
    font-size: 15px;
  }
  .listUl li:not(li:last-of-type) {
    margin-bottom: 5px;
  }
  .subPage article h4 {
    margin-bottom: 17px;
  }
  .docBox .subWidth.flex-start,
  .subWidth .column768 {
    flex-direction: column;
    row-gap: 30px;
    align-items: flex-start;
  }
  .subWidth .column768 div:nth-of-type(2) {
    margin-bottom: 20px;
  }
  .docBox .flex-column {
    flex-direction: column;
    row-gap: 30px;
  }
  .subTop ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
    height: auto;
    gap: 10px;
    padding: 0 10px;
    bottom: 10px;
  }

  .subTop ul li {
    color: #fff;
    /* padding: 12px 0; */
    font-size: 15px;
    background: #fff;
    color: #434343;
  }

  .subTop ul li.on {
    background: #174c98;
    color: #fff;
  }
  .subTop ul li a {
    padding: 12px 0;
  }
  .donwloads {
    margin-top: 30px;
  }
  .subPage .goLinkBtn {
    flex-direction: column;
    gap: 10px;
  }
  .subPage .goLinkBtn li {
    width: 100%;
  }
  .subPage .goLinkBtn a {
    font-size: 17px;
    width: 100%;
    justify-content: center;
    align-items: center;
  }
  .table_info {
    padding: 30px 20px;
  }
  .processUl {
    padding: 30px;
  }
  .processUl ul {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, 1fr);
    row-gap: 40px;
  }
  .processUl .grid_row2 {
    grid-template-rows: repeat(2, 1fr);
  }
  .processUl li {
    display: flex;
    column-gap: 30px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
  }
  .processUl li p {
    width: 100%;
    word-break: auto-phrase;
    text-wrap-style: pretty;
    text-align: center;
  }
  .processUl .num_process {
    border: 6px solid transparent;
    width: 80px;
    height: 80px;
  }
  .processUl li:before {
    content: "";
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 2px solid transparent;
    width: 100%;
  }
  .processUl li:has(.num01):before {
    background: linear-gradient(#f8fbff, #f8fbff) padding-box,
      /* 내부 채우기 */
        linear-gradient(180deg, #00cfe5, #00b8dc 50%, #f8fbff 50%) border-box;
  }
  .processUl li:has(.num02):before {
    background: linear-gradient(#f8fbff, #f8fbff) padding-box,
      /* 내부 채우기 */
        linear-gradient(180deg, #2dacfd, #36b2fa 50%, #f8fbff 50%) border-box;
  }
  .processUl li:has(.num03):before {
    background: linear-gradient(#f8fbff, #f8fbff) padding-box,
      /* 내부 채우기 */
        linear-gradient(180deg, #5290fd, #5da2fd 50%, #f8fbff 50%) border-box;
  }
  .processUl .num_process:after {
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 18px;
  }
  .processUl ul:before {
    display: none;
  }
  .mapBox .map {
    height: 470px !important;
  }
  .admission-guide #sub02 section > ul ul li,
  .admission-guide #sub04 section > ul ul li {
    justify-content: center;
  }

  /* 의료진 소개 768px */
  .doc_intro .txtBox {
    background: url(/img/bg/doc_intro_bg.jpg) 100% 100% / cover no-repeat;
    width: 100%;
    height: 100%;
    padding: 80px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .doc_intro .txtBox h4 {
    font-size: 16px;
    margin-bottom: 20px;
    line-height: 1.5;
    position: relative;
  }
  .doc_intro .txtBox h4:after {
    content: "";
    display: inline-block;
    width: 22px;
    height: 1px;
    background: #111111;
    left: 50%;
    top: -30px;
    transform: translateX(-50%);
    position: absolute;
  }
  .docCards li h4 span {
    font-size: 28px;
  }
  .doc_intro .txtBox p {
    font-size: 20px;
  }

  .txtBox h4 {
    font-weight: var(--normal);
  }
  .txtBox h4 span {
    font-size: 28px;
    font-weight: 700;
  }
  .txtBox p {
    line-height: normal;
    font-weight: var(--normal);
  }
  .docCards_tit h3 {
    font-size: 18px;
    padding: 10px 0;
    border-bottom: 2px solid #036db7;
    margin-bottom: 30px;
    font-weight: var(--normal);
  }
  .center_tab {
    margin-bottom: 30px;
    gap: 10px;
  }
  .center_tab li {
    width: 100%;
  }
  .docCards {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .docDetailTop > div {
    width: 100%;
    padding: 30px 10px;
    padding-bottom: 0;
    gap: 10px;
  }
  .detailTopBox {
    background-image: none;
    padding-top: 0;
  }
  .docDetailTop {
    grid-template-columns: 1fr;
    padding: 0;
  }
  .docDetailTop h2 {
    /* font-size: 30px; */
    font-size: clamp(24px, 5vw, 30px);
    text-align: center;
  }
  .tableBox {
    flex-direction: column;
    row-gap: 10px;
    width: 100%;
    margin-top: 0;
    grid-column: 1;
  }
  .subPage article p.tableBtn {
    height: auto;
    width: 100%;
    padding: 10px 0;
    font-size: 18px;
    /* margin-bottom: 30px; */
  }
  .timetable {
    width: 100%;
  }
  .tableBtn br {
    display: none;
  }
  .docDetailTop .detailImg {
    grid-row: 1;
    background: url(/img/bg/detail_bg.png) left top / contain no-repeat;
    background-size: cover;
    border-bottom: 1px solid #dddddd;
    padding: 0;
  }
  .docDetailTop img {
    padding-top: 60px;
    margin: 0 auto;
    max-width: 260px;
  }
  .docTxt {
    grid-row: 2;
    margin-top: unset;
  }

  .docName ul {
    line-height: 12px;
  }
  .docName li:nth-of-type(2) {
    border-left: 1px solid #000000;
  }
  .docTabs {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    border-bottom: none;
  }
  .docTabs li {
    border-radius: 7px;
    border: 1px solid var(--color-primary02);
  }
  div[data-con="datail01"],
  div[data-con="datail02"],
  div[data-con="datail03"],
  div[data-con="datail04"] {
    padding: 30px 10px;
  }

  div[data-con="datail01"] h4,
  div[data-con="datail02"] h4,
  div[data-con="datail03"] h4,
  div[data-con="datail04"] h4 {
    margin-bottom: 20px !important;
  }
  div[data-con="datail01"] li,
  div[data-con="datail02"] li,
  div[data-con="datail03"] li,
  div[data-con="datail04"] li {
    column-gap: 4px;
    line-height: 24px;
  }

  .subProSwiper {
    padding-bottom: 10px;
  }
  .subProSwiper .swiper-wrapper {
    margin-bottom: 30px;
  }
  .subProSwiper .swiper-slide div {
    padding: 10px;
  }
  .subProSwiper .swiper-slide a > div > p {
    min-height: auto;
    line-clamp: 2;
    box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .subProSwiper .swiper-slide figure > img {
    aspect-ratio: 168 / 120;
  }
  .subProSwiper .swiper-pagination {
    display: block;
    bottom: 20px;
  }
  .subProSwiper .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #036db7;
    width: 25px;
    height: 8px;
    border-radius: 4px;
    bottom: 20px;
  }
  .subProSwiper .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: #cacaca;
  }
  .tagBox {
    line-height: 0.9;
  }
  .tag_txt {
    border: none;
    padding: 0;
    border-radius: 0;
  }
  .doc_detail .btn_box {
    padding: 0 10px;
    margin: 20px 0;
  }
  .doc_detail .detail_btn {
    width: 100%;
    border-radius: 7px;
  }

  /* 오시는길 768px */
  .mapTxt {
    position: unset;
    transform: unset;
    width: 100%;
  }
  .map_arrow_icon {
    display: none;
  }

  .location .mapBox > p,
  .doc_intro .txtBox p {
    font-size: 20px !important;
  }
  .subPage #sub01.mapBox > div {
    margin: 30px 0;
  }
  .sub04_tab {
    margin-bottom: 30px;
  }
  .sub04_tab[data-target] li,
  .sub04_tab li[data-target] {
    width: calc(50% - 4px);
  }
  .subway li,
  .bus li,
  .train li,
  .airplane li {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 10px;
    margin-bottom: 20px;
  }
  .subPage ul.subway p,
  .subPage ul.bus p,
  .subPage ul.train p,
  .subPage ul.airplane p {
    padding-left: 10px;
    font-size: 15px;
  }
  .location .mapBox > h4 {
    font-size: 24px;
    text-wrap-style: balance;
    word-break: auto-phrase;
  }
  /* 의료진 시간표 768px */
  /* .timetableBox #sub01 {
    margin-bottom: 30px;
  } */
  .table_tab {
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 30px;
  }

  .timetableBox #sub01 ul,
  .processBox #sub01 ul {
    row-gap: 10px;
    align-items: center;
    justify-content: center;
    grid-template-columns: repeat(1, 1fr);
    column-gap: 5px;
  }
  .timetableBox #sub01 li,
  .processBox #sub01 li {
    align-items: center;
    justify-content: center;
    padding: 15px 10px;
    display: flex;
    row-gap: 7px;
    width: 100%;
    margin: 0 auto;
    aspect-ratio: auto;
    padding: 12px;
  }
  .timetableBox #sub01 li span,
  .processBox #sub01 li span {
    margin: 0;
  }
  .timetableBox .docTxt {
    margin-bottom: auto;
  }
  .timetableBox .tableBox {
    z-index: 1;
  }
  .docName {
    margin-bottom: 30px;
  }

  .timetableBox #sub01 > section,
  .processBox #sub01 > section {
    flex-direction: column;
    padding: 30px 10px;
  }
  .processBox #sub01 > section {
    padding-top: 30;
  }

  .timetableBox #sub01 h4,
  .processBox #sub01 h4 {
    width: 100%;
    text-align: left;
    margin-bottom: 30px !important;
  }

  .timetableBox #sub01 div:nth-of-type(1),
  .processBox #sub01 div:nth-of-type(1) {
    width: 100%;
    min-height: auto;
  }

  .timetableBox .docDetailTop {
    grid-template-columns: 1fr;
  }

  .timetableBox .docDetailTop .docImg {
    grid-row: 1;
    overflow: hidden;
    transform: translateY(0);
    border-bottom: 1px solid #d2d2d2;
    margin-left: 0;
  }

  .timetableBox .docDetailTop img {
    transform: translateY(40px);
  }

  .timetableBox .docDetailTop .docImg::before {
    right: 50%;
    left: 50%;
    transform: translate(-40%, -50%);
  }

  .docDetailTop .empty::after {
    bottom: 0;
    width: calc(100% - 20px);
    margin: 0 auto;
    transform: translate(-50%, 0px);
  }
  .processBox #sub02 section > ul > li:nth-of-type(n + 5) {
    border-bottom: none;
  }

  /* 진료시간 768px */
  .timetableBox .table_tab {
    border-bottom: none;
  }
  .timetableBox .table_tab li {
    border: 1px solid #cfcfcf;
  }
  .timetableBox .tableBox {
    padding: 30px 10px;
    padding-bottom: 0;
    margin-bottom: 30px;
  }
  .processBox #sub02 section > ul {
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(6, max-content);
  }
  .processBox #sub02 section > ul > li,
  .admission-guide #sub02 section > ul > li,
  .admission-guide #sub04 section > ul > li {
    border: 1px solid #e4e4e4;
    border-bottom: none;
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
  }
  .processBox #sub02 section > ul > li:last-of-type,
  .admission-guide #sub02 section > ul > li:last-of-type,
  .admission-guide #sub04 section > ul > li:last-of-type {
    border-bottom: 1px solid #e4e4e4;
  }
  .timetableBox .subBoxInfo,
  .processBox .subBoxInfo,
  .admission-guide .subBoxInfo,
  .ward-life-guide .subBoxInfo,
  .service .subBoxInfo {
    width: 100%;
  }
  .subWidth:has(.docTabs) {
    padding-bottom: 0;
  }
  .docTimes {
    padding-bottom: 30px;
  }

  .processBox #sub01 .checkTimeBtn {
    margin-top: 30px;
  }

  .mo_span {
    display: inline;
    width: 100%;
  }

  .processBox .subWidth h5,
  .admission-guide .subWidth h5 {
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-top: 15px;
    row-gap: 10px;
  }
  .processBox #sub02 section > ul li div:nth-of-type(2),
  .admission-guide #sub02 section > ul li div:nth-of-type(2),
  .admission-guide #sub04 section > ul li div:nth-of-type(2) {
    margin: 0 auto;
  }
  .processBox .subWidth h5 span,
  .admission-guide .subWidth h5 span {
    margin-right: 0;
  }
  :is(.processBox, .admission-guide) .stepBox div > p {
    text-align: center;
  }
  .processBox #sub02 section > ul ul li {
    justify-content: center;
    font-size: 15px;
  }

  /* 입퇴원 안내 768px */
  .admission-guide #sub02 section > ul,
  .admission-guide #sub04 section > ul {
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(3, 1fr);
  }
  .admission-guide .subBoxInfo,
  .ward-life-guide .subBoxInfo {
    margin-bottom: 30px;
  }
  .admission-guide #sub04 section:nth-of-type(2n) {
    padding: 0 10px;
  }

  .ward-life-guide #sub01 p.f_20 {
    text-wrap-style: balance;
  }

  /*  간호간병통합서비스 768px */
  .service #sub01 {
    /* background: linear-gradient(to bottom, var(--color-white) 16%, #f9f9f9 0%); */
    background: #fff;
  }
  .service img[src*="ward-life01"] {
    display: none;
  }
  .title_border {
    margin-bottom: 30px;
  }
  .service .subTable strong {
    font-size: 15px;
  }
  .service #sub01 h4 {
    padding-top: 30px;
  }
  .service #sub01 p {
    font-size: 15px;
    word-break: auto-phrase;
    font-weight: var(--middle);
    text-wrap-style: balance;
    margin: 0 auto;
  }
  #service_process img {
    max-height: 55px;
    width: 100%;
  }
  #service_process {
    flex-direction: column;
    row-gap: 10px;
    flex-wrap: wrap;
  }
  #service_process li {
    width: calc(50% - 20px);
    display: flex;
    width: 100%;
    border: 3px solid var(--color-primary);
    border-radius: 20px;
    padding: 20px;
    align-items: center;
    column-gap: 20px;
  }
  #service_process li:nth-of-type(odd) {
    border: 3px solid #ffb814;
  }
  #service_process figure {
    width: 20%;
  }
  #service_process > div {
    width: 80%;
    text-align: left;
  }
  .service #service_process li > div .mo_br {
    font-size: 18px;
    font-weight: var(--middle);
    text-align: left;
  }
  #service_process li .service_txt02 {
    padding: 0;
    font-size: 16px;
    text-align: left;
  }
  #service_process figure svg {
    display: none;
  }
  #service_process .service_txt {
    position: unset;
    transform: unset;
  }
  .subTable td {
    word-break: auto-phrase;
    line-height: 1.25;
  }

  /* 인사말 768px */
  .greeting_top {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, max-content);
    transform: scaleY(-1);
    /* border-top: 1px solid #d0d0d0; */
    border-bottom: none;
    gap: 20px;
  }
  .greeting_top::before {
    transform: translateY(-50%) scaleX(-1) scaleY(-1);
    background-position: 0 top;
    /* background-size: 144%; */
    background-size: clamp(
        133%,
        calc(133% + (22 * ((100vw - 768px) / -448))),
        155%
      )
      auto;
  }
  .greetingBox {
    background: none;
  }

  .subWidth:has(.writer) {
    position: relative;
  }

  .subWidth:has(.writer):before {
    display: inline-block;
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 70px;
    height: 1.25px;
    background: #174c98;
  }
  .greeting_top div {
    transform: scaleY(-1);
    text-align: center;
  }
  .greeting_top div:has(img) {
    border-bottom: 1px solid #eeeeee;
  }
  .greeting_top img {
    margin: 0 auto;
  }
  .greeting_top h3 {
    margin-bottom: 20px;
    font-size: clamp(18px, 4vw, 30px);
  }
  .greeting_top h3 strong {
    font-size: clamp(20px, 4vw, 32px);
  }
  .subPage.greeting .greeting_top p {
    font-size: clamp(16px, 4vw, 22px) !important;
    margin-bottom: 0 !important;
  }
  .greeting #sub02 .writer {
    font-size: 18px !important;
  }
  .greeting #sub02 .writer strong {
    font-size: 20px;
    margin-left: 5px;
  }
  .greeting #sub01 .subWidth figure {
    display: flex;
    align-items: flex-end;
    background: url(/img/bg/detail_bg.png) top left / contain no-repeat;
    justify-content: space-evenly;
  }

  .greeting #sub01 .subWidth figure img {
    width: 36%;
    border-bottom: 1px solid #f9f9f9;
  }
  .greeting #sub01 h4 {
    text-wrap-style: pretty;
    width: 50%;
    word-break: auto-phrase;
  }
  .greeting #sub02 .subWidth {
    padding-top: 30px;
  }
  .greetingBox::after {
    display: none;
  }
  .greeting #sub02 .writer {
    line-height: 30px;
    /* padding-left: 5%; */
  }
  .greeting #sub02 .writer .mo_br {
    display: none !important;
  }
  .greeting #sub02 .subWidth .writer:nth-child(1) {
    position: relative;
    /* height: 180px; */
    display: flex;
    align-items: center;
  }
  .greeting #sub02 .writer:nth-child(1)::after {
    content: "";
    display: block;
    position: absolute;
    /* background: url(/img/bg/greeting_bg_m.png) top right / contain no-repeat; */
    background-size: 100%;
    top: -20%;
    /* right: -120px; */
    right: -10px;
    width: 600px;
    height: 220px;
    background-position: bottom right;
    padding-top: 0;
    z-index: -1;
  }
  .greeting #sub02 p {
    width: 100% !important;
    font-size: 15px;
    line-height: 20px;
  }
  .greeting_top div:has(img[src*="greeting_doc"]) {
    margin-left: 0;
    padding-top: 0;
  }

  /* sub4 하단 공통 768px */
  .subPage article:has(.sub04_bottom) {
    aspect-ratio: unset;
    background-color: #004a98;
    background-size: 437px 238px;
  }
  .intro02 #sub01 li {
    flex-direction: column;
    align-items: baseline;
  }
  .intro02 #sub01 li > div:nth-of-type(1) {
    max-width: 100%;
    border-radius: 10px 10px 0px 0px;
  }
  .intro02 #sub01 li > div:nth-of-type(1)::after {
    top: unset;
    right: unset;
    bottom: -18px;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
  .intro02 #sub01 figure {
    padding: clamp(20px, calc(20px + (40 - 20) * var(--fluid-280-1920)), 40px)
      clamp(25px, calc(25px + (50 - 25) * var(--fluid-280-1920)), 50px);
    width: 100%;
  }

  /* 의료장비소개 768px */
  .device #sub01 div ul {
    grid-template-columns: repeat(2, 1fr);
  }
  .devices_notice {
    margin-bottom: 30px;
    padding-top: 30px;
    background: #f3f6fc url(/img/sub/devices_bottom_icon.png) no-repeat 20px
      20px;
  }

  .devices_notice h4 {
    padding-left: 50px;
  }
  .f_17px,
  .plus_info {
    font-size: 15px;
  }

  /* 진료센터 768px */
  .center01 .centerUl {
    grid-template-columns: repeat(2, calc(50% - 7px));
    gap: 13px;
  }

  #f_info {
    font-size: 14px;
  }
  .info_btns span {
    font-size: 18px;
  }

  /* 센터소개 768px */
  .centerGate .centerGate_list li {
    width: 100%;
    height: 250px;
  }
  .centerGate .centerGate_list li a {
    padding: 25px 15px 20px;
    background-size: contain !important;
  }
  .centerGate .centerGate_list li a .con {
    margin: 15px 0 10px;
  }
  .centerGate #sub03 .subWidth p {
    margin: 20px 0 30px;
    font-size: 20px !important;
  }
  .f_22 {
    font-size: 15px;
  }
  .centerGate #sub04 {
    height: 200px;
    margin-top: 20px;
  }
  .centerGate .centerBottom_list {
    gap: 10px;
    flex-wrap: wrap;
  }
  .centerGate .centerBottom_list li {
    width: calc(100% / 2 - 5px);
    border: 2px solid #fff;
  }
  .centerGate .centerBottom_list li a {
    padding: 5px 0 6px;
  }
  .centerGate .centerBottom_list li a span {
    width: 20px;
    min-height: 30px;
    background-position: center right;
  }

  /* 병원소개 768px */
  .intro01:not(.doc_intro) #sub01 p {
    font-size: 15px !important;
    font-weight: var(--semiLight);
    word-break: auto-phrase;
    text-wrap-style: balance;
  }
  .intro01 #sub01 h4,
  .subPage:not(
      .doc01,
      .doc02,
      .doc03,
      .doc_intro,
      .location,
      .doc_detail,
      .processBox,
      .admission-guide,
      .ward-life-guide,
      .service
    )
    article
    h4 {
    font-size: 24px !important;
    margin-bottom: 0 !important;
  }

  .intro02 #sub01 li span:not(.mo_block) {
    font-size: 15px;
  }

  .promiseCircle ul {
    flex-direction: column;
    row-gap: 30px;
    margin-top: 30px;
  }
  .promiseCircle ul svg {
    transform: translateX(12.5px);
  }
  .intro01_txt {
    top: calc(50% - 12px);
    left: calc(50% + 0px);
  }

  /* 병원소개 왜 올센인가? 768px */
  .intro03List {
    align-items: center;
  }
  .intro03List li {
    width: 95%;
    padding: 20px 30px;
  }
  .intro03List li .introAlpha {
    width: 80px;
    height: 80px;
    margin-right: 20px;
  }
  .intro03List li .txtBox {
    width: calc(100% - 100px);
  }
  .intro03List li .txt {
    font-size: 15px;
    line-height: 30px;
  }
  .service #sub03 {
    padding: 0 10px;
  }
  /* 서브 배너 스타일 */
  .service .subBanner {
    display: none;
  }
  .subBanner > div {
    top: 38%;
    left: 5%;
    width: calc(100% - 5%);
  }
  .subBanner h3 {
    font-size: clamp(20px, 4vw, 30px) !important;
    margin-bottom: 0;
  }
  .subBanner p {
    font-size: clamp(18px, 4vw, 22px) !important;
    margin-top: 10px;
  }
  :is(.intro03, .history01, .history02, .device) .subBanner p,
  .centerGate .subBanner p:nth-of-type(2) {
    display: none;
  }

  /* 연혁 768px */
  .yearBox > div {
    padding: 0 20px;
  }
  .yearBox > div > div {
    position: relative;
  }
  .yearBox > div > div:before {
    content: "";
    width: 2px;
    height: calc(
      100% - clamp(40px, calc(40px + (80 - 40) * var(--fluid-280-1920)), 80px)
    );
    background: #e0e0e0;
    position: absolute;
    left: -10px;
    top: 10px;
    display: inline-block;
  }
  .yearTxt {
    flex-direction: column;
    padding: 0 10px;
    row-gap: 25px;
  }
  .yearTxt ul {
    border-left: none;
    width: 100%;
    row-gap: 15px;
  }
  .yearTxt ul li {
    transform: translateY(0);
    align-items: baseline;
    padding-left: 0;
  }
  .yearTxt ul li:after {
    /* left: -13px;
    top: 50%;
    width: 5px;
    height: 5px; */
    display: none;
  }
  .yearBox .yearTxt h4 {
    padding-right: 0;
    position: relative;
  }
  .yearBox .yearTxt h4:after {
    content: "";
    width: 15px;
    height: 15px;
    display: inline-block;
    background: #036db7;
    position: absolute;
    left: -26.5px;
    border-radius: 50%;
    transform: translateY(-50%);
    top: 50%;
  }
  .yearTxt span {
    font-size: 20px;
    width: auto;
    max-width: unset;
    width: 15%;
  }
  .yearTxt div {
    width: 85%;
  }
  .yearBox > ul {
    font-size: 16px;
  }
  .yearBox > ul li {
    width: 33.333%;
    text-align: center;
  }
  /* .yearTxt div p {
    line-height: 20px !important;
  } */
}
@media (max-width: 599px) {
  .mo_block {
    display: block;
  }
  :is(.timetableBox, .processBox, .admission-guide, .ward-life-guide, .service)
    .subBoxInfo
    li
    p {
    word-break: keep-all;
  }
}
@media (max-width: 534px) {
  /* 의료진 시간표 534px */
  .docTimes > li {
    margin: 30px 0;
  }
  .docTimes > li:nth-of-type(1),
  .docTimes > li:last-of-type {
    margin: 0;
  }
  .table_tab {
    grid-template-columns: repeat(2, 1fr);
  }
  .timetableBox #sub01 > section,
  .processBox #sub01 > section {
    flex-direction: column;
  }
  .timetableBox #sub01 h4,
  .processBox #sub01 h4 {
    text-align: left;
  }
  .timetableBox #sub01 div:nth-of-type(1),
  .processBox #sub01 div:nth-of-type(1) {
    width: 100%;
  }
  .timetableBox .docTxt {
    flex-direction: column;
    row-gap: 10px;
  }
  .timetableBox .docTxt div:not(.docName) {
    width: 80%;
    margin-left: auto;
  }
  .timetableBox .timetable {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(7, 1fr);
  }
  .table_tab {
    padding-left: 10px;
  }
  .docName li {
    padding-right: 10px;
  }

  /* 의료진 시간표 타이틀 */
  .timetableBox .timetable li.title:nth-of-type(1),
  .timetableBox .timetable li.am,
  .timetableBox .timetable li.pm {
    grid-row: 1;
  }
  .timetableBox .timetableBox .timetable li.title {
    grid-column: 1;
  }
  .timetableBox .timetableBox .timetable li.title:nth-of-type(1) {
    grid-column: 1;
  }

  /* 의료진 시간표 오전 */
  .timetableBox .timetable li.tableLine2 {
    grid-column: 2;
  }
  .timetableBox .timetable li:nth-of-type(7n) {
    border-right: 1px solid #e0e0e0;
  }
  .timetableBox .timetable li:nth-of-type(10) {
    grid-row: 2;
  }
  .timetableBox .timetable li:nth-of-type(11) {
    grid-row: 3;
  }
  .timetableBox .timetable li:nth-of-type(12) {
    grid-row: 4;
  }
  .timetableBox .timetable li:nth-of-type(13) {
    grid-row: 5;
  }
  .timetableBox .timetable li:nth-of-type(14) {
    grid-row: 6;
  }
  .timetableBox .timetable li:nth-of-type(15) {
    grid-row: 7;
  }

  .timetableBox .timetable li.tableLine2:nth-of-type(9) {
    grid-row: 2;
  }
  .timetableBox .timetable li.tableLine2:nth-of-type(10) {
    grid-row: 3;
  }
  .timetableBox .timetable li.tableLine2:nth-of-type(11) {
    grid-row: 4;
  }
  .timetableBox .timetable li.tableLine2:nth-of-type(12) {
    grid-row: 5;
  }
  .timetableBox .timetable li.tableLine2:nth-of-type(13) {
    grid-row: 6;
  }
  .timetableBox .timetable li.tableLine2:nth-of-type(14) {
    grid-row: 7;
  }
  /* 의료진 시간표 오후 */
  .timetableBox .timetable li.pm {
    grid-row: 1;
  }
  .timetableBox .timetable li.pm,
  .timetableBox .timetable li:nth-of-type(n + 16) {
    grid-column: 3;
    border-right: none;
  }
  .timetableBox .timetable li:nth-of-type(16) {
    grid-row: 2;
  }
  .timetableBox .timetable li:nth-of-type(17) {
    grid-row: 3;
  }
  .timetableBox .timetable li:nth-of-type(18) {
    grid-row: 4;
  }
  .timetableBox .timetable li:nth-of-type(19) {
    grid-row: 5;
  }
  .timetableBox .timetable li:nth-of-type(20) {
    grid-row: 6;
  }
  .timetableBox .timetable li:nth-of-type(21) {
    grid-row: 7;
    border-right: none !important;
  }
  .timetableBox .docDetailTop {
    display: block;
  }

  .timetableBox #sub01 ul,
  .processBox #sub01 ul {
    gap: 8px;
  }

  .timetableBox #sub01 li,
  .processBox #sub01 li {
    padding: 30px 10px;
  }

  .timetableBox .docDetailTop .docImg {
    height: 360px;
    padding-top: 0;
  }
  .docDetailTop img {
    padding-top: 0;
  }
  .timetableBox .docDetailTop .docImg::before {
    top: 40%;
  }

  .times > p {
    margin-top: 25px;
    margin-bottom: 15px;
  }

  .timetableBox .docTxt {
    align-items: start;
    row-gap: 0;
  }

  .timetableBox .docTxt div:not(.docName) {
    width: 100%;
  }

  .timetableBox .docTxt div:not(.docName) p {
    text-align: center;
  }
  .timetableBox .docTxt div:not(.docName) p a {
    display: inline-block;
    width: 100%;
    height: 100%;
  }

  .timetableBox .tableBox {
    padding-top: 20px;
    margin-top: 0;
    margin-bottom: 20px;
  }

  .processBox #sub02 section > ul > li img,
  .admission-guide #sub02 section > ul > li img,
  .admission-guide #sub04 section > ul > li img {
    max-width: 50px;
  }
  .timetableBox .subBoxInfo,
  .processBox .subBoxInfo,
  .admission-guide .subBoxInfo,
  .ward-life-guide .subBoxInfo,
  .service .subBoxInfo {
    flex-direction: column;
  }
  .subBoxInfo img {
    margin: 0 auto;
    margin-bottom: 15px;
  }

  /* 서브 배너 스타일 */
  .subBanner p {
    margin-top: 10px;
  }
  .subBanner > div {
    top: 50%;
  }
  .intro03 .subBanner > div {
    left: 50%;
    transform: translate(-50%, -50%);
    width: 94%;
  }
  .subBanner img {
    aspect-ratio: 4/2;
  }
  .greeting .subBanner > div {
    left: 10px;
  }
  .greeting .subBanner h3 {
    width: 86%;
  }

  /* 연혁 534px */
  .yearBox > ul {
    font-size: 16px;
  }
  .yearTxt div {
    width: 80%;
  }
  .yearTxt span {
    width: 20%;
  }

  /* 병원소개 534px */
  .intro01:not(.doc_intro) #sub01 p {
    margin-bottom: 10px;
  }
  :is(.history01, .history02, .intro03, .device) .subBanner > div {
    color: #fff;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  }
  :is(.history01, .history02) .subBanner:before {
    filter: brightness(0.7);
    background: linear-gradient(to right, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0));
    mix-blend-mode: unset;
  }
}
@media (max-width: 487px) {
  /* 서류발급안내, 의무기록사본발급안내, 대리처방발급안내 487px */
  .subTab li {
    width: 100%;
  }

  /* 의료진시간표 487px */
  .timetableBox .docDetailTop img {
    transform: translateY(10px);
  }
}

@media (max-width: 425px) {
  .listUl_column_425 {
    flex-wrap: wrap;
  }
  .listUl_column_425 > p {
    width: 80%;
  }

  /* 의료진 프로필 425px */
  .docDetailTop .detailImg {
    padding-top: 30px;
  }
  .timetable li.title {
    letter-spacing: -3px;
  }

  /* 오시는길 425px */
  .subway li,
  .bus li,
  .train li,
  .airplane li {
    margin-bottom: 10px;
  }
  .mapBox .map {
    height: 370px !important;
  }

  .center_tab {
    grid-template-columns: repeat(2, 1fr);
  }
  .docCards {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 40px;
  }
  .docCards li p {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .docDetailTop {
    column-gap: 0;
  }
  .docDetailTop h2 {
    /* font-size: 24px; */
    word-break: auto-phrase;
    text-wrap-style: pretty;
  }
  .docDetailTop .docTxt p {
    text-align: left;
  }
  .docName li:nth-of-type(2) {
    padding-right: 0;
  }
  /* .subProSwiper .swiper-slide {
    aspect-ratio: 293 / 370;
  } */

  /* sub4 하단 공통 425px */
  .intro01 #sub01 p {
    letter-spacing: -0.4px;
  }
  .sub04_bottom ul {
    flex-direction: column;
  }
  .sub04_bottom ul li {
    width: 100%;
    background: var(--color-white);
    color: var(--color-primary);
  }
  .sub04_bottom ul li:hover {
    font-weight: var(--bold);
  }
  .sub04_bottom ul li:after {
    filter: brightness(0) saturate(100%) invert(17%) sepia(69%) saturate(1653%)
      hue-rotate(184deg) brightness(91%) contrast(95%);
  }
  .intro02 #sub01 figure {
    flex-direction: column;
    row-gap: 15px;
  }
  /* 의료장비소개 425px */
  .device #sub01 div ul {
    grid-template-columns: repeat(1, 1fr);
  }

  /* 진료센터 425px */
  .center01 .centerUl {
    grid-template-columns: repeat(1, 100%);
  }

  /* 병원장인사말 425px */
  .greeting #sub02 .subWidth {
    overflow: hidden;
  }
  .greeting #sub02 .writer:nth-child(1)::after {
    right: -60px;
  }

  /* 병원소개 왜 올센인가? 425px */
  .intro03List li {
    align-items: flex-start;
    padding: 20px 15px;
  }
  .intro03List li .introAlpha {
    width: 50px;
    height: 50px;
    margin-right: 10px;
    font-size: 30px;
  }
  .intro03List li .txtBox {
    width: calc(100% - 60px);
  }
  .intro03List li .txtTitle {
    font-size: 20px;
  }
  .intro03List li .txtTitle span {
    display: block;
  }

  .intro03 #sub01 {
    background: linear-gradient(
      to bottom,
      var(--color-white)
        clamp(6%, calc(0% + (30 - 13) * var(--fluid-280-1920)), 30%),
      #f9f9f9 0%
    );
  }

  /* 연혁 425px */
  :is(.history01, .history02) .subBanner h3 {
    font-size: 18px !important;
  }
  :is(.history01, .history02) .subBanner h3 br {
    display: none;
  }
  .intro02 #sub01 figure {
    padding: 20px 15px;
  }
}

@media (max-width: 328px) {
  .br_320 {
    display: block;
  }
  .subPage article p:not(.plus_info) {
    font-size: 14px !important;
  }
  .subTable {
    font-size: 14px;
  }
  .subPage article div .ls320 {
    letter-spacing: -1.5px !important;
  }
  :is(.processBox, .admission-guide) #sub02 section > ul > li {
    padding: 13px 15px;
  }
  .mo_block {
    display: inline;
  }
  .intro02 #sub01 ul {
    width: 100%;
  }
  .intro02 #sub01 li {
    text-align: center;
  }
  .intro02 #sub01 li p {
    width: 100%;
  }
  .intro03List li .txt {
    font-size: 14px;
    letter-spacing: -2px;
    line-height: 24px;
  }
  .subBanner h3 {
    font-size: 17px !important;
  }
}
