/* Shared navigation and page styles. */
[hidden] { display:none!important; }
.mobile-menu-item { display:none!important; }
.company-heading>a { display:flex;align-items:center;gap:22px;color:var(--blue);font-size:18px;font-weight:600;margin-bottom:20px; }
.inner-page .header:not(.is-scrolled) nav { background:transparent;color:white; }
.inner-page .header:not(.is-scrolled) .nav-contact { background:white;color:var(--blue); }
.inner-page .header:not(.is-scrolled) .nav-contact>img { content:url('../image/bdb43.svg'); }
.inner-page .header:not(.is-scrolled) .down { width:19px;height:19px;background:url('../image/0f19b.svg') center/contain no-repeat; }
.inner-page .header:not(.is-scrolled) .down img { visibility:hidden; }
.page-hero { position:relative;height:468px;overflow:hidden;background:linear-gradient(#1e50a299,#1e50a299),url('../image/2a415.png') -5px -15px/100% auto;background-blend-mode:multiply;color:white; }
.page-hero-photo { position:absolute;left:52.5%;right:0;top:0;height:100%;overflow:hidden; }
.page-hero-photo img { position:absolute;width:130.7%;height:596px;left:-21.05%;top:-64px;object-fit:cover;opacity:.7; }
.privacy-page .page-hero-photo img { width:104.82%;height:1076px;left:-1.02%;top:-335px; }
.page-hero-symbol { position:absolute;left:64.65%;top:87px;width:352px;height:352px; }
.page-hero-title { position:relative;max-width:1024px;margin:auto;padding-top:164px; }
.page-hero h1 { font-family:'Kaiti SC',Georgia,serif;font-size:96px;font-weight:900;line-height:1.45; }
.page-hero-title>p { font-size:16px;font-weight:600; }
.company-content { max-width:1024px;margin:auto;padding:34px 0 166px; }
.inner-heading { display:flex;align-items:baseline;gap:28px;border-bottom:1px solid var(--line);padding-bottom:22px; }
.inner-heading h2 { font-family:'Kaiti SC',Georgia,serif;font-size:96px;line-height:1.15;font-weight:900;color:var(--blue); }
.inner-heading>p { font-size:16px;font-weight:600; }
.message-text { padding:26px 5px 0;font-size:16px;line-height:32px; }
.signature { text-align:right;padding-right:12px;margin-top:16px;font-size:16px;line-height:32px; }
.signature span { font-size:26px; }
.overview-section { margin-top:50px; }
.overview-section .company-table { margin-top:34px; }
.policy-content { max-width:1024px;margin:auto;padding:68px 0 60px;font-size:16px;font-weight:500;line-height:26px;overflow-wrap:anywhere; }
.privacy-page .page-hero { height:438px; }
.policy-content h2 { margin:32px 0 12px;font-size:22px;line-height:26px;font-weight:500; }
.policy-content p { white-space:pre-wrap; }
.policy-content>h2:first-of-type { margin-top:32px; }
.contact-content { max-width:1024px;margin:auto;padding:65px 0 102px; }
.contact-intro { font-size:26px;font-weight:600;line-height:36px;margin-bottom:55px; }
.form-layout { position:relative;padding-left:158px; }
.form-steps { position:absolute;left:0;top:5px;margin:0;padding:0;list-style:none;font-size:16px; }
.form-steps li { position:relative;height:65px;padding-left:30px;line-height:32px; }
.form-steps li::before { content:'';position:absolute;width:11px;height:11px;border:1px solid #1e50a2;border-radius:50%;left:0;top:10px; }
.form-steps li[aria-current]::before { background:#1e50a2; }
.form-steps li:not(:last-child)::after { content:'';position:absolute;left:5px;top:33px;width:1px;height:33px;background:#8eadde; }
.form-row { display:grid;grid-template-columns:281px minmax(0,1fr);align-items:center;margin-bottom:17px; }
.form-row label { display:flex;align-items:center;gap:12px;font-size:16px;line-height:26px; }
.required { display:inline-block;border:1px solid #c1001a;border-radius:3px;color:#c1001a;font-size:12px;line-height:22px;width:41px;text-align:center;flex:none; }
.form-row label .required { margin-left:auto;margin-right:44px; }
.form-row input,.form-row select,.form-row textarea { border:1px solid transparent;border-radius:0;background:#e6efff;color:#212121;width:100%;min-width:0;height:51px;padding:12px 44px;font:inherit;font-size:16px; }
.form-row input::placeholder,.form-row textarea::placeholder { color:#8eadde;opacity:1; }
.form-row select { appearance:none;background:#e6efff url('../image/5d331.svg') right 17px center/30px 15px no-repeat;padding-right:55px; }
.form-row textarea { height:332px;resize:vertical;padding-top:12px; }
.form-row :is(input,select,textarea):focus-visible { outline:2px solid var(--blue);outline-offset:2px; }
.form-actions { display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:40px 0 0 -158px; }
.submit-contact { width:360px;height:60px;border-radius:5px;background:var(--blue);color:white;display:flex;align-items:center;justify-content:center;gap:20px;font-size:16px;font-weight:600;letter-spacing:1.6px; }
.submit-contact img { width:26px; }
#edit-contact { color:var(--blue);text-decoration:underline; }
#form-status { margin-top:24px;line-height:1.8; }
#confirmation h2 { font-size:26px;color:var(--blue);margin-bottom:24px; }
#confirmation dl>div { display:grid;grid-template-columns:220px minmax(0,1fr);padding:20px;border-bottom:1px solid var(--line); }
#confirmation dd { white-space:pre-wrap;overflow-wrap:anywhere; }
#confirmation>p { margin-top:24px; }
@media (min-width:769px) and (max-width:1250px) {
 .page-hero-title,.company-content,.policy-content,.contact-content { width:calc(100% - 100px); }
 .form-layout { padding-left:100px; }.form-row { grid-template-columns:235px minmax(0,1fr); }.form-row label .required { margin-right:15px; }.form-row input,.form-row select,.form-row textarea { padding-left:20px; }.form-actions { margin-left:-100px; }
}
@media (max-width:768px) {
 .company-heading>a { order:3;align-self:center;font-size:3.466667cqw;line-height:5.066667cqw;gap:3.733333cqw;margin:5.066667cqw 0 6.400000cqw; }
 body.menu-open { overflow:hidden; }
 .menu-open .header,.menu-open .header.is-scrolled { height:100dvh;background:linear-gradient(#1e50a299,#1e50a299),url('../image/2a415.png') 0 0/192% auto;background-blend-mode:multiply;box-shadow:none;overflow:auto;overscroll-behavior:contain; }
 .menu-open .brand { top:30px!important; }
 .menu-open .header .brand>.brand-scrolled { display:none; }
 .menu-open .header .brand>picture { display:block; }
 .menu-open .header .brand>span { display:grid; }
 .menu-open .header nav { position:relative;display:flex;top:auto;right:auto;width:100%;max-height:none;height:auto;box-shadow:none;padding:24.933333vw 6vw 18vw 5.733333vw;gap:0;color:white!important;background:transparent;align-items:stretch;font-size:4vw;font-weight:500;line-height:8vw; }
 .menu-open .brand,.menu-open .mobile-contact,.menu-open .menu-toggle { z-index:2; }
 .menu-open .header nav>a,.menu-open .header nav>button { min-height:8vw;text-align:left; }
 .menu-open .header nav .down { display:none; }
 .menu-open .mobile-menu-item { display:block!important; }
 .menu-open .header nav .menu-service { padding-left:2.533333vw;margin-top:2.666667vw;margin-bottom:8.933333vw; }
 .menu-open .header nav>a[href='company.html'],.menu-open .header nav>a[href='privacy.html'] { margin-bottom:8vw; }
 .menu-open .header .nav-contact { display:flex;width:100%;height:13.333333vw;min-height:0;margin-top:9.6vw;padding:0 5.2vw 0 8.533333vw;border:2px solid #fff;border-radius:5px;color:white!important;background:transparent!important;justify-content:space-between;font-size:4vw;gap:0; }
 .menu-open .desktop-contact-label { display:none; }
 .menu-open .header .nav-contact>img { content:url('../image/bc977.svg')!important;width:3.2vw;height:6vw; }
 .page-hero,.privacy-page .page-hero { height:62.4vw; }
 .page-hero-title { padding:24vw 6vw 0;margin:0; }
 .page-hero h1 { font-size:12.8vw;line-height:1.4;white-space:nowrap; }
 .page-hero-title>p { font-size:3.2vw; }
 .page-hero-photo { left:52.5%; }.page-hero-photo img { height:79.46vw;top:-8.53vw; }.privacy-page .page-hero-photo img { height:143.46vw;top:-44.66vw; }
 .page-hero-symbol { width:40vw;height:40vw;left:auto;right:3vw;top:20vw; }
 .company-content,.policy-content,.contact-content { width:auto;margin:0 6vw;padding:9vw 0 16vw; }
 .inner-heading { gap:4vw;padding-bottom:3vw; }.inner-heading h2 { font-size:11.5vw; }.inner-heading>p { font-size:3vw;white-space:nowrap; }
 .message-text { padding:5vw 0 0;font-size:14px;line-height:2; }.signature { font-size:12px;margin-top:5vw;padding:0; }.signature span { font-size:20px; }.overview-section { margin-top:10vw; }.overview-section .company-table { margin-top:5vw; }
 .policy-content { font-size:14px;line-height:1.9; }.policy-content h2 { font-size:18px;line-height:1.6;margin-top:28px; }
 .contact-intro { font-size:18px;line-height:1.8;margin-bottom:28px; }.contact-intro br { display:none; }
 .form-layout { padding:0; }.form-steps { position:static;display:flex;justify-content:center;gap:28px;margin-bottom:28px; }.form-steps li { height:32px;padding-left:22px; }.form-steps li:not(:last-child)::after { height:1px;width:18px;top:16px;left:auto;right:-23px; }
 .form-row { grid-template-columns:1fr;gap:8px;margin-bottom:22px; }.form-row label { font-size:14px;gap:12px; }.form-row label .required { margin:0; }.form-row input,.form-row select,.form-row textarea { padding-left:16px; }.form-row textarea { height:240px; }.form-actions { margin:30px 0 0; }.submit-contact { max-width:100%;font-size:14px;letter-spacing:1px; }#confirmation dl>div { grid-template-columns:1fr;gap:8px;padding:16px 0; }
}

/* Button chevrons match the supplied screenshots. */
@media (min-width:769px) {
 .button .pc-arrow { display:block;width:13.5072px;flex:0 0 13.5072px;margin-right:-28px; }
 .button .pc-arrow>img { width:13.5072px;height:25.4142px;margin:0; }
 .contact .button .pc-arrow { margin-right:-32px; }
 .hero .button { border-color:#fff; }
 .company-heading>a { gap:28px; }
 .banner-cta>img { width:7px;height:13px; }
}
