@charset "utf-8";

.doc-cnt {padding:var(--space-120) 0;}
.doc-cnt:last-child {padding-bottom:0;}

.biz-intro {background-size:cover; background-repeat:no-repeat; background-position:50% 50%; padding:var(--space-150) 0; text-align:center;}
.biz-intro .ico img {height:clamp(44px, calc(96 / var(--inner) * 100vw), 96px);}
.biz-intro .label {margin-top:var(--space-40); font-size:var(--font-size-18); font-weight:700; color:var(--color-primary); letter-spacing:-.03em; line-height:1.33em;}
.biz-intro h3 {margin:var(--space-20) 0 var(--space-30); font-size:var(--font-size-36); font-weight:700; color:#fff; letter-spacing:-.03em; line-height:1.33em;}
.biz-intro .txt {font-size:var(--font-size-18); font-weight:500; color:#fff; letter-spacing:-.03em; line-height:1.4em;}

.key-service h3 {margin-bottom:var(--space-40); font-size:var(--font-size-36); font-weight:700; color:#242424; letter-spacing:-.03em; line-height:1.4em;}
.key-service .items {display:flex; flex-direction:column; gap:var(--space-24);}
.key-service .item {position:relative; display:flex; gap:var(--space-40); padding:var(--space-60) 160px var(--space-60) var(--space-40); border-radius:20px; overflow:hidden; background:#05143D;}
.key-service .item .ico {min-width:clamp(44px, calc(64 / var(--inner) * 100vw), 64px); width:clamp(44px, calc(64 / var(--inner) * 100vw), 64px);}
.key-service .item .text {flex:1;}
.key-service .item .text h3 {margin-bottom:var(--space-25); font-size:var(--font-size-24); font-weight:700; color:#fff; letter-spacing:-.03em; line-height:1.4em;}
.key-service .item .text p {font-size:var(--font-size-18); font-weight:400; color:#fff; letter-spacing:-.03em; line-height:1.4em;} 
.key-service .item .btn {position:absolute; right:var(--space-40); top:var(--space-60); display:inline-flex; align-items:center; justify-content:center; gap:var(--space-10); height:clamp(40px, calc(48 / var(--inner) * 100vw), 48px); padding:0 20px; border-radius:10px; background:rgba(255,255,255,.2); color:#fff; font-size:var(--font-size-15); font-weight:400; letter-spacing:-.03em; line-height:1.33em;}
.key-service .item .btn svg {flex-shrink:0;}
.key-service .item .btn:hover {background:var(--color-primary); color:#fff; border-color:var(--color-primary);}

.target-customer {background:url('/images/sub/target-customer-bg.jpg') no-repeat center center / cover;}
.target-customer .wrap {display:flex; justify-content:center; gap:var(--space-40);}
.target-customer .card {flex:1; padding:var(--space-60) var(--space-40); border-radius:20px; background:#050C2A;}
.target-customer .card h3 {margin-bottom:var(--space-30); font-size:var(--font-size-24); font-weight:700; color:#fff; letter-spacing:-.03em; line-height:1.4em;}
.target-customer .list-1 ul {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-20);}
.target-customer .list-1 ul li {display:flex; align-items:center; justify-content:center; padding:var(--space-20); border-radius:80px; background:rgba(255,255,255,0.2); font-size:var(--font-size-18); font-weight:600; color:#fff; letter-spacing:-.03em; line-height:1.33em;}
.target-customer .list-1.col-3 ul {grid-template-columns:repeat(3, 1fr);}
.target-customer .list-2 ul {display:flex; flex-direction:column; gap:var(--space-20);}
.target-customer .list-2 ul li {display:flex; align-items:center; gap:var(--space-16); padding:var(--space-20); border-radius:60px; background:rgba(255,255,255,0.2); font-size:var(--font-size-18); font-weight:500; color:#fff; letter-spacing:-.03em; line-height:1.33em;}
.target-customer .list-2 ul li::before {content:"";  width:clamp(16px, calc(24 / var(--inner) * 100vw), 24px); height:clamp(24px, calc(32 / var(--inner) * 100vw), 32px); background:url("/images/sub/check.png") no-repeat center/contain;}
.target-customer .card.type2 {display:flex;}
.target-customer .card.type2 h3 {width:320px;}
.target-customer .card.type2 .list-1 {flex:1;}

.core {padding:var(--space-65); background:#F8F8F8;}
.core h3 {margin-bottom:var(--space-40); font-size:var(--font-size-24); font-weight:700; color:#242424; text-align:center; letter-spacing:-.03em; line-height:1.4em;}
.core .items {display:flex; justify-content:center; gap:var(--space-20); flex-wrap:wrap;}
.core .item {text-align:center; width:186px;}
.core .item .ico img {height:clamp(50px, calc(80 / var(--inner) * 100vw), 80px);}
.core .item .tit {margin-top:var(--space-25); font-size:var(--font-size-18); font-weight:700; color:#242424; text-align:center; letter-spacing:-.03em; line-height:1.33em;}
.core .item .tit small {font-size:var(--font-size-15); font-weight:400;}

.greeting {display:flex; align-items:center; gap:var(--space-80);}
.greeting .image {width:47.2%;}
.greeting .content {flex:1; display:flex; flex-direction:column; gap:var(--space-40);}
.greeting .content h3 {font-size:var(--font-size-36); font-weight:700; color:#242424; letter-spacing:-0.03em; line-height:1.5em;}
.greeting .content .txt {font-size:var(--font-size-16); color:#454545; letter-spacing:-.03em; line-height:1.5em;}
.greeting .content .txt strong {color:#242424;}
.greeting .content .sign {font-size:var(--font-size-18); font-weight:700; color:#242424; letter-spacing:-.03em; line-height:1.33em;}

.mission {padding:clamp(60px, calc(220 / var(--inner) * 100vw), 220px) 0; background:url('/images/sub/mission-bg.jpg') no-repeat center center / cover; text-align:center;}
.mission .label {font-size:var(--font-size-18); font-weight:700; color:var(--color-primary); letter-spacing:-0.03em; line-height:1.5em;}
.mission h3 {margin-top:var(--space-20); font-size:var(--font-size-36); font-weight:700; color:#fff; letter-spacing:-0.03em; line-height:1.5em;}

.vision {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-40);}
.vision .card {padding:var(--space-40); border-radius:20px; background:#060927; display:flex; flex-direction:column;}
.vision .card .ico {text-align:center;}
.vision .card .ico img {height:clamp(44px, calc(64 / var(--inner) * 100vw), 64px);}
.vision .card .tit {margin-top:var(--space-30); font-size:var(--font-size-24); font-weight:700; color:#fff; text-align:center; letter-spacing:-0.03em; line-height:1.33em;}
.vision .card .list {flex:1; margin-top:var(--space-20); padding:var(--space-40) var(--space-45); border-radius:10px; background:rgba(255,255,255,0.2);}
.vision .card .list li {margin-bottom:var(--space-15); position:relative; padding-left:15px; font-size:var(--font-size-18); font-weight:600; color:#fff; letter-spacing:-0.03em; line-height:1.33em;}
.vision .card .list li:last-child {margin-bottom:0;}
.vision .card .list li::before {content:""; position:absolute; left:0; top:.4em;width:4px; height:4px; background:#fff; border-radius:50%;}
.vision .card .list li small {font-size:var(--font-size-14); font-weight:400; color:rgba(255,255,255,0.6);}
.vision .card .list .desc {margin-top:var(--space-8); font-size:var(--font-size-16); font-weight:400; color:rgba(255,255,255,0.6); letter-spacing:-0.03em; line-height:1.5em;}

.goal {background:#f8f8f8;}
.goal .contain {display:flex; align-items:center; gap:var(--space-100);}
.goal .image {width:51.429%;}
.goal .content {flex:1;}
.goal .content p {font-size:var(--font-size-36); font-weight:700; color:#242424; letter-spacing:-0.03em; line-height:1.5em;}

.history-area {display:flex; justify-content:center;}
.history {display:flex; flex-direction:column; gap:var(--space-55);}
.history .group {display:flex;}
.history .group h3 {width:15.5%; font-size:var(--font-size-40); font-weight:700; color:#242424; letter-spacing:-0.03em; line-height:.75em;}
.history .group .line-area {display:flex; flex-direction:column; align-items:center; gap:var(--space-30);}
.history .group .line-area .dot {display:block; width:clamp(16px, calc(31 / var(--inner) * 100vw), 31px); height:clamp(16px, calc(31 / var(--inner) * 100vw), 31px); border-radius:50%; border:clamp(3px, calc(10 / var(--inner) * 100vw), 10px) solid var(--color-primary);}
.history .group .line-area .line {border-radius:10px; width:2px; flex:1; background:#ddd;}
.history .group .content {padding-left:var(--space-120); flex:1; display:flex; flex-direction:column; gap:var(--space-30);}
.history .group .content .item {display:flex;}
.history .group .content .month {min-width:clamp(48px, calc(88 / var(--inner) * 100vw), 88px); font-size:var(--font-size-18); font-weight:600; color:#242424; letter-spacing:-0.03em; line-height:1.4em;}
.history .group .content .list ul li {padding-left:12px; position:relative; font-size:var(--font-size-16); color:#454545; letter-spacing:-0.03em; line-height:1.5em;}
.history .group .content .list ul li:before {content:""; position:absolute; left:0; top:.6em; width:3px; height:3px; background:#454545; border-radius:50%;}

.partners .items {display:grid; grid-template-columns:repeat(5, 1fr); gap:var(--space-30);}
.partners .item .img {aspect-ratio:256/120; border-radius:16px; overflow:hidden; border:1px solid #ddd;}
.partners .item .img img {width:100%; height:100%; object-fit:contain;}

.inquiry-info {display:flex; gap:var(--space-40); margin-bottom:var(--space-80);}
.inquiry-info .item {flex:1; min-width:0; display:flex; flex-direction:column; gap:var(--space-40); padding:var(--space-40); border:1px solid #ddd; border-radius:24px;}
.inquiry-info .item .title {font-size:var(--font-size-30); font-weight:700; letter-spacing:-0.03em; color:#242424; word-break:keep-all;}
.inquiry-info .item .info {display:flex; gap:var(--space-15) var(--space-65); font-size:var(--font-size-18); line-height:1.66em;}
.inquiry-info .item .info dl {display:flex; gap:var(--space-15);}
.inquiry-info .item .info dt {font-weight:600; color:#242424; white-space:nowrap;}
.inquiry-info .item .info dd {margin:0; font-weight:400; color:#686868; word-break:break-all;}
