@charset "utf-8";
.greetings {display:flex; gap:var(--space-40); flex-wrap:wrap;}
.greetings .cont {flex:1; font-size:var(--font-size-18); line-height:1.6;}
.greetings .tag {margin-bottom: var(--space-15); font-weight:600; color:#72afff;}
.greetings .tit {font-size:var(--font-size-36); font-weight:700; line-height:1.5; color:var(--color-bk);}
.greetings .desc {margin: var(--space-40) 0; display:grid; gap:var(--space-20);}
.greetings .sign {font-weight:700; color:var(--color-bk); display: block;}

.career {display:flex; gap:var(--space-40); align-items:stretch; flex-wrap:wrap;}
.career .card {flex:1; border-radius:16px; box-shadow:0 0 4px rgba(0,0,0,.15); padding:var(--space-40);}
.career .tit {padding-right:12px; margin-bottom:var(--space-20); position:relative; display:inline-block; font-size:var(--font-size-32); line-height:1.5; color:var(--color-bk);}
.career .tit:after {width:clamp(18px, calc( 24 / var(--inner) * 100vw ), 24px); content:""; position:absolute; top:0; right:0; aspect-ratio:1; border-radius:100%; background:var(--color-point); opacity:0.3;}
.career li {font-size:var(--font-size-18); padding-left:20px; line-height:1.8em; letter-spacing:-0.03em; position:relative;}
.career li:before {margin-top:-2px; content:"•"; position:absolute; top:0; left:0;}
.career li p {padding-left:10px; text-indent:-10px;}

.gcard .head {margin-bottom:var(--space-60); text-align:center; font-size:var(--font-size-18); line-height:1.5;}
.gcard .head .txt {color:var(--color-bk); font-weight:500;}
.gcard .primary {font-weight:600; color:#72afff;}
.gcard .list {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:var(--space-20);}
.gcard .item {background:rgba(10,42,67,.3); border-radius:8px; min-height:67px; padding:var(--space-20); display:flex; align-items:center; gap:var(--space-10);}
.gcard .ico {display:flex;}
.gcard .ico img {height: clamp(18px, calc( 24 / var(--inner) * 100vw ), 24px);}
.gcard .item .txt {font-size:var(--font-size-18); color:var(--color-bk);}

.visamenu {display:flex; gap:var(--space-40); align-items:center; justify-content:center; flex-wrap:wrap;}
.visamenu .item {flex-direction:column; gap:10px; position:relative; display:flex; width:208px; aspect-ratio:1; align-items:center; justify-content:center; text-align:center; color:var(--color-point);}
.visamenu .item:before {content:""; position:absolute; border:2px solid var(--color-point); border-radius:100%; top:0; left:0; right:0; bottom:0;}
.visamenu .item:after {content:""; position:absolute; top:10px; right:10px; bottom:10px; left:10px; border-radius:100%; border:2px dashed rgba(10, 42, 67, .2);}
.visamenu .ico img {height:clamp(40px, calc( 80 / var(--inner) * 100vw ), 80px);}
.visamenu .tit {font-size:var(--font-size-18); font-weight:500; line-height:1.2;}

.visa-arrow {text-align:center; margin:var(--space-40) 0;}
.visa-arrow img {height:clamp(30px, calc( 64 / var(--inner) * 100vw ), 64px);}

.business {display:flex; gap:var(--space-40); align-items:center;}
.business .cont {flex:1; font-size:var(--font-size-18); line-height:1.5;}
.business .cont span {color:var(--color-primary);}
.business .txt1 {font-weight:500; color:#242424;}
.business .desc {margin-top:var(--space-20);}

.fairfax {display:flex; font-size:var(--font-size-18); color:#fff; height:clamp(200px, calc( 320 / var(--inner) * 100vw ), 320px); border-radius:16px; overflow:hidden; background:url('/images/sub/fairfax.jpg') 50% 50% / cover no-repeat; text-align:center; align-items:center; justify-content:center; color:#fff;}
.fairfax strong {font-size:var(--font-size-24); font-weight:600;}

.performance {padding:var(--space-40); gap:var(--space-150); display:flex; border-radius:16px; overflow:hidden; border:1px solid #ddd;}
.performance ul {min-width:42%;}
.performance ul li {font-size:var(--font-size-18); padding-left:20px; line-height:1.8em; letter-spacing:-0.03em; position:relative;}
.performance ul li:before {margin-top:-2px; content:"•"; position:absolute; top:0; left:0;}

.ytb-btn {margin-top: var(--space-30);}
.ytb-btn a {background-color: var(--color-point); display: inline-flex; align-items: center; gap: var(--space-10); font-weight: 600; line-height: 1.5; color: #fff; padding: 6px var(--space-20); border-radius: 30px;}
.ytb-btn i {width:clamp(15px, calc( 24 / var(--inner) * 100vw ), 24px); height:clamp(15px, calc( 24 / var(--inner) * 100vw ), 24px); background:url('/images/sub/ytb-ico.png') 50% 50% / cover no-repeat; display: inline-block;}