#sec1 {
  padding-top: 128px;
  overflow: hidden;
}
#sec1 .tit_area {
  flex-direction: column;
  background-image: url(../images/intro_bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: clamp(450px, 31.25vw, 600px);
}
#sec1 .tit_area h2 {
  color: #fff;
  line-height: 1.3;
}
#sec1 .tit_area p {
  color: #fff;
  font-weight: 200;
}
#sec1 .icon_area {
  background-color: #fff;
  padding-top: clamp(70px, 5.21vw, 100px);
  position: relative;
  z-index: 10;
}
#sec1 .icon_area li {
  width: clamp(330px, 25vw, 480px);
}
#sec1 .icon_area li::before {
  content: "";
  width: clamp(76px, 5.73vw, 110px);
  height: clamp(76px, 5.73vw, 110px);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  margin-right: clamp(35px, 2.6vw, 50px);
}
#sec1 .icon_area li .txt {
  font-size: clamp(19px, 1.46vw, 28px);
  width: calc(100% - clamp(111px, 8.33vw, 160px));
}
#sec1 .icon_area li .txt p {
  font-weight: 700;
  line-height: 1.5;
}
#sec1 .icon_area .item1 {
  margin-right: clamp(175px, 13.23vw, 254px);
  margin-bottom: clamp(40px, 3.13vw, 60px);
}
#sec1 .icon_area .item1::before {
  background-image: url(../img/centerinfo1_icon1.svg);
}
#sec1 .icon_area .item2 {
  margin-bottom: clamp(40px, 3.13vw, 60px);
}
#sec1 .icon_area .item2::before {
  background-image: url(../img/centerinfo1_icon2.svg);
}
#sec1 .icon_area .item3 {
  margin-right: clamp(175px, 13.23vw, 254px);
}
#sec1 .icon_area .item3::before {
  background-image: url(../img/centerinfo1_icon3.svg);
}
#sec1 .icon_area .item4::before {
  background-image: url(../img/centerinfo1_icon4.svg);
}
#sec1 .text_area {
  font-size: clamp(24px, 1.67vw, 32px);
  line-height: 1.7;
  margin-top: calc(clamp(70px, 5.21vw, 100px) * -1);
  background-color: #fff;
  position: relative;
  z-index: 10;
}
#sec1 .text_area span {
  font-weight: 700;
}
#sec1 .cont_area .cont_top {
  background-image: url(../images/centerinfo1_sec1_bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  flex-direction: column;
padding: 120px 0;
}
#sec1 .cont_area .cont_top h3 {
  font-size: clamp(42px, 2.81vw, 54px);
  color: #fff;
  font-weight: 700;
  text-shadow: 
    0 6px 18px rgba(0,0,0,0.35),
    0 1px 2px rgba(0,0,0,0.4);
}
#sec1 .cont_area .cont_top p {
  font-size: clamp(24px, 1.46vw, 28px);
  color: #fff;
}
#sec1 .cont_area .cont_info .info_top {
  background-image: url(../img/centerinfo1_bg2.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#sec1 .cont_area .cont_info .info_top ul li:not(:last-child) {
  margin-bottom: clamp(40px, 3.13vw, 60px);
}
#sec1 .cont_area .cont_info .info_top ul li .img_wrapper {
  width: clamp(600px, 37.5vw, 720px);
  height: clamp(465px, 24.22vw, 465px);
}
#sec1 .cont_area .cont_info .info_top ul li .img_wrapper img {
  height: 100%;
  object-fit: cover;
}
#sec1 .cont_area .cont_info .info_top ul li .txt_wrapper {
  width: calc(100% - clamp(415px, 30.47vw, 585px));
  height: clamp(385px, 20.05vw, 385px);
  margin-left: calc(clamp(85px, 7.03vw, 135px) * -1);
  background-color: #fff;
  padding: 0 clamp(30px, 3.13vw, 60px);
  flex-direction: column;
  border: 1px solid #222;
  transition: border-color 0.3s;
}
#sec1 .cont_area .cont_info .info_top ul li .txt_wrapper h4 {
  font-size: clamp(26px, 1.67vw, 32px);
  font-weight: 700;
  transition: color 0.3s;
}
#sec1 .cont_area .cont_info .info_top ul li .txt_wrapper h4::after {
  content: "";
  width: clamp(40px, 2.08vw, 40px);
  height: 1px;
  background-color: #222;
  display: block;
  margin-top: clamp(15px, 1.56vw, 30px);
  transition: color 0.3s;
}
#sec1 .cont_area .cont_info .info_top ul li .txt_wrapper p {
  font-size: clamp(20px, 1.25vw, 24px);
  line-height: 1.7;
  transition: color 0.3s;
}
#sec1 .cont_area .cont_info .info_top ul li:hover .txt_wrapper {
  border-color: var(--color-point);
}
#sec1 .cont_area .cont_info .info_top ul li:hover .txt_wrapper h4 {
  color: var(--color-point);
}
#sec1 .cont_area .cont_info .info_top ul li:hover .txt_wrapper h4::after {
  background-color: var(--color-point);
}
#sec1 .cont_area .cont_info .info_top ul li:hover .txt_wrapper p {
  color: var(--color-point);
}
#sec1 .cont_area .cont_info .info_top ul .item2 .img_wrapper,
#sec1 .cont_area .cont_info .info_top ul .item4 .img_wrapper {
  order: 2;
}
#sec1 .cont_area .cont_info .info_top ul .item2 .txt_wrapper,
#sec1 .cont_area .cont_info .info_top ul .item4 .txt_wrapper {
  order: 1;
  margin-left: 0;
  margin-right: calc(clamp(85px, 7.03vw, 135px) * -1);
  position: relative;
  z-index: 1;
}
#sec1 .cont_area .cont_info .info_bottom .bottom_tit h3 {
  font-size: clamp(42px, 2.81vw, 54px);
  font-weight: 700;
}
#sec1 .cont_area .cont_info .info_bottom .bottom_tit p {
  font-size: clamp(24px, 1.46vw, 28px);
}
#sec1 .cont_area .cont_info .info_bottom ul li {
  width: calc((100% - clamp(50px, 4.17vw, 80px)) / 3);
  border: 1px solid #bbb;
  margin-bottom: 16px;
}
#sec1 .cont_area .cont_info .info_bottom ul li:not(:nth-child(3n)) {
  margin-right: clamp(25px, 2.08vw, 40px);
}
#sec1 .cont_area .cont_info .info_bottom ul li a {
  padding: clamp(18px, 1.2vw, 23px) clamp(20px, 1.56vw, 30px);
  transition: background-color 0.3s;
}
#sec1 .cont_area .cont_info .info_bottom ul li a .txt span {
  font-size: clamp(16px, 0.94vw, 18px);
  color: #999;
  font-weight: 300;
  transition: color 0.3s;
}
#sec1 .cont_area .cont_info .info_bottom ul li a .txt p {
  font-size: clamp(22px, 1.46vw, 28px);
  font-weight: 700;
  transition: color 0.3s;
}
#sec1 .cont_area .cont_info .info_bottom ul li a > span {
  width: clamp(30px, 2.08vw, 40px);
  height: clamp(30px, 2.08vw, 40px);
  border-radius: 50%;
  border: 1px solid #222;
  transition: border-color 0.3s;
}
#sec1 .cont_area .cont_info .info_bottom ul li a > span::after {
  content: "";
  width: 5px;
  height: 10px;
  background-image: url(../img/right_arrow_b.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  transition: all 0.3s;
}
#sec1 .cont_area .cont_info .info_bottom ul li:hover a {
  background-color: var(--color-point);
}
#sec1 .cont_area .cont_info .info_bottom ul li:hover a .txt span {
  color: #fff;
}
#sec1 .cont_area .cont_info .info_bottom ul li:hover a .txt p {
  color: #fff;
}
#sec1 .cont_area .cont_info .info_bottom ul li:hover a > span {
  border-color: #fff;
}
#sec1 .cont_area .cont_info .info_bottom ul li:hover a > span::after {
  background-image: url(../img/right_arrow_w.svg);
}

