@charset "utf-8";
.space-top {padding-top:clamp(40px, calc( 140 / var(--inner) * 100vw ), 140px);}
.space-bot {padding-bottom:clamp(40px, calc( 140 / var(--inner) * 100vw ), 140px);}
.space-small {padding:clamp(30px, calc( 100 / var(--inner) * 100vw ), 100px) 0;}
.bb {border-bottom: 1px solid #ddd;}
.sec .group:not(:last-child) {}
.sec-tit, .group-tit {margin-bottom: clamp(20px, calc( 85 / var(--inner) * 100vw ), 85px); }
.sec-tag {margin-bottom: 10px; font-weight: 700; color: var(--primary-color);}
.sec-tit h2 {font-size: clamp(24px, calc( 40 / var(--inner) * 100vw ), 40px); color: var(--dark-color); line-height: 1.2em;}
.sec-tit p,
.group-tit p {margin-top:clamp(15px, calc( 25 / var(--inner) * 100vw ), 25px);}
.group-tit h3 {font-size: clamp(21px, calc( 32 / var(--inner) * 100vw ), 32px); color: var(--dark-color); line-height: 1.4375em;}

.about-company .contain.flex-wrap .sec-tit {width: 36.78575%;}
.sec-greeting .sec-cnt {font-size:clamp(15px, calc( 18 / var(--inner) * 100vw ), 18px);}
.greeting-sign span {margin-left:clamp(25px, calc( 40 / var(--inner) * 100vw ), 40px);}
.about-certs {gap: 30px 20px;}
.about-cert .tit {margin-top:clamp(15px, calc( 25 / var(--inner) * 100vw ), 25px);}
.direction-txt {margin-top: clamp(20px, calc( 75 / var(--inner) * 100vw ), 75px);}
.direction-txt .sec-tit {width: 40.714286%;}
.direction-map iframe {width: 100% !important;}
.direction-item .icon {min-width: 45px;}
.direction-item p {padding-left: 45px; margin-top:7px; font-weight: 400;}
.direction-item:not(:last-child) {margin-bottom:clamp(20px, calc( 50 / var(--inner) * 100vw ), 50px);}
.partners-tit {width: fit-content; padding:7px clamp(20px, calc( 30 / var(--inner) * 100vw ), 30px); margin: 0 auto clamp(20px, calc( 85 / var(--inner) * 100vw ), 85px); border-radius: 22px; background: var(--primary-color); font-size:clamp(16px, calc( 20 / var(--inner) * 100vw ), 20px); color: #fff;}
.partners ul {display: flex; flex-wrap: wrap; margin: calc(clamp(5px, calc( 20 / var(--inner) * 100vw ), 20px) * -1);}
.partners li {width: 20%; padding:clamp(5px, calc( 20 / var(--inner) * 100vw ), 20px);}
.indent-list li {text-indent: -10px; padding-left: 10px;}
.info-boxes {margin: calc(clamp(10px, calc( 20 / var(--inner) * 100vw ), 20px) * -1);}
.info-box {padding:clamp(10px, calc( 20 / var(--inner) * 100vw ), 20px);}
.info-box-wrap {display: flex; align-items:center; padding: clamp(20px, calc( 80 / var(--inner) * 100vw ), 80px) clamp(15px, calc( 40 / var(--inner) * 100vw ), 40px); border: 1px solid #ddd;}
.info-box .icon {width: 30.35%; padding: 0 15px; text-align: center;}
.info-box .txt > *:not(:last-child),
.materials .sec-welcome h2  {margin-bottom:clamp(7px, calc( 15 / var(--inner) * 100vw ), 15px);}
.materials .sec-welcome .img {max-width: 50%;padding-right:clamp(25px, calc( 75 / var(--inner) * 100vw ), 75px);}
.product-boxes .info-box .icon {width: 40.134%;}
.product-boxes .info-box-wrap {border-color: var(--primary-color);}
.material-process {gap: clamp(10px, calc( 60 / var(--inner) * 100vw ), 60px); margin-bottom: clamp(20px, calc( 60 / var(--inner) * 100vw ), 60px);}
.material-process-txt {padding: clamp(10px, calc( 20 / var(--inner) * 100vw ), 20px) clamp(30px, calc( 50 / var(--inner) * 100vw ), 50px); border-radius: 35px;}
.material-process-before {background: var(--gradient-color);}
.material-process-after {background: #fff; border: 1px solid var(--primary-color);}
.business-process {max-width: 1050px; margin: 0 auto;}
.business-process ol {display: flex; flex-wrap: wrap; margin: calc(clamp(15px, calc( 30 / var(--inner) * 100vw ), 30px) * -1) calc(clamp(15px, calc( 37 / var(--inner) * 100vw ), 37px) * -1);}
.business-process li {position: relative; width: 20%; padding: clamp(15px, calc( 30 / var(--inner) * 100vw ), 30px) clamp(15px, calc( 37 / var(--inner) * 100vw ), 37px);}
.business-process li:nth-child(6) {order:5;}
.business-process li:nth-child(7) {order:4;}
.business-process li:nth-child(8) {order:3;}
.business-process li:nth-child(9) {order:2;}
.business-process li:nth-child(10) {order:1;}
.business-process li:nth-child(10) ~ li {order:6;}
.business-process li:after {position: absolute; content: ''; top: 31%; right: 0; width: 15px; height: 19px; margin-right: -7px; background: url('/images/sub/business-process-arrow.png') no-repeat center center; background-size:contain;}
.business-process li:last-child:after {content: none !important;}
.business-process li:nth-child(5) ~ li:after {right: auto; left: 0; margin-right: 0; margin-left: -7px; transform: rotate(.5turn);}
.business-process li:nth-child(10) ~ li:after {left: auto; right: 0; margin-right: -7px; margin-left: 0; transform: rotate(0);}
.business-process li:nth-child(5n):after {top: auto; bottom: 0; right: auto; left: 50% !important; margin-right: 0; margin-left: -7px; transform: rotate(90deg) !important;}
.business-process-item .img {position: relative;}
.business-process-item .img:before {content :'';display: block;width: 100%; padding-bottom: 100%; border: 1px solid var(--primary-color);}
.business-process-item .img img {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.business-process-item .step {position: relative; display: flex; align-items: center; justify-content: center; width: calc(100% - var(--container-space)); height: 40px; margin: -20px auto clamp(7px, calc( 15 / var(--inner) * 100vw ), 15px); padding: 5px 10px; background: var(--primary-color); border-radius: 20px; font-size:clamp(15px, calc( 18 / var(--inner) * 100vw ), 18px); color: #fff; font-weight: 700;}
.business-consulting-img {width: 45.28575%;}
.business-consulting-txt {padding-right:clamp(25px, calc( 50 / var(--inner) * 100vw ),50px);}
.business-consulting-txt p {margin: var(--container-space) 0; font-weight: 400;}
.txt-banner {padding:clamp(40px, calc( 220 / var(--inner) * 100vw ), 220px)  0; background: url('/images/sub/bg-rnd-banner.jpg') no-repeat center center; background-size: cover; line-height: 1.875em;}
.rnd-facilities .txt-banner {background-image: url('/images/sub/bg-facility-banner.jpg');}
.chk-list {width: fit-content; margin: 0 auto; line-height: 1.5em;}
.chk-list li {position: relative; padding-left: 23px;}
.chk-list li:before {position: absolute; content: ''; left: 0; top: 6px; width: 13px; height: 9px; background: url('/images/sub/icon-chk.png') no-repeat center center; background-size: contain;}
.chk-list li:not(:last-child) {margin-bottom: 6px;}
.rnd-works {display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(40px, calc( 70 / var(--inner) * 100vw ), 70px) clamp(20px, calc( 100 / var(--inner) * 100vw ), 100px);}
.rnd-work h3 {display: flex; align-items: center; justify-content: center; width: 200px; height: 60px; margin: 0 auto; border-radius: 30px; background: var(--primary-color); color: #fff; font-size:clamp(17px, calc( 22 / var(--inner) * 100vw ), 22px);}
.rnd-circle {margin: clamp(15px, calc( 60 / var(--inner) * 100vw ), 60px) auto; text-align: center;}
.faciliity-work h3 {font-size:clamp(17px, calc( 22 / var(--inner) * 100vw ), 22px); color: var(--primary-color);}
.dot-list li {position: relative; padding-left: 15px;}
.dot-list li:before {position: absolute; content: '·'; left: 0; top: 0; color: var(--primary-color);}
.faciliity-works>ul {display: flex; flex-wrap: wrap; margin: calc(clamp(20px, calc( 43 / var(--inner) * 100vw ), 43px) * -1) calc(clamp(10px, calc( 20 / var(--inner) * 100vw ), 20px) * -1);}
.faciliity-works>ul>li {width: 33.3335%; padding: clamp(20px, calc( 43 / var(--inner) * 100vw ), 43px) clamp(10px, calc( 20 / var(--inner) * 100vw ), 20px);}
.faciliity-work {display: flex; flex-direction: column; height: 100%;}
.faciliity-work-txt {flex: 1; margin-top: calc(clamp(20px, calc( 30 / var(--inner) * 100vw ), 30px) * -1); padding: clamp(20px, calc( 30 / var(--inner) * 100vw ), 30px) clamp(15px, calc( 38 / var(--inner) * 100vw ), 38px); border-radius: clamp(10px, calc( 16 / var(--inner) * 100vw ), 16px); background: #fff; box-shadow: 2px 2px 4px rgba(0,0,0,.1);}
.faciliity-work h3 {margin-bottom:clamp(7px, calc( 12 / var(--inner) * 100vw ), 12px);}
.faciliity-work ul {min-height: 3.75em;}



