	/* 사이트 공통 HEAD CSS 무효화 */
	#container { padding-top:0; }
	#container .inner { width:auto; }
	
#header .lnb .nowUser .userCon{height: 65px;}
	.wrap_fixed_btn { display:none; }
	.subContent { padding-bottom:0; }
	/* 기본 설정 */
	:root { --bg:#fff7fb; --card:#FAF7F1; --ink:#2A2721; --ink-soft:#6B6455; --line:#c1c1c1; --ai:#004ef9; --ai-tint:#4db9ff29; --kaki:#ff1414; --radius:14px; /* 글자 크기 PC */
	--fs-h3:1.2rem; --fs-lead:1.1rem; --fs-body:1rem; --fs-small:.9rem; --fs-cap:.78rem; 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; --card:#242220; --ink:#EDE7DA; --ink-soft:#B0A896; --line:#3A362F; --ai:#7FA0C4; --ai-tint:rgba(127,160,196,.14); --kaki:#D98257; }
	}
	:root[data-theme="dark"] { --bg:#1C1A17; --card:#242220; --ink:#EDE7DA; --ink-soft:#B0A896; --line:#3A362F; --ai:#7FA0C4; --ai-tint:rgba(127,160,196,.14); --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; line-height:1.7; -webkit-font-smoothing:antialiased; }
	a { color:inherit; }
	.wrap { max-width:1200px; margin:0 auto; padding:0 20px; }
	/* 상단 */
	header.top { padding:20px 0 16px; border-bottom:1px solid var(--line); }
	header.top .wrap { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
	.wordmark { font-family:'Gowun Batang', serif; font-size:1.1rem; font-weight:700; text-decoration:none; letter-spacing:.01em; background:url(./japan-short/img/logo_shot.png) no-repeat center left / 30px auto; padding-left:30px; }
	.tip { background:#ff1a1a26; color:#000; }
	/* INTRO */
	.intro-area {
		border-bottom:1px solid #e5e5e5;
		padding-bottom:20px;

		background-image:
			linear-gradient(
				to right,
				rgba(255,255,255,.98) 0%,
				rgba(255,255,255,.96) 45%,
				rgba(255,255,255,.88) 60%,
				rgba(255,255,255,.45) 78%,
				rgba(255,255,255,.15) 100%
			),
			url('../japan-short/img/short_header2.jpg');

		background-size:cover, cover;
		background-repeat:no-repeat;
	}
	.intro { padding:34px 0 6px; position:relative; }
	.intro .tit { font-size:clamp(1.7rem, 4vw, 2.9rem); font-weight:700; line-height:1.2; }
	.tit_tag{font-size:1.8rem;	font-weight:700; margin:0 0 10px;}
	.intro p { margin:0; font-size:var(--fs-lead); line-height:1.5; }
	.home-link { font-size:var(--fs-body); color:#fff; background:var(--ai);text-decoration:none; padding:10px; border-radius:6px; position:absolute; right:10px; top:40px; }
	.home-link:hover { border-color:var(--line); }
	.add_tip { color:#464646; font-size:var(--fs-small); margin:10px auto;max-width:1160px; }
	.guide { display:flex; gap:8px 18px; font-size:var(--fs-small); margin:14px 0 0; padding:0; list-style:none; }
	.guide li { border:1px solid #f00; padding:10px; border-radius:10px; }
	.guide li b {font-size:var(--fs-body); color:var(--ink); padding:0 3px;border-radius:3px;}

	@media (max-width:940px) { .home-link { top:15px; }}
	/* 학교 영역 / 필터 */
	.school-area { background:#f7fbff;padding-bottom:2rem; }
	.filter-bar { background:#f7fbff; z-index:9998; padding:16px 0; }
	.filter-bar.filter-fixed { position:fixed !important; top:0; left:0; right:0; margin-top:0; background:#fff; box-shadow:0 3px 10px rgba(0,0,0,.08); }
	.filter-placeholder { display:none; }
	.filter-placeholder.show { display:block; }
	.filter-scroll { display:flex; flex-wrap:wrap; gap:8px; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; }
	.filter-scroll::-webkit-scrollbar { display:none; }
	.chip { flex:0 0 auto; font-family:'NanumBarunGothic', sans-serif; font-size:var(--fs-body); font-weight:600; padding:8px 15px; border-radius:999px; border:1px solid #c8d7fe; background:#d5e6ff7d; color:#4f4f4f; cursor:pointer; transition:background .15s, color .15s, border-color .15s; }
	.chip[aria-pressed="true"] { background:var(--ai); border-color:var(--ai); color:#FAF7F1; }
	.count-line { padding:14px 0 2px; font-size:var(--fs-small); color:var(--ink-soft); }
	.count-line strong { color:var(--ink); }
	/* 학교 GRID */
	.grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(258px, 1fr)); gap:14px; padding:14px 0 30px; }
	/* 학교 카드 */
	.card { display:flex; flex-direction:column; width:100%; text-align:left; font-family:inherit; background:#fff; border:1.5px solid var(--line); border-radius:var(--radius); padding:16px 16px 14px; cursor:pointer; position:relative; transition:border-color .15s, background .15s, transform .1s; -webkit-tap-highlight-color:transparent; }
	.card:hover { border-color:var(--ai); }
	.card:active { transform:scale(.99); }
	.card:focus-visible { outline:2.5px solid var(--ai); outline-offset:2px; }
	.card.selected { border-color:var(--ai); background:var(--ai-tint); }
	/* 선택 체크 */
	.card .check { position:absolute; top:14px; right:14px; width:22px; height:22px; border-radius:50%; border:1.5px solid #909090; background:#f3f3f3; display:flex; align-items:center; justify-content:center; font-size:.72rem; color:transparent; }
	.card.selected .check { background:var(--ai); border-color:var(--ai); color:#fff; }
	/* 학교명 영역 */
	.school-title { margin-bottom:8px; }
	/* 지역 태그 */
	.school-title .city-tag { display:inline-block; margin:0 0 5px; padding:1px 5px;  border-radius:3px; background:#eef4ff; color:#2f5aea; font-size:12px; font-weight:600; line-height:1.4; letter-spacing:0; }
	.school-title .recommend-tag{display:inline-block; margin:0 0 5px; padding:1px 5px;   border-radius:3px; background:#ffdcdc; color:#f00; font-size:11px; font-weight:600; line-height:1.4; margin-left:5px; }
	

	/* 학교명 */
	.school-title h3 { margin:0; min-height:40px; font-size:var(--fs-h3); font-weight:700; line-height:1.35; word-break:keep-all; overflow-wrap:break-word; }
	/* 특징 */
	.card .highlight { min-height:44px; margin:0 0 10px; font-size:var(--fs-small); color:var(--ink-soft); line-height:1.55; word-break:keep-all; }
	/* 학비 / 숙소 */
	.card .meta { display:flex; flex-direction:column; gap:6px; margin-top:auto; padding-top:10px; border-top:1px solid var(--line); font-size:var(--fs-small); color:var(--ink-soft); }
	.card .meta b { color:var(--ink); font-weight:600; line-height:1.3;}
	.card .t-row { line-height:1.5;letter-spacing: -.1px; display: inline-block;
    margin-right: 5px;}
	.card .t-row.rise { color:var(--kaki); }
	.card .t-row.rise b { color:var(--kaki); }
	.card s.old { color:var(--ink-soft); opacity:.75; margin-right:2px; }
	/* 배지 */
	.badges { display:flex; flex-wrap:wrap; gap:5px; margin:0 0 10px; }
	.badge { font-size:var(--fs-cap); font-weight:700; padding:3px 8px; border-radius:999px; line-height:1.4; }
	.badge.sale { background:var(--kaki); color:#FAF7F1; }
	.badge.rise { border:1px solid var(--kaki); color:var(--kaki); }
	.badge.dorm { background:var(--ai-tint); color:var(--ai); }
	.badge.warn { border:1px solid var(--line); color:var(--ink-soft); }
	/* 카드 주석 */
	.card .note { font-size:var(--fs-cap); color:var(--ink-soft); margin:8px 0 0; line-height:1.5; }
	/* 결과 없음 */
	.empty-msg { padding:60px 0; text-align:center; color:var(--ink-soft); display:none; }
	/* 질답 */
	.faq-area { padding:10px 0 80px; }
	.faq-area h2 { font-weight:bold;font-size:1.5rem; margin:30px 0 14px; }
	.faq-area .tit2{font-size:1.8rem;}
	.faq-area h3 { font-size:var(--fs-lead); margin:0 0 6px; font-weight:600;}
	.faq-area p { margin:0; font-size:var(--fs-body); }
	.faq-area table { width:100%; border-collapse:collapse; font-size:var(--fs-body); background:#fff; margin-bottom:15px;}
	.faq-area th{border-top:1px solid #000;background: #f4f5fe;}
	.faq-area th, .faq-area td { border-bottom:1px solid var(--line); padding:8px 10px; text-align:left; }
	.faq-area .faq-item { box-shadow: rgb(228, 232, 241) 0px 0px 0px 1px; position: relative; padding: 18px; background:#f3f3ffa3; margin: 15px 0px; border-radius: 15px; }
	.faq-area p{ font-family:'NanumBareunGothicLight';font-size:var(--fs-small);}

	/* 하단 선택 BAR */
	.bottom-bar { position:fixed; left:0; right:0; bottom:0; transform:translateY(110%); transition:transform .25s ease; background:#fff; padding:14px 20px calc(14px + env(safe-area-inset-bottom, 0px)); box-shadow:0 -6px 24px rgba(0,0,0,.08); z-index:20; }
	.bottom-bar.show { transform:translateY(0); }
	.bottom-bar .wrap { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:0; }
	.bottom-bar .status { font-size:var(--fs-small); }
	.bottom-bar .status.empty-status { width:100%; text-align:center; font-size:var(--fs-body); }
	.bottom-bar .status strong { color:var(--ai); font-size:var(--fs-body); }
	.reset-link { font-size:var(--fs-small); color:#ff0000; text-decoration:underline; background:none; border:none; cursor:pointer; padding:0; margin-left:10px; font-family:inherit; }
	.bottom-bar .actions { display:flex; gap:8px; flex-wrap:wrap; }
	/* 버튼 */
	.btn { font-family:'NanumBarunGothic', sans-serif; font-size:var(--fs-body); font-weight:700; padding:11px 18px; border-radius:10px; border:1.5px solid var(--ai); cursor:pointer; text-decoration:none; display:inline-block; transition:opacity .15s; }
	.btn.primary { background:var(--ai); color:#FAF7F1; }
	.btn.ghost { background:transparent; color:var(--ai); }
	.btn.dark { background:#111; border-color:#111; color:#fff; }
	.btn:hover { opacity:.85; }
	/* TOAST */
	.toast { position:fixed; left:50%; bottom:104px; transform:translate(-50%, 20px); opacity:0; background:var(--ink); color:var(--bg); padding:10px 18px; border-radius:10px; font-size:var(--fs-small); pointer-events:none; transition:opacity .2s, transform .2s; z-index:30; max-width:88vw; text-align:center; }
	.toast.show { opacity:1; transform:translate(-50%, 0); }
	/* 기타 */
	.slide_menu .swiper-slide a { font-size:17px; }
	.price-tag{ display:inline-block; margin-right:2px;padding:3px; border-radius:5px; font-size:11px; font-style:normal; font-weight:700; line-height:1; vertical-align:1px; }
	.price-tag.up, .guide li .tagup{background:#d0ffb4;color:#ff0000;}
	.price-tag.work, .guide li .tagwk{background:#9ff5ff;color: #8600ff; }	
	.price-tag.dorm, .guide li .tagdorm{background:#a4ffde;color: #fc00ff; }

	.price-tag.work{ margin-left:5px;}
	.april-price{ color:#555; }

	/* 애니메이션 최소화 설정 */
	@media (prefers-reduced-motion:reduce) { .chip, .card, .bottom-bar { transition:none; }
	.card:active { transform:none; }
	}
	/* 태블릿 / 모바일 640px 이하 */
	@media (max-width:640px) { .wrap { padding:0 10px; }
	.intro-area { border-bottom:none;

		background-position:center, center right;
		}
	:root { --fs-h3:1.1rem; --fs-lead:1rem; --fs-body:.9375rem; --fs-small:.84rem; --fs-cap:.75rem; }
	.pc-only { display:none; }
	.bottom-bar { padding:10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); }
	.bottom-bar .wrap { gap:8px; }
	.bottom-bar .status { width:100%; display:flex; align-items:center; justify-content:flex-start; }
	.bottom-bar .status.empty-status { justify-content:center; }
	.reset-link { margin-left:auto; }
	.bottom-bar .actions { width:100%; flex-wrap:nowrap; gap:6px; }
	.bottom-bar .btn { flex:1 1 0; min-width:0; padding:11px 4px; line-height:1.3; text-align:center; white-space:nowrap; }
		.bottom-bar .btn.ghost{ flex:1 1 0; }
		.bottom-bar .btn.primary{ flex:.85 1 0; }
		.bottom-bar .btn.dark{ flex:1.3 1 0; }
	.tit_tag{font-size:1.3rem; line-height: 1;display:none}
	}
	/* 모바일 480px 이하 */
	@media (max-width:480px) { html, body { font-size:16px; }

		/* INTRO */
		.intro { padding:20px 0 0; }
		.intro p {font-size:.9rem;line-height:1.3; color:#000;font-family:'NanumBareunGothicLight';}
		.faq-area .tit2{        font-size: 1.4rem;
			line-height: 1.4;}
		.home-link { position:relative; top:auto; right:auto; width:100%; margin:15px 0; display:block; text-align:center; }
		/* 안내 */
		.guide {   display: grid;
  grid-template-columns: repeat(2, 1fr);gap:2px; }
		.guide li { padding: 8px; font-size: .8rem; line-height: 1.3; background:#ffffffb0;}

		/* 필터 */
		.filter-scroll { flex-wrap:nowrap; }
		.filter-bar { padding:12px 0; }
		.chip { padding:8px 18px; }
		/* 학교 GRID */
		.grid { grid-template-columns:1fr; gap:10px; padding-bottom:10px; }
		.add_tip{margin:10px;}
		/* 카드 */
		.card { padding:14px; }
		/* 모바일에서는 카드 높이 정렬하지 않음 학교명/설명 길이만큼 자연스럽게 표시 */
		.school-title { margin-bottom:6px; }
		.school-title h3 { min-height:0; padding-right:26px; font-size:1.05rem; line-height:1.35; }
		/* 모바일 지역 태그 - 작고 심플하게 */
		.school-title .city-tag { margin:0 0 3px; padding:0; background:none; border:0; border-radius:0; color:#2f5aea; font-size:9px; font-weight:600; line-height:1.3; }
		/* 특징 높이 고정 해제 */
		.card .highlight { min-height:0; margin-bottom:9px; line-height:1.5; }
		/* 학비 영역도 자연스럽게 이어지도록 */
		.card .meta { margin-top:0; padding-top:9px; gap:4px; }
		/* 체크 */
		.card .check { top:12px; right:12px; width:20px; height:20px; }
		/* 하단 바 */
		.bottom-bar { padding-left:14px; padding-right:14px; }
		.bottom-bar .wrap { gap:5px; }
		.btn { padding:8px; }
		.fixBtn { bottom:105px; }
	}