@charset "utf-8";

.sub-tab {background:#fff; margin-bottom:var(--space-90); border-radius:var(--radius-30);}
.sub-tab ul li {width:auto;}
.sub-tab ul li a {border-radius:var(--radius-30); padding:0 var(--space-30); font-size:var(--font-size-20); font-weight:600; letter-spacing:-.03em; line-height:1.33em; display:flex; align-items:center; text-align:center; justify-content:center; height:clamp(40px, calc(58 / var(--inner) * 100vw), 58px); color:#a8a8a8;}
.sub-tab ul li:hover a {background:#f4f4f4; color:#505050;}
.sub-tab ul li.active a {background:var(--color-primary); color:#fff;}
.sub-tab.fixed {z-index:80; background:#fff; position:fixed; top:calc(var(--header-height) + 10px); left:50%; transform:translateX(-50%);}

.sub-tab-2 {margin-bottom:var(--space-100);}
.sub-tab-2 ul {display:flex; justify-content:center; gap:0 var(--space-40);}
.sub-tab-2 ul li a {position:relative; display:block; font-size:var(--font-size-20); font-weight:400; letter-spacing:-.02em; line-height:1.6em; color:#505050;}
.sub-tab-2 ul li a:after {display:none; content:''; position:absolute; bottom:0; left:0; width:100%; height:4px; background:#709afe; border-radius:2px; transition:.3s;}
.sub-tab-2 ul li.active a {font-weight:600; color:#2c2c2c;}
.sub-tab-2 ul li.active a:after {display:block;}

.s-head {margin-bottom:var(--space-80); position:relative; padding-left:45px; font-size:var(--font-size-42); font-weight:700; letter-spacing:-.02em; line-height:1.38em;}
.s-head:before {border-radius:3px;  content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:6px; height:82%; background:linear-gradient(to bottom, #b9b6e5, #b6dcff);}
.s-head strong {color:var(--color-primary);}

.doc-cnt {margin-bottom:var(--space-85);}
.doc-cnt:last-child {margin-bottom:0;}

.doc-tit {margin-bottom:var(--space-30); font-size:var(--font-size-28); font-weight:700; letter-spacing:-.02em; line-height:1.4em;}

.greeting {margin-bottom:var(--space-90); display:flex; align-items:center; gap:0 var(--space-120);}
.greeting .image {max-width:580px; width:50%;}
.greeting .text {flex:1;}
.greeting .text h3 span {font-size:var(--font-size-38); font-weight:700; letter-spacing:-.02em; line-height:1.3em; display:inline-block; position:relative;}
.greeting .text h3 span:before {z-index:-1; content:''; position:absolute; left:0; bottom:0; width:100%; height:16px; background:#e0eafd;}
.greeting .text .txt-1 {margin:var(--space-50) 0; font-size:var(--font-size-24); font-weight:500; letter-spacing:-.02em; line-height:1.67em;}
.greeting .text .txt-2 {font-size:var(--font-size-20); font-weight:400; letter-spacing:-.02em; line-height:1.7em; color:#505050;}

.overview {padding:var(--space-60) 0; display:flex; justify-content:space-around; border-top:1px solid #dfdfdf; border-bottom:1px solid #dfdfdf;}
.overview .item {width:20%; text-align:center;}
.overview .item .ico img {height:clamp(40px, calc(72 / var(--inner) * 100vw), 72px);}
.overview .item .tit {margin:var(--space-30) 0 var(--space-15); font-weight:700; letter-spacing:-.04em; line-height:1.4em; color:var(--color-primary);}
.overview .item .txt {font-size:var(--font-size-24); font-weight:400; letter-spacing:-.04em; line-height:1.3em;}
.overview .item .addr {font-size:var(--font-size-18); font-weight:400; letter-spacing:-.04em; line-height:1.56em;}

.value-intro {border-bottom:1px solid #eee; padding-bottom:var(--space-100); margin-bottom:var(--space-100); display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-90);}
.value-intro .item .tit {margin:var(--space-35) 0 var(--space-20); position:relative; padding-left:30px; font-size:var(--font-size-28); font-weight:600; letter-spacing:-.02em; line-height:1.4em; color:var(--color-primary);}
.value-intro .item .tit:before {position:absolute; left:0; top:.5em; content:''; width:12px; height:12px; background:var(--color-primary); border-radius:100%;}
.value-intro .item .txt {font-size:var(--font-size-20); font-weight:400; letter-spacing:-.02em; line-height:1.7em; color:#505050;}

.value-connect {margin-bottom:var(--space-150); text-align:center;}
.value-connect .title h3 {margin-bottom:var(--space-35); font-size:var(--font-size-38); font-weight:700; letter-spacing:-.02em; line-height:1.42em;}
.value-connect .title p {font-size:var(--font-size-22); font-weight:500; letter-spacing:-.02em; line-height:1.73em; color:#505050;}
.value-connect .items {margin:var(--space-70) 0; display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-20);}
.value-connect .items .item {min-height:290px; padding:20px; display:flex; flex-direction:column; justify-content:center; align-items:center; border:1px solid #dfdfdf; border-radius:var(--radius-24);}
.value-connect .items .num {margin:0 auto var(--space-30); font-weight:700; color:var(--color-primary); width:48px; height:48px; background:#dfe5f0; display:flex; align-items:center; justify-content:center; border-radius:100%;} 
.value-connect .items p {font-size:var(--font-size-24); font-weight:700; letter-spacing:-.02em; line-height:1.67em;}
.value-connect .items p strong {color:var(--color-primary);}
.value-connect .text {font-size:var(--font-size-22); font-weight:500; letter-spacing:-.02em; line-height:1.73em; color:#505050;}

.value-kind .item {margin-bottom:var(--space-80); display:flex; align-items:center; gap:0 var(--space-120);}
.value-kind .item:last-child {margin-bottom:0;}
.value-kind .item .image {width:50%;}
.value-kind .item .text {flex:1;}
.value-kind .item .text h3 {margin-bottom:var(--space-35); font-size:var(--font-size-42); font-weight:700; letter-spacing:-.02em; line-height:1.3em;}
.value-kind .item .text h3 .en {margin-left:var(--space-35); display:inline-block; font-size:var(--font-size-20); font-weight:600; letter-spacing:-.02em; line-height:1.4em; background:linear-gradient(to right, #b9b6e5, #b6dcff); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; color:transparent;}
.value-kind .item .text p {font-size:var(--font-size-20); font-weight:400; letter-spacing:-.02em; line-height:1.7em; color:#505050;}
.value-kind .item:nth-child(even) {flex-direction:row-reverse;}

.history-image {margin-bottom:var(--space-110); padding-left:13.5%;}
.history-image img {width:100%;}
.history-items {position:relative;}
.history-items .progress-container {position:absolute; left:340px; top:.5%; width:2px; background:#dfdfdf;}
.history-items .progress-bar {width:100%; background:var(--color-primary); height:0;}
.history-item {margin-bottom:var(--space-80); display:flex; align-items:initial;}
.history-item .year {transition:.3s; margin-top:-.4em; font-size:var(--font-size-68); font-weight:800; letter-spacing:-.02em; line-height:1.24em; width:340px; display:flex; justify-content:space-between; color:#f0f0f0;}
.history-item .dot {width:14px; height:14px; top:34px; right:-7px; margin:0; position:relative; background:var(--color-primary); border-radius:50%; transition:.3s;}
.history-item .dot .inner-dot {transition:.5s ease; width:38px; height:38px; position:absolute; background:#e5ebf6; border-radius:100%; top:50%; left:50%; margin:-19px 0 0 -19px; transform:scale(0); z-index:-1;}
.history-item .dot .inner-dot:after {transition:.5s ease; left:50%; top:50%; width:26px; height:26px; margin:-13px 0 0 -13px; display:block; content:""; position:absolute; background:#b7c7e6; border-radius:100%; transition:.5s; transform:scale(0);}
.history-item .text {flex:1; padding-left:var(--space-90);}
.history-item .text p {margin-bottom:var(--space-25); font-size:var(--font-size-20); font-weight:500; letter-spacing:-.02em; line-height:1.4em;}
.history-item .text p:last-child {margin-bottom:0;}

.history-item.active .year {color:#2c2c2c;}
.history-item.active .dot .inner-dot {transform:scale(1);}
.history-item.active .dot .inner-dot:after {transform:scale(1);}

.select-partner {position:sticky; top:var(--header-height);}

.partner .section {margin-bottom:var(--space-40);}
.partner .section:last-child {margin-bottom:0;}
.partner-item {padding:var(--space-65) var(--space-100); border-radius:var(--radius-24); background:#f8f8f8;}
.partner-item .title {padding-bottom:var(--space-30); margin-bottom:var(--space-50); border-bottom:1px solid #eee; display:flex; align-items:center; justify-content:space-between; padding-bottom:var(--space-30);}
.partner-item .title h3 {font-weight:600; letter-spacing:-.02em; line-height:1.33em; font-size:var(--font-size-38); color:var(--color-primary); font-weight:700; letter-spacing:-.02em; line-height:1.38em;}
.partner-item .title .go {background:#fff; font-weight:600; color:var(--color-primary); border-radius:var(--radius-20); border:1px solid #eee; padding:0 var(--space-20); height:44px; display:flex; justify-content:center; align-items:center;}
.partner-item .title .go:hover {border-color:var(--color-primary); color:#fff;}
.partner-item .title .cm-js:hover .cm-overlay {width:225%; height:760%;}
.partner-item .content {display:flex; align-items:center; gap:var(--space-100);}
.partner-item .content .logo {max-width:510px; width:45%;}
.partner-item .content .txt {flex:1;}
.partner-item .content .txt h3 {margin-bottom:var(--space-25); font-size:var(--font-size-22); font-weight:700; letter-spacing:-.02em; line-height:1.4em;}
.partner-item .content .txt p {font-size:var(--font-size-18); font-weight:400; letter-spacing:-.02em; line-height:1.78em; color:#505050;}

.service-intro {margin-bottom:var(--space-85); display:flex; align-items:center; justify-content:space-between; gap:var(--space-80);}
.service-intro .s-head {margin-bottom:var(--space-40);}
.service-intro .s-head:before {height:32px;}
.service-intro .text .txt-1 {margin-bottom:var(--space-20); font-size:var(--font-size-24); font-weight:500; letter-spacing:-.02em; line-height:1.67em;}
.service-intro .text .txt-2 {font-size:var(--font-size-20); font-weight:400; letter-spacing:-.02em; line-height:1.7em; color:#505050;}

.system {display:flex; align-items:center;}
.system .image {padding:0 20px; order:2; width:33.333%; text-align:center;}
.system .item {padding:var(--space-35) var(--space-40) var(--space-40); border:1px solid #ddd; border-radius:var(--radius-16); width:33.333%;}
.system .item .tit {margin-bottom:var(--space-30); gap:0 var(--space-15); display:flex; justify-content:center; align-items:center; font-size:var(--font-size-22); font-weight:700; letter-spacing:-.02em; line-height:1.4em; color:#505050;}
.system .item .tit:before {content:''; width:9px; height:11px; background:url('/images/sub/system-left-tit.png') no-repeat 50% 50% /contain;}
.system .item .txt {min-height:360px; display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-10);}
.system .item .txt .box {color:#676767; padding:var(--space-15); font-size:var(--font-size-18); font-weight:500; letter-spacing:-.02em; line-height:1.67em; text-align:center; display:flex; align-items:center; justify-content:center; background:#fff; border-radius:var(--radius-8); border:1px solid #eee;}
.system .item .txt .box.wide {grid-column:span 2;}
.system .item.left {order:1; background:#fafafa;}
.system .item.right {order:3; background:#f4f7fe;}
.system .item.right .tit {color:var(--color-primary);}
.system .item.right .tit:before {background-image:url('/images/sub/system-right-tit.png');}
.system .item.right .txt .box {color:#2c2c2c;}

.table01 table {width:100%; border-collapse:collapse; border-spacing:0; border-top:2px solid var(--color-primary);}
.table01 thead th {border-bottom:1px solid #eee;padding:var(--space-20); font-size:var(--font-size-20); font-weight:700; letter-spacing:-.02em; line-height:1.4em; background:#f4f7fe;}
.table01 tbody th {border-right:1px solid #eee; border-bottom:1px solid #eee; padding:var(--space-20); font-weight:700; letter-spacing:-.02em; line-height:1.5em;}
.table01 tbody td {border-bottom:1px solid #eee;padding:var(--space-20); font-weight:400; letter-spacing:-.02em; line-height:1.5em; color:#505050;}

.prod-bnr {margin-bottom:var(--space-100); background:#f4f7fe; padding:var(--space-55) 0;}
.prod-bnr .contain {display:flex; gap:var(--space-20);}
.prod-bnr .item {padding:0 10px; display:flex; align-items:center; justify-content:center; flex:1; text-align:center; background:#fff; border-radius:var(--radius-16); min-height:90px;}

.prod-desc {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-40);}
.prod-desc .item {padding:var(--space-40); border:1px solid #eee; border-radius:var(--radius-24);}
.prod-desc .item .icon img {height:clamp(56px, calc(84 / var(--inner) * 100vw), 84px);}
.prod-desc .item h3 {margin:var(--space-25) 0; font-size:var(--font-size-28); font-weight:700; letter-spacing:-.02em; line-height:1.4em;}
.prod-desc .item .text p {margin-bottom:var(--space-20); position:relative; font-size:var(--font-size-18); font-weight:700; letter-spacing:-.02em; line-height:1.67em;}
.prod-desc .item .text p:last-child {margin-bottom:0;}
.prod-desc .item .text p:before {margin-right:var(--space-8); content:''; vertical-align:middle; display:inline-block; width:4px; height:4px; background:var(--color-primary); border-radius:100%;}
.prod-desc .item .text .cc {padding-left:10px; display:block; font-size:var(--font-size-18); font-weight:500; letter-spacing:-.02em; line-height:1.67em; color:#676767;}
.prod-desc .item .text-2 p {text-indent:-.6em; padding-left:.6em; margin-bottom:var(--space-5); position:relative; font-size:var(--font-size-18); font-weight:400; letter-spacing:-.03em; line-height:1.67em; color:#505050;}
.prod-desc .item .text-2 p:last-child {margin-bottom:0;}
.prod-desc .item .text-2 p:before {margin-right:var(--space-8); content:''; vertical-align:middle; display:inline-block; width:4px; height:4px; background:var(--color-primary); border-radius:100%;}

.cluster-image {margin-bottom:var(--space-90); display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-40);}
.cluster-image .item {text-align:center;}
.cluster-image .item p {margin-top:var(--space-25); font-size:var(--font-size-18); font-weight:700; letter-spacing:-.02em; line-height:1.5em; color:#505050;}

.customer-group {margin-bottom:var(--space-100); display:flex;}
.customer-group:last-child {margin-bottom:0;}
.customer-group .title {width:380px;}
.customer-group .title p {font-weight:400; letter-spacing:-.02em; line-height:1.4em; color:var(--color-primary);}
.customer-group .title h2 {font-size:var(--font-size-32); font-weight:700; letter-spacing:-.02em; line-height:1.4em;}
.customer-group .image {flex:1;}
.customer-group .image ul {display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--space-20);}

.team-items {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-30);}
.team-items .item {border-radius:var(--radius-24); padding:var(--space-35) var(--space-30); border:1px solid #dfdfdf;}
.team-items .item .tit {margin-bottom:var(--space-20); font-size:var(--font-size-24); font-weight:700; letter-spacing:-.02em; line-height:1.4em;}
.team-items .item .tit span {display:inline-block; position:relative;} 
.team-items .item .tit span:after {border-radius:100%; content:''; position:absolute; top:0; right:calc(var(--space-8) * -1); width:5px; height:5px; background:var(--color-primary);}
.team-items .item .txt {font-size:var(--font-size-18); font-weight:400; letter-spacing:-.03em; line-height:1.89em; color:#505050;}

.team-text {margin-top:var(--space-30); border-radius:var(--radius-24); background:#fafafa; padding:var(--space-40) var(--space-55); display:flex; align-items:center;}
.team-text .icon {text-align:center; margin-right:var(--space-95);}
.team-text .icon p {margin-top:var(--space-10); font-size:var(--font-size-18); font-weight:700; letter-spacing:-.02em; line-height:1.4em;}
.team-text .text {flex:1;}
.team-text .text .tit {margin-bottom:var(--space-20); font-size:var(--font-size-24); font-weight:700; letter-spacing:-.02em; line-height:1.4em;}
.team-text .text .txt {font-size:var(--font-size-18); font-weight:400; letter-spacing:-.02em; line-height:1.89em; color:#505050;}

.culture .item {margin-bottom:60px; display:flex; align-items:center; gap:0 var(--space-100);}
.culture .item:last-child {margin-bottom:0;}
.culture .item .image {width:50%;}
.culture .item .text {width:50%;}
.culture .item .text h3 {margin-bottom:var(--space-25); font-size:var(--font-size-28); font-weight:700; letter-spacing:-.02em; line-height:1.4em;}
.culture .item .text p {font-size:var(--font-size-20); font-weight:400; letter-spacing:-.02em; line-height:1.7em; color:#505050;}
.culture .item:nth-child(even) {flex-direction:row-reverse;}
