@charset "utf-8";

.gray-bg {background:#fafafa;}

.doc-cnt {padding:var(--space-100) 0; background-size:cover; background-repeat:no-repeat; background-position:50% 50%;}
.doc-cnt:last-child {padding-bottom:0;}

.s-title {margin-bottom:var(--space-40); text-align:center;}

.s-txt {color:#acacac; margin-bottom:var(--space-20); font-weight:600; letter-spacing:.12em; line-height:1.4em; font-weight:600;}
.s-txt.st2 {color:#242424;}

.s-tit {font-size:var(--font-size-40); font-weight:700; letter-spacing:-.03em; line-height:1.2em;}

.overview {text-align:center;}
.overview .text {margin-bottom:var(--space-40); font-weight:500; letter-spacing:0; line-height:1.5em;}
.overview .info .items {display:flex; flex-wrap:wrap; justify-content:center; margin:calc(var(--space-15) * -1);}
.overview .info .items .item {width:25%; padding:var(--space-15);}
.overview .info .items .box {padding:20px; display:flex; flex-direction:column; justify-content:center; align-items:center; height:154px; background:rgba(255,255,255,.5);}
.overview .info .items .tit {margin-bottom:var(--space-10); color:#333; font-weight:500; letter-spacing:-.03em; line-height:1.4em;}
.overview .info .items .txt {word-break:break-all; font-size:var(--font-size-22); font-weight:700; letter-spacing:-.03em; line-height:1.4em;}

.sales-group {margin-bottom:var(--space-100);}
.sales-group:last-child {margin-bottom:0;}

.history-item {position:relative; padding-bottom:var(--space-80);}
.history-item:last-child {padding-bottom:0;}
.history-item:before {content:""; display:block; width:1px; height:100%; top:.7em; background:#ddd; position:absolute; left:50%;}
.history-item:last-child:before {display:none;}
.history-item .dot {background:#fff; width:40px; height:40px; top:.7em; left:50%; position:absolute; margin-left:-20px; border:10px solid #999; border-radius:50%; transition:.3s;}
.history-item .dot .inner-dot {transition:.5s ease; width:100px; height:100px; position:absolute; background:rgba(240,145,40,.2); border-radius:100%; top:50%; left:50%; margin:-50px 0 0 -50px; transform:scale(0); z-index:-1;}
.history-item .dot .inner-dot:after {transition:.5s ease; left:50%; top:50%; width:60px; height:60px; margin:-30px 0 0 -30px; display:block; content:""; position:absolute; background:rgba(240,145,40,.3); border-radius:100%; transition:.5s; transform:scale(0);}
.history-item .year {transition:.3s; min-height:77px; margin-bottom:var(--space-35); font-size:var(--font-size-50); font-weight:600; letter-spacing:-.03em; line-height:1.2em;}
.history-item .text .txt {margin-bottom:var(--space-15); display:flex;}
.history-item .text .txt:last-child {margin-bottom:0;}
.history-item .text .txt .month {min-width:42px; font-size:var(--font-size-20); font-weight:600; letter-spacing:-.03em; line-height:1.1em;}
.history-item .text .txt p {font-weight:400; letter-spacing:-.03em; line-height:1.4em; color:#454545;}
.history-item:nth-child(odd) {padding-left:50%;}
.history-item:nth-child(even) {padding-right:50%; text-align:right;}
.history-item:nth-child(even) .text .txt {flex-direction:row-reverse;}
.history-item:nth-child(odd) .inner {padding-left:var(--space-75);}
.history-item:nth-child(even) .inner {padding-right:var(--space-75);}

.history-item.active .year {font-size:var(--font-size-64); font-weight:800;}
.history-item.active .dot {border-color:var(--color-success); top:1.1em;}
.history-item.active .dot .inner-dot {transform:scale(1);}
.history-item.active .dot .inner-dot:after {transform:scale(1);}

.ideology .s-title .s-tit {font-weight:400;}
.ideology .image {height:clamp(200px, calc(550 / var(--inner) * 100vw), 550px); background:url('/images/sub/ideology.jpg') no-repeat center center / cover;}

.conduct {position:relative; margin-top:calc(var(--space-140) * -1);}
.conduct .inner {background:#fff; padding:var(--space-100) 30px; text-align:center;}
.conduct .inner .text {font-size:var(--font-size-30); font-weight:400; letter-spacing:-.03em; line-height:1.4em;}

.ethics {display:flex; gap:0 var(--space-120);}
.ethics .image {width:40%;}
.ethics .content {flex:1; display:grid; grid-template-columns:repeat(2, 1fr); text-align:center;}
.ethics .content .item {display:flex; flex-direction:column; align-items:center; justify-content:center;}
.ethics .content .item:nth-child(1),
.ethics .content .item:nth-child(2) {border-bottom:1px solid #ddd;}
.ethics .content .item:nth-child(1),
.ethics .content .item:nth-child(3) {border-right:1px solid #ddd;}
.ethics .content .item:nth-child(1) .num,
.ethics .content .item:nth-child(4) .num {color:var(--color-success);}
.ethics .content .num {font-size:var(--font-size-50); font-weight:700; letter-spacing:-.03em; line-height:1.3em;}
.ethics .content .txt {font-size:var(--font-size-22); font-weight:700; letter-spacing:-.03em; line-height:1.3em;}

.biz-group {margin-bottom:var(--space-100); display:flex; background:#fafafa;}
.biz-group:last-child {margin-bottom:0;}
.biz-group .image {width:37%; max-width:515px;}
.biz-group .content {padding:var(--space-55) 0 var(--space-40); display:flex; flex:1;}
.biz-group .content .title {width:30%; padding:0 var(--space-60);}
.biz-group .content .title .txt {margin-bottom:var(--space-15); font-weight:600; letter-spacing:.12em; line-height:1.4em; color:var(--color-primary);} 
.biz-group .content .title .tit {font-size:var(--font-size-30); font-weight:700; letter-spacing:-.03em; line-height:1.4em;}
.biz-group .content .bar {margin-top:var(--space-20); position:relative; overflow:hidden; width:1px; background:#7db6f5;}
.biz-group .content .bar span {position:absolute; left:0; width:1px; top:0; height:20px; background:var(--color-primary); animation:bar 4s linear infinite;}

@keyframes bar{
	0%{height:0;}
	100%{height:110%;}
}
.biz-group .content .text {display:flex; flex-direction:column; justify-content:center; flex:1 1 auto; min-width:0; width:1%; padding:0 var(--space-30) 0 var(--space-55);}
.biz-group .content .text .txt {margin-bottom:var(--space-10); font-weight:700; letter-spacing:-.03em; line-height:1.5em; color:#242424;}
.biz-group .content .text .list ul li {padding-left:.6em; text-indent:-.6em; font-weight:400; letter-spacing:-.03em; line-height:2.5em; color:#454545;}
.biz-group:nth-child(even){flex-direction:row-reverse;}

.partners-group:not(:last-child) {margin-bottom:var(--space-90);}
.partners-group h2 {margin-bottom:var(--space-35); text-align:center; font-size:var(--font-size-34); font-weight:700; letter-spacing:-.03em; line-height:1.4em;}
.partners-group .image ul {display:grid; grid-template-columns:repeat(5, 1fr); gap:var(--space-30);}

.advisors h2 {margin-bottom:var(--space-40); font-size:var(--font-size-40); font-weight:700; letter-spacing:-.03em; line-height:1.4em;}

.table01 table {border-top:1px solid #242424; width:100%; text-align:center; border-collapse:collapse; border-spacing:0;}
.table01 thead th {border-right:1px solid #ddd;  border-bottom:1px solid #ddd; padding:var(--space-20); font-size:var(--font-size-17); font-weight:600; letter-spacing:-.03em; line-height:1.4em; background:#fafafa;}
.table01 tbody td {color:#454545; padding:var(--space-20); border-right:1px solid #ddd;  border-bottom:1px solid #ddd;}
.table01 thead th:last-child,
.table01 tbody td:last-child {border-right:none;}
.table01 .caution {margin-top:var(--space-15); font-weight:500; color:#999;}

.overseas {margin-bottom:var(--space-100);}

.job-text {text-align:center;}
.job-text p {font-size:var(--font-size-30); font-weight:700; letter-spacing:-.03em; line-height:1.4em;}
.job-text p strong {color:var(--color-success);}

.work {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-40);}
.work .item {padding:var(--space-35) var(--space-40); border:1px solid #ddd; background:#fff;}
.work .item .tit {margin-bottom:var(--space-30); font-size:var(--font-size-22); font-weight:700; letter-spacing:-.03em; line-height:1.4em;}
.work .item .txt {font-weight:400; letter-spacing:-.03em; line-height:1.4em; color:#454545;}
.work.col-4 {grid-template-columns:repeat(4, 1fr);}

.process {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-40);}
.process .group {padding:var(--space-35); background:#fff; border:1px solid #ddd;}
.process .group .title h3 {font-size:var(--font-size-22); font-weight:700; letter-spacing:-.03em; line-height:1.4em;}
.process .group-1 {display:flex; grid-column:span 2;}
.process .group-1 .title {width:20%;}
.process .group-2 .title {margin-bottom:var(--space-30);}
.process .group-2 .text {color:#454545;}

.inquiry-tel .tel {margin-bottom:var(--space-60); font-size:var(--font-size-22); font-weight:700;}
.inquiry-tel .button {display:flex; justify-content:center; gap:var(--space-20);}
.inquiry-tel .button a {height:clamp(45px, calc(64 / var(--inner) * 100vw), 64px); font-size:var(--font-size-18); font-weight:600; letter-spacing:-.03em; line-height:1.4em; border-radius:8px; min-width:240px; display:flex; align-items:center; justify-content:center; color:#fff;}
.inquiry-tel .button a.st1 {background:#555;}
.inquiry-tel .button a.st2 {background:var(--color-secondary);}
.inquiry-tel .button a.st3 {background:var(--color-success);}

.benefits {margin-top:var(--space-50); display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-40);}
.benefits .item {display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:220px; padding:var(--space-15); border:1px solid #ddd; text-align:center;}
.benefits .item .ico img {height:clamp(40px, calc(48 / var(--inner) * 100vw), 48px);}
.benefits .item .tit {margin:var(--space-25) 0 var(--space-8); font-size:var(--font-size-22); font-weight:700; letter-spacing:-.03em; line-height:1.4em;}
.benefits .item .txt {font-weight:400; letter-spacing:-.03em; line-height:1.63em; color:#454545;}

.values {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-40); text-align:center;}
.values .item .img {margin-bottom:var(--space-25);}
.values .item .ico {margin-bottom:var(--space-30);}
.values .item .ico img {width:clamp(40px, calc(64 / var(--inner) * 100vw), 64px);}
.values .item .num {margin-bottom:var(--space-20); font-weight:700; letter-spacing:-.03em; line-height:1.4em; color:var(--color-primary);}
.values .item .en {font-weight:600; letter-spacing:-.03em; line-height:1.4em; color:#a8a8a8;}
.values .item .tit {margin:var(--space-10) 0 var(--space-20); font-size:var(--font-size-22); font-weight:700; letter-spacing:-.03em; line-height:1.4em; color:#242424;}
.values .item .txt {font-weight:400; letter-spacing:-.03em; line-height:1.4em; color:#242424;}

.vision {padding:20px; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; height:clamp(200px, calc(358 / var(--inner) * 100vw), 358px); background:url('/images/sub/vision.jpg') no-repeat center center / cover;}
.vision .text {font-size:var(--font-size-30); font-weight:400; letter-spacing:-.03em; line-height:1.4em;}