@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_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}
#top_btn {position:fixed;right:24px;bottom:24px;z-index:99;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:#8d2d3e;color:#fff}

.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%;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_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}
    #top_btn {right:14px;bottom:14px;width:38px;height:38px}
    .nw_sub_container {max-width:calc(100% - 32px)}
}
