/* header · footer · sub visual · main */
#skipToContent a { z-index: 100000; position: absolute; top: 0; left: 0; width: 1px; height: 1px; font-size: 0; line-height: 0; overflow: hidden; }
#skipToContent a:focus, #skipToContent a:active { width: 200px; height: 50px; background: #21272e; color: #fff; font-size: var(--font-size-14); font-weight: bold; text-align: center; text-decoration: none; line-height: 50px; outline-color: #f37736; }
.only-desktop { display: block; }
.only-desktop-tablet { display: block; }
.only-tablet-mobile { display: none; }
.only-tablet { display: none; }
.only-mobile { display: none; }
.contain { width: 100%; max-width: var(--wide); padding-left: var(--container-space); padding-right: var(--container-space); margin: 0 auto; }
#header { position: fixed; top: 0; left: 0; z-index: 100; width: 100%; background: #fff; border-bottom: 1px solid #ddd; z-index: 100; }
#header .contain { position: relative; display: flex; align-items: center; justify-content: space-between; height: var(--header-height); z-index: 10; }
.sitelogo { color: #242424; font-size: var(--font-size-32); font-weight: 700; letter-spacing: -.03em; line-height: 1.3em; }
#gnb { text-align: center; flex: 1 1 auto; min-width: 0; width: 1%; }
#gnb>ul { display: flex; justify-content: flex-end; }
#gnb>ul>li { position: relative; padding: 0 var(--space-45); }
#gnb>ul>li>a { position: relative; display: flex; align-items: center; flex-direction: column; justify-content: center; height: var(--header-height); color: #242424; font-size: var(--font-size-18); font-weight: 600; letter-spacing: -.03em; line-height: 1.3em; }
#gnb>ul>li.active>a { color: var(--color-primary); }
#gnb .submenu { position: absolute; left: 0; width: 100%; height: 0; overflow: hidden; text-align: center; }
#gnb .submenu>ul { padding: var(--space-20) var(--space-10); }
#gnb .submenu>ul>li>a { display: block; padding: var(--space-10) 0; color: #454545; font-size: var(--font-size-16); line-height: 1.33em; }
#gnb .submenu>ul>li>a:hover { text-decoration: underline; }
#gnb .submenu>ul>li.active>a { color: #42ade2; }
.submenu-bg { display: none; position: absolute; width: 100%; left: 0; background: #fff; border-top: 1px solid #ddd; border-bottom: 1px solid #eee; }
.btn-m-menu { display: none; position: relative; width: 24px; height: 24px; }
.btn-m-menu div { display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: var(--space-7); width: 100%; height: 100%; }
.btn-m-menu span { display: block; width: 100%; height: 2px; background: #121212; }
.mobile-navigation { display: none; position: fixed; top: 0; right: 0; width: 300px; height: 100%; overflow: auto; transition: .2s linear; -ms-transform: translateX(100%); transform: translateX(100%); background: #fff; z-index: 102; }
.mobile-navigation .home { display: flex; align-items: center; height: 80px; padding: 0 20px; color: #242424; font-size: 19px; font-weight: 700; line-height: 1.5em; }
.mobile-navigation .nav-menu>ul { border-top: 1px solid #ddd; }
.mobile-navigation .nav-menu>ul>li { border-bottom: 1px solid #ddd; }
.mobile-navigation .nav-menu>ul>li>a { position: relative; padding: 10px 48px 10px 20px; display: block; color: #242424; font-size: 19px; font-weight: 700; line-height: 1.5em; }
.mobile-navigation .nav-menu>ul>li>a:after { content: ""; position: absolute; top: 50%; right: 20px; transform: translateY(-75%) rotate(45deg); width: 11px; height: 11px; border-right: 2px solid #505050; border-bottom: 2px solid #505050; }
.mobile-navigation .nav-menu>ul>li.active>a { color: #fff; background: #42ade2; }
.mobile-navigation .nav-menu>ul>li.active>a:after { transform: translateY(-35%) rotate(-135deg); border-color: #fff; }
.mobile-navigation .nav-menu .submenu { display: none; background: #f8f8f8; color: #454545; font-size: 16px; font-weight: 400; line-height: 1.5em; }
.mobile-navigation .nav-menu .submenu ul li { border-top: 1px solid #e5e5e5; }
.mobile-navigation .nav-menu .submenu ul li a { display: block; padding: 12px 20px; }
.mobile-navigation .nav-menu .submenu ul li a:hover { color: #42ade2; }
.mobile-navigation .close { position: absolute; top: 25px; right: 15px; width: 26px; height: 26px; text-indent: -9999em; overflow: hidden; }
.mobile-navigation .close:before, .mobile-navigation .close:after { content: " "; position: absolute; top: 12px; left: 0; width: 100%; height: 3px; background: #242424; border-radius: 3px; }
.mobile-navigation .close:before { transform: rotate(45deg); }
.mobile-navigation .close:after { transform: rotate(-45deg); }
.mobile-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: 0.6; z-index: 101; }
html.menu-opened { overflow: hidden; }
html.menu-opened .mobile-navigation { -ms-transform: translateX(0); transform: translateX(0); }
html.menu-opened .mobile-overlay { display: block; }
.main-section { padding: var(--space-100) 0; }
.main-section h2 { font-size: var(--font-size-40); font-weight: 700; line-height: 1.3em; letter-spacing: -.04em; text-align: center; }
.main-visual { height: 50vh; background: #333; color: #fff; }
.main-about { background: #eee; }
.main-business { background: #fff; }
.main-contact { background: #cfd8eb; }
.sub-visual { display: flex; align-items: center; justify-content: center; margin-top: var(--space-100); width: 100%; height: 300px; background: #eee; text-align: center; }
.sub-visual h2 { font-size: var(--font-size-48); line-height: 1.3em; }
.lnb-wrap { border-bottom: 1px solid #ddd; }
.lnb { max-width: var(--wide); margin: 0 auto; }
.lnb ul { display: flex; }
.lnb ul li { flex: 1; border-right: 1px solid #ddd; }
.lnb ul li:first-child { border-left: 1px solid #ddd; }
.lnb ul li a { display: flex; align-items: center; justify-content: center; width: 100%; height: 60px; background: #fff; text-align: center; }
.lnb ul li.active a { background: #333; color: #fff; }
#contArea { max-width: var(--wide); margin: 0 auto; padding-left: var(--container-space); padding-right: var(--container-space); }
#contArea.wide { max-width: 100%; width: 100%; padding: 0; }
#contArea.wide .sub-title { padding-left: var(--container-space); padding-right: var(--container-space); }
.sub-title { padding: var(--space-80) 0; text-align: center; }
.sub-title h2 { font-size: var(--font-size-32); line-height: 1.3em; }
.real-cont { min-height: 300px; padding-bottom: var(--space-120); }
#footer { padding: var(--space-30) 0; background: #242424; color: #fff; text-align: center; }
#footer .copyright { font-size: var(--font-size-14); font-weight: 400; line-height: 1.3em; }
body { color: var(--body); font-size: var(--font-size-18); line-height: 1.7; }
img { max-width: 100%; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
.page-main a:focus-visible, .page-main button:focus-visible { outline-color: var(--ice); }
.wide { width: 100%; max-width: var(--wide); margin: 0 auto; padding-left: var(--container-space); padding-right: var(--container-space); }
a.is-unlinked { cursor: default; }
.btn-line, .btn-fill { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-16); font-weight: 500; letter-spacing: var(--tracking); white-space: nowrap; transition: background-color .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .15s ease; }
.btn-line { height: 56px; padding: 0 var(--space-28); border: 1px solid currentColor; color: var(--title); font-size: var(--font-size-17); }
.btn-line:hover { background: var(--title); border-color: var(--title); color: #fff; }
.btn-line--light { color: #fff; border-color: rgba(255, 255, 255, .5); }
.btn-line--light:hover { background: #fff; border-color: #fff; color: var(--ink); }
.btn-fill { min-width: 220px; height: 60px; padding: 0 var(--space-32); border: 0; background: var(--color-primary); color: #fff; font-size: var(--font-size-17); cursor: pointer; }
.btn-fill:hover { background: #0029a3; }
.btn-fill--dark { background: var(--ink); }
.btn-fill--dark:hover { background: var(--color-primary); }
.btn-line:active, .btn-fill:active { transform: translateY(1px); }
.btn-line__arrow { position: relative; display: inline-block; flex: none; width: 18px; height: 1px; background: currentColor; transition: transform .3s var(--ease); }
.btn-line__arrow::after { content: ""; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
a:hover > .btn-line__arrow, button:hover > .btn-line__arrow { transform: translateX(4px); }
#header { height: var(--header-height); border-bottom: 1px solid var(--line); transition: background-color .35s var(--ease), border-color .35s var(--ease); }
#header .contain { max-width: var(--wide); height: var(--header-height); padding: 0 var(--container-space); }
.sitelogo a { display: block; }
.sitelogo img { display: block; width: auto; height: 30px; }
.sitelogo .logo-w { display: none; }
#gnb>ul>li { padding: 0 var(--space-34); }
#gnb>ul>li>a { color: var(--title); font-size: var(--font-size-18); font-weight: 500; letter-spacing: var(--tracking); text-align: center; white-space: nowrap; }
#gnb>ul>li>a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--color-primary); transform: scaleX(0); transition: transform .35s var(--ease); }
#gnb>ul>li.active>a::after, #gnb>ul>li>a:hover::after { transform: scaleX(1); }
#gnb>ul>li.active>a, #gnb>ul>li.is-current>a { color: var(--color-primary); }
#gnb .submenu { left: 50%; width: max-content; max-width: none; transform: translateX(-50%); text-align: center; }
#gnb .submenu>ul { padding: var(--space-24) 0 var(--space-28); text-align: center; }
#gnb .submenu>ul>li>a { padding: var(--space-7) 0; color: var(--body); font-size: var(--font-size-16); letter-spacing: var(--tracking); white-space: nowrap; text-align: center; }
#gnb .submenu>ul>li>a:hover { color: var(--color-primary); text-decoration: none; }
#gnb .submenu>ul>li>a.is-unlinked:hover { color: var(--body); }
.submenu-bg { top: var(--header-height); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.hd-lang { display: flex; gap: var(--space-14); margin-left: var(--space-48); font-size: var(--font-size-14); font-weight: 500; }
.hd-lang a { color: #767676; }
.hd-lang a.is-active { color: var(--title); }
.mobile-navigation .home img { width: auto; height: 26px; }
.mobile-navigation .nav-menu>ul>li.active>a { background: var(--color-primary); }
.mobile-navigation .nav-menu .submenu ul li a:hover { color: var(--color-primary); }
.page-main #header { background: transparent; border-bottom-color: transparent; }
.page-main #header.is-solid, .page-main #header:hover, .page-main #header:focus-within { background: rgba(10, 16, 32, .94); border-bottom-color: var(--ink-line); }
.page-main .sitelogo .logo-w { display: block; }
.page-main .sitelogo .logo-c { display: none; }
.page-main #gnb>ul>li>a { color: #fff; }
.page-main #gnb>ul>li.active>a { color: #fff; }
.page-main #gnb>ul>li>a::after { background: var(--ice); }
.page-main #gnb .submenu>ul>li>a { color: var(--snow-dim); }
.page-main #gnb .submenu>ul>li>a:hover { color: #fff; }
.page-main #gnb .submenu>ul>li>a.is-unlinked:hover { color: var(--snow-dim); }
.page-main .submenu-bg { background: var(--ink-2); border-color: var(--ink-line); }
.page-main .hd-lang a { color: rgba(244, 246, 250, .6); }
.page-main .hd-lang a.is-active { color: #fff; }
.page-main .btn-m-menu span { background: #fff; }
.mv { position: relative; height: 100vh; height: 100svh; min-height: 640px; overflow: hidden; background: var(--ink); color: #fff; }
.mv__media { position: absolute; inset: 0; }
.mv__video { display: block; width: 100%; height: 100%; object-fit: cover; }
.mv__media img, .mv__img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.mv__youtube { position: absolute; top: 50%; left: 50%; width: 177.77777778vh; min-width: 100%; min-height: 100%; height: 56.25vw; transform: translate(-50%, -50%); border: 0; pointer-events: none; }
.mv::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(10, 16, 32, .5) 0%, rgba(10, 16, 32, 0) 26%, rgba(10, 16, 32, 0) 48%, rgba(10, 16, 32, .82) 100%), linear-gradient(90deg, rgba(10, 16, 32, .5) 0%, rgba(10, 16, 32, 0) 62%); }
.mv__body { position: absolute; left: 0; right: 0; bottom: clamp(72px, 12vh, 150px); z-index: 2; }
.mv__title { color: #fff; font-size: var(--font-size-72); font-weight: 600; line-height: 1.12; letter-spacing: var(--tracking); }
.mv__line { display: block; overflow: hidden; padding-bottom: .06em; }
.mv__line > span { display: inline-block; }
.mv__lead { max-width: 36em; margin-top: var(--space-28); color: var(--snow-dim); font-size: clamp(17px, 1.3vw, 22px); line-height: 1.6; }
.mv__cta { margin-top: var(--space-44); }
.mv__ctrl { position: absolute; right: max(var(--container-space), calc((100vw - var(--wide)) / 2 + var(--container-space))); bottom: clamp(72px, 12vh, 150px); z-index: 2; width: 56px; height: 56px; padding: 0; border: 1px solid rgba(255, 255, 255, .45); background: transparent; cursor: pointer; transition: background-color .3s var(--ease), border-color .3s var(--ease); }
.mv__ctrl:hover { background: rgba(255, 255, 255, .12); border-color: #fff; }
.mv__ctrl-icon { position: absolute; top: 50%; left: 50%; width: 12px; height: 14px; transform: translate(-50%, -50%); border-left: 3px solid #fff; border-right: 3px solid #fff; }
.mv__ctrl.is-paused .mv__ctrl-icon { width: 0; height: 0; margin-left: var(--space-2); border-style: solid; border-width: 8px 0 8px 13px; border-color: transparent transparent transparent #fff; }
.mv-intro { padding: clamp(120px, 13vw, 220px) 0 clamp(50px, 10vw, 160px) 0; background: var(--ink); color: #fff; }
.mv-intro__statement { max-width: 24em; color: #fff; font-size: clamp(28px, 3.3vw, 58px); font-weight: 500; line-height: 1.42; letter-spacing: var(--tracking); }
.mv-intro__statement .w { opacity: .2; transition: opacity .45s ease; }
.mv-intro__statement .w.is-on { opacity: 1; }
.mv-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(80px, 9vw, 140px); border-top: 1px solid var(--ink-line); }
.mv-facts__item { padding: var(--space-36) var(--space-32) 0; border-left: 1px solid var(--ink-line); }
.mv-facts__item:first-child { padding-left: 0; border-left: 0; }
.mv-facts dt { color: var(--snow-dim); font-size: var(--font-size-15); font-weight: 500; }
.mv-facts strong { display: block; margin-top: var(--space-20); color: #fff; font-size: clamp(40px, 4vw, 68px); font-weight: 300; line-height: 1; letter-spacing: var(--tracking); }
.mv-facts small { margin-left: var(--space-6); color: var(--snow-dim); font-size: var(--font-size-18); font-weight: 400; letter-spacing: var(--tracking); }
.mv-facts dd span { display: block; margin-top: var(--space-18); color: var(--snow-dim); font-size: var(--font-size-16); line-height: 1.6; }
.mv-philo { padding-bottom: clamp(50px, 10vw, 160px) 0; background: var(--ink); color: #fff; }
.mv-philo__head { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--space-40); padding-bottom: var(--space-56); }
.mv-philo__title, .mv-news__title { color: #fff; font-size: clamp(30px, 3vw, 52px); font-weight: 600; line-height: 1.3; letter-spacing: var(--tracking); }
.mv-panels { display: flex; gap: var(--space-16); height: 640px; }
.mv-panel { position: relative; flex: 1 1 0; min-width: 0; overflow: hidden; background: var(--ink-2); transition: flex-grow .7s var(--ease); }
.mv-panel.is-active { flex-grow: 2.4; }
.mv-panel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mv-panel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 16, 32, .08) 0%, rgba(10, 16, 32, .35) 42%, rgba(10, 16, 32, .88) 100%); }
.mv-panel__trigger { position: absolute; inset: 0; z-index: 2; width: 100%; padding: 0; border: 0; background: transparent; cursor: pointer; }
.mv-panel__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: var(--space-32); pointer-events: none; }
.mv-panel__num { color: var(--ice); font-size: var(--font-size-16); font-weight: 500; }
.mv-panel__title { margin-top: var(--space-10); color: #fff; font-size: var(--font-size-28); font-weight: 600; line-height: 1.25; letter-spacing: var(--tracking); }
.mv-panel.is-active .mv-panel__title { font-size: var(--font-size-36); }
.mv-panel__text, .mv-panel__tags { display: none; }
.mv-panel.is-active .mv-panel__text { display: block; margin-top: var(--space-16); color: rgba(255, 255, 255, .88); font-size: var(--font-size-17); line-height: 1.7; }
.mv-panel.is-active .mv-panel__tags { display: flex; flex-wrap: wrap; gap: var(--space-8); margin-top: var(--space-24); }
.mv-panel__tags li { padding: var(--space-7) var(--space-16); border: 1px solid rgba(255, 255, 255, .35); color: #fff; font-size: var(--font-size-15); line-height: 1.5; }
.mv-news { padding: clamp(50px, 10vw, 160px) 0; background: var(--ink-2); color: #fff; }
.mv-news__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(40px, 5vw, 96px); margin-top: var(--space-56); }
.mv-news__col-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: var(--space-20); border-bottom: 1px solid rgba(255, 255, 255, .6); }
.mv-news__col-head h3 { color: #fff; font-size: var(--font-size-22); font-weight: 600; }
.mv-news__more { display: inline-flex; align-items: center; gap: var(--space-12); color: var(--snow-dim); font-size: var(--font-size-15); transition: color .3s; }
.mv-news__more:hover { color: #fff; }
.mv-news__list li { border-bottom: 1px solid var(--ink-line); }
.mv-news__list a { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: var(--space-24); align-items: baseline; padding: var(--space-28) 0; transition: padding .35s var(--ease); }
.mv-news__list a:hover { padding-left: var(--space-8); }
.mv-news__date { color: var(--snow-dim); font-size: var(--font-size-15); }
.mv-news__subject { overflow: hidden; color: #fff; font-size: var(--font-size-19); line-height: 1.5; white-space: nowrap; text-overflow: ellipsis; transition: color .3s; }
.mv-news__list a:hover .mv-news__subject { color: var(--ice); }
.mv-alert { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: var(--space-40); margin-top: var(--space-72); padding: var(--space-32) var(--space-40); border: 1px solid rgba(157, 182, 255, .35); background: rgba(0, 51, 204, .14); }
.mv-alert__title { color: #fff; font-size: var(--font-size-19); font-weight: 600; line-height: 1.5; }
.mv-alert p { color: var(--snow-dim); font-size: var(--font-size-16); line-height: 1.7; }
.mv-contact { position: relative; display: flex; align-items: center; min-height: 820px; overflow: hidden; background: var(--ink); color: #fff; }
.mv-contact__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
.mv-contact::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 16, 32, .84) 0%, rgba(10, 16, 32, .42) 46%, rgba(10, 16, 32, 0) 72%); }
.mv-contact__body { position: relative; z-index: 1; padding-top: var(--space-140); padding-bottom: var(--space-140); }
.mv-contact__title { color: #fff; font-size: clamp(32px, 3.6vw, 60px); font-weight: 600; line-height: 1.28; letter-spacing: var(--tracking); }
.mv-contact__lead { margin-top: var(--space-24); color: var(--snow-dim); font-size: var(--font-size-19); line-height: 1.6; }
.mv-contact .btn-fill { margin-top: var(--space-44); }
.mv-contact__info { display: flex; flex-wrap: wrap; gap: var(--space-20) var(--space-56); max-width: 920px; margin-top: var(--space-72); padding-top: var(--space-28); border-top: 1px solid rgba(255, 255, 255, .3); color: #fff; font-size: var(--font-size-17); }
.mv-contact__info span { display: block; margin-bottom: var(--space-6); color: var(--snow-dim); font-size: var(--font-size-13); font-weight: 500; }
#footer { padding: var(--space-72) 0 var(--space-40); background: #070b16; color: var(--snow-dim); text-align: left; }
.ft-top { display: flex; justify-content: space-between; align-items: center; gap: var(--space-32); padding-bottom: var(--space-36); border-bottom: 1px solid var(--ink-line); }
.ft-logo { display: block; width: auto; height: 28px; }
.ft-menu { display: flex; flex-wrap: wrap; gap: var(--space-12) var(--space-40); }
.ft-menu a { color: #fff; font-size: var(--font-size-16); font-weight: 500; }
.ft-info { display: flex; flex-wrap: wrap; gap: var(--space-6) var(--space-28); margin-top: var(--space-32); font-size: var(--font-size-15); font-style: normal; line-height: 1.7; }
.ft-bottom { display: flex; justify-content: space-between; align-items: center; gap: var(--space-20); margin-top: var(--space-28); }
#footer .copyright { color: rgba(244, 246, 250, .55); font-size: var(--font-size-14); line-height: 1.6; }
#footer .copyright .design-credit { color: inherit; font-size: inherit; text-decoration: none; }
#footer .copyright .design-credit:hover { text-decoration: underline; }
.ft-legal { display: flex; gap: var(--space-24); font-size: var(--font-size-14); }
.ft-legal a { color: var(--snow-dim); }
.ft-legal a:first-child { color: #fff; font-weight: 500; }
.js-rv { opacity: 0; transform: translateY(32px); transition: opacity 1s var(--ease), transform 1s var(--ease); }
.js-rv.is-in { opacity: 1; transform: none; }
.js-rv:nth-child(2) { transition-delay: .08s; }
.js-rv:nth-child(3) { transition-delay: .16s; }
.js-rv:nth-child(4) { transition-delay: .24s; }
.sub-visual { position: relative; min-height: 520px; margin-top: var(--header-height); overflow: hidden; background-color: var(--ink); background-position: center; background-size: cover; background-repeat: no-repeat; text-align: left; }
.sub-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .32) 0%, rgba(0, 0, 0, .18) 38%, rgba(0, 0, 0, 0) 62%, rgba(0, 0, 0, 0) 82%, rgba(0, 0, 0, 0) 100%); pointer-events: none; }
.sub-visual__text { position: relative; z-index: 1; display: flex; flex-direction: column; min-height: 520px; width: 100%; max-width: 100%; margin: 0 auto 0 0; padding: var(--space-40) clamp(24px, 4vw, 72px) 64px max(var(--container-space), calc((100vw - var(--wide)) / 2 + var(--container-space))); color: #fff; box-sizing: border-box; }
.sub-visual__path { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-10); margin-bottom: auto; color: #fff; font-size: var(--font-size-14); }
.sub-visual__path li + li::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 var(--space-10) var(--space-2) 0; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.sub-visual__path a { color: #fff; }
.sub-visual__path li[aria-current] { color: #fff; }
.sub-visual__path a:hover { color: #fff; opacity: .85; }
.sub-visual__title { margin-top: 64px; color: #fff; font-size: clamp(40px, 4.4vw, 76px); font-weight: 600; line-height: 1.15; letter-spacing: var(--tracking); }
.sub-visual__lead { margin-top: var(--space-24); color: #fff; font-size: clamp(17px, 1.25vw, 21px); line-height: 1.6; }
.sv-company { background-image: url("../images/sub/sv-company.jpg"); }
.sv-strategy { background-image: url("../images/sub/sv-strategy.jpg"); }
.sv-notice { background-image: url("../images/sub/sv-notice.jpg"); background-position: 30% center; }
.sv-contact { background-image: url("../images/sub/sv-contact.jpg"); background-position: 65% center; }
.lnb-wrap { position: sticky; top: var(--header-height); z-index: 50; background: #fff; border-bottom: 1px solid var(--line); }
.lnb { max-width: var(--wide); padding: 0 var(--container-space); }
.lnb ul { gap: var(--space-44); }
.lnb ul li, .lnb ul li:first-child { flex: none; border: 0; }
.lnb ul li a { position: relative; justify-content: flex-start; width: auto; height: var(--lnb-height); background: none; color: #767676; font-size: var(--font-size-17); font-weight: 500; white-space: nowrap; }
.lnb ul li a:not(.is-unlinked):hover { color: var(--title); }
.lnb ul li.active a { background: none; color: var(--title); font-weight: 600; }
.lnb ul li.active a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--color-primary); }
#contArea { max-width: var(--wide); }
.page-sub #contArea .real-cont { padding-top: clamp(50px, 6vw, 96px); padding-bottom: clamp(50px, 10vw, 160px); }
