:root {
  --navy: #0f3d4c;
  --navy-2: #16586a;
  --teal: #1c7c6c;
  --teal-dark: #14665a;
  --coral: #e56b2e;
  --coral-dark: #c9551c;
  --cream: #f6f1e8;
  --mint: #e7f3f0;
  --ink: #1a2a30;
  --muted: #5c6b70;
  --line: #d7e2de;
  --brandColor: #e56b2e;
}

body { background: var(--cream); color: var(--ink); }
.color_v { color: var(--teal) !important; }
.color_y { color: #ffd7a1 !important; }

.site-top { background:#fff; position:relative; z-index:20; border-bottom:1px solid var(--line); }
.top { align-items:center !important; padding:12px 24px !important; }
h1.logo { width:auto !important; margin:0 !important; }
h1.logo a { display:flex; align-items:center; gap:10px; white-space:nowrap; }
img.logo_mark {
  width:48px; height:48px; border-radius:12px; display:block; flex:none;
  background:transparent; object-fit:contain;
}
.logo_text { display:flex; flex-direction:column; justify-content:center; line-height:1.15; gap:1px; }
.logo_sub { font-size:12px !important; color:var(--teal) !important; font-weight:700 !important; margin:0; letter-spacing:-0.02em; }
.logo_main { font-size:22px !important; color:var(--navy) !important; font-weight:800 !important; margin:0; letter-spacing:-0.04em; }
.nav_menu li a { color:var(--ink) !important; }
.nav_menu li a:hover { color:var(--teal) !important; }
.bt_hamburger span { display:block; width:18px; height:2px; background:var(--navy); margin:4px 0; }
.bt_tel { width:auto !important; margin:0 !important; }
.bt_tel a {
  color:#fff !important; background:var(--coral); font-weight:800;   font-size:14px !important;
  white-space:nowrap; display:inline-block; line-height:1; padding:12px 16px; border-radius:999px;
}
.bt_tel a:hover { background:var(--coral-dark); }

.hero-band {
  background:
    radial-gradient(circle at 12% 20%, rgba(229,107,46,.22), transparent 32%),
    radial-gradient(circle at 88% 10%, rgba(28,124,108,.28), transparent 36%),
    linear-gradient(135deg, #0c3340 0%, #146065 55%, #1c7c6c 100%);
  color:#fff; padding:48px 0 56px; position:relative; overflow:hidden;
}
.hero-band:after {
  content:""; position:absolute; right:-80px; bottom:-90px; width:320px; height:320px;
  border-radius:50%; border:24px solid rgba(255,255,255,.08); pointer-events:none;
}
.hero-inner { display:grid; grid-template-columns:1.15fr .85fr; gap:36px; align-items:center; position:relative; z-index:1; }
.hero-inner.no-form { grid-template-columns:1fr; max-width:820px; }
.hero-copy h2 { font-size:42px; line-height:1.28; letter-spacing:-1.5px; font-weight:800; margin:0 0 16px; }
.hero-copy h2 em { font-style:normal; color:#ffd7a1 !important; }
.hero-form-wrap .form_box2 {
  float:none !important; width:100% !important; flex:1 1 100%; height:auto !important;
  display:flex !important; align-items:stretch; gap:10px; overflow:visible;
}
.hero-badge {
  display:inline-block; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.2);
  padding:6px 12px; border-radius:999px; font-size:13px; font-weight:700; margin:0 0 14px;
}
.hero-sub { font-size:17px; line-height:1.7; opacity:.92; margin:0 0 22px; max-width:520px; }
.hero-points { display:flex; gap:10px; flex-wrap:wrap; padding:0; margin:0; list-style:none; }
.hero-points li {
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16);
  padding:10px 14px; border-radius:12px; font-size:14px;
}
.hero-points strong { color:#ffd7a1; margin-right:4px; }

.hero-form-wrap {
  background:#fff; color:var(--ink); border-radius:20px; padding:0 0 22px;
  box-shadow:0 18px 40px rgba(8,30,36,.22);
  box-sizing:border-box; overflow:hidden;
}
.hero-form-wrap .main_content_title {
  width:100% !important; height:auto !important; margin:0 !important; border-radius:20px 20px 0 0 !important;
  background:var(--navy) !important; color:#fff !important; line-height:1.3 !important; padding:16px 18px;
  font-size:20px !important; box-sizing:border-box !important;
}
.hero-form-wrap .main_content_title .color_v { color:#ffd7a1 !important; }
.hero-form-wrap .main_form { padding:16px 18px 0; }
.hero-form-wrap .main_content_txt { font-size:14px !important; line-height:1.4 !important; padding:0 0 8px !important; text-align:left !important; }
.hero-form-wrap .select_button {
  width:100% !important; height:auto !important; display:flex; gap:8px; overflow:visible !important; margin:0 0 14px !important;
}
.hero-form-wrap .select_bt_box, .hero-form-wrap .select_bt_box_ { float:none !important; width:auto !important; flex:1; }
.hero-form-wrap .select_bt, .hero-form-wrap .select_bt_on { border-radius:10px !important; text-align:center; cursor:pointer; }
.select_bt_on { background:var(--teal) !important; border-color:var(--teal) !important; color:#fff !important; }
.check_bt_on { background:var(--teal) !important; }
.hero-form-wrap .form_line {
  display:flex; align-items:center; gap:10px; width:100%; max-width:100%; overflow:visible; margin:0 0 12px !important;
}
.hero-form-wrap .form_box { float:none; flex:1 1 0; width:auto; margin:0; min-width:0; }
.hero-form-wrap .phone-box { display:flex; align-items:center; gap:6px; width:100%; flex:1 1 100%; }
.hero-form-wrap .box_boder2 { width:72px !important; }
.hero-form-wrap .box_boder3 { width:100% !important; flex:1; }
.hero-form-wrap .check-line { margin-bottom:4px !important; }
.hero-form-wrap .checkform2 { display:flex; align-items:center; gap:6px; width:auto; flex:1; }
.hero-form-wrap .select_bt_box2,
.hero-form-wrap .select_bt_box2_ {
  float:none !important; width:auto !important; flex:1 1 0; min-width:0;
  height:auto !important; padding:0 !important; line-height:normal !important;
}
.hero-form-wrap .select_bt_box2 label,
.hero-form-wrap .select_bt_box2_ label {
  display:flex !important; align-items:center; justify-content:center;
  width:100%; height:40px !important; margin:0; padding:0 !important;
  line-height:1 !important; box-sizing:border-box; text-align:center; cursor:pointer;
}
.box_boder1 { width:100%; box-sizing:border-box; }
.check_bt2 { background:var(--navy) !important; border:0; cursor:pointer; color:#fff; }
#bohum_send { background:transparent; border:0; color:#fff; font-size:18px; font-weight:700; width:100%; height:52px; cursor:pointer; font-family:inherit; }
.result_bt {
  background:var(--coral) !important; border-radius:12px !important; width:100% !important; height:52px !important;
  line-height:52px !important; margin:12px 0 0 !important; font-size:18px !important; cursor:pointer;
}
.result_bt:hover { background:var(--coral-dark) !important; }

.point-band { background:#fff; padding:28px 0; }
.point-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.point-grid article { background:var(--mint); border-radius:16px; padding:20px 18px; }
.point-grid span { display:inline-block; color:var(--coral); font-weight:800; font-size:13px; margin-bottom:8px; }
.point-grid h3 { margin:0 0 8px; font-size:18px; }
.point-grid p { margin:0; font-size:14px; line-height:1.6; color:var(--muted); }

.insurer-wrap { padding:40px 0 20px; }
.section-head { margin:0 0 22px; }
.section-kicker { color:var(--coral); font-weight:800; font-size:13px; letter-spacing:.04em; margin:0 0 6px; }
.section-head h2 { font-size:30px; font-weight:800; letter-spacing:-1px; margin:0; color:var(--navy); }
.w1200 { max-width:1200px; width:100%; box-sizing:border-box; }
.p_list { width:100%; max-width:1200px; margin:0 auto; display:grid !important; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; padding:0 !important; }
.p_list li {
  flex:none !important; min-width:0; width:auto !important; height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
  background:#fff; border:0; border-radius:16px !important; padding:20px 16px 16px !important;
  box-shadow:0 8px 20px rgba(15,61,76,.06); border-top:4px solid var(--teal) !important;
  box-sizing:border-box;
}
.p_logo {
  width:100% !important; height:40px !important; min-height:40px !important; padding:0 !important;
  display:flex; align-items:center; justify-content:center;
}
.p_logo img {
  display:block; width:auto !important; height:30px !important;
  max-width:168px !important; max-height:30px !important; object-fit:contain;
}
.p_logo img[src*="db.svg"],
.p_logo img[src*="hanwha.svg"] {
  height:36px !important; max-height:36px !important; max-width:130px !important;
}
.p_txt { margin:14px 0 8px !important; height:28px !important; line-height:28px !important; text-align:center; font-size:18px; font-weight:700; }
.p_txt2 {
  margin:0; padding:0 6px !important; min-height:34px; font-size:10px !important; color:#666; line-height:1.45 !important;
  text-align:center; font-weight:400 !important; word-break:keep-all; overflow-wrap:normal; hyphens:none;
}
.p_txt2 .p_code { white-space:nowrap; }

.section { padding:50px 0; }
.section--mint { background:var(--mint); }
.container { max-width:1200px; margin:0 auto; padding:0 16px; }
.media-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:16px; }
.media-link { color:inherit; text-decoration:none; }
.media {
  position:relative; border:0; background:#fff; padding:26px 24px 24px; min-height:268px;
  display:flex; flex-direction:column; border-radius:18px; box-shadow:0 10px 24px rgba(15,61,76,.07);
}
.media-no { position:absolute; right:16px; top:14px; font-size:15px; font-weight:800; color:var(--teal); }
.media img,
#showcase .media img,
#info .media img {
  width:96px !important; height:96px !important; max-width:96px !important;
  object-fit:contain; margin:0 0 16px; display:block; padding:0 !important;
}
.media-title,
#showcase .media-title { font-size:24px !important; font-weight:800; margin:0 0 12px; color:var(--navy); line-height:1.35; letter-spacing:-0.03em; word-break:keep-all; }
.media-desc,
#showcase .media-desc { font-size:18px !important; line-height:1.7 !important; color:var(--muted); word-break:keep-all; }

.news-wrap { max-width:1200px; margin:0 auto 70px; padding:10px 16px 0; }
.news-list { list-style:none; padding:0; margin:0; background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 10px 24px rgba(15,61,76,.06); }
.news-list li + li { border-top:1px solid var(--line); }
.news-list a { display:flex; align-items:center; gap:14px; padding:16px 20px; color:var(--ink); text-decoration:none; }
.news-list a:hover { background:var(--mint); }
.news-no { flex:0 0 42px; height:42px; border-radius:10px; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; }
.news-ttl { font-size:16px; font-weight:700; line-height:1.45; }

.bottom_wrap { width:100%; padding:40px 0; background:#3d3d3d; color:#fff; }
.bottom_wrap .inner, footer .inner { max-width:1200px; margin:0 auto; padding:0 20px; }
.bottom_wrap h2 { font-size:1.4rem; font-weight:bold; margin-bottom:20px; display:flex; align-items:center; }
.bottom_wrap h2:before { content:""; margin-right:14px; height:1.1em; border-left:4px solid #ffd800; }
.bottom_wrap ul { line-height:2rem; font-size:0.9rem; }
footer { background:#282a29; padding:30px 0; color:#999; font-size:0.9rem; }
footer a { color:#999; }

.article-page { padding:28px 0 80px; }
.article-shell { max-width:1120px; margin:0 auto; padding:0 16px; }
.crumb { font-size:13px; color:#777; margin:0 0 18px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.crumb a { color:var(--teal); text-decoration:none; font-weight:700; }
.crumb a:hover { color:var(--coral); }
.crumb-sep { color:#c5d0cc; }
.article-head { max-width:760px; margin:0 0 22px; }
.article-kicker {
  display:inline-block; margin:0 0 10px; padding:5px 10px; border-radius:999px;
  background:var(--mint); color:var(--teal); font-size:12px; font-weight:800; letter-spacing:.04em;
}
.article-head h1 { font-size:36px; line-height:1.35; margin:0 0 12px; color:var(--navy); letter-spacing:-0.04em; word-break:keep-all; }
.article-lead { margin:0; font-size:18px; line-height:1.7; color:var(--muted); word-break:keep-all; }
.article-hero { margin:0 0 28px; border-radius:22px; overflow:hidden; box-shadow:0 16px 36px rgba(15,61,76,.12); }
.article-hero img { display:block; width:100%; height:380px; object-fit:cover; }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:28px; align-items:start; }
.article-paper {
  background:#fff; border-radius:22px; padding:36px 40px 40px;
  box-shadow:0 10px 28px rgba(15,61,76,.07);
}
.article-paper h2 {
  font-size:22px; margin:32px 0 12px; color:var(--navy); letter-spacing:-0.03em;
  padding-left:12px; border-left:4px solid var(--teal);
}
.article-paper h2:first-child { margin-top:0; }
.article-paper p { font-size:17px; line-height:1.85; color:#333; margin:0 0 16px; word-break:keep-all; }
.article-paper p:first-of-type { font-size:18px; color:#24383f; }
.article-paper ul, .article-paper ol { padding:0; margin:0 0 18px; list-style:none; }
.article-paper li {
  position:relative; padding:10px 14px 10px 36px; margin:0 0 8px; border-radius:12px;
  background:var(--mint); color:#333; font-size:16px; line-height:1.65; word-break:keep-all;
}
.article-paper li:before {
  content:""; position:absolute; left:14px; top:16px; width:10px; height:10px; border-radius:50%;
  background:var(--teal);
}
.article-paper table { width:100%; border-collapse:separate; border-spacing:0; margin:8px 0 22px; overflow:hidden; border-radius:14px; }
.article-paper th, .article-paper td { padding:12px 14px; font-size:15px; text-align:left; border-bottom:1px solid var(--line); word-break:keep-all; }
.article-paper th { background:var(--navy); color:#fff; font-weight:700; }
.article-paper th:first-child { border-radius:14px 0 0 0; }
.article-paper th:last-child { border-radius:0 14px 0 0; }
.article-paper td { background:#fff; color:#333; }
.article-paper tr:last-child td { border-bottom:0; }
.article-cta-box {
  margin:36px 0 0; padding:18px; border-radius:16px;
  background:var(--cream); border:1px solid #eadfd0;
  color:var(--navy); display:flex; align-items:stretch; justify-content:space-between; gap:12px; flex-wrap:wrap;
}
.article-cta-box p {
  margin:0; color:var(--navy); font-size:15px; font-weight:700; line-height:1.5;
  flex:1 1 32%; display:flex; align-items:center;
}
.article-cta-box a {
  flex:1 1 62%; min-width:62%;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--coral); color:#fff;
  padding:20px 12px; border-radius:14px; font-weight:800; text-decoration:none;
  font-size:36px; letter-spacing:-0.05em; line-height:1.2; text-align:center;
}
.article-cta-box a:hover { background:var(--coral-dark); }
.article-side-cta {
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--coral); color:#fff;
  padding:18px 12px; border-radius:14px; font-weight:800; text-decoration:none;
  font-size:20px; letter-spacing:-0.03em; line-height:1.3; text-align:center;
}
.article-side-cta:hover { background:var(--coral-dark); }
.article-side { display:flex; flex-direction:column; gap:14px; }
.article-side-card { background:#fff; border-radius:18px; padding:20px 18px; box-shadow:0 10px 24px rgba(15,61,76,.07); }
.article-side-card h2 { font-size:16px; margin:0 0 12px; color:var(--navy); }
.article-side-card ul { list-style:none; padding:0; margin:0; }
.article-side-card li { margin:0; }
.article-side-card a {
  display:block; padding:10px 8px; border-radius:10px; color:var(--navy); text-decoration:none;
  font-size:14px; line-height:1.4; font-weight:700;
}
.article-side-card a:hover { background:var(--mint); color:var(--teal); }
.article-side-cta { width:100%; box-sizing:border-box; }
.legal-page { max-width:900px; margin:40px auto 80px; padding:0 16px; line-height:1.8; }

.form-popup {
  position:fixed; inset:0; z-index:1800; display:none;
  align-items:center; justify-content:center; padding:20px;
  background:rgba(15,61,76,.46);
}
.form-popup.is-open { display:flex; }
.form-popup-panel {
  position:relative; width:min(440px, 100%);
  max-height:calc(100vh - 32px); overflow:auto;
}
.form-popup-panel .hero-form-wrap { margin:0; box-shadow:0 24px 50px rgba(8,30,36,.28); }
.form-popup-close {
  position:absolute; top:8px; right:10px; z-index:3;
  width:40px; height:40px; border:0; background:transparent;
  color:#fff; font-size:28px; line-height:1; cursor:pointer; font-family:inherit;
}
.form-popup-close:hover { color:#ffd7a1; }
body.form-popup-open { overflow:hidden; }

@media (max-width: 960px) {
  .hero-inner { grid-template-columns:1fr; gap:24px; }
  .hero-copy h2 { font-size:32px; }
  .point-grid, .media-grid { grid-template-columns:1fr 1fr; }
  .p_list { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; }
  .article-layout { grid-template-columns:1fr; }
  .article-hero img { height:240px; }
  .article-head h1 { font-size:28px; }
  .article-paper { padding:24px 20px 28px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .article-paper table { min-width:480px; }
  .article-paper th, .article-paper td { white-space:nowrap; }
  .article-cta-box { flex-direction:column; }
  .article-cta-box p, .article-cta-box a { flex:1 1 100%; min-width:0; }
  .article-cta-box a { font-size:26px; padding:22px 12px; min-width:0; }
  .w1200 { width:auto; padding:0 16px; }
}
@media (max-width: 768px) {
  img.logo_mark { width:42px; height:42px; border-radius:10px; }
  .logo_sub { font-size:11px !important; }
  .logo_main { font-size:20px !important; }
  .media img,
  #showcase .media img,
  #info .media img { width:80px !important; height:80px !important; max-width:80px !important; }
  .media-grid, .point-grid { grid-template-columns:1fr; }
  .bt_tel { display:none; }
  .hero-form-wrap .form_line { flex-wrap:wrap; }
  .hero-form-wrap .form_box2 { flex:1 1 100%; }
  .nav_menu { display:none; }
  .p_list { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; padding:0 !important; }
  .p_list li { flex:none !important; min-height:0 !important; padding:16px 12px !important; }
  .p_logo { width:100% !important; height:40px !important; min-height:40px !important; }
}
