@charset "utf-8";

/* ==========================================================
   main.css : 1. 비주얼  2. 게시판  3. 배너존  4. 입주기업
   이미지 (images/main/)
   - visual1.jpg ~ visual3.jpg      : 메인 비주얼 1920x830
   - bn1.jpg ~                      : 모집공고 팝업존 420x400
   - quick-home/rocket/map.png      : 퀵메뉴 아이콘 512x512 (검정 선, hover 시 filter 로 흰색)
   - cbn_bg.jpg                     : 입주기업 소개 배너 520x299
   - farmer.png                     : 배너존 우측 상단 농부 일러스트 356x226
   - leaf.png                       : 퀵메뉴 좌측 잎사귀 77x48
   - snu_sb.png                     : 링크 배너 서울대 심볼 296x310 (남색 원본, filter 로 흰색)
   - bn_bg.jpg                      : 입주기업 배경 1920x469
   - (입주기업 로고는 정규보육 게시판 sub3_1 의 첨부 이미지를 쓴다 — data/file/sub3_1)
   ========================================================== */

/* ---------- 1. 비주얼 ---------- */
.mainVisual {position:relative;z-index:1;height:830px;background:#1f3a24}
.mainVisual .mainVisualSlide {position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden}
.mainVisualSlide:after {content:"";position:absolute;left:0;top:0;z-index:2;width:100%;height:100%;background:linear-gradient(180deg, rgba(0,0,0,.35) 0, rgba(0,0,0,0) 30%), linear-gradient(90deg, rgba(10,30,15,.45) 0, rgba(10,30,15,0) 65%);pointer-events:none}
/* 줌은 슬라이드가 아니라 안쪽 이미지에 건다 — 슬라이드의 transform 은 Swiper 가 위치 잡는 데 쓴다 */
.mainVisualItem {width:100%;height:100%;overflow:hidden}
.mainVisualImg {width:100%;height:100%;background-position:50% 50%;background-size:cover;transform:scale(1)}
.mainVisualItem.swiper-slide-active .mainVisualImg {animation:visualZoom 8s ease-out both}
@keyframes visualZoom {from {transform:scale(1)} to {transform:scale(1.08)}}

/* 비주얼 하단 흰 곡면 : 게시판 영역이 위로 말려 올라온 모양 */
/* 비주얼 하단 흰 곡면은 게시판 섹션(.news-section:before)이 그린다 — 게시판 제목을 가리지 않도록 게시판을 비주얼 위에 쌓는다 */

.mainVisualText {position:relative;z-index:4;max-width:var(--inner);height:100%;margin:0 auto;padding:355px 20px 0;color:#fff;pointer-events:none}
.mainVisualText > * {pointer-events:auto}
.mainVisualSub {font-family:var(--font-family1);font-size:24px;font-weight:700;letter-spacing:-.03em;opacity:0;animation:visualUp .9s .2s ease forwards}
.mainVisualText h2 {margin-top:18px;font-family:var(--font-family3);font-size:60px;font-weight:400;line-height:1.25;letter-spacing:-.03em;opacity:0;animation:visualUp .9s .4s ease forwards}
@keyframes visualUp {from {opacity:0;transform:translateY(30px)} to {opacity:1;transform:translateY(0)}}

.mainVisualControl {display:flex;align-items:center;gap:8px;margin-top:62px;opacity:0;animation:visualUp .9s .6s ease forwards}
.mainVisualControl button {display:flex;align-items:center;justify-content:center;width:52px;height:52px;padding:0;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:none;color:#fff;font-size:26px;transition:background .25s, color .25s, border-color .25s}
.mainVisualControl button:hover {border-color:#fff;background:#fff;color:var(--c-green)}
.visual-pagination {display:flex;align-items:center;gap:6px;margin-left:14px;font-family:var(--font-family4);font-size:15px;font-weight:500;opacity:.7}
.visual-pagination strong {font-weight:600;opacity:1}
.visual-pagination .visual-current {color:#fff}

/* 모집공고 팝업존 — 함양군 농업기술센터 #ppr1 구조 그대로
   컨테이너 440(이미지 420 + 오른쪽 여백 20) · 뒤 흰 카드 410 은 위 40px 아래에서 시작해 오른쪽 끝(440)까지
   이미지는 오른쪽 아래 모서리만 각지고(40 40 0 40) 그 아래 70px 가 컨트롤 바 */
.mainPopupzone {position:absolute;right:max(20px, calc((100% - var(--inner)) / 2 + 20px));top:-360px;z-index:10;width:440px;height:470px;padding-right:20px} /* 게시판 섹션 기준 : 470 중 360 이 비주얼에 걸치고 110 이 게시판 쪽 */
.mainPopupzone:after {content:"";position:absolute;top:40px;right:0;z-index:-1;width:410px;height: calc(100% - 35px);border-radius:40px;background:#fff;box-shadow: 10px 10px 20px rgb(25 37 59 / 15%);}
.popupzone-card {position:relative;height:100%}
.popupzone-banner {height:392px;border-radius:40px;background:#dff3ea;overflow:hidden}
/* 고정 배너 : 그림은 글자 없는 bn1.jpg(420x400), 글자는 HTML 로 얹는다. 날짜만 관리자가 메인 [날짜 수정]으로 바꾼다 */
.bn-fixed {display:flex;flex-direction:column;align-items:center;height:100%;padding:46px 30px 0;background:#daf7f5 url("../images/main/bn1.jpg") no-repeat center bottom / cover;color:#016934;text-align:center;transition:filter .3s}
.bn-fixed:hover {filter:brightness(1.02)}
.bn-fixed__badge {display:inline-flex;align-items:center;height:35px;padding:0 30px;border:2px solid #016934;border-radius:35px;background:transparent;color:#016934;font-size:15px;font-weight:700;line-height:1;letter-spacing:-.02em}
.bn-fixed__title {display:block;margin-top:14px;color:#016934;font-family:var(--font-family2);font-size:40px;font-weight:600;line-height:1;letter-spacing:-.06em}
.bn-fixed__info {display:flex;flex-direction:column;gap:14px;margin:28px 0 0;text-align:left}
.bn-fixed__info div {display:flex;align-items:flex-start;gap:14px}
.bn-fixed__info dt {flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:59px;height:24px;padding:0 10px;border-radius:24px;background:#4bb842;color:#fff;font-size:13px;font-weight:700;line-height:1;letter-spacing:.3em;text-indent:.3em}
.bn-fixed__info dd {margin:1px 0 0;color:#016934;font-size:16px;font-weight:600;line-height:21px;letter-spacing:-.02em;word-break:keep-all}
.bn-fixed__date b {color:#4bb842;font-size:20px;font-weight:700;line-height:1} /* 월. 일. 만 밝은 녹색으로 크게 (시안) */
.popupzone-edit {display:inline-flex;align-items:center;gap:4px;margin-left:12px;color:#15805a;font-size:13px;font-weight:600;white-space:nowrap}
.popupzone-edit:hover {color:#0f3d2b;text-decoration:underline}
.bn-date {position:relative;display:inline-flex}
.popupzone-edit {border:0;background:none;font-family:inherit;cursor:pointer}
.bn-date__layer {position:absolute;left:0;bottom:calc(100% + 12px);z-index:20;width:240px;padding:18px 18px 16px;border:1px solid #d5e5dc;border-radius:16px;background:#fff;box-shadow:0 14px 34px rgba(20,60,40,.16);text-align:left}
.bn-date__layer:after {content:"";position:absolute;left:28px;bottom:-7px;width:12px;height:12px;border-right:1px solid #d5e5dc;border-bottom:1px solid #d5e5dc;background:#fff;transform:rotate(45deg)}
.bn-date__tit {display:block;margin-bottom:8px;color:#0f3d2b;font-size:14px;font-weight:700}
.bn-date__input {display:block;width:100%;height:42px;padding:0 12px;border:1px solid #cfd8d3;border-radius:10px;background:#fff;color:#222;font-family:inherit;font-size:16px;cursor:pointer}
.bn-date__input:focus {outline:none;border-color:var(--c-green);box-shadow:0 0 0 3px rgba(30,155,110,.12)}
.bn-date__msg {min-height:18px;margin:8px 0 0;color:#15805a;font-size:13px}
.bn-date__btns {display:flex;gap:6px;margin-top:8px}
.bn-date__save,.bn-date__cancel {flex:1;height:38px;border:0;border-radius:38px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}
.bn-date__save {background:var(--c-green);color:#fff}
.bn-date__save:hover {background:var(--c-green-dark)}
.bn-date__save:disabled {background:#b7c4bd;cursor:default}
.bn-date__cancel {background:#eef1ef;color:#555}
.bn-date__cancel:hover {background:#e2e7e4}
.popupzone-control {position:absolute;left:30px;right:-20px;bottom:0;display:flex;align-items:center;height:70px;padding: 0 35px;}
.popupzone-control strong {font-family: var(--font-family3);font-size:22px;font-weight:600;letter-spacing:-.05em;color:#000}
.popupzone-pagination {display:flex;align-items:center;gap:7px;margin-left:auto;color:#b9bcc3;font-family:var(--font-family4);font-size:17px;font-weight:500}
.popupzone-pagination b {color:#222;font-weight:700}
.popupzone-pagination span:first-of-type {font-size:12px}
.popupzone-more {display:inline-flex;align-items:center;gap:6px;height:40px;margin-left:auto;padding:0 18px;border-radius:40px;background:var(--c-green);color:#fff;font-size:15px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;transition:background .2s, transform .2s}
.popupzone-more i {font-size:18px;transition:transform .2s}
.popupzone-more:hover {background:var(--c-green-dark);color:#fff}
.popupzone-more:hover i {transform:translateX(3px)}

/* ---------- 2. 게시판 ---------- */
.news-section {position:relative;z-index:2;padding: 30px 0 70px;} /* 배경 없음 · 비주얼(z1)보다 위 : 흰 곡면과 제목이 비주얼을 덮고, 팝업존(z10)은 그 위 */
.news-section:before {content:"";position:absolute;left:0;top:-60px;z-index:0;width:calc(50% + 337px);height:130px;border-radius:0 120px 0 0;background:#fff}
.news-inner {position:relative;z-index:1;max-width:var(--inner);margin:0 auto;padding: 10px 20px 0;}
.news-head {display:flex;align-items:flex-end;gap:38px;min-height:80px;padding-right:460px}
.news-title {flex:none}
.news-title h2 {position:relative;display:inline-block;white-space:nowrap;padding-right:16px;color:#333;font-family:var(--font-family2);font-size: 40px;font-weight:500;line-height:1.2;letter-spacing: -1px;}
.news-title h2:after {content:"";position:absolute;right:0;top:4px;width:10px;height:10px;border-radius:50%;background:var(--c-green)}
.news-title h2 em {color:var(--c-green);font-style:normal}
.news-description {margin-top:8px;color: #374359;font-size: 24px;font-weight: 600;letter-spacing:-.04em}

.news-toolbar {display:flex;align-items:center;gap:14px;padding-bottom:6px}
.news-tabs {display:flex;gap:8px}
.news-tabs a {display:flex;align-items:center;gap:8px;height:42px;padding:0 24px;border-radius:42px;background:#fff;box-shadow:0 4px 12px rgba(30,40,80,.1);color:#333;font-size:16px;font-weight:500;white-space:nowrap;transition:background .25s, color .25s}
.news-tabs a i {display:none;font-size:18px}
.news-tabs a:hover {color:var(--c-green)}
.news-tabs li.active a {background:var(--c-navy);color:#fff;box-shadow:0 6px 14px rgba(43,58,92,.3)}
.news-tabs li.active a i {display:block}
.news-more {display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:50%;background:#8a909c;color:#fff;font-size:24px;transition:background .25s, transform .4s}
.news-more:hover {background:var(--c-green);color:#fff;transform:rotate(90deg)}

.news-tab-content {display:none;margin-top:70px}
.news-tab-content.active {display:block}
.news-slider.swiper {margin:-40px -40px -70px;padding:40px 40px 70px;overflow:hidden} /* 롤오버 그림자(0 16px 34px) · 떠오름(-8px)이 잘리지 않게 여유를 두고 overflow 로 자른다. swiper-bundle.css 의 .swiper {padding:0;margin:auto} 보다 우선하도록 .swiper 를 함께 쓴다 */
.news-list {display:flex}
.news-card {height:auto}
.news-card a {position:relative;display:flex;flex-direction:column;height:100%;min-height:320px;padding:35px 36px 38px;border:1px solid #eef0f5;border-radius:24px;background:#fff;box-shadow:0 6px 20px rgba(30,40,80,.07);transition:transform .3s, box-shadow .3s, border-color .3s}
.news-card a:hover {border-color:var(--c-green);box-shadow:0 16px 34px rgba(30,155,110,.16);transform:translateY(-8px)}
.news-card-badge {display:inline-flex;align-items:center;align-self:flex-start;gap:6px;height:32px;padding:0 16px 0 12px;border-radius:32px;background:#4767b4;color:#fff;font-size:14px;font-style:normal;font-weight:600}
.news-card-badge i {font-size:16px;font-weight:400}
.news-card-badge.is-company {background:#1169b3} /* 입주기업 소식 배지 — 시안 색 */
.news-card-subject {display:-webkit-box;height:96px;margin-top:22px;overflow:hidden;font-family:var(--font-family2);font-size:21px;font-weight:500;line-height:32px;letter-spacing:-.05em;word-break:keep-all;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.news-card-more {display:flex;align-items:center;gap:10px;margin-top:24px;color:#333;font-family:var(--font-family2);font-size:15px;font-weight:500}
.news-card-more:before {content:"";flex:1;height:1px;background:#e1e3e8}
.news-card-more i {display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#586578;color:#fff;font-size:24px;transition:background .25s}
.news-card a:hover .news-card-more i {background:var(--c-green)}
.news-card-date {display:flex;align-items:center;gap:5px;margin-top:auto;padding-top:18px;color:#a3a7b0;font-size:14px;letter-spacing:0}
.news-card-date i {font-size:17px}
.news-empty {padding:110px 0;border:1px dashed #d9dce3;border-radius:24px;color:#999;font-size:16px;text-align:center}

/* ---------- 3. 배너존 ---------- */
.banner-zone {position:relative;z-index:3;padding:105px 0 170px;border-radius:0 150px 0 150px;background:var(--c-bg-gray);overflow:hidden}
/* 우측 상단 곡면 뒤는 흰색(게시판), 좌측 하단 곡면 뒤는 초록(입주기업)이 비친다 */
.banner-zone-bgtext {position:absolute;left:30px;bottom:-38px;z-index:1;margin:0;color:#fff;font-family:var(--font-family2);font-size:215px;font-weight:700;line-height:1;letter-spacing:-.05em;white-space:nowrap;opacity:.75;pointer-events:none}
.banner-zone-inner {position:relative;z-index:2;max-width:var(--inner);margin:0 auto;padding:0 20px}
.banner-zone-title {color:#333;font-family:var(--font-family2);font-size:36px;font-weight:500;line-height:1.3;letter-spacing:-.06em;text-align:center;word-break:keep-all}
.banner-zone-title em {color:#1b9a78;font-size:44px;font-style:normal;font-weight:600}
.banner-zone-illust {position:absolute;right:-150px;top:-56px;z-index:-1;width:356px;height:226px;background:url("../images/main/farmer.png") no-repeat 50% 100% / contain;pointer-events:none}

.banner-zone-wrap {position:relative;isolation:isolate;display:grid;grid-template-columns:440fr 520fr 440fr;gap:50px;margin-top:52px}
.banner-zone-wrap:before {content:"";position:absolute;z-index:-1;left:-62px;bottom:40px;width:77px;height:48px;background:url("../images/main/leaf.png") no-repeat 50% 50% / contain}

/* 퀵메뉴 3줄 */
.banner-quick {display:flex;flex-direction:column;border-radius:24px;background:#fff;box-shadow:0 6px 20px rgba(30,40,80,.07);overflow:hidden}
.banner-quick li {flex:1;border-top:1px solid #e9ebf0}
.banner-quick li:first-child {border-top:0}
.banner-quick a {display:flex;align-items:center;height:100%;min-height:99px;padding:0 30px;transition:background .25s, color .25s}
.banner-quick a img {flex:none;width:30px;height:30px;margin-right:14px;object-fit:contain;transition:filter .25s}
.banner-quick a:hover img {filter:brightness(0) invert(1)}
.banner-quick a strong {flex:none;width:116px;font-family:var(--font-family2);font-size:21px;font-weight:600;letter-spacing:-.05em}
.banner-quick a span {color:#777;font-size:15px;letter-spacing:-.04em;word-break:keep-all;transition:color .25s}
.banner-quick a:hover {background:var(--c-green);color:#fff}
.banner-quick a:hover span {color:rgba(255,255,255,.85)}

/* 입주기업 소개 */
.banner-company {position:relative;display:block;min-height:300px;padding:52px 50px;border-radius:24px;background:#0c1a3a url("../images/main/cbn_bg.jpg") no-repeat 50% 50% / cover;color:#fff;overflow:hidden;transition:transform .3s, box-shadow .3s}
.banner-company:hover {color:#fff;box-shadow:0 18px 36px rgba(12,26,58,.3);transform:translateY(-6px)}
.banner-company strong {display:block;font-family:var(--font-family2);font-size:34px;font-weight:600;letter-spacing:-.06em}
.banner-company p {margin-top:20px;font-size:16px;line-height:1.5;opacity:.85}
.banner-company-btn {display:inline-flex;align-items:center;height:36px;margin-top:30px;padding:0 20px;border:1px solid rgba(255,255,255,.8);border-radius:36px;font-size:15px;font-weight:500;transition:background .25s, color .25s}
.banner-company:hover .banner-company-btn {background:#fff;color:#0c1a3a}

/* 링크 배너 2개 */
.banner-link {display:grid;gap:20px}
.banner-link-item {position:relative;display:flex;align-items:center;min-height:140px;padding:0 70px 0 122px;border-radius:24px;color:#fff;overflow:hidden;transition:transform .3s, box-shadow .3s}
/* 서울대 심볼 (images/main/snu_sb.png · 남색 원본 296x310) : filter 로 흰색으로 바꿔 쓴다 */
.banner-link-item:before {content:"";position:absolute;left:40px;top:50%;width:60px;height:63px;margin-top:-31px;background:url("../images/main/snu_sb.png") no-repeat 50% 50% / contain;filter:brightness(0) invert(1);opacity:.95}
.banner-link-item.is-blue {background:linear-gradient(100deg, #3f6fc4 0, #2f55a3 100%)}
.banner-link-item.is-purple {background:linear-gradient(100deg, #6a57b3 0, #4f3f97 100%)}
.banner-link-item strong {font-family:var(--font-family2);font-size:22px;font-weight:600;line-height:1.35;letter-spacing:-.06em}
.banner-link-item i {position:absolute;right:30px;top:50%;font-size:28px;transform:translateY(-50%);transition:right .25s}
.banner-link-item:hover {color:#fff;box-shadow:0 14px 30px rgba(43,58,92,.25);transform:translateY(-6px)}
.banner-link-item:hover i {right:22px}

/* ---------- 4. 입주기업 ---------- */
.company-zone {position:relative;z-index:2;margin-top:-150px;padding:210px 0 68px;background:url("../images/main/bn_bg.jpg") no-repeat 50% 100% / cover, linear-gradient(180deg, #2fa882 0, #35b38a 45%, #1d906c 100%);overflow:hidden}
.company-zone-title {position:relative;z-index:2;display:table;margin:0 auto;padding:0 14px 0 0;color:#fff;font-family:var(--font-family2);font-size:42px;font-weight:500;letter-spacing:-.06em}
.company-zone-title:after {content:"";position:absolute;right:0;top:-2px;width:11px;height:11px;border-radius:50%;background:#fff}
.company-zone-head {position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:22px}
.company-zone-head .company-zone-title {margin:0}
.company-admin-btn {display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 20px 0 16px;border-radius:42px;background:#fff;color:#15805a;font-size:15px;font-weight:600;letter-spacing:-.02em;box-shadow:0 6px 16px rgba(0,0,0,.12);transition:transform .25s, box-shadow .25s, background .25s, color .25s}
.company-admin-btn i {font-size:19px}
.company-admin-btn:hover {background:#0f3d2b;color:#fff;box-shadow:0 10px 22px rgba(0,0,0,.2);transform:translateY(-3px)}

.company-slider {position:relative;z-index:2;margin-top:38px;padding:20px 0;overflow:hidden}
/* 로고 흐름 : js/motion.js 가 목록을 복제해 두 벌로 만들고, CSS 애니메이션으로 한 벌만큼 밀어 무한 반복한다. 마우스를 올리면 멈춘다 */
.company-track {--company-gap:20px;display:flex;gap:var(--company-gap);width:max-content;animation:companyFlow var(--company-duration, 40s) linear infinite}
.company-slider:hover .company-track,
.company-slider:focus-within .company-track {animation-play-state:paused}
@keyframes companyFlow {from {transform:translateX(0)} to {transform:translateX(calc(-50% - var(--company-gap) / 2))}}
.company-track > li {flex:none;width:246px;height:110px}
.company-track > li > a {display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0 34px;border-radius:110px;background:#fff;transition:transform .3s, box-shadow .3s}
.company-track > li > a:hover,
.company-track > li > a:focus-visible {box-shadow:0 10px 24px rgba(0,0,0,.2);transform:translateY(-6px)}
@media (prefers-reduced-motion:reduce) {.company-track {animation:none;flex-wrap:wrap;justify-content:center;width:auto}}
/* 로고 크기는 js/motion.js(sizeCompanyLogos) 가 비율에 따라 면적 기준으로 맞춘다 — 가로형·세로형 체감 크기 차이를 줄이기 위함 */
.company-slider img {display:block;width:auto;max-width:100%;max-height:66px;object-fit:contain}
.company-track .company-name {display:block;color:#0f3d2b;font-family:var(--font-family2);font-size:19px;font-weight:600;line-height:1.3;letter-spacing:-.03em;text-align:center;word-break:keep-all}
/* 양 끝 흐림 : 색을 덮지 않고 슬라이더를 투명하게 빼서 배경 그라데이션과 경계가 생기지 않게 한다 */
.company-slider {-webkit-mask-image:linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);mask-image:linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%)}

/* ---------- 반응형 ---------- */
@media (max-width:1600px) {
	.mainVisual {height:720px}
	.mainVisualText {padding-top:290px}
	.mainVisualSub {font-size:20px}
	.mainVisualText h2 {font-size:52px}
	.mainVisualControl {margin-top:46px}
	.mainPopupzone {width:380px;height:401px;top:-311px}
	.mainPopupzone:after {top:34px;width:352px;height:calc(100% - 34px);border-radius:34px}
	.popupzone-banner {height:339px;border-radius:34px}
	.bn-fixed {padding-top:30px}
	.bn-fixed__title {font-size:36px}
	.bn-fixed__info {gap:9px;margin-top:20px}
	.bn-fixed__info dd {font-size:15px}
	.popupzone-control {height:62px;padding:0 16px 0 30px}
	.news-head {padding-right:400px}
	.news-title h2 {font-size:36px}
	.news-description {font-size:20px}
	.banner-zone-illust {right:-40px;width:260px;height:180px;top:-40px}
	.banner-zone-wrap {gap:30px}
	.banner-quick a strong {width:100px;font-size:19px}
	.banner-zone-bgtext {bottom:-28px;font-size:160px}
}
@media (max-width:1280px) {
	.news-head {flex-direction:column;align-items:flex-start;gap:24px}
	.news-card a {padding:28px 26px 30px}
	.banner-zone-illust {display:none}
	.banner-zone-wrap {grid-template-columns:1fr 1fr}
	.banner-quick {grid-column:1 / 3;flex-direction:row}
	.banner-quick li {border-top:0;border-left:1px solid #e9ebf0}
	.banner-quick li:first-child {border-left:0}
	.banner-quick a {flex-wrap:wrap;align-content:center;gap:6px 0;padding:0 24px}
	.banner-quick a span {width:100%}
	.banner-zone-wrap:before {display:none}
}
@media (max-width:1024px) {
	.mainVisual {height:auto;background:#fff}
	.mainVisual .mainVisualSlide {background:#1f3a24}
	.news-section:before {display:none}
	.mainVisual .mainVisualSlide {height:560px}
	.mainVisualText {height:560px;padding-top:190px}
	.mainVisualSub {font-size:17px}
	.mainVisualText h2 {margin-top:12px;font-size:38px;word-break:keep-all}
	.mainVisualControl {margin-top:34px}
	.mainVisualControl button {width:44px;height:44px;font-size:22px}
	.mainPopupzone {position:relative;right:auto;top:auto;width:calc(100% - 40px);max-width:440px;height:auto;margin:-70px auto 30px;padding-right:0}
	.mainPopupzone:after {display:none}
	.popupzone-banner {height:auto;aspect-ratio:420 / 395;border-radius:24px 24px 0 0;box-shadow:none}
	.popupzone-control {position:relative;left:auto;right:auto;height:60px;padding:0 14px 0 20px;border-radius:0 0 14px 14px;background:#fff;box-shadow:0 10px 24px rgba(20,60,40,.12)}
	.news-section {padding:60px 0 50px}
	.news-head {min-height:0;padding-right:0}
	.news-title h2 {font-size:30px}
	.news-description {font-size:17px}
	.news-toolbar {width:100%}
	.news-tabs {flex:1;overflow-x:auto;padding:6px 4px 12px;margin:-6px -4px -12px}
	.news-tab-content {margin-top:34px}
	.news-card a {min-height:280px}
	.news-card-subject {height:90px;font-size:19px;line-height:30px}
	.banner-zone {padding:70px 0 110px;border-radius:0 80px 0 80px}
	.banner-zone-title {font-size:24px}
	.banner-zone-title em {display:block;font-size:30px}
	.banner-zone-wrap {gap:16px;margin-top:34px}
	.banner-company {min-height:240px;padding:36px 30px}
	.banner-company strong {font-size:26px}
	.banner-link-item {min-height:112px;padding:0 50px 0 96px}
	.banner-link-item:before {left:24px;width:48px;height:50px;margin-top:-25px}
	.banner-link-item strong {font-size:18px}
	.company-zone {margin-top:-80px;padding:130px 0 50px}
	.banner-zone-bgtext {left:20px;bottom:-18px;font-size:100px}
	.company-zone-title {font-size:30px}
	.company-zone-title:after {width:8px;height:8px}
	.company-zone-head {flex-direction:column;gap:14px}
	.company-admin-btn {height:36px;padding:0 16px 0 13px;font-size:13px}
	.company-slider {margin-top:30px}
	.company-track {--company-gap:12px}
	.company-track > li {width:180px;height:84px}
	.company-track > li > a {padding:0 26px}
	.company-slider img {max-height:50px}
	.company-track .company-name {font-size:15px}
}
@media (max-width:768px) {
	.mainVisual .mainVisualSlide, .mainVisualText {height:480px}
	.mainVisualText {padding-top:150px}
	.mainVisualText h2 {font-size:30px}
	.news-title h2 {font-size:25px}
	.news-tabs a {height:38px;padding:0 18px;font-size:15px}
	.news-more {width:38px;height:38px;font-size:20px}
	.banner-zone-wrap {grid-template-columns:1fr}
	.banner-quick {grid-column:auto;flex-direction:column}
	.banner-quick li {border-left:0;border-top:1px solid #e9ebf0}
	.banner-quick a {min-height:78px;flex-wrap:nowrap;padding:0 22px}
	.banner-quick a span {width:auto;font-size:14px}
	.banner-quick a strong {width:92px;font-size:18px}
	.banner-zone-bgtext {left:16px;bottom:-12px;font-size:64px}
}
