#container{padding-top:0;}
#container .inner{width:auto;}
.wrap_fixed_btn{display:none}
#header .lnb .nowUser .userCon{height: 65px;}
/* =========================================================
   변수
   - 색상: 버튼 외 컨텐츠는 배경색 없이 '선(border) 색'으로만 구분
   - 글자 크기: 6단계 (hero > h2 > h3 > lead > body > small > cap)
   ========================================================= */
:root {
    --bg: #fff7fb;
    --ink: #2A2721;
    --ink-soft: #6B6455;
    --line: #b3aaab;
    --ai: #00319d;
    --kaki: #ea1c1ccf;
    --paper: #fff;
	    --primary: #0048ff;
		    --white: #fff;
    /* 글자 크기 (PC) */
    --fs-hero: clamp(2.2rem, 4.6vw, 3.2rem);  /* 메인 타이틀 */
    --fs-h2: clamp(1.7rem, 3vw, 2.4rem);      /* 섹션 제목 */
    --fs-h3: 1.25rem;                         /* 카드 제목 */
    --fs-lead: 1.15rem;                       /* 섹션 부제 / 항목명 */
    --fs-body: 1rem;                          /* 본문 */
    --fs-small: .9rem;                        /* 보조 설명 / 주석 */
    --fs-cap: .8rem;                          /* 태그 / 캡션 */
    --fs-table: 1rem;                         /* 표 */

    box-sizing: border-box;
    padding-top: env(safe-area-inset-top, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        --bg: #1C1A17; --ink: #EDE7DA; --ink-soft: #B0A896;
        --line: #3A362F; --ai: #7FA0C4; --kaki: #D98257;
    }
}
:root[data-theme="dark"] {
    --bg: #1C1A17; --ink: #EDE7DA; --ink-soft: #B0A896;
    --line: #d3d5d9; --ai: #7FA0C4; --kaki: #D98257;
}
* { box-sizing: border-box; word-break:keep-all}
html { scroll-padding-top: env(safe-area-inset-top, 0px); }
body {
    margin:0; color:var(--ink);
    font-family:'NanumBarunGothic', -apple-system, BlinkMacSystemFont, 'Malgun Gothic', sans-serif;
    font-size:var(--fs-body);
    line-height:1.5; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif {font-weight:700; }
a { color:inherit; }
.wrap { max-width:1200px; margin:0 auto; padding:0 22px; }


/* =========================================================
   버튼 (버튼만 배경색 유지)
   ========================================================= */
 .quick-nav {
	width: 100%;
	background: rgba(255,255,255,.97);
	border-top: 1px solid #eee;
	z-index: 9999;
}

.quick-nav.quick-nav-fixed {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	box-shadow: 0 3px 12px rgba(0,0,0,.08);
}

.quick-nav-placeholder {
	display: none;
}

.quick-nav-placeholder.show {
	display: block;
}

.quick-nav-scroll {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 0;
	overflow-x: auto;
	scrollbar-width: none;
}

.quick-nav-scroll::-webkit-scrollbar {
	display: none;
}

.quick-nav a {
	flex: 0 0 auto;
	padding: 8px 16px;
	border-radius: 30px;
	background: #f4f4f4;
	color: #444;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.quick-nav a:hover {
	background: #555;
	color: #fff;
}
.quick-nav a.on {
	color: #fff;
}

.quick-nav a[data-target="about"].on{ background:#f00; }
.quick-nav a[data-target="monthlife"].on{ background:#ff4a00; }
.quick-nav a[data-target="period"].on{ background:#8b00ff; }
.quick-nav a[data-target="purpose"].on{ background:#002bff; }
.quick-nav a[data-target="ichiban"].on{ background:#37d600; }
.quick-nav a[data-target="area"].on{ background:#0085ff; }
.quick-nav a[data-target="cost"].on{ background:#5700d7; }
.quick-nav a[data-target="dorm"].on{ background:#ff00c2; }
.quick-nav a[data-target="school"].on{ background:#00a8ba; }
.quick-nav a[data-target="apply"].on{ background:#ff0080; }
.quick-nav a[data-target="faq"].on{ background:#00b84a; }

.section-head h2{ position:relative; padding-left:16px; }

.section-head h2::before{ content:""; position:absolute; left:0; top:50%; width:6px; height:33px; border-radius:10px 0 10px 0; transform:translateY(-50%); }

#about .section-head h2::before{ background:#f00; }
#monthlife .section-head h2::before{ background:#ff4a00; }
#period .section-head h2::before{ background:#8b00ff; }
#purpose .section-head h2::before{ background:#002bff; }
#ichiban .section-head h2::before{ background:#37d600; }
#area .section-head h2::before{ background:#0085ff; }
#cost .section-head h2::before{ background:#5700d7; }
#domi .section-head h2::before{ background:#ff00c2; }
#school .section-head h2::before{ background:#00a8ba; }
#apply .section-head h2::before{ background:#ff0080; }
#faq .section-head h2::before{ background:#00b84a; }


#period,
#area,
#cost,
#dorm,
#school,
#faq {
	scroll-margin-top: 80px;
}

@media (max-width:640px) {

	.quick-nav .wrap {
		padding-right: 0;
	}

	.quick-nav-scroll {
		gap: 6px;
		padding: 10px 15px 10px 0;
	}

	.quick-nav a {
		padding: 7px 14px;
		font-size: 14px;
	}
}
   
.btn { font-family:'NanumBarunGothic', sans-serif; font-size:var(--fs-body); font-weight:700; padding:11px 20px; border-radius:10px; cursor:pointer; text-decoration:none; display:inline-block; transition:opacity .15s, transform .1s; }
.btn.primary { background:var(--ai); color:#FAF7F1; }
.btn.ghost { background:#fff962; }
.btn.small { padding:8px 20px; font-size:var(--fs-body); }
.btn:hover { opacity:0.85; }
.btn:active { transform: scale(0.98); }
@media (prefers-reduced-motion: reduce) { .btn { transition:none; } .btn:active{transform:none;} }

/* 강조 표시: 형광펜(배경) 대신 밑줄(선) */
.tip { color:#000; background:none; border-bottom:2px solid #ff4d4d; padding-bottom:1px; }


/* =========================================================
   섹션 공통
   ========================================================= */
section { padding:80px 0; border-top:1px solid #d5d5d5; position:relative; }
section:first-of-type { border-top:none; }
.wmnt { background:#f5f5f7; }

#apply{    background: #f0f6ff;border-top:0}
.wmnt + section { border-top:0; }
.section-head { margin-bottom:15px; }
.section-head h2 { font-size:var(--fs-h2); line-height:1.35; font-weight:800; letter-spacing:-0.02em; margin:0 0 10px; }
.section-head p { margin:0; font-size:var(--fs-lead); line-height:1.4; font-weight:500; }
.lead-answer { font-size:var(--fs-body); line-height:1.65; margin:0 0 15px; }
.note-text { color:var(--ink-soft); font-size:var(--fs-body); line-height:1.6; margin:0 0 16px; max-width:66ch; }

/* HERO (이미지 위 글자 가독성용 페이드는 유지) */
.hero { padding:30px 0; overflow:hidden;
    position:relative;
    background:var(--paper);
}
.hero::before {
    content:"";
    position:absolute;
    inset:0;
    background:
	linear-gradient(to right, #ffffffe8 21%, #ffffff 26%, color-mix(in srgb, #ffffff 83%, #ffffff) 44%, #ffffff00 64%), 
	url(./img/short_header.jpg) center right / auto;
    z-index:0;
}
.hero > * { position:relative; z-index:1; }
.hero .wrap { position:relative; }
.hero-content { position:relative; }
.hero .top_tit { font-size:var(--fs-hero); font-weight:800; letter-spacing:-0.02em; line-height:1.3; margin:0 0 18px; color:#000;
    text-shadow:0 0 10px #fffffffc;
}
.hero p.lead { color:#000; font-size:var(--fs-lead); line-height:1.6; margin:0 0 28px; max-width:52ch; }
.btn-row { display:flex; gap:10px; flex-wrap:wrap;}
#apply .btn-row{justify-content: center;}

/* DEFINITION / MECHANICS */
.info-list { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin:0; padding:0; list-style:none; }
.info-list li { position:relative; font-size:var(--fs-body); line-height:1.6; padding:24px 26px; border-radius:18px;border:1.5px solid #dadbdd;box-shadow: 0 0 15px #dfe5ec;}
.info-list li b { display:block; font-size:var(--fs-h3); line-height:1.35; color:#000; font-weight:800; margin-bottom:6px; }

.info-tag { display:inline-block; vertical-align:middle; margin-left:6px; padding:1px 8px; font-size:var(--fs-cap); font-weight:700; line-height:1.5; letter-spacing:0; border:1.5px solid #06c; border-radius:6px; color:#06c; background:none; }
.info-tag.red { color:#fc2a10; border-color:#fc2a10; }
.info-tag.orange { color:#ff8000; border-color:#ff8000; }
.info-tag.blue { color:#0088ff; border-color:#0088ff; }

/* FEATURE GRID */
.feature-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px 28px; }
@media (max-width:640px) { .feature-grid { grid-template-columns:1fr; } }
.feature-item { padding:16px 18px; border:1.5px solid #ff8a00; border-radius:10px;    box-shadow: 0 0 15px #EBEFF4; }
.feature-item h3 { font-size:var(--fs-h3); line-height:1.35; margin:0 0 6px; font-family:'NanumBarunGothic', sans-serif; font-weight:800; color:#ff6a00; }
.feature-item p { margin:0; color:; font-size:var(--fs-body); line-height:1.5; }
.color2 .feature-item { border-color:#002bff; }
.color2 .feature-item h3 { color:#002bff; }
.color3 .feature-item { border-color:#37d600; }
.color3 .feature-item h3 { color:#37d600; }

/* PERIOD COMPARISON */
.period-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:720px) { .period-grid { grid-template-columns:1fr; } }
.period-card {background:#fff; border:1.5px solid #d3d3d3; border-radius:10px; padding:22px 20px; }
.period-card.featured { border-color:#f00; }
.period-card .dur { font-weight:800; font-size:var(--fs-h3); margin:0 0 8px; }
.period-card .tag { display:inline-block; font-size:var(--fs-cap); font-weight:700; color:#f00; background:none; border:1.5px solid #f00; padding:1px 9px; border-radius:999px; margin-left:4px; vertical-align:middle; }
.period-card p { margin:0; font-size:var(--fs-body); line-height:1.55; color:#212121; }
.period-note { margin:20px 0; font-size:var(--fs-small); line-height:1.55; }

/* CITY GRID */
.city-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:18px; }
.city-card.pick { border:2px solid #ff0000; }
@media (max-width:640px) { .city-grid { grid-template-columns:1fr; } }
.city-card { border-radius:10px; padding:18px 20px; border:1.5px solid #ff5d5d; }
.city-card h3 { font-size:var(--fs-h3); margin:0 0 6px; font-weight:800; }
.city-card p { margin:0; font-size:var(--fs-body); line-height:1.5; }
.more-note { font-size:var(--fs-body); color:var(--ink-soft); margin:0; }

/* COST GRID */
.cost-grid { display:flex;gap:16px;margin:15px 0 }
@media (max-width:640px) { .cost-grid { grid-template-columns:1fr; } }
.cost-card { border:1.5px solid #8736ff; border-radius:10px; padding:20px; }
.cost-card h3 { font-size:var(--fs-h3); margin:0 0 10px; font-family:'NanumBarunGothic', sans-serif; font-weight:800; }
.cost-card ul { margin:0;font-size:var(--fs-body); }
.cost-card li { margin-bottom:6px; }

/* PREP SECTIONS */
.kicker { display:inline-block; font-size:var(--fs-body); font-weight:800; letter-spacing:0.02em; color:var(--kaki); margin-bottom:8px; }
.prose { margin:0 0 24px; }
.prose p { margin:0 0 12px; font-size:var(--fs-body); line-height:1.7; }
.compare { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:0 0 20px; max-width:845px;}
@media (max-width:640px) { .compare { grid-template-columns:1fr; } }
.compare-col { border:1.5px solid #ff006c; border-radius:10px; padding:18px 20px; }
.compare-col.good { border-color:var(--ai); }
.compare-col h3 { font-family:'NanumBarunGothic', sans-serif; font-size:var(--fs-h3); font-weight:800; margin:0 0 8px; }
.compare-col ul { margin:0; font-size:var(--fs-body); line-height:1.5;  }
.compare-col li { margin-bottom:5px; }

.pick-tag { display:inline-block; font-size:var(--fs-cap); font-weight:700; color:var(--kaki); background:none; border:1.5px solid var(--kaki); padding:1px 8px; border-radius:999px; margin-left:8px; }
.link-card { display:block; margin-top:10px; padding:14px 16px; background:#a4ff86; border-radius:10px; text-decoration:none; max-width:550px;}
.link-card:hover { border-color:var(--ai); }
.link-card:hover .lc-title { color:var(--ai); }
.lc-title { display:block; font-weight:800; font-size:var(--fs-body); margin-bottom:2px; }
.lc-desc { display:block; font-size:var(--fs-small); line-height:1.5; color:var(--ink-soft); }
.lc-domain { display:block; font-size:var(--fs-cap); color:var(--ai); margin-top:4px; }


/*blink*/
.ichiban-sale-tag {
	display: inline-block;
	margin-left: 7px;
	padding: 4px 9px;
	border-radius: 5px;
	background: #ff3158;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	vertical-align: 2px;
	animation: ichibanBlink 1.4s ease-in-out infinite;
}

@keyframes ichibanBlink {
	0%, 100% {		opacity: 1;		transform: scale(1);		box-shadow: 0 0 0 rgba(255,49,88,0);	}
	50% {		opacity: .65;		transform: scale(1.05);		box-shadow: 0 0 10px rgba(255,49,88,.35);	}
}
.notice.sale strong {color: #ff3158;	font-weight: 800;}
.notice.sale s {opacity: .55;}

/* 신청 순서: 번호 원도 배경 대신 선 */
.apply-steps { list-style:none; margin:0; padding:0; max-width:70ch; }
.apply-steps > li { display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--line); }
.apply-steps > li:first-child { border-top:1px solid var(--line); }
.apply-steps .num { flex:0 0 auto; width:30px; height:30px; border-radius:50%; background:none; border:2px solid #c424ff; color:#c424ff; display:flex; align-items:center; justify-content:center; font-size:var(--fs-small); font-weight:800; }
.apply-steps li:nth-child(2) .num { border-color:#6224ff; color:#6224ff; }
.apply-steps li:nth-child(3) .num { border-color:#002aff; color:#002aff; }
.apply-steps li:nth-child(4) .num { border-color:#00715a; color:#00715a; }
.apply-steps li:nth-child(5) .num { border-color:#ff005a; color:#ff005a; }

.apply-steps h3 { font-family:'NanumBarunGothic', sans-serif; font-size:var(--fs-lead); font-weight:800; line-height:1.4; margin:3px 0 0; }
.apply-steps h3 em { font-style:normal; color:var(--kaki); }
.apply-steps p { margin:6px 0 0; font-size:var(--fs-body); line-height:1.55; color:var(--ink-soft); }
.doc-list { margin:8px 0 0; padding-left:18px; font-size:var(--fs-body); color:var(--ink-soft); }
.doc-list li { margin-bottom:3px; }

/* DATA TABLE: 배경 없음, 선으로만 구분 */
.sub-h { font-family:'NanumBarunGothic', sans-serif; font-size:var(--fs-lead); font-weight:800; margin:24px 0 12px; }
.table-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.data-table { width:100%; border-collapse:collapse; border:1.5px solid var(--line); font-size:var(--fs-table); line-height:1.45; border-left: 0;
        border-right: 0; margin-bottom:20px;}
.data-table.wide { min-width:520px; }
.data-table th, .data-table td { padding:12px 24px; border:1px solid #5700d7; text-align:left; vertical-align:top;  border-left: 0;
        border-right: 0;}
.data-table thead th { color:#5700d7; font-size:var(--fs-table); font-weight:800; border-bottom:2px solid #5700d7; }
.data-table tbody th { font-weight:700; white-space:nowrap; }
.data-table td { color:#000; }
.data-table td b { color:var(--ink); }

.domi .data-table th, .domi .data-table td {border-color:#ff00c2;}
.domi .data-table thead th { color:#ff00c2;border-color:#ff00c2; }

/* 안내 박스: 배경 대신 테두리 색 */
.notice-list { display:grid; gap:10px; margin-top:18px; }
.notice { margin:0; font-size:var(--fs-small); line-height:1.55; color:#424242; padding:14px 16px; border:1.5px solid var(--line); border-radius:10px; }
.notice b { color:var(--ink); font-size:var(--fs-body); }
.notice.rise {padding:0;bordeR:0; }
.notice.sale { border-color:#5396d9; }

/* STEP LIST */
.step-list { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media (max-width:760px) { .step-list { grid-template-columns:repeat(2,1fr); } }
@media (max-width:460px) { .step-list { grid-template-columns:1fr; } }
.step { display:flex; gap:12px; }
.step .num { flex:0 0 auto; width:30px; height:30px; border-radius:50%; background:none; border:2px solid var(--ai); color:var(--ai); display:flex; align-items:center; justify-content:center; font-size:var(--fs-small); font-weight:800; font-family:'NanumBarunGothic', sans-serif; }
.step h3 { font-size:var(--fs-lead); margin:0 0 5px; }
.step p { margin:0; font-size:var(--fs-small); color:var(--ink-soft); }

/* PREVIEW CARDS */
.preview-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin-bottom:26px; }
.preview-card { border:1.5px solid #4fbfae; border-radius:10px; padding:11px; }
.preview-card .city-tag { font-size:.7rem; font-weight:700; letter-spacing:0.03em; color:#068169;border-radius:50px; border:1px solid #068169; line-height:1;padding:2px; display:inline-block; margin-left:5px; }
.preview-card h3 { font-size:var(--fs-lead); margin:0 0 6px; font-family:'NanumBarunGothic', sans-serif; font-weight:800;     display: flex;
    align-items: center;}
.preview-card p { margin:0; font-size:var(--fs-small); line-height:1.5; color:var(--ink-soft); }

/* FAQ */
.wrap details{box-shadow: 0 0 0 1px #e4e8f1;
    padding:18px 18px 18px 40px;
    background: #f5f5f7;
    margin:15px auto;max-width: 900px;
    border-radius:15px;position:relative;}
.wrap summary::before{position:absolute; content:"Q.";left:15px;}
.wrap summary { cursor:pointer; font-weight:700; font-size:var(--fs-lead); line-height:1.4; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.wrap summary::-webkit-details-marker { display:none; }
.wrap summary .plus {font-size:1.5rem; color:var(--ai); flex:0 0 auto; font-weight:400; display:inline-block; transition:transform .15s; }
.wrap details[open] summary .plus { transform:rotate(45deg); }
@media (prefers-reduced-motion: reduce) { 
.wrap summary .plus { transition:none; } 
}
.wrap details p { margin:12px 0 0; font-size:var(--fs-body); line-height:1.65; max-width:85ch; }
.wrap details p::before{ content:"A. ";}
/* FINAL CTA */
.final-cta { border:2px solid #ff0061; border-radius:20px; padding:44px 32px; text-align:center; }
.final-cta h2 {    color: #ff0061; font-size:var(--fs-h2); font-weight:800; letter-spacing:-0.02em; line-height:1.35; margin:0 0 12px; }
.final-cta p { color:var(--ink-soft); font-size:var(--fs-body); line-height:1.6; margin:0 0 24px; }
.final-cta .btn-row { justify-content:center; }


.jp_shot_im { border-radius:10px; overflow:hidden; height:400px; margin-bottom:20px; display:flex; align-items:center; }
.jp_shot_im img { width:100%; height:auto; max-width:1200px; }


/**/

/* ─── TIMELINE ─── */
.timing_img img{width:100%;height:auto;border-radius:15px;overflow:hidden}
.timeline-wrap{max-width:960px;margin:auto; }

.tl-item{
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 0 32px;
  padding: 28px 0;
  border-bottom: 1px solid #c0c0c04d;
}
.tl-item:last-child{border-bottom: none; }

.tl-left{text-align: right; padding-top: 2px; }

.tl-period{
  font-size:  clamp(.9rem, 3vw, 1.2rem);
  font-weight: 700;
  color:#545454;
  line-height:1.3;
}

.tl-tag{
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  margin-top: 6px;border:2px solid #ff9f00:
}
.tl-tag.peak{
	background:#ff9f00;
}

.tl-tag.normal{
	background:#0084ff;
	color:#fff;
}

.tl-tag.ok{
	background:#20c96b;
	color:#fff;
}

.tl-tag.danger{
	background:#ff0c0c;
	color:#fff;
}

.tl-right{position: relative; padding-left:15px; }
.tl-right::before{
  content: '';
  position: absolute;
  left: 0; top: 8px;
  width: 8px; height: 8px;
  border-radius: 50%;
  border: 2px solid var(--primary);
  background: var(--white);
}

.tl-title{font-size: var(--mi_tit); font-weight:900; color: var(--ink); margin-bottom: 6px; }
.tl-desc{ color: var(--muted);margin:10px 0 5px;}
.tl-desc li{margin-bottom:5px; line-height: 1}
.tl-desc li::before {
  content:'\2714'; font-weight:600;font-size:.8rem;margin-right:5px;
}


.tip-callout{
  background: var(--primary-light);
  border-left: 3px solid var(--primary);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 16px 20px;
  margin-top: 28px;
  
  color: var(--ink2);
  line-height: 1.4;
}
.mtip{margin:10px 0;font-size:.95rem;line-height:1.3;color:#0028ff;background:#fff;padding:10px;border-radius:5px;}
.tip-callout strong{color: var(--primary);display:block;font-size:var(--mi_s_tit);font-weight:800;}

/* ─── TYPE TABS ─── */
.type-tabs{
  display: flex;
  gap: 0;
  border: 1px solid var(--primary);
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 24px;
  background: var(--white);
  box-shadow: 0 0 15px #aaaaaa61;
}

.type-tab{
  flex: 1;
  padding: 20px 10px;
  text-align: center;
  border: none;
  border-right: 1px solid var(--primary);
  background: var(--white);
  
 font-size: var(--mi_s_tit);
  font-weight: 600;
  color: var(--muted);
  cursor: pointer;
  transition: .15s;
}
.type-tab:last-child{border-right: none; }
.type-tab.active, .type-tab:hover{
  background: var(--primary);
  color: var(--white);
}
.type-tab.active{font-weight:900;}

.type-content{display: none; }
.type-content.active{display: block; }
.type-content .alink{gap: 10px;margin-top:15px;display: flex;flex-wrap: wrap;justify-content: center;}
.type-content .alink a{display:inline-block;background:var(--accent);color:var(--white);font-weight:bold;padding:9px 10px;font-size:1.15rem;border-radius:50px;width:100%;max-width:450px;text-align:center}
.type-content .alink a span{display:block;font-size:.9rem;color:#e1e1e1;font-weight:400;}
.type-content .alink a span::after{content:"";display:inline-block;width:8px;height:8px; border-right:1px solid #e1e1e1;border-bottom:1px solid #e1e1e1;transform:rotate(-45deg);transition:.4s}
.type-content .alink a:hover{background:var(--ink2);}

.type-card{
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 36px;
}

.type-card-header{
font-size:1.05rem;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border);
}
.type-img{border-radius:10px;overflow:hidden;margin-bottom:20px;}
.type-img img{width:100%;height:auto;}
.type-badge{
  display: inline-block;
  
  font-weight: 700;
  color: var(--accent);
  background: var(--accent-light);
  padding: 4px 12px;
  border-radius: 6px;
}

.type-card h3{
font-size: var(--mi_tit);
  font-weight: 700;
  color: var(--ink);
  margin: 10px 0 8px;
  line-height: 1.4;
}
.type-card p{font-size:1rem;}
.type-card .talk{font-weight:bold;
  color: var(--accent);
  line-height: 1.5;font-size: var(--mi_s_tit);
}
/**/

/* =========================================================
   하단 플로팅 바
   PC    : [일본 단기연수]  [카카오 상담] [관심 학교 담기]
   모바일: [전화] [1:1 상담신청] [카카오]
           [        관심 학교 담기        ]
   ========================================================= */
.jshort-floating-nav {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;

    display: flex;
    align-items: center;
    gap: 16px;

    padding: 12px 14px 12px 18px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid #e5e5e5;
    border-radius: 16px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);


}



.jshort-float-tit {
    font-size: var(--fs-body);
    font-weight: 800;
    color: #222;
    text-decoration: none;
    white-space: nowrap;
}

.jshort-float-actions {
    display: flex;
    align-items: center;
    gap: 7px;
}

.jshort-float-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 38px;
    padding: 0 18px;
    border-radius: 9px;
    font-size: var(--fs-body);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    box-sizing: border-box;
}
.jshort-float-actions svg { display: block; flex: 0 0 auto; }

/* PC에서는 전화 / 1:1 상담신청 숨김, 카카오는 텍스트만 */
.jshort-float-tel,
.jshort-float-kakao .ico { display: none; }

.jshort-float-kakao {
    background: #fee500;
    color: #191919;
}

.jshort-float-school {
    background: var(--ai);
    color: #fff;
}
.jshort-float-consult {
    background: #111;
    color: #fff;
}

/* =========================================================
   모바일 (640px 이하)
   ========================================================= */
   


/* 모바일 */
@media (max-width:640px) {

	.hero {		padding-bottom: 0;	}

	.hero::before {		background:
			linear-gradient(
				to bottom,
				#ffffff 0%,
				#ffffff 42%,
				rgba(255,255,255,.9) 52%,
				rgba(255,255,255,0) 67%
			),
			url(./img/short_header_m.jpg) center bottom / 100% auto no-repeat;
	}

	.hero-content {
		position: relative;
		z-index: 1;
		padding-bottom:25vw;
	}
  .tl-item{grid-template-columns: 1fr; gap: 4px; padding:10px 0;}
  .tl-left{text-align: left; }
}


@media (max-width: 480px) {
.btn-row{display:none}
    :root {
        --fs-hero: 1.75rem;
        --fs-h2: 1.4rem;
        --fs-h3: 1.1rem;
        --fs-lead: 1rem;
        --fs-body: .9375rem;
        --fs-small: .84rem;
        --fs-cap: .75rem;
        --fs-table: .8125rem;
    }

    html, body { font-size:15px; }
    .wrap { padding:0 10px; }

    /* 헤더(공통) 유지 */
    header.top .wrap { padding:10px 5px; flex-wrap:nowrap; }
    header.top .wrap .nav-actions { flex-wrap:nowrap; }
    header.top .btn.small { padding:8px; font-size:.85rem; }

    /* 섹션 리듬 */
    section { padding:32px 0; border-top:1px solid #e3e3e3; }
	#about{padding-top:20px;}
    .section-head { margin-bottom:14px; }
    .section-head h2 { margin-bottom:8px; line-height:1.35; }
    .section-head p { line-height:1.5; }
    .kicker { margin-bottom:6px; }
    .lead-answer { margin-bottom:12px; line-height:1.65; }
    .note-text { margin-bottom:14px; }


	/* 히어로 */
    .hero { padding:20px 0 24px; }

    .hero .top_tit { margin-bottom:5px; line-height:1.32; text-shadow:none; }
    .hero h1 { color:#000; text-shadow:none; }
    .hero p.lead { margin-bottom:20px; line-height:1.6; text-shadow: 0 0 6px #ffffff;}

    /* 버튼: 세로로 꽉 차게 */
    .btn-row { flex-direction:column; gap:8px; margin-top:4px; }
    section .btn { display:block; width:100%; text-align:center; padding:13px 14px; }
    .final-cta .btn-row { margin-top:0; }

    /* 이미지 */
    .jp_shot_im { height:auto; margin-bottom:16px; border-radius:12px; }

    /* 카드류: 한 줄로, 왼쪽 정렬, 여백 통일 */
    .info-list {    grid-template-columns: repeat(2, 1fr); gap:10px; }
    .info-list li {font-size: .85rem;line-height:1.5; padding:14px 9px; border-radius:12px; }
	.info-list li b { margin-bottom:3px; }
	.info-tag { margin:2px;padding:2px;font-size:10px; }
    .feature-grid { gap:10px; }
    .feature-item { padding:14px 16px; }
    .period-grid, .city-grid, .cost-grid, .compare, .preview-grid { gap:10px; }
    .preview-grid { margin-bottom:18px; }
    .period-card, .compare-col, .city-card, .cost-card, .preview-card { padding:14px 16px; text-align:left; }
    .compare-col ul, .cost-card ul { padding-left:18px; line-height:1.5; }
    .compare { margin-bottom:16px; }
    .prose { margin-bottom:16px; }
    .prose p { line-height:1.65; }
    .period-note { margin:14px 0 0; }
    .more-note { line-height:1.55; }
    .link-card { padding:12px 14px; }

    /* 표 */
    .sub-h { margin:20px 0 10px; }
    .data-table.wide { min-width:0; }
    .data-table th, .data-table td { padding:8px 6px; }
    .data-table.wide { font-size:.75rem; }
    .data-table.wide th, .data-table.wide td { text-align:center; padding:8px 4px; font-size:.75rem;}
    .data-table.wide tbody th { white-space:normal; }
    .notice-list { margin-top:14px; }
    .notice { padding:12px 14px; }

    /* 신청 순서 */
    .apply-steps > li { gap:12px; padding:14px 0; }
    .apply-steps .num { width:28px; height:28px; }

    /* FAQ */
    details { padding:13px 13px 13px 40px; }
    details p { margin-top:10px; }

    /* 3개월 강조 섹션 */
    .wmnt { border-top-width:2px; border-bottom-width:2px; }

    /* 마무리 CTA: 하단 고정바에 가리지 않도록 여백 */
    .final-cta { padding:28px 18px; border-radius:16px; }

    /* ---- 하단 플로팅 바 ---- */
    .jshort-floating-nav {
        right: 10px;
        left: 10px;
        bottom: calc(5px + env(safe-area-inset-bottom));
        padding: 5px;
        border-radius: 16px;
        gap: 0;
    }
    .jshort-float-tit { display:none; }

    .jshort-float-actions {
        width: 100%;
        flex-wrap: wrap;
        gap: 5px;
    }
    .jshort-float-actions a {
        height: 40px;
        min-height: 40px;
        min-width: 0;
        padding: 0 10px;
        border-radius: 12px;
        font-size: var(--fs-body);
    }

    /* 윗줄 : [전화] [1:1 상담신청] [카카오] */
    .jshort-float-tel {
        display: inline-flex !important;
        flex: 0 0 48px;
        width: 48px;
        padding: 0 !important;
        background: #fff;
        color: var(--ai);
        border: 1.5px solid var(--ai);
    }
    .jshort-float-consult {
        display: inline-flex !important;
        flex: 1 1 0;
        background: #111;
        color: #fff;
    }
    .jshort-float-kakao {
        flex: 0 0 48px;
        width: 48px;
        padding: 0 !important;
    }
    .jshort-float-kakao .ico { display:block; }
    .jshort-float-kakao .txt {
        position:absolute; width:1px; height:1px; overflow:hidden;
        clip:rect(0 0 0 0); white-space:nowrap;
    }

    /* 아랫줄 : [관심 학교 담기] */
    .jshort-float-school {
        order: 4;
        flex: 1 0 100%;
    }


.fixBtn{bottom:110px;}

}