@charset "utf-8";
.sec-tit {margin-bottom: var(--space-40); font-size: var(--font-size-36); font-weight: 700; line-height: 1.3em; letter-spacing: -0.03em; color: var(--dark-color);}
.sub-tit {font-size: var(--font-size-18); font-weight: 600; color: var(--primary-color);}
.sec:not(:last-child) {margin-bottom: var(--space-120);}
.group:not(:last-child) {margin-bottom: var(--space-80);}

.page-ventilator .sec-welcome {gap: 20px var(--space-60);}
.page-ventilator .sec-welcome .img {width: 36.6667%;}
.txt-boxes {display: flex; flex-wrap: wrap; gap: var(--space-20); text-align: center;}
.txt-box {flex: 1 1 auto; width: calc((100% - var(--space-20)) / 2); padding: var(--space-60) var(--space-30); border: 1px solid #ddd; border-radius: var(--radius-24); border: 1px solid #ddd;}
.txt-box h3 {padding-left: 10px; margin-bottom: var(--space-20); font-size: var(--font-size-28); color: var(--primary-color);}
.sec-function .img {margin-bottom: var(--space-40);}
.sec-function .wrap h3 {position: relative; font-size: var(--font-size-18);}
.sec-function .wrap h3, .sec-function .wrap p {padding-left: 10px;}
.sec-function .wrap h3:before {content: '· '; position: absolute; left: 0;}
.sec-function .wrap:not(:last-child) {margin-bottom: var(--space-30);}
.need-item {display: flex; gap: var(--space-40);}
.need-item:not(:last-child) {margin-bottom: var(--space-40);}
.need-item .img {width: 29.1667%;}
.need-item .txt {flex:1; display: flex; flex-direction: column; justify-content: center; gap: var(--space-20);}
.filter-gallery ul {display: flex; flex-wrap: wrap;margin: calc(var(--space-20) * -1); padding-top: var(--space-40);}
.filter-gallery li {width: 25%; padding: var(--space-20);}
.filter-gallery-item {position: relative;}
.filter-gallery-item .txt {position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(5,111,184,.88); border-radius: var(--radius-24); color: #fff; font-size: var(--font-size-26); font-weight: 700; line-height: 1.3em; text-align: center; opacity: 0; transform: translateY(15px);  transition: .2s linear;}
.filter-gallery-item:hover .txt {opacity: 1; transform: translateY(0);}

.table-wrap table {width: 100%; border-collapse: collapse; border-top: 2px solid #686868;}
.table-wrap thead th {background: #FAFAFA; color: var(--dark-color);}
.table-wrap tbody th {background: #EBF4FA; color: var(--primary-color);}
.table-wrap th, .table-wrap td {padding: var(--space-15) var(--space-20); border: 1px solid #ddd; }
.table-wrap th:first-child, .table-wrap td:first-child {border-left: 0;}
.table-wrap th:last-child, .table-wrap td:last-child {border-right: 0;}
.table-wrap caption {margin-bottom: var(--space-20); font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color);}
.table-wrap.type2 td:not(:last-child) {text-align: center;}
.table-wrap li {text-indent:-10px; padding-left: 10px;}

.sec-service-welcome {display: flex; padding-bottom: var(--space-80); border-bottom: 1px solid #ddd;}
.sec-service-welcome li {text-indent:-10px; padding-left: 10px;}
.sec-service-welcome .desc {flex: 1; padding-left: 20px; margin-left: clamp(30px, calc(80 / var(--inner) * 100vw), 80px); border-left: clamp(3px, calc(6 / var(--inner) * 100vw), 6px) solid var(--primary-color);}

.circle-box {display: flex; align-items: center; gap: var(--space-60); padding: var(--space-50); box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.08); border-radius: var(--radius-24);}
.circle-box:not(:last-child) {margin-bottom: var(--space-40);}
.circle-box .circle {position: relative; width: 13.3333%;}
.circle-box .circle:before {content: ''; display: block; width: 100%; padding-bottom: 100%; border-radius: 100%; background: #EAF8FF}
.circle-box .circle img {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); object-fit: contain;}
.circle-box .txt {flex:1;}
.circle-box h3 {display: flex; flex-wrap: wrap; margin-bottom: var(--space-30); font-size: var(--font-size-22); font-weight: 600; line-height: 1.3em; color: var(--primary-color);}
.dot-list li {position: relative; padding-left: 10px;}
.dot-list li:before {content:''; position: absolute; left: 0; top: 12px; display: block; width: 5px; height: 5px; border-radius: 100%; background: var(--primary-color); }

.process-list ul {display: flex; gap: var(--space-60) 0; flex-wrap: wrap; margin: -10px;}
.process-list li {width: 33.3335%; padding: 0 10px; text-align: center;}
.process-txt h3 {margin-top: var(--space-30);margin-bottom: 10px;;font-size: var(--font-size-20); color: var(--primary-color);}

.sec-service-gallery ul {display: flex; flex-wrap: wrap; margin: -10px;}
.sec-service-gallery li {width: 25%; padding: 10px;}
.sec-service-gallery.double li {width: 50%;}
.sec-service-gallery.triple li {width: 33.3335%;}
.service-gallery-img {position: relative; padding-bottom: 75.0847457%; border-radius: var(--radius-24); overflow: hidden;}
.page-replacement .service-gallery-img {padding-bottom: 64.40678%;}
.service-gallery-img:after {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 1px solid #ddd; border-radius: var(--radius-24); }
.service-gallery-img img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}

.service-gallery-wrapper {display: flex; gap: 20px;}
.sec-service-gallery h3 {padding: 18px; margin-bottom: 20px; border: 1px solid var(--primary-color); border-radius:var(--radius-16); background: rgba(5, 111, 184, 0.08); font-size: var(--font-size-20); font-weight: 600; text-align: center; line-height: 1em; color: var(--primary-color);}
.sec-service-gallery:nth-child(even) h3 {background: rgba(24, 42, 136, 0.08); color: var(--secondary-color); border-color: var(--secondary-color);}