@media (max-width: 1100px) {
  #sec1 .icon_area ul {
    flex-direction: column;
  }
  #sec1 .icon_area ul li {
    margin-right: 0 !important;
    margin-bottom: 0;
    width: 360px;
    justify-content: center;
  }
  #sec1 .icon_area ul li:not(:last-child) {
    margin-bottom: 40px;
  }
  #sec1 .icon_area ul li .txt {
    font-size: 22px;
  }
}
@media (max-width: 1000px) {
  #sec1 .cont_area .cont_info .info_top ul li {
    flex-direction: column;
  }
  #sec1 .cont_area .cont_info .info_top ul li .img_wrapper {
    width: 100%;
  }
  #sec1 .cont_area .cont_info .info_top ul li .txt_wrapper {
    margin-left: 0;
    margin-right: 0 !important;
    margin-top: -60px;
    width: 95%;
  }
  #sec1 .cont_area .cont_info .info_top ul li .txt_wrapper h4 {
    font-size: 34px;
  }
  #sec1 .cont_area .cont_info .info_top ul li .txt_wrapper p {
    font-size: 20px;
  }
  #sec1 .cont_area .cont_info .info_top ul li .txt_wrapper .ta_br {
    display: none;
  }
  #sec1 .cont_area .cont_info .info_top ul .item2 .img_wrapper,
  #sec1 .cont_area .cont_info .info_top ul .item4 .img_wrapper {
    order: 1;
  }
  #sec1 .cont_area .cont_info .info_bottom ul li {
    width: calc((100% - 25px) / 2);
  }
  #sec1 .cont_area .cont_info .info_bottom ul li:nth-child(3n) {
    margin-right: 25px;
  }
  #sec1 .cont_area .cont_info .info_bottom ul li:nth-child(2n), #sec1 .cont_area .cont_info .info_bottom ul li:nth-child(6n) {
    margin-right: 0;
  }
}
@media (max-width: 750px) {
  #sec1 {
    padding-top: clamp(60px, 17.07vw, 128px);
  }
  #sec1 .tit_area {
    height: clamp(450px, 93.33vw, 700px);
  }
  #sec1 .tit_area p {
    text-align: center;
  }
  #sec1 .icon_area {
    padding: clamp(30px, 8vw, 60px);
    margin-top: calc(clamp(50px, 13.33vw, 100px) * -1);
  }
  #sec1 .icon_area ul li {
    width: 100%;
  }
  #sec1 .icon_area ul li:not(:last-child) {
    margin-bottom: clamp(30px, 8vw, 60px);
  }
  #sec1 .icon_area ul li::before {
    width: clamp(60px, 16vw, 120px);
    height: clamp(60px, 16vw, 120px);
    margin-right: clamp(20px, 5.33vw, 40px);
  }
  #sec1 .icon_area ul li .txt {
    width: calc(100% - clamp(80px, 21.33vw, 160px));
    font-size: clamp(20px, 4.53vw, 34px);
  }
  #sec1 .text_area {
    font-size: clamp(17px, 4vw, 30px);
  }
  #sec1 .cont_area .cont_top {
    height: clamp(250px, 60vw, 450px);
  }
  #sec1 .cont_area .cont_top h3 {
    font-size: clamp(30px, 7.07vw, 53px);
    line-height: 1.3;
  }
  #sec1 .cont_area .cont_top p {
    font-size: clamp(15px, 3.73vw, 28px);
    line-height: 1.5;
  }
  #sec1 .cont_area .cont_info .info_top ul li:not(:last-child) {
    margin-bottom: clamp(30px, 8vw, 60px);
  }
  #sec1 .cont_area .cont_info .info_top ul li .img_wrapper {
    height: clamp(300px, 68vw, 510px);
  }
  #sec1 .cont_area .cont_info .info_top ul li .txt_wrapper {
    margin-top: calc(clamp(65px, 18vw, 135px) * -1);
    padding: clamp(20px, 8vw, 60px);
    height: auto;
  }
  #sec1 .cont_area .cont_info .info_top ul li .txt_wrapper h4 {
    font-size: clamp(26px, 5.07vw, 38px);
  }
  #sec1 .cont_area .cont_info .info_top ul li .txt_wrapper h4::after {
    margin-top: clamp(20px, 3.33vw, 25px);
  }
  #sec1 .cont_area .cont_info .info_top ul li .txt_wrapper p {
    font-size: clamp(16px, 3.87vw, 29px);
  }
  #sec1 .cont_area .cont_info .info_top ul li .txt_wrapper p .ta_br {
    display: block;
  }
  #sec1 .cont_area .cont_info .info_bottom .bottom_tit h3 {
    line-height: 1.3;
    font-size: clamp(30px, 7.07vw, 53px);
  }
  #sec1 .cont_area .cont_info .info_bottom .bottom_tit p {
    line-height: 1.5;
    font-size: clamp(15px, 3.73vw, 28px);
  }
  #sec1 .cont_area .cont_info .info_bottom ul li {
    width: 100%;
    margin-right: 0 !important;
    margin-bottom: clamp(10px, 2.67vw, 20px);
  }
  #sec1 .cont_area .cont_info .info_bottom ul li a {
    padding: clamp(15px, 4vw, 30px) clamp(20px, 5.33vw, 40px);
  }
  #sec1 .cont_area .cont_info .info_bottom ul li a .txt span {
    font-size: clamp(12px, 3.2vw, 24px);
  }
  #sec1 .cont_area .cont_info .info_bottom ul li a .txt p {
    font-size: clamp(18px, 4.53vw, 34px);
  }
  #sec1 .cont_area .cont_info .info_bottom ul li a > span {
    width: clamp(30px, 8vw, 60px);
    height: clamp(30px, 8vw, 60px);
  }
  #sec1 .cont_area .cont_info .info_bottom ul li a > span::after {
    width: clamp(5px, 1.33vw, 10px);
    height: clamp(8px, 2.13vw, 16px);
  }
}
@media (max-width: 450px) {
  #sec1 .icon_area ul li {
    flex-direction: column;
  }
  #sec1 .icon_area ul li::before {
    margin-right: 0;
  }
  #sec1 .icon_area ul li .txt {
    width: 100%;
    text-align: center;
    margin-top: clamp(10px, 4.44vw, 20px);
  }
}


