@charset "utf-8";
.desc p:not(:last-child) {margin-bottom: 0.875em;}

.greetings .ceo {padding-bottom: clamp(40px, calc( 100 / var(--inner) * 100vw ), 100px); border-bottom: 1px solid #ddd;}
.greetings .ceo .left {width: 50%; padding-right:clamp(30px, calc( 50 / var(--inner) * 100vw ), 50px);}
.greetings .ceo h2 {margin-bottom:clamp(20px, calc( 50 / var(--inner) * 100vw ), 50px)}
.greetings .ceo .desc {border-bottom: 1px solid #ddd; padding-bottom: clamp(15px, calc( 30 / var(--inner) * 100vw ), 30px); margin-bottom: clamp(15px, calc( 30 / var(--inner) * 100vw ), 30px);}
.greetings .right {flex: 1;}
.greetings .introduce .item {display: flex;}
.greetings .introduce .item:not(:last-child) {margin-bottom: 30px;}
.greetings .introduce .item .fw600 {min-width: 95px;}
.greetings .introduce li:not(:last-child) {margin-bottom: 2px;}
.greetings .executive {margin-top: clamp(40px, calc( 100 / var(--inner) * 100vw ), 100px);}
.greetings .executive .left {width: 39.583333%; padding-right: clamp(30px, calc( 50 / var(--inner) * 100vw ), 50px);}
.greetings .executive h3 {height: 70px;}
.greetings .executive h3 strong {position: relative; padding-right: 20px; margin-right: 15px;}
.greetings .executive h3 strong:before {position: absolute; content: ''; right: 0px; top: 50%; margin-top: -10px; width: 1px; height: 22px; background: #ddd;}
.greetings .executive .right {padding-top: 70px;}
.greetings .photo img, .business .img img {border-radius: 0 var(--bdrs50) 0 var(--bdrs50);}

.history .photo {position: relative; margin-bottom: clamp(30px, calc( 100 / var(--inner) * 100vw ), 100px);}
.history .photo .logo {position: absolute; top: 0; left: 0; width: 100%; height: 100%; filter: grayscale(1) brightness(10); padding: clamp(15px, calc( 30 / var(--inner) * 100vw ), 30px) clamp(20px, calc( 40 / var(--inner) * 100vw ), 40px);}
.history .company-info, .history-cnt {width: 50%;}
.history .company-info .item:not(:last-child) {margin-bottom:clamp(10px, calc( 30 / var(--inner) * 100vw ), 30px);}
.history-cnt {position: relative; padding-left: 60px;}
.history-cnt:before {position: absolute; content: ''; bottom: 0; top: 15px; left: 60px; border-left: 1px solid #ddd;}
.history-cnt .item {padding-left: var(--history-indent); padding-bottom: clamp(12px, calc( 40 / var(--inner) * 100vw ),40px);}
.history-list>ul>li {display: flex; gap: 15px;}
.history-list>ul>li:not(:last-child) {margin-bottom: 10px;}
.history-list>ul ul li:not(:last-child) {margin-bottom: 2px;}
.history-date {min-width: 40px;}
.history-year {position: relative; margin-bottom: 12px;}
.history-year:before {position: absolute; content: ''; left: calc(var(--history-indent) * -1); top: 50%; margin-top: -7px; margin-left: -7px; width: 15px; height: 15px; border-radius: 100%; border: 4px solid var(--primary-color); background: #fff;}

.partners ul {display: flex; flex-wrap: wrap; margin: -10px;}
.partners ul li {width: 20%; padding: 10px;}
.partners .partner, .border-box {position: relative;}
.partners .partner:before, .border-box:before {position: absolute; content: ''; top: 0; right: 0; bottom: 0; left: 0; border: 1px solid #ddd;}

.business .img {width: 46.66667%; margin-right:clamp(30px, calc( 80 / var(--inner) * 100vw ), 80px);}
.dot-list li {position: relative; padding-left: 14px;}
.dot-list li:before {position: absolute; content: ''; top: 11px; left: 0; width: 5px; height: 5px; border-radius: 100%; background: var(--primary-color);}
.dot-list li:not(:last-child) {margin-bottom: 6px;}

.possession-gallery {text-align: center;}
.possession-gallery ul {display: flex; flex-wrap: wrap; margin: -17px -15px;}
.possession-gallery ul li {width: 33.333333%; padding: 17px 15px;}
.possession-gallery .thumb {margin-bottom: 15px;position: relative; width: 100%; padding-bottom: 86.8421%; overflow: hidden;}
.possession-gallery .thumb img {position: absolute; width: 100%; height: auto; max-width: 100%; min-height: 100%; left: 0; top: 50%; transform: translateY(-50%); object-fit: cover;}
.sec-technician {margin-top: clamp(15px, calc( 100 / var(--inner) * 100vw ), 85px);}
.sec-technician .items, .sec-technician .tech {gap: 20px}
.sec-technician .tech01, .sec-technician .tech03 {width: 25%; text-align: center;}
.sec-technician .tech02 {flex: 1; flex-wrap: wrap;}
.sec-technician .item {padding: 10px 0; flex: 1; display: flex; align-items: center; justify-content: center;}
.sec-technician .tech01 .item {background: rgba(173,207,17,.1); color: #7e9900;}
.sec-technician .tech02 .item {width: 25%; flex: 1 1 auto; background: rgba(0,164,150,.09); color: #00a496;}
.sec-technician .tech03 .item {background: rgba(0,163,57,.07); color: #00a339;}

.table-wrap table {width: 100%; border-collapse: collapse; border-top:2px solid #686868;}
.table-wrap th {font-weight: 500; color: var(--dark-color); background: #f8f8f8;}
.table-wrap td:not(:last-child) {text-align: center;}
.table-wrap th, .table-wrap td {padding: clamp(5px, calc( 16 / var(--inner) * 100vw ), 16px) clamp(7px, calc( 30 / var(--inner) * 100vw ), 30px); border: 1px solid #ddd;}
.table-wrap th {border-top: 0;}