#subVisual
{width:100%; height:300px;}
#subVisual .container {
  position:relative; 
  height:100%;
}
#subVisual .sub-visual-txt-con {
  display:flex;
  flex-direction:column;
  justify-content: center;
  height:100%;
}
#subVisual .sub-visual-txt-con h2 
{color:#fff; font-size:4rem; font-weight:600; margin-bottom:10px;}
#subVisual .sub-visual-txt-con p {
  font-size:19px;
  color:#ffffffc9;
  font-weight:400;
}
@media screen and (max-width:650px) {
    #subVisual
    {height:300px; background-size:cover;}
}


#subContent
{padding:150px 0px;}
.sub-title 
{text-align:center; margin-bottom:110px;}
.sub-title h2 
{font-size:4.2rem; font-weight:700; color:#222; display:inline-block; position:relative; padding-bottom:20px;}

@media screen and (max-width: 1400px) {
  #subContent { padding: 100px 0px; }
  .sub-title { margin-bottom: 60px; }
  .sub-title h2 { padding-bottom: 0; font-size: 3.2rem; }
  .greeting-content .banner-img { background-position: center right !important; }
  .primary-content {
    padding: 0 10px;
}
}

@media screen and (max-width: 1024px) {
  .sub-title { margin-bottom: 40px; }
  .sub-title h2 { padding-bottom: 0; }
  .greeting-content .greeting-top-con h1 { font-size: 2.4rem !important; }
  .greeting-txt-box p { font-size: 1.8rem !important; }
  .greeting-txt-box p br { display: none; }

  .history-wrap { padding-left: 100px; } 
  #cm_history_style_01 .history-row { flex-direction: column; }
  #cm_history_style_01 .history-row .history-year { width: 100% !important; margin-bottom: 20px !important; line-height: 33px; }
  #cm_history_style_01 .history-row .history-detail { width: 100% !important; padding-bottom: 60px !important; }
}

@media screen and (max-width: 920px) {
  .history-wrap { padding-left: 0px; } 
}

@media screen and (max-width: 880px) {
  .greeting-content .greeting-top-con h1 { font-size: 1.9rem !important; }
  .greeting-content .greeting-top-con h1 br { display: none;}
  .greeting-txt-box p { word-break: keep-all; font-size: 1.6rem !important; }

  #cm_history_style_01 .history-row .history-year strong { font-size: 23px !important; }
}

@media screen and (max-width: 768px) {
  #subContent { padding: 80px 0; }
  #cm_history_style_01 .history-row .history-detail { padding-bottom: 0 !important; }
  #cm_history_style_01 .history-row .history-detail .history-detail-row { flex-direction: column; gap: 10px; }
  #cm_history_style_01 .history-row .history-detail .history-txt p { font-size: 16px; line-height: 23px; }
  #cm_history_style_01 .history-row .history-detail .history-detail-row:after,
  #cm_history_style_01 .history-row .history-detail .history-detail-row:before,
  #cm_history_style_01 .history-row .history-detail:before { display: none !important; }
  #cm_history_style_01 .history-row .history-detail .history-detail-row { margin-bottom: 0px !important; padding-left: 0 !important; }
  #cm_history_style_01 .history-row .history-detail .history-month span { font-size: 17px !important; }
  .history-row + .history-row { margin-top: 20px; }
  .history-row { padding: 30px; border: 1px solid #ddd; }
  #cm_history_style_01 .history-row .history-detail .history-txt p { font-size: 16px !important; line-height: 23px !important; }
  
}
@media screen and (max-width:650px) {
    .sub-title h2 
    {font-size:26px;}
    .greeting-txt-box p { font-size: 1.6rem !important; line-height: 1.6em !important; }
    .primary-business dl { margin: 2rem 0; }
}
@media screen and (max-width: 400px) {
  .sub-title h2 { font-size: 24px; }
  .business-info-section .business-tit { font-size: 20px; }
}

/* 인사말 */
.greeting-content .banner-img {
  background:url('../img/greeting_bg.jpg');
  width:100%;
  padding-top:35rem;
  border-radius:20px;
}
.greeting-content .greeting-top-con h1 {
  font-size:2.8rem;
  color:#1b1b1b;
  font-weight:700;
  text-align:center;
  margin-bottom:4rem;
  line-height:1.3;
}
.greeting-txt-box {
  text-align:center;
  margin-top:5rem;
}
.greeting-txt-box p {
  font-size:2.0rem;
  font-weight:500;
  color:#666;
  line-height:1.9em;
}

/* 회사개요 */
.overview-card-con .card-list {
  display:flex;
  flex-wrap:wrap;
  justify-content: space-between;
}
.card-list .card {
  display:flex;
  align-items:end;
  width:42rem;
  height:55rem;
  padding:4rem 3rem;
}
.card-list .card:nth-child(odd) {
  margin-top:25rem;
}
.card-list .card .txt-con h4 {
  font-size:2.8rem;
  font-weight:600;
  color:#fff;
}
.card-list .card .txt-con p {
  font-size:1.8rem;
  font-weight:300;
  color:#ffffffeb;
  margin-top:2rem;
  line-height:1.5;
  word-break:keep-all;
} 

.company-overview-tbl {
  margin-top:15rem;
}
.company-overview-tbl .company-overview-tit {
  margin-bottom:4rem;
}
.company-overview-tbl .company-overview-tit h2 {
  font-size:36px;
  font-weight:900;
  position:relative;
  padding-left:2rem;
}
.company-overview-tbl .company-overview-tit h2:before {
  content:'';
  position:absolute;
  left:0;
  top:0;
  width:1rem;
  height:1rem;
  background:#45a363;
}
.company-overview-tbl .tbl-con {
  display:flex;
  flex-wrap:wrap;
  align-items: stretch;
}
.company-overview-tbl .tbl-con dl {
  display:flex;
  align-items: stretch;
  width:50%;
}
.company-overview-tbl .tbl-con dl dt {
  width:30%;
  background:#eee;
  padding:3rem 2rem;
  font-size:1.8rem;
  font-weight:600;
}
.company-overview-tbl .tbl-con dl dd {
  width:70%;
  font-size:1.7rem;
  padding:3rem 2rem;
  color:#000;
  font-weight:300;
  word-break:keep-all;
  line-height:1.3;
}

@media screen and (max-width: 1400px) {
  .card-list .card:nth-child(odd) { margin: 0 !important; }
  .overview-card-con .card-list { gap: 10px; }
  .overview-card-con .card-list li { width: calc((100% - 20px) / 3); }
}

@media screen and (max-width: 1280px) {
  .card-list .card .txt-con h4 { font-size: 2.6rem; }
  .card-list .card .txt-con p { font-size: 1.6rem; }
}
@media screen and (max-width: 912px) {
  .overview-card-con .card-list { flex-direction: column; }
  .overview-card-con .card-list li { width: 100%; height: auto; padding: 60px; background-repeat: no-repeat; background-size: cover; }
  .management-content img,
  .organization-content img { width: 100%; }
}
@media screen and (max-width: 768px) {
  .overview-card-con .card-list li { padding: 30px; }
  .company-overview-tbl .tbl-con dl {  width: 100%; }
  .company-overview-tbl .tbl-con dl + dl { border-top: 1px solid #ddd; }
  .card-list .card .txt-con h4 { font-size: 1.9rem; }
  .company-overview-tbl .company-overview-tit h2 { font-size: 26px; }
  .company-overview-tbl .tbl-con dl dt,
  .company-overview-tbl .tbl-con dl dd { font-size: 1.6rem; }
}

/* 경영이념 */
.management-content {
  text-align:center;
}
/* 조직도 */
.organization-content {
  text-align:center;
}
.primary-business dl {
  display:flex;
  align-items: center;
  padding:40px 30px;
  background:#0000000f;
  margin:5rem 0;
  border-radius:15px;
  border:1px solid #ddd;
}
.primary-business dl dt {
  width:30%;
  font-size:24px;
  font-weight:700;
  color:#1a1a1a;
  display:flex;
  align-items: center;
}
.primary-business dl dt b {
  font-size:42px;
  font-weight:900;
  color:#45a363;
  margin-right:2rem;
}
.primary-business dl dd {
  font-size:19px;
  color:#000;
  font-weight:300;
}

.business-info-section {
  margin:8rem 0;
}
.business-info-section .business-tit {
  font-size:26px;
  color:#000;
  font-weight:600;
  border-left:6px solid #000;
  padding-left:10px;
  margin-bottom:4rem;
}
.business-info-section .business-sub-tit {
  display:block;
  font-size:21px; 
  font-weight:600;
  color:#1b1b1b;
}
.business-info-section .box-tit {
  background:var(--main-color);
  color:#fff;
  font-weight:500;
  display:inline-block;
  font-size:19px;
  padding:10px 30px;
  margin-bottom:1.5rem;
  min-width:20rem; 
  text-align:center;
}
.business-info-section .business-sub-section.spacing-section 
{margin-top:50px;}
.business-info-section .business-sub-con {
  display:flex;
  flex-wrap:wrap;
  margin:2rem 0;
}

.business-info-section .business-sub-con .img-con {
  width:45%;
  display:flex;
  justify-content: center;
  align-items: center;
  border:1px solid #ddd;

  background:#fafafa
}
.business-info-section .business-sub-con .img-con.bg-wt
{background:#fff; padding:2rem 0;}
.business-info-section .business-sub-con .img-con img 
{margin:0 1rem;}
.business-info-section .business-sub-con .img-con.img-row-con 
 {flex-wrap:wrap;} 
 .business-info-section .business-sub-con .img-con.img-col-con 
 {flex-direction:column;} 
.business-info-section .business-sub-con .txt-con {
  width:55%;
  padding-left:3rem;
}
.business-info-section .business-sub-con .txt-con .sub-txt-con 
{margin-bottom:30px}
.business-info-section .business-sub-con .txt-con h4 {
  font-size:21px;
  color:#000;
  margin-bottom:2rem;
  position:relative;
  padding-left:20px;
}
.business-info-section .business-sub-con .txt-con h4:before {
  content:'';
  position:absolute;
  left:0;
  top:0;
  width:5px;
  height:20px;
  background:var(--main-color);
  transform:rotate(210deg);
}
.business-info-section .business-sub-con .txt-con .sub-list {
  display:flex;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.business-info-section .business-sub-con .txt-con .sub-list li{
  position:relative;
  width:48%;
  font-size:17px;
  color:#000;
  font-weight:300;
  margin-bottom:15px;
  padding:0 20px;
  line-height:1.5;
  word-break:keep-all;
}
.business-info-section .business-sub-con .txt-con .sub-list li:only-child 
{width:100%;}
.business-info-section .business-sub-con .txt-con .sub-list li:before {
  content:'';
  position:absolute;
  left:0;
  top:8px;
  background:#45a363;
  width:7px;
  height:7px;
}
.business-info-section .business-sub-con .txt-con .sub-list.full-list li 
{width:100%;}
.business-info-section .business-sub-con .txt-con p {
  font-size:17px;
  color:#000;
  font-weight:300;
  line-height:1.5;
  word-break:keep-all;
}
.business-info-section .business-sub-con .txt-con .sub-tbl {
  width:100%;
}
.business-info-section .business-sub-con .txt-con .sub-tbl tr {
  text-align:center;
}
.business-info-section .business-sub-con .txt-con .sub-tbl th {
  background:#f4f4f4;
  font-size:1.7rem;
  color:#333;
  padding:2rem 0;
}
.business-info-section .business-sub-con .txt-con .sub-tbl td {
  font-size:16px;
  color:#666;
  padding:1rem 0;
}
.business-info-section .business-sub-con .txt-con.txt-col-con .txt-col {
  margin-bottom:2rem;
}
.business-info-section .business-sub-tbl {
  margin:2rem 0;
  width:100%;
}
.business-info-section .business-sub-tbl table {
  width:100%;
}
.business-info-section .business-sub-tbl table tr {
  border-bottom:1px solid #eee;
}
.business-info-section .business-sub-tbl table th {
  background:#f4f4f4;
  padding:2rem 0;
  font-size:1.6rem;
}
.business-info-section .business-sub-tbl table td {
  padding:2rem 1rem;
  text-align:center;
  font-size:1.6rem;
  border-left:1px solid #eee;
  border-right:1px solid #eee;
  color:#333;
  min-width:15rem;
  line-height:1.5;
}
/************* full section *********************/
.business-info-section .business-full-section .business-sub-con .img-con {
  width:100%;
}
.business-info-section .business-full-section .business-sub-con .txt-con {
  margin-top:2rem;
  width:100%;
  padding:0;
}
.business-info-section .business-full-section .business-sub-con .txt-con.txt-col-con {
  display:flex;
  justify-content: space-between;
  flex-wrap:wrap;
}
.business-info-section .business-full-section .business-sub-con .txt-con.txt-col-con .txt-col {
  width:48%;
  margin:0 0 5rem;
}


@media screen and (max-width: 1280px) {
  .primary-business dl { flex-direction: column; gap: 10px; }
  .primary-business dl dt { width: 100%; justify-content: center; font-size: 22px; }
  .primary-business dl dt b { font-size: 30px; }
  .primary-business dl dd { font-size: 16px; line-height: 23px; text-align: center; }
  .business-info-section .business-full-section .business-sub-con .txt-con.txt-col-con .txt-col { width: 100%; }
  .business-info-section .business-full-section .business-sub-con .txt-con.txt-col-con { flex-direction: column; justify-content: start; align-items: start; }
  .business-info-section .business-sub-tbl { overflow-x: scroll; }
}

@media screen and (max-width: 920px) {
  .primary-business dl dt { flex-direction: column; text-align: center; }
  .primary-business dl dt b { margin: 0 0 10px 0; }
  .img-con.bg-wt img { width: 100%; }
  .business-sub-con div { width: 100% !important; }
  .business-info-section { margin: 0; }
  .business-info-section .business-sub-con .img-con.bg-wt { margin-bottom: 30px !important; }
  .sub-list { flex-direction: column !important; }
  .sub-list li { width: 100% !important; }
  .business-info-section .business-sub-con { flex-direction: column; }
  .business-info-section .business-sub-con .txt-con { padding-left: 0 !important; }
  .business-info-section .business-sub-con .img-con { margin-bottom: 30px; }
  .img-con {
    flex-direction: column;
    gap: 10px;
    padding: 10px;
  }
  .business-info-section .business-sub-con .img-con img { width: 100%; margin: 0 !important; }
}

@media screen and (max-width: 768px) {
  .sub-table-wrap { overflow-x: scroll; }
  .business-info-section .business-sub-con .txt-con .sub-tbl { width: 768px; }
  .business-info-section .box-tit { font-size: 16px; }
}

@media screen and (max-width: 600px) {
  .business-info-section .business-sub-con .txt-con .sub-list li { font-size: 16px; margin-bottom: 5px; }
  .business-info-section .business-tit { font-size: 22px; }
  .business-info-section .business-sub-con .txt-con h4 { font-size: 18px; }
  .business-info-section .business-sub-con .txt-con p { font-size: 16px; }
  .business-info-section .business-full-section .business-sub-con .txt-con { margin-bottom: 20px; }
  .business-info-section .business-sub-tbl table th { padding: 10px 0; font-size: 1.4rem; }
  .business-info-section .business-sub-tbl table td { padding: 10px 5px; font-size: 14px; }
  .business-info-section .business-sub-con .txt-con .sub-list li:last-child { margin-bottom: 0; }
  .business-info-section .business-sub-con .txt-con.txt-col-con .txt-col:last-child { margin-bottom: 0; }
  .business-info-section .business-full-section .business-sub-con .txt-con.txt-col-con .txt-col { margin-bottom: 3rem; }
  .business-info-section .business-sub-con .txt-con .sub-tbl th { padding: 2rem 1rem; font-size: 1.4rem; }
  .business-info-section .business-sub-con .txt-con .sub-tbl td { font-size: 1.4rem; }
  .sub-content-cn .business-info-section .business-sub-con .txt-con .sub-list li,
  .sub-content-cn .business-info-section .business-sub-con .txt-con h4,
  .sub-content-cn .business-info-section .business-sub-con .txt-con .sub-list li,
  .sub-content-cn .business-info-section .business-sub-con .txt-con p,
  .sub-content-cn .business-info-section .business-sub-con .txt-con .sub-list li,
  .sub-content-cn .business-info-section .business-tit,
  .sub-content-cn .business-info-section .box-tit { word-break: break-all !important; }
  .sub-content-cn .greeting-txt-box p,
  .sub-content-cn .card-list .card .txt-con p,
  .sub-content-cn #cm_history_style_01 .history-row .history-detail .history-txt p,
  .sub-content-cn .business-info-section .business-sub-tit { word-break: break-all !important; }
  #cm_history_style_01 .history-row .history-year { margin-bottom: 10px !important; }
  .history-row { padding: 20px; }
}

@media screen and (max-width: 400px) {
  .business-info-section .business-tit { font-size: 20px; }
  .business-info-section .business-sub-con .txt-con .sub-list li { font-size: 15px; margin-bottom: 15px; line-height: 19px; }
  .business-info-section .business-sub-tit { font-size: 18px; font-weight: 700; }
}