@charset "utf-8";

/* Noto Sans JP - 프론트 공통 웹폰트 */
@font-face {
    font-family:'Noto Sans JP';
    font-style:normal;
    font-weight:100 900;
    font-display:swap;
    src:url('../fonts/noto-sans-jp/NotoSansJP-VariableFont_wght.woff2') format('woff2');
}
body,
h1, h2, h3, h4, h5, h6,
input, button, textarea, select {
    font-family:'Noto Sans JP', sans-serif;
}


/* NOBLEWAY 공통 레이아웃 - 기존 테마 CSS 위에 필요한 부분만 보완 */
body {background:#fff;color:#333}
#hd, #wrapper, #ft {min-width:0}
#hd {background:#fff}
#wrapper {width:100%;margin:0;padding:0}
#container {float:none;width:100%;min-height:0;margin:0;padding:0}

.nw_header {position:relative;z-index:50;border-bottom:1px solid #f1f1f1;background:#fff}

/* 기본 모바일 테마와 NOBLEWAY 헤더 충돌 보정 */
.nw_header #hd_h1 {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nw_header #skip_to_container {position:absolute;z-index:100000;top:0;left:0;width:100%;height:0}
.nw_header #skip_to_container a {position:absolute;top:0;left:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;font-size:0;line-height:0}
.nw_header #skip_to_container a:focus {width:100%;height:52px;margin:0;padding:0;clip:auto;background:#7b2936;color:#fff;font-size:16px;line-height:52px;text-align:center}
.nw_header #logo.nw_logo {float:none;height:auto;padding:0;text-align:left;line-height:1}
.nw_header #logo.nw_logo a {display:block}
.nw_header #logo.nw_logo img {display:block;width:124px;max-width:none;max-height:none;height:auto;margin:0}
.nw_header .nw_menu_btn {display:none;flex:0 0 42px;width:42px;height:42px;margin:0;padding:0;border:0;background:transparent;color:#7b2936}

.nw_header_inner {width:1120px;max-width:calc(100% - 40px);height:86px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.nw_logo {padding:0;height:auto;text-align:left}
.nw_logo a {display:block}
.nw_logo img {display:block;width:124px;height:auto;margin:0}
.nw_nav ul {display:flex;align-items:center;gap:46px}
.nw_nav a {display:block;padding:34px 0 31px;color:#7b2936;font-size:1.05em;font-weight:600;white-space:nowrap}
.nw_nav a:hover,.nw_nav a:focus {color:#b13d50}
.nw_menu_btn {display:none;width:42px;height:42px;border:0;background:transparent}
.nw_menu_btn span {display:block;width:24px;height:2px;margin:5px auto;background:#7b2936;transition:.2s}

.nw_main_container {overflow:hidden;background:#fff}
.nw_inner {width:1120px;max-width:calc(100% - 40px);margin:0 auto}
.nw_section {padding:120px 0}
.nw_section h2 {color:#b6384d;font-size:2em;line-height:1.4}
.nw_section h3 {font-size:1.22em;line-height:1.45}
.nw_section p {line-height:1.9}
.nw_section_head {margin-bottom:44px}
.nw_section_head p {margin-top:10px;color:#666}
.nw_btn {display:inline-block;min-width:112px;margin-top:28px;padding:9px 20px;border:0;border-radius:22px;background:#b63b50 !important;color:#fff !important;text-align:center;font-weight:600}
.nw_btn:hover,.nw_btn:focus {background:#983143 !important}
.nw_btn_static {cursor:default}

.nw_hero {position:relative;width:100%;overflow:hidden;background:#ead7d3}
.nw_hero > img {display:block;width:100%;height:auto}
.nw_hero_inner {position:absolute;inset:0;width:1120px;max-width:calc(100% - 40px);margin:0 auto;display:flex;align-items:center}
.nw_hero_copy {color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.12)}
.nw_hero_copy h2 {font-size:3.15em;line-height:1.28;font-weight:700;letter-spacing:-.04em}
.nw_hero_copy p {margin-top:18px;font-size:1.06em;line-height:1.7}

.nw_about_grid {display:grid;grid-template-columns:.72fr 1.28fr;gap:78px;align-items:center}
.nw_section_text p {max-width:430px;margin-top:28px;color:#555}
.nw_section_text p + p {margin-top:10px}
.nw_about_visual {display:grid;grid-template-columns:1.55fr .88fr;min-height:326px;overflow:hidden;border-radius:28px;background:#f8e4e7}
.nw_about_photo img {width:100%;height:100%;object-fit:cover}
.nw_about_logo_box {display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 22px;text-align:center}
.nw_about_logo_box img {width:112px;max-width:75%;height:auto}
.nw_about_logo_box p {margin-top:24px;color:#5c4649;line-height:1.7}

.nw_reason {background:#f6f6f6}
.nw_reason_grid {display:grid;grid-template-columns:1fr 1fr;gap:46px 70px}
.nw_reason_item {display:grid;grid-template-columns:170px 1fr;gap:28px;align-items:center}
.nw_reason_item > img {width:170px;height:140px;object-fit:cover;border-radius:22px}
.nw_reason_item span {display:block;margin-bottom:18px;color:#a84958;font-family:'Noto Sans JP', sans-serif;font-size:.94em;letter-spacing:.18em}
.nw_reason_item h3 {margin-bottom:12px;color:#b6384d}
.nw_reason_item p {color:#666;font-size:.95em;line-height:1.75}
.nw_reason_mobile_br {display:none}

.nw_business_grid {display:grid;grid-template-columns:.72fr 1.28fr;gap:78px;align-items:start}
.nw_business_cards {display:grid;gap:22px}
.nw_business_card {position:relative;height:294px;overflow:hidden;border-radius:28px;background:#eee}
.nw_business_card > img {width:100%;height:100%;object-fit:cover}
.nw_business_card:after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0) 36%,rgba(255,255,255,.90) 68%,rgba(255,255,255,.94) 100%)}
.nw_business_card_text {position:absolute;z-index:2;top:50%;right:4.5%;width:33%;transform:translateY(-50%);text-align:center}
.nw_business_card_text h3 {font-size:1.45em;color:#333}
.nw_business_card_text p {margin-top:16px;color:#5e5e5e;font-size:.91em;line-height:1.7}
.nw_business_card_text span {display:block;margin-top:18px;color:#b6384d;font-weight:600}

.nw_products {padding-top:76px}
.nw_product_grid {display:grid;grid-template-columns:1fr 1fr;gap:24px}
.nw_product_card {position:relative;overflow:hidden;border-radius:26px;background:#ddd}
.nw_product_card > img {display:block;width:100%;height:auto}
.nw_product_card:after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(0,0,0,.03) 62%)}
.nw_product_card > div {position:absolute;z-index:2;left:34px;top:50%;transform:translateY(-50%);color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.15)}
.nw_product_card span {font-family:'Noto Sans JP', sans-serif;font-size:1.45em;letter-spacing:.05em}
.nw_product_card p {margin-top:14px;line-height:1.7}
.nw_product_card .nw_product_more {display:inline-block;margin-top:15px;color:#fff;font-size:.92em}

.nw_news {padding-top:80px}
.nw_news_grid {display:grid;grid-template-columns:1fr 1fr;gap:34px}
.nw_news_box {overflow:hidden;border:1px solid #eee;border-radius:20px;background:#fff}
.nw_news_title {display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #eee}
.nw_news_title h3 {font-size:1.15em}
.nw_news_title a,.nw_news_title > span {color:#b6384d;font-size:1.5em;font-weight:400}
.nw_news_box ul {padding:12px 24px 18px}
.nw_news_box li a {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0;color:#444}
.nw_news_box li a span {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nw_news_box time {flex:0 0 auto;color:#777;font-size:.9em}
.nw_news_empty {padding:22px 0;color:#888;text-align:center}

.nw_contact_banner {position:relative;overflow:hidden;background:#f6e8e0}
.nw_contact_banner > img {display:block;width:100%;height:auto}
.nw_contact_inner {position:absolute;inset:0;width:1120px;max-width:calc(100% - 40px);margin:0 auto;display:flex;align-items:center;justify-content:flex-end}
.nw_contact_copy {width:42%;text-align:center;color:#3b3333}
.nw_contact_copy h2 {font-size:2em;line-height:1.45}
.nw_contact_copy p {margin-top:22px;line-height:1.9}
.nw_contact_copy .nw_btn {margin-top:24px}

.nw_footer {position:relative;margin:0;background:#b23c50;text-align:left;color:#fff}
.nw_footer_inner {width:1120px;max-width:calc(100% - 40px);margin:0 auto;padding:34px 0 28px}
.nw_footer_links {display:flex;gap:24px;margin-bottom:18px}
.nw_footer_links a {color:#fff;font-weight:600}
.nw_footer_info {display:flex;flex-wrap:wrap;gap:6px 20px;color:#f9e8ec;font-size:.92em;line-height:1.8}
.nw_footer_info strong {width:100%;color:#fff}
.nw_footer_copy {margin-top:14px;color:#f3dbe0;font-size:.88em}
.nw_line_quick {position:fixed;right:19px;bottom:78px;z-index:100;display:flex;width:52px;height:52px;align-items:center;justify-content:center;line-height:0;text-decoration:none}
.nw_line_quick svg {display:block;width:52px;height:52px;fill:#06C755}
#top_btn {position:fixed;right:24px;bottom:24px;z-index:99;display:flex;width:42px;height:42px;padding:0;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:#8d2d3e;color:#fff;line-height:1;text-align:center}
#top_btn i {display:block;margin:0;padding:0;font-size:16px;line-height:1}

.nw_sub_wrapper {padding:45px 0 80px}
.nw_sub_container {width:1120px !important;max-width:calc(100% - 40px);margin:0 auto !important}
.nw_sub_container #container_title {margin-bottom:30px}

@media (max-width: 900px) {
    .nw_header_inner {height:72px;max-width:calc(100% - 32px)}
    .nw_header #logo.nw_logo img {width:108px}
    .nw_header .nw_menu_btn {display:block}
    .nw_nav {display:none;position:absolute;top:72px;left:0;width:100%;max-height:calc(100vh - 72px);overflow-y:auto;border-top:1px solid #eee;border-bottom:1px solid #eee;background:#fff;box-shadow:0 8px 16px rgba(0,0,0,.06)}
    .nw_nav.is_open {display:block}
    .nw_nav ul {display:block;padding:10px 24px}
    .nw_nav a {padding:15px 4px;border-bottom:1px solid #f1f1f1;font-size:1.05em}
    .nw_nav li:last-child a {border-bottom:0}
    .nw_menu_btn.is_open span:nth-child(1) {transform:translateY(7px) rotate(45deg)}
    .nw_menu_btn.is_open span:nth-child(2) {opacity:0}
    .nw_menu_btn.is_open span:nth-child(3) {transform:translateY(-7px) rotate(-45deg)}

    .nw_inner {max-width:calc(100% - 48px)}
    .nw_section {padding:88px 0}
    .nw_hero_inner {max-width:calc(100% - 48px)}
    .nw_hero_copy h2 {font-size:2.5em}
    .nw_about_grid,.nw_business_grid {grid-template-columns:1fr;gap:44px}
    .nw_section_text p {max-width:none}
    .nw_reason_grid {gap:34px}
    .nw_reason_item {grid-template-columns:130px 1fr;gap:20px}
    .nw_reason_item > img {width:130px;height:120px}
    .nw_business_cards {max-width:700px}
    .nw_contact_inner {max-width:calc(100% - 48px)}
    .nw_contact_copy {width:48%}
    .nw_footer_inner {max-width:calc(100% - 48px)}
    .nw_sub_container {max-width:calc(100% - 48px)}
}

@media (max-width: 640px) {
    body {background:#fff}
    .nw_header_inner {max-width:calc(100% - 28px)}
    .nw_header #logo.nw_logo img {width:104px}
    .nw_inner {max-width:calc(100% - 32px)}
    .nw_section {padding:68px 0}
    .nw_section h2 {font-size:1.65em}
    .nw_section_head {margin-bottom:30px}
    .nw_hero {height:430px}
    .nw_hero > img {width:100%;height:100%;object-fit:cover;object-position:center}
    .nw_hero:after {content:"";position:absolute;inset:0;background:rgba(69,38,36,.12)}
    .nw_hero_inner {z-index:2;max-width:calc(100% - 40px);align-items:flex-end;padding-bottom:58px}
    .nw_hero_copy h2 {font-size:2.35em}
    .nw_hero_copy p {font-size:.98em}

    .nw_about_visual {grid-template-columns:1fr;min-height:0;border-radius:20px}
    .nw_about_photo {height:250px}
    .nw_about_logo_box {min-height:180px;padding:26px}
    .nw_about_logo_box img {width:90px}
    .nw_about_logo_box p {margin-top:15px}

    .nw_reason_grid {grid-template-columns:1fr;gap:30px}
    .nw_reason_item {grid-template-columns:120px 1fr;gap:18px}
    .nw_reason_item > img {width:120px;height:110px;border-radius:16px}
    .nw_reason_item span {margin-bottom:10px;font-size:.86em}
    .nw_reason_item h3 {margin-bottom:8px}
    .nw_reason_item p {font-size:.9em;line-height:1.6}
    .nw_reason_mobile_br {display:block}
    .nw_reason .nw_section_head p {font-size:14px;line-height:1.85}
    .nw_reason_item span {white-space:nowrap}
    .nw_reason_item h3 {font-size:16px;line-height:1.55;white-space:nowrap}

    .nw_business_card {height:230px;border-radius:20px}
    .nw_business_card:after {background:linear-gradient(90deg,rgba(255,255,255,0) 18%,rgba(255,255,255,.88) 62%,rgba(255,255,255,.95) 100%)}
    .nw_business_card_text {right:4%;width:43%}
    .nw_business_card_text h3 {font-size:1.25em}
    .nw_business_card_text p {margin-top:10px;font-size:.84em}
    .nw_business_card_text span {margin-top:12px;font-size:.88em}

    .nw_products {padding-top:45px}
    .nw_product_grid {grid-template-columns:1fr;gap:18px}
    .nw_product_card {border-radius:20px}
    .nw_product_card > div {left:24px}
    .nw_product_card span {font-size:1.28em}

    .nw_news {padding-top:58px}
    .nw_news_grid {grid-template-columns:1fr;gap:22px}
    .nw_news_title {padding:17px 18px}
    .nw_news-box ul,.nw_news_box ul {padding:10px 18px 16px}
    .nw_news_box li a {gap:10px}
    .nw_news_box time {font-size:.82em}

    .nw_contact_banner {height:360px}
    .nw_contact_banner > img {width:100%;height:100%;object-fit:cover;object-position:center}
    .nw_contact_banner:after {content:"";position:absolute;inset:0;background:rgba(255,245,240,.35)}
    .nw_contact_inner {z-index:2;max-width:calc(100% - 36px);justify-content:center}
    .nw_contact_copy {width:100%;max-width:420px;padding:28px;background:rgba(255,255,255,.78);border-radius:18px}
    .nw_contact-copy h2,.nw_contact_copy h2 {font-size:1.6em}
    .nw_contact_copy p {margin-top:15px}

    .nw_footer_inner {max-width:calc(100% - 32px);padding:28px 0 24px}
    .nw_footer_links {margin-bottom:14px}
    .nw_footer_info {display:block;font-size:.88em}
    .nw_footer_info span {display:block;margin-top:4px}
    .nw_line_quick {right:11px;bottom:62px;width:44px;height:44px}
    .nw_line_quick svg {width:44px;height:44px}
    #top_btn {right:14px;bottom:14px;width:38px;height:38px}
    .nw_sub_container {max-width:calc(100% - 32px)}
}

/* NOBLEWAY 서브메뉴 */
.nw_nav_depth1 > li {position:relative}
.nw_nav_depth1 > li.is_active > a {color:#b13d50}
.nw_nav .nw_nav_depth2 {display:none;position:absolute;z-index:60;top:86px;left:50%;min-width:170px;padding:10px 0;border:1px solid #eee;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.08);transform:translateX(-50%);align-items:stretch;gap:0}
.nw_nav_depth2 li {width:100%}
.nw_nav_depth2 a {padding:10px 18px;color:#555;font-size:.94em;font-weight:500;text-align:center;white-space:nowrap}
.nw_nav_depth2 a:hover,.nw_nav_depth2 a:focus {background:#faf4f5;color:#b13d50}
.nw_nav .nw_has_sub:hover > .nw_nav_depth2,.nw_nav .nw_has_sub:focus-within > .nw_nav_depth2 {display:block}
.nw_business_card_text a {display:block;margin-top:18px;color:#b6384d;font-weight:600}
.nw_product_card .nw_product_more {display:inline-block;margin-top:15px;color:#fff;font-size:.92em}

/* NOBLEWAY 서브페이지 */
.nw_full_sub_wrapper {padding:0}
.nw_full_sub_container {width:100% !important;max-width:none !important;margin:0 !important}
.nw_sub_hero {position:relative;min-height:500px;overflow:hidden;background:#6f4445;color:#fff}
.nw_sub_hero_media,.nw_sub_hero_media img {position:absolute;inset:0;width:100%;height:100%}
.nw_sub_hero_media img {object-fit:cover;object-position:center}
.nw_sub_hero_overlay {position:absolute;inset:0;background:linear-gradient(90deg,rgba(60,25,30,.68),rgba(65,34,34,.20) 68%,rgba(65,34,34,.06))}
.nw_sub_hero_inner {position:relative;z-index:2;min-height:500px;display:flex;flex-direction:column;justify-content:center}
.nw_sub_eyebrow {margin-bottom:18px;color:#b6384d;font-size:.82em;font-weight:700;letter-spacing:.22em}
.nw_sub_hero .nw_sub_eyebrow {color:#f2ccd3}
.nw_sub_hero h1 {max-width:850px;font-size:2.6em;line-height:1.45;font-weight:700;letter-spacing:-.035em}
.nw_sub_hero_inner > p:last-child {max-width:680px;margin-top:24px;font-size:1.04em;line-height:1.9}
.nw_sub_section {padding:105px 0;background:#fff}
.nw_sub_soft {background:#faf7f7}
.nw_sub_split {display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:center}
.nw_sub_split_reverse {grid-template-columns:1.18fr .82fr}
.nw_sub_heading > span {display:block;margin-bottom:18px;color:#b6384d;font-size:.88em;font-weight:700;letter-spacing:.18em}
.nw_sub_heading h2,.nw_sub_body h2,.nw_sub_section_head h2 {color:#333;font-size:2em;line-height:1.55;letter-spacing:-.03em}
.nw_sub_body p {margin-top:18px;color:#555;line-height:1.95}
.nw_sub_body .nw_sub_eyebrow {margin-top:0}
.nw_sub_section_head {max-width:760px;margin-bottom:46px}
.nw_sub_section_head > p:not(.nw_sub_eyebrow) {margin-top:16px;color:#666;line-height:1.9}
.nw_feature_grid {display:grid;gap:22px}
.nw_feature_grid_3 {grid-template-columns:repeat(3,1fr)}
.nw_feature_grid_4 {grid-template-columns:repeat(4,1fr)}
.nw_feature_card {min-height:245px;padding:34px 30px;border:1px solid #eee;background:#fff}
.nw_feature_card > span {display:block;margin-bottom:28px;color:#b6384d;font-size:.82em;font-weight:700;letter-spacing:.12em}
.nw_feature_card h3 {color:#333;font-size:1.2em}
.nw_feature_card p {margin-top:16px;color:#666;font-size:.94em;line-height:1.85}
.nw_sub_logo_panel {display:flex;min-height:300px;flex-direction:column;align-items:center;justify-content:center;padding:45px;background:#f7e8ea;text-align:center}
.nw_sub_logo_panel img {width:130px;height:auto}
.nw_sub_logo_panel p {margin-top:24px;color:#72565b;line-height:1.8}
.nw_sub_cta {padding:0 0 100px;background:#fff}
.nw_sub_cta_box {display:flex;align-items:center;justify-content:space-between;gap:40px;padding:52px 58px;background:#f8eeee}
.nw_sub_cta_box h2 {font-size:1.65em;line-height:1.5}
.nw_sub_cta_box p:not(.nw_sub_eyebrow) {margin-top:10px;color:#666;line-height:1.8}
.nw_sub_cta_box .nw_btn {flex:0 0 auto;margin-top:0;padding:12px 28px}

/* 1:1 미팅 / 파티 */
.nw_service_hero {position:relative;min-height:620px;background:#1f1a1b;color:#fff;overflow:hidden}
.nw_service_hero_img {position:absolute;inset:0}
.nw_service_hero_img:after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,15,16,.72),rgba(22,15,16,.18) 72%)}
.nw_service_hero_img img {width:100%;height:100%;object-fit:cover;object-position:center}
.nw_service_hero_copy {position:relative;z-index:2;min-height:620px;display:flex;flex-direction:column;justify-content:center}
.nw_service_hero_copy .nw_sub_eyebrow {color:#f3cbd2}
.nw_service_hero_copy h1 {font-size:3em;line-height:1.4;letter-spacing:-.04em}
.nw_service_hero_copy > p:last-child {max-width:720px;margin-top:28px;line-height:2}
.nw_process_section {background:#faf8f8}
.nw_process_list {border-top:1px solid #ddd}
.nw_process_item {display:grid;grid-template-columns:120px 1fr;gap:34px;padding:34px 10px;border-bottom:1px solid #ddd;align-items:start}
.nw_process_no {color:#b6384d;font-size:1.05em;font-weight:700;letter-spacing:.08em}
.nw_process_item h3 {font-size:1.18em;line-height:1.5}
.nw_process_item p {margin-top:10px;color:#666;line-height:1.9}

@media (max-width:900px) {
    .nw_nav .nw_nav_depth2 {display:block;position:static;min-width:0;padding:0 0 5px 18px;border:0;background:transparent;box-shadow:none;transform:none;align-items:stretch;gap:0}
    .nw_nav_depth2 a {padding:10px 4px;border-bottom:0;color:#777;font-size:.92em;text-align:left}
    .nw_nav_depth1 > li > a {border-bottom:1px solid #f1f1f1}
    .nw_sub_hero,.nw_sub_hero_inner {min-height:440px}
    .nw_sub_hero h1 {font-size:2.15em}
    .nw_sub_section {padding:82px 0}
    .nw_sub_split,.nw_sub_split_reverse {grid-template-columns:1fr;gap:45px}
    .nw_feature_grid_4 {grid-template-columns:repeat(2,1fr)}
    .nw_sub_cta_box {padding:42px;align-items:flex-start}
    .nw_service_hero,.nw_service_hero_copy {min-height:540px}
    .nw_service_hero_copy h1 {font-size:2.45em}
}

@media (max-width:640px) {
    .nw_pc_only {display:none}
    .nw_sub_hero,.nw_sub_hero_inner {min-height:390px}
    .nw_sub_hero_overlay {background:rgba(46,23,27,.50)}
    .nw_sub_hero h1 {font-size:1.75em;line-height:1.55}
    .nw_sub_hero_inner > p:last-child {margin-top:18px;font-size:.95em}
    .nw_sub_section {padding:65px 0}
    .nw_sub_heading h2,.nw_sub_body h2,.nw_sub_section_head h2 {font-size:1.55em}
    .nw_feature_grid_3,.nw_feature_grid_4 {grid-template-columns:1fr}
    .nw_feature_card {min-height:0;padding:28px 24px}
    .nw_sub_cta {padding-bottom:65px}
    .nw_sub_cta_box {display:block;padding:32px 26px}
    .nw_sub_cta_box .nw_btn {margin-top:24px;width:100%}
    .nw_service_hero,.nw_service_hero_copy {min-height:500px}
    .nw_service_hero_img:after {background:rgba(24,15,16,.48)}
    .nw_service_hero_copy h1 {font-size:2em}
    .nw_service_hero_copy > p:last-child {margin-top:22px;font-size:.94em}
    .nw_process_item {grid-template-columns:1fr;gap:10px;padding:28px 2px}
    .nw_process_no {font-size:.9em}
}
.nw_process_detail {margin-top:12px;padding-left:18px;color:#666}
.nw_process_detail li {margin-top:6px;line-height:1.8;list-style:disc}

/* 갤러리 / 커뮤니티 게시판 공통 서브배너 */
.nw_board_banner {position:relative;left:50%;width:100vw;min-height:250px;margin:-45px 0 55px -50vw;overflow:hidden;background:linear-gradient(135deg,#fbf6f7 0%,#f7ecee 52%,#f0dfe3 100%);border-bottom:1px solid #ead9dd}
.nw_board_banner:before {content:"";position:absolute;right:-80px;top:-150px;width:390px;height:390px;border:1px solid rgba(177,61,80,.14);border-radius:50%}
.nw_board_banner:after {content:"";position:absolute;right:90px;bottom:50px;width:210px;height:1px;background:rgba(177,61,80,.24)}
.nw_board_banner_inner {position:relative;z-index:2;width:1120px;max-width:calc(100% - 40px);margin:0 auto;padding:64px 0 58px}
.nw_board_banner_inner > p {margin:0 0 10px;color:#b13d50;font-size:.82em;font-weight:700;letter-spacing:.24em}
.nw_board_banner_inner h2 {margin:0;color:#362e30;font-size:2.35em;line-height:1.4;font-weight:700;letter-spacing:-.035em}
.nw_board_banner_inner h2:after {display:block;width:38px;height:2px;margin-top:17px;background:#b13d50;content:""}
.nw_board_banner_inner > span {display:block;margin-top:17px;color:#6b6062;font-size:.98em;line-height:1.8}

@media (max-width:900px) {
    .nw_board_banner {min-height:220px;margin-bottom:46px}
    .nw_board_banner_inner {max-width:calc(100% - 48px);padding:54px 0 50px}
    .nw_board_banner_inner h2 {font-size:2.05em}
    .nw_board_banner:before {right:-135px;top:-165px}
}

@media (max-width:640px) {
    .nw_board_banner {min-height:185px;margin:-45px 0 36px -50vw}
    .nw_board_banner_inner {max-width:calc(100% - 32px);padding:40px 0 37px}
    .nw_board_banner_inner > p {margin-bottom:7px;font-size:.74em}
    .nw_board_banner_inner h2 {font-size:1.7em}
    .nw_board_banner_inner h2:after {width:30px;margin-top:13px}
    .nw_board_banner_inner > span {margin-top:13px;font-size:.9em}
    .nw_board_banner:before {right:-170px;top:-170px;width:350px;height:350px}
    .nw_board_banner:after {right:20px;bottom:34px;width:120px}
}

/* 프론트 공통 폰트 크기 정책 - 2026-09-17 */
body {font-size:14px}
.nw_nav a,.nw_nav_depth2 a {font-size:14px}
.nw_hero_copy h2 {font-size:48px}
.nw_hero_copy p {font-size:18px}
.nw_section h2,.nw_section h3,.nw_business_card_text h3,.nw_product_card span,.nw_news_title h3,.nw_contact_copy h2,
.nw_sub_hero h1,.nw_sub_heading h2,.nw_sub_body h2,.nw_sub_section_head h2,.nw_feature_card h3,.nw_sub_cta_box h2,
.nw_service_hero_copy h1,.nw_process_item h3,.nw_board_banner_inner h2 {font-size:24px}
.nw_section p,.nw_business_card_text p,.nw_business_card_text span,.nw_product_card p,.nw_news_box li a span,.nw_contact_copy p,
.nw_sub_hero_inner > p:last-child,.nw_sub_body p,.nw_sub_section_head > p:not(.nw_sub_eyebrow),.nw_feature_card p,.nw_sub_logo_panel p,
.nw_sub_cta_box p:not(.nw_sub_eyebrow),.nw_service_hero_copy > p:last-child,.nw_process_item p,.nw_process_detail li,.nw_board_banner_inner > span {font-size:16px}
.nw_btn,.nw_reason_item span,.nw_product_card .nw_product_more,.nw_news_box time,.nw_footer_links,.nw_footer_info,.nw_footer_copy,
.nw_sub_eyebrow,.nw_sub_heading > span,.nw_feature_card > span,.nw_process_no,.nw_board_banner_inner > p {font-size:14px}

/* ご挨拶 */
.nw_greeting_intro .nw_sub_section_head {max-width:860px}
.nw_greeting_title {color:#333;font-size:24px;line-height:1.55;letter-spacing:-.03em}
.nw_greeting_lead {margin-top:16px;color:#555;font-size:16px;line-height:1.9}
.nw_greeting_grid {display:grid;grid-template-columns:minmax(320px,520px) minmax(0,1fr);gap:56px;align-items:start}
.nw_greeting_photo {max-width:520px;width:100%;margin:0 auto;overflow:hidden;background:#fff}
.nw_greeting_photo img {display:block;width:100%;height:auto}
.nw_greeting_content .nw_sub_body p:first-child {margin-top:0}
.nw_greeting_profile {margin-top:42px;padding-top:32px;border-top:1px solid #e8dddd}
.nw_greeting_profile h2 {color:#333;font-size:24px;line-height:1.5}
.nw_greeting_profile ul {margin-top:20px}
.nw_greeting_profile li {position:relative;margin-top:8px;padding-left:16px;color:#666;font-size:16px;line-height:1.8}
.nw_greeting_profile li:before {position:absolute;left:0;top:0;content:"-"}
.nw_greeting_mobile_lines > span {display:inline}
.nw_greeting_space_lines > span + span:before {content:" "}
/* CEO greeting: keep the right-side body copy on the same semantic line breaks on desktop and mobile. */
.nw_greeting_content .nw_greeting_mobile_lines > span {display:block;white-space:nowrap}
.nw_greeting_content .nw_greeting_space_lines > span + span:before {content:""}

@media (max-width:900px) {
    .nw_greeting_grid {grid-template-columns:1fr;gap:42px}
    .nw_greeting_photo {max-width:520px}
}

@media (max-width:640px) {
    .nw_greeting_grid {gap:32px}
    .nw_greeting_profile {margin-top:32px;padding-top:26px}
    .nw_greeting_mobile_lines > span {display:block;white-space:nowrap}
    .nw_greeting_space_lines > span + span:before {content:""}
}

/* 업체 추가수정 1페이지 - 모바일 PPT 지정 줄바꿈 최종 보정 (2026-10-13) */
.nw_hero_title_pc {display:block !important}
.nw_hero_title_mobile {display:none !important}
.nw_hero_desc > span {display:inline}
.nw_about_copy > span {display:inline}

@media (max-width:640px) {
    .nw_hero {height:430px}
    .nw_hero_inner {align-items:flex-start;padding-top:46px;padding-bottom:0}
    .nw_hero_copy {width:100%}
    .nw_hero_copy h2,.nw_hero_copy .nw_hero_title {margin:0;font-size:34px;line-height:1.32;letter-spacing:-.045em}
    .nw_hero_title_pc {display:none !important}
    .nw_hero_title_mobile {display:block !important;white-space:nowrap}
    .nw_hero_copy p,.nw_hero_copy .nw_hero_desc {margin-top:18px;font-size:16px;line-height:1.65;letter-spacing:-.035em}
    .nw_hero_desc > span {display:block;white-space:nowrap}
    .nw_about_copy {font-size:16px !important;line-height:1.9;letter-spacing:-.045em}
    .nw_about_copy > span {display:block;white-space:nowrap}
}

@media (min-width:641px) {
    .nw_hero_title_pc {display:block !important}
    .nw_hero_title_mobile {display:none !important}
    .nw_hero_desc > span {display:inline}
    .nw_about_copy > span {display:inline}
}

/* 업체 추가수정 2페이지 - 중복 서비스영역 제거 / 모바일 카드 글자 잘림 보정 (2026-10-13) */
.nw_business_mobile_br {display:none}

@media (max-width:640px) {
    .nw_business_cards {width:100%;max-width:none}
    .nw_business_card {height:230px}
    .nw_business_card_text {right:3%;width:54%;padding:0 2px;box-sizing:border-box}
    .nw_business_card_text h3 {font-size:24px;line-height:1.35;word-break:keep-all;overflow-wrap:normal}
    .nw_business_card_text p {margin-top:10px;font-size:16px;line-height:1.65;word-break:keep-all;overflow-wrap:normal}
    .nw_business_card_text a {margin-top:14px;font-size:14px;white-space:nowrap}
    .nw_business_mobile_br {display:block}
}

/* 업체 추가수정 5페이지 - 국제결혼 ご利用の流れ 타임라인 (2026-10-13) */
.nw_international_process {background:#faf8f8}
.nw_international_process_head {margin-bottom:72px;text-align:center}
.nw_international_process_head h2 {color:#333;font-size:24px;line-height:1.55;font-weight:500;letter-spacing:.14em}
.nw_international_process_head > span {display:block;width:34px;height:1px;margin:22px auto 0;background:#9d8f89}
.nw_international_timeline {position:relative;max-width:920px;margin:0 auto;padding:20px 0 10px}
.nw_international_timeline:before {position:absolute;left:50%;top:0;bottom:0;width:1px;background:#d8ccc6;content:""}
.nw_international_step {position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:190px}
.nw_international_step:before {position:absolute;left:50%;top:9px;width:9px;height:9px;margin-left:-4px;border:2px solid #fff;border-radius:50%;background:#a98a79;box-shadow:0 0 0 1px #d8ccc6;content:"";box-sizing:border-box}
.nw_international_step_box {width:100%;max-width:390px}
.nw_international_step_left .nw_international_step_box {grid-column:1;justify-self:end;padding-right:46px;text-align:right;box-sizing:border-box}
.nw_international_step_right .nw_international_step_box {grid-column:2;justify-self:start;padding-left:46px;text-align:left;box-sizing:border-box}
.nw_international_step_no {margin:0;color:#9d6f60;font-size:14px;font-weight:700;letter-spacing:.08em}
.nw_international_step h3 {margin-top:6px;color:#333;font-size:20px;line-height:1.55;font-weight:700}
.nw_international_step_text {margin-top:14px}
.nw_international_step_text p {margin-top:7px;color:#666;font-size:16px;line-height:1.9;word-break:keep-all}
.nw_international_step_text p:first-child {margin-top:0}

@media (max-width:900px) {
    .nw_international_process_head {margin-bottom:58px}
    .nw_international_step {min-height:210px}
    .nw_international_step_left .nw_international_step_box {padding-right:34px}
    .nw_international_step_right .nw_international_step_box {padding-left:34px}
}

@media (max-width:640px) {
    .nw_international_process_head {margin-bottom:42px}
    .nw_international_process_head h2 {font-size:24px;letter-spacing:.08em}
    .nw_international_timeline {padding:4px 0 0 0}
    .nw_international_timeline:before {left:5px}
    .nw_international_step {display:block;min-height:0;padding:0 0 42px 30px}
    .nw_international_step:last-child {padding-bottom:0}
    .nw_international_step:before {left:5px;top:8px;margin-left:-4px}
    .nw_international_step_box {max-width:none;width:100%}
    .nw_international_step_left .nw_international_step_box,
    .nw_international_step_right .nw_international_step_box {padding:0;text-align:left}
    .nw_international_step h3 {font-size:20px}
    .nw_international_step_text {margin-top:11px}
    .nw_international_step_text p {font-size:16px;line-height:1.85}
}

/* 업체 추가수정 1페이지 - 모바일 카드 화면 밖 넘침 보정 (2026-10-16) */
@media (max-width:640px) {
    .nw_reason .nw_reason_grid {width:100%;min-width:0}
    .nw_reason .nw_reason_item {grid-template-columns:110px minmax(0,1fr);gap:14px;width:100%;min-width:0;align-items:center}
    .nw_reason .nw_reason_item > img {width:110px;height:105px}
    .nw_reason .nw_reason_item > div {min-width:0;max-width:100%;overflow:visible}
    .nw_reason .nw_reason_item span {font-size:13px;line-height:1.45;letter-spacing:.14em;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
    .nw_reason .nw_reason_item h3 {max-width:100%;margin-bottom:8px;font-size:16px;line-height:1.55;letter-spacing:-.035em;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
    .nw_reason .nw_reason_item p {max-width:100%;font-size:14px;line-height:1.7;letter-spacing:-.025em;white-space:normal;word-break:normal;overflow-wrap:anywhere}
}

@media (max-width:380px) {
    .nw_reason .nw_reason_item {grid-template-columns:96px minmax(0,1fr);gap:12px}
    .nw_reason .nw_reason_item > img {width:96px;height:94px}
    .nw_reason .nw_reason_item span {font-size:12px;letter-spacing:.11em}
    .nw_reason .nw_reason_item h3 {font-size:15px}
    .nw_reason .nw_reason_item p {font-size:14px}
}


/* 2026-10-16 vendor revision p2: mobile-only news intro line break */
.nw_news_mobile_br {display:none}
@media (max-width:768px) {
    .nw_news_intro > span {display:inline}
    .nw_news_mobile_br {display:block}
}
/* 2026-10-16 vendor revision p3: mobile-only contact banner line breaks */
.nw_contact_mobile_br {display:none}
@media (max-width:768px) {
    .nw_contact_intro > span {display:inline}
    .nw_contact_mobile_br {display:block}
}


/* 2026-10-16 vendor revision p4-p14 */
.nw_mobile_lines > span {display:inline}
.nw_company_intro {padding-top:80px;background:#fff}
.nw_company_intro_head {max-width:820px;margin-bottom:0}
.nw_company_intro_head h1 {margin:0;color:#333;font-size:24px;line-height:1.55;letter-spacing:-.03em}
.nw_company_intro_text {margin-top:30px}
.nw_company_intro_text p {margin-top:24px;color:#555;font-size:16px;line-height:1.9}
.nw_company_intro_text p:first-child {margin-top:0}
.nw_board_banner_desc > span {display:inline}

@media (max-width:640px) {
    .nw_mobile_lines > span {display:block}
    .nw_mobile_paragraph_gap {margin-top:18px}

    .nw_company_intro {padding-top:55px}
    .nw_company_intro_head h1 {font-size:24px}
    .nw_company_intro_text {margin-top:25px}
    .nw_company_intro_text p {font-size:16px;line-height:1.9}

    .nw_company_professional .nw_feature_card h3,
    .nw_domestic_service .nw_feature_card h3 {font-size:18px;line-height:1.55}
    .nw_company_professional .nw_feature_card p,
    .nw_domestic_service .nw_feature_card p {font-size:14px;line-height:1.8}
    .nw_domestic_features .nw_sub_section_head > p:not(.nw_sub_eyebrow),
    .nw_domestic_service .nw_sub_section_head > p:not(.nw_sub_eyebrow),
    .nw_international_intro .nw_sub_section_head > p:not(.nw_sub_eyebrow) {font-size:16px;line-height:1.9}

    .nw_international_step_text p {font-size:14px;line-height:1.85}
    .nw_international_cta .nw_sub_cta_box h2 {font-size:24px}
    .nw_international_cta .nw_sub_cta_box p:not(.nw_sub_eyebrow) {font-size:16px;line-height:1.85}

    .nw_meeting_page .nw_service_mobile_copy,
    .nw_party_page .nw_service_hero_copy > p:not(.nw_sub_eyebrow):not(.nw_service_lead) {font-size:15px;line-height:1.85}
    .nw_meeting_process .nw_process_item p,
    .nw_party_process .nw_process_item p {font-size:14px;line-height:1.85}

    .nw_board_banner_desc > span {display:block}
}