.contact-section {
    padding: 50px 20px;
    background-color: #fff;
}

.contact-container {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr; /* PC¿¡¼­ 2¿­ ¹èÄ¡ */
    gap: 30px;
}

/* Ä«µå ½ºÅ¸ÀÏ */
.contact-card {
    border: 1px solid #eee;
    border-radius: 15px;
    padding: 30px;
    background: #fff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: transform 0.3s ease;
}

.contact-card:hover {
    transform: translateY(-5px);
}

.badge {
    display: inline-block;
    padding: 15px 15px;
    background: var(--bg-light);
    color: var(--color-point);
    font-weight: 700;
    border-radius: 50px;
    font-size: 14px;
    margin-bottom: 15px;
}

.address {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 20px;
    word-break: keep-all;
		padding-left: 15px;
}

.info-row {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 10px 0;
}

.label {
    font-size: 16px;
    color: var(--text-gray);
    font-weight: 500;
}

.phone-link {
    font-size: 28px;
    font-weight: 800;
    color: var(--text-dark);
    text-decoration: none;
}

.description {
    font-size: 14px;
    color: #999;
    margin-top: 10px;
    line-height: 1.6;
}

/* SNS ¹öÆ° */
.sns-links {
    display: flex;
    gap: 10px;
    margin-top: 25px;
}

