@charset "utf-8";

.doc-cnt {padding:var(--space-100) 0;}

.s-head {text-align:center; line-height:1.33em; margin-bottom:var(--space-55); font-size:var(--font-size-40); font-weight:600; color:#242424;}

.greeting-bnr {color:#fff; padding:clamp(80px, calc(170 / var(--inner) * 100vw), 170px) 0 clamp(50px, calc(80 / var(--inner) * 100vw), 80px); background:url("/images/sub/greeting-bnr.jpg") no-repeat center center / cover;}
.greeting-bnr p {margin-bottom:var(--space-20); font-weight:500; line-height:1.6em;}
.greeting-bnr h3 {font-family:var(--font-gmarket); font-size:var(--font-size-44); font-weight:700; line-height:1.18em;}

.greeting-content {background:url("/images/sub/greeting-content.jpg") no-repeat 50% 50% / cover;}
.greeting-content h3 {margin-bottom:var(--space-35); font-size:var(--font-size-32); font-weight:600; line-height:1.3em;}
.greeting-content h3 strong {color:var(--color-primary);}
.greeting-content p {font-size:var(--font-size-18); line-height:1.67em; color:#454545;}

.introduction {display:flex; justify-content:space-between;}
.introduction .col {width:calc(50% - var(--space-15));}
.introduction .box {height:100%; border:1px solid #ddd; border-radius:16px; overflow:hidden;}
.introduction .profile {background:#FCFBF9; padding:var(--space-30); text-align:center;}
.introduction .profile h4 {margin-bottom:var(--space-15); font-size:var(--font-size-32); font-weight:700; letter-spacing:-.03em; line-height:1.3em;}
.introduction .profile .en {margin-bottom:var(--space-15); font-size:var(--font-size-16); font-weight:600; line-height:1.6em;}
.introduction .profile .info {display:flex; justify-content:center; gap:0 var(--space-20);}
.introduction .profile .info dl {display:flex;}
.introduction .profile .info dl dt {margin-right:var(--space-10); font-weight:700; line-height:1.4em;}
.introduction .profile .info dl dt img {height:clamp(16px, calc(20 / var(--inner) * 100vw), 20px); display:inline-block; vertical-align:middle; margin-right:var(--space-8);}
.introduction .profile .info dl dd {color:#454545; line-height:1.4em;}
.introduction .record {padding:var(--space-30);}
.introduction .record .item {margin-bottom:var(--space-30);}
.introduction .record .item:last-child {margin-bottom:0;}
.introduction .record .tit {color:var(--color-primary); margin-bottom:var(--space-10); font-size:var(--font-size-20); font-weight:700; line-height:1.4em;}
.introduction .record .tit img {height:clamp(16px, calc(24 / var(--inner) * 100vw), 24px); margin:.1em var(--space-8) 0 0;}
.introduction .record .txt ul li {margin-bottom:var(--space-8); padding-left:var(--space-15); position:relative; font-size:var(--font-size-16); line-height:1.6em; color:#454545;}
.introduction .record .txt ul li:last-child {margin-bottom:0;}
.introduction .record .txt ul li:before {content:''; position:absolute; left:0; top:.65em; width:4px; height:4px; background:var(--color-primary); border-radius:50%;}

.biz-bnr {display:flex; flex-direction:column; justify-content:center; position:relative; min-height:410px; padding:clamp(40px, calc(60 / var(--inner) * 100vw), 60px) clamp(20px, calc(60 / var(--inner) * 100vw), 60px); border-radius:32px; background-size:cover; background-position:center center; background-repeat:no-repeat; color:#fff;}
.biz-bnr .cate {padding-left:10px; position:relative; margin-bottom:var(--space-20); font-size:var(--font-size-16); font-weight:500; color:rgba(255,255,255, .4);}
.biz-bnr .cate:before {content:''; position:absolute; left:0; top:.3em; height:16px; width:3px; background:rgba(255,255,255, .4);}
.biz-bnr h3 {font-size:var(--font-size-32); font-weight:600; line-height:1.4em; margin-bottom:var(--space-35);}
.biz-bnr .txt {font-size:var(--font-size-16); line-height:1.75em; color:#fff;}
.biz-bnr .txt strong {font-weight:600; color:#fff;}

.problem {background:#FAF9F7;}
.problem .items {margin-bottom:var(--space-60); display:grid; grid-template-columns:repeat(4, 1fr); gap:var(--space-30);}
.problem .items .item {padding:0 15px var(--space-30); text-align:center; background:#fff; border-radius:16px; border:1px solid #ddd;}
.problem .items .num {position:relative; margin:-16px auto 0; font-size:var(--font-size-18); font-weight:700; letter-spacing:-.03em; line-height:32px; color:#fff; background:url('/images/sub/problem-num.png') no-repeat center center / contain; width:70px; height:32px;}
.problem .items .ico {margin:var(--space-30) 0 var(--space-20);}
.problem .items .ico img {height:clamp(34px, calc(60 / var(--inner) * 100vw), 60px);}
.problem .items .txt {font-size:var(--font-size-16); line-height:1.6em;}
.problem .items .item:nth-child(even) .num {background-image:url('/images/sub/problem-num2.png');}
.problem .text {text-align:center; width:fit-content; margin:0 auto; border-radius:100px; background:var(--color-primary); color:#fff; padding:var(--space-15) var(--space-30); font-size:var(--font-size-18); font-weight:500; line-height:1.2em;}
.problem .text svg {margin-right:var(--space-18); vertical-align:middle;}

.service {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-30);}
.service .item {border-bottom:3px solid var(--color-primary); background:#fff; border-radius:24px; overflow:hidden;}
.service .item .cnt {padding:var(--space-40);}
.service .item .cnt h4 {font-size:var(--font-size-24); font-weight:600; line-height:1.3em; color:#242424;}
.service .item .cnt h4::after {margin:var(--space-25) 0; content:''; display:block; width:30px; height:3px; background:var(--color-primary);}
.service .item .cnt p {font-size:var(--font-size-16); line-height:1.6em; color:#454545;}

.sub-bnr {background:linear-gradient(180deg, #734900 0%, #C9B284 100%); text-align:center; color:#fff;}
.sub-bnr .txt-1 {letter-spacing:.9em; font-size:var(--font-size-18); font-weight:400; color:rgba(255,255,255, .6); margin-bottom:var(--space-30);}
.sub-bnr .txt-2 {font-size:var(--font-size-22); font-weight:500; margin-bottom:var(--space-10);}
.sub-bnr .txt-3 {display:flex; align-items:center; justify-content:center; gap:var(--space-20); font-size:var(--font-size-36); font-weight:600; line-height:1.4em;}
.sub-bnr.v2 {background:linear-gradient(180deg, #3D2700 0%, #877A61 100%);}
.sub-bnr.v2 .txt-3 svg path {fill:#846E37;}
.sub-bnr.v3 {background:linear-gradient(180deg, #3D2700 0%, #877A61 100%);}
.sub-bnr.v3 .txt-1 {margin:0 0 var(--space-20); font-size:var(--font-size-36); letter-spacing:0; font-weight:600; line-height:1.4em; color:#fff;}
.sub-bnr.v3 .txt-2 {margin:0 0 var(--space-40); font-size:var(--font-size-16); font-weight:400; line-height:1.4em; color:#fff;}
.sub-bnr.v3 .btn {display:inline-flex; align-items:center; gap:0 var(--space-10); background:#fff; border-radius:80px; height:clamp(40px, calc(50 / var(--inner) * 100vw), 50px); padding:0 var(--space-45); font-size:var(--font-size-18); font-weight:600; line-height:1.4em; color:var(--color-success);}

.react {position:relative; background:url("/images/sub/react-bg.jpg") no-repeat center center / cover; color:#fff;}
.react .s-head {color:#fff;}
.react .items {display:grid; grid-template-columns:repeat(2, 1fr); gap:var(--space-30);}
.react .items .item {position:relative; padding:var(--space-50); border-radius:16px; border:1px solid rgba(255, 255, 255, .4); background:rgba(255, 255, 255, .1); backdrop-filter:blur(10px);}
.react .items .item .num {font-size:var(--font-size-24); font-weight:700; color:var(--color-primary); margin-bottom:var(--space-35);}
.react .items .item .ico {position:absolute; right:var(--space-50); top:var(--space-50); display:block; width:clamp(40px, calc(50 / var(--inner) * 100vw), 50px); height:clamp(40px, calc(50 / var(--inner) * 100vw), 50px); background-size:contain; background-repeat:no-repeat; background-position:center;}
.react .items .item .ico1 {background-image:url("/images/sub/react-ico1.png");}
.react .items .item .ico2 {background-image:url("/images/sub/react-ico2.png");}
.react .items .item h4 {font-size:var(--font-size-28); font-weight:600; margin-bottom:var(--space-25);}
.react .items .item .list li {padding-left:var(--space-15); position:relative; font-size:var(--font-size-16); line-height:1.6em; color:#fff; margin-bottom:var(--space-10);}
.react .items .item .list li:last-child {margin-bottom:0;}
.react .items .item .list li:before {content:'·'; position:absolute; left:2px; top:0; color:var(--color-primary);}
.react .items .item:nth-child(even) .num {color:var(--color-secondary);}
.react .items .item:nth-child(even) .list li:before {color:var(--color-secondary);}

.method .items {margin-bottom:0;}
.method .items .item {margin-bottom:calc(var(--space-20) * -1); display:flex; gap:var(--space-60); align-items:center;}
.method .items .item .image {width:clamp(80px, calc(240 / var(--inner) * 100vw), 240px);}
.method .items .item .content {flex:1;}
.method .items .item .num {margin-bottom:var(--space-12); display:inline-block; padding:0 12px; border-radius:24px; background:var(--color-secondary); font-size:var(--font-size-14); font-weight:600; line-height:26px; color:#fff;}
.method .items .item h4 {font-size:var(--font-size-24); font-weight:600; margin-bottom:var(--space-15);}
.method .items .item p {font-size:var(--font-size-16); color:#454545;}
.method .items .item p span {font-weight:600; color:var(--color-success);}
.method .items .item:nth-child(even) .num {background:var(--color-success);}

.registration {background:#FAF9F7;}
.registration .items {display:flex; justify-content:center;}
.registration .items .item {width:380px; margin:0 calc(var(--space-20) * -1); aspect-ratio:1; border-radius:50%; background:#fff; border:7px solid var(--color-primary); padding:var(--space-20); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;}
.registration .items .item .num {font-size:var(--font-size-20); font-weight:800; color:var(--color-primary); margin-bottom:var(--space-30);}
.registration .items .item h4 {font-size:var(--font-size-24); font-weight:700; line-height:1.4em;}
.registration .items .item h4::after {content:''; display:block; width:30px; height:3px; background:#DDDDDD; margin:var(--space-20) auto;}
.registration .items .item p {font-size:var(--font-size-16); line-height:1.65em; color:#454545;}
.registration .items .item:nth-child(2) {border-color:var(--color-secondary);}
.registration .items .item:nth-child(3) {border-color:var(--color-success);}
.registration .items .item:nth-child(2) .num {color:var(--color-secondary);}
.registration .items .item:nth-child(3) .num {color:var(--color-success);}

.fitness .items {display:flex; flex-direction:column; gap:var(--space-25);}
.fitness .items .item {display:flex; gap:var(--space-40); align-items:center; padding:var(--space-40); background:#fff; border:1px solid var(--color-primary); border-radius:24px;}
.fitness .items .item .icon {width:clamp(40px, calc(64 / var(--inner) * 100vw), 64px);}
.fitness .items .item .icon img {width:100%;}
.fitness .items .item .bar {width:1px; height:48px; background:#ddd;}
.fitness .items .item .text {flex:1;}
.fitness .items .item .tit {font-size:var(--font-size-24); font-weight:600; margin-bottom:var(--space-15);}
.fitness .items .item .txt {font-size:var(--font-size-16); line-height:1.65em; color:#868686; font-weight:400;}

.cost-text {width:fit-content; margin:0 auto; display:flex; align-items:center; gap:var(--space-5); padding:var(--space-15) var(--space-25); background:#FBF9F6; border-radius:60px; margin-bottom:var(--space-60); font-size:var(--font-size-16); line-height:1.6em; color:#454545;}

.cost-group h3 {font-size:var(--font-size-32); font-weight:700; color:#242424; margin-bottom:var(--space-30);}
.cost-group .vat {text-align:right; margin-bottom:var(--space-5);}
.cost-items {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-30);}
.cost-items .item {box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.10), 0 2px 4px -2px rgba(0, 0, 0, 0.10); border-top:3px solid var(--color-primary); background:#fff; border-radius:14px;}
.cost-items .item .title {border-bottom:1px solid var(--color-primary); font-size:var(--font-size-22); font-weight:700; color:#242424; padding:var(--space-12);}
.cost-items .item .title img {vertical-align:middle; margin-right:var(--space-12);}
.cost-items .item .cnt {padding:var(--space-15);}
.cost-items .item .fee-1 {display:flex; justify-content:space-between; align-items:center; padding-bottom:var(--space-15); margin-bottom:var(--space-15); border-bottom:1px solid #E5E7EB;}
.cost-items .item .fee-1 .txt {display:flex; align-items:center; gap:0 var(--space-8); font-size:var(--font-size-16); font-weight:600; color:var(--color-success);}
.cost-items .item .fee-1 .txt:before {content:''; width:16px; height:16px; background:url('/images/sub/cost-refresh.png') no-repeat center center / contain;}
.cost-items .item .fee-1 .dollar {font-size:var(--font-size-16); font-weight:700; color:var(--color-success);}
.cost-items .item .fee-2 {border-radius:10px; overflow:hidden; padding:var(--space-12); background:var(--color-primary); display:flex; justify-content:space-between; align-items:center; color:#fff;}
.cost-items .item .fee-2 .txt {display:flex; align-items:center; gap:0 var(--space-8); font-size:var(--font-size-16); font-weight:700;}
.cost-items .item .fee-2 .txt:before {content:''; width:18px; height:18px; background:url('/images/sub/cost-price.png') no-repeat center center / contain;}
.cost-items .item .fee-2 .dollar {font-size:var(--font-size-20); font-weight:700;;}