.sns-btn {
    flex: 1;
    text-align: center;
    padding: 10px 0;
    border: 1px solid var(--point-color);
    border-radius: 8px;
    font-size: 14px;
    color: var(--point-color);
    text-decoration: none;
    transition: all 0.3s;
}

.sns-btn:hover {
    background: var(--point-color);
    color: #fff;
}

/* ¸ð¹ÙÀÏ ´ëÀÀ (900px ÀÌÇÏ) */
@media (max-width: 900px) {
    .contact-container {
        grid-template-columns: 1fr; /* 1¿­·Î º¯°æ */
    }
    
    .phone-link {
        font-size: 24px;
    }
    
    .address {
        font-size: 18px;
    }
}

/* SNS ¹öÆ° °øÅë ½ºÅ¸ÀÏ ¼öÁ¤ */
.sns-btn {
    display: flex;         /* ¾ÆÀÌÄÜ°ú ÅØ½ºÆ® °¡·Î Á¤·Ä */
    align-items: center;
    justify-content: center;
    flex: 1;
    padding: 10px 0;
    border: 1px solid var(--point-color);
    border-radius: 8px;
    font-size: 14px;
    color: var(--point-color);
    text-decoration: none;
    transition: all 0.3s;
}

/* ¾ÆÀÌÄÜ °øÅë ¼³Á¤ (ÀÚ·á2ÀÇ logic ¹Ý¿µ) */
.sns-btn::before {
    content: "";
    display: inline-block;
    width: 20px;          /* ¾ÆÀÌÄÜ Å©±â Á¶Àý */
    height: 20px;
    margin-right: 8px;    /* ¾ÆÀÌÄÜ°ú ÅØ½ºÆ® »çÀÌ °£°Ý */
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

/* °³º° ¾ÆÀÌÄÜ °æ·Î ¼³Á¤ (Á¦°øÇØÁÖ½Å °æ·Î ¹Ý¿µ) */
.sns-btn.kakao::before {
    background-image: url('../images/lo_kakao_icon.png'); [cite: 16]
}

.sns-btn.blog::before {
    background-image: url('../images/lo_blog_icon.png'); [cite: 17]
}

.sns-btn.cafe::before {
    background-image: url('../images/lo_cafe_icon.png'); [cite: 18]
}

/* ¸¶¿ì½º È£¹ö ½Ã ¾ÆÀÌÄÜ »ö»ó ¹ÝÀü (ÇÊ¿ä ½Ã ¾ÆÀÌÄÜµµ ¹ÝÀüµÈ ÀÌ¹ÌÁö¸¦ ÁØºñÇØ¾ß ÇÕ´Ï´Ù) */
.sns-btn:hover {
    background: var(--point-color);
    color: #fff;
}