/* Corporate pages: scoped typography and responsive legacy layout.
   ASCII only so the stylesheet is safe in the existing CP932 documents. */
body.sn-corporate-page #cMain {
  font:15px/1.85 Meiryo,"Hiragino Kaku Gothic ProN",sans-serif;
  overflow-wrap:anywhere;
}
body.sn-corporate-page #cMain p,
body.sn-corporate-page #cMain .wrap p {line-height:1.85}
body.sn-corporate-page #cMain p {margin:0 0 16px}
body.sn-corporate-page #cMain h2 {font-size:20px;line-height:1.6}
body.sn-corporate-page #cMain h3 {font-size:18px;line-height:1.65}
body.sn-corporate-page #cMain h4 {font-size:16px;line-height:1.7}
body.sn-corporate-page #cMain .wrap .hedding2,
body.sn-corporate-page #cMain .section1 .hedding2 {
  font-size:18px;line-height:1.65;margin:26px 0 14px;
}
body.sn-corporate-page #cMain .hedding2 span {line-height:1.65}
body.sn-corporate-page #cMain .leadTxt {font-size:15px;line-height:1.85}
body.sn-corporate-page #cMain img {max-width:100%;height:auto}
body.sn-corporate-page #cMain .wrap,
body.sn-corporate-page #cMain>.section0,
body.sn-corporate-page #cMain figure {box-sizing:border-box;max-width:100%}
body.sn-corporate-page #cMain a {text-underline-offset:3px}
body.sn-corporate-page a:focus-visible {outline:2px solid #1e3264;outline-offset:3px}
body.sn-corporate-page #cMain [id] {scroll-margin-top:16px}
body.sn-corporate-page #cMain table {box-sizing:border-box;max-width:100%;font-size:14px;line-height:1.8}
body.sn-corporate-page #cMain th,
body.sn-corporate-page #cMain td {box-sizing:border-box;overflow-wrap:anywhere;vertical-align:top}
body.sn-corporate-page #cMain table p {font-size:14px;line-height:1.8}
body.sn-corporate-page #cMain .sn-section-title {
  box-sizing:border-box;margin:0 0 20px;padding:9px 12px;
  border-left:4px solid #1e3264;border-bottom:1px solid #c8d4e1;
  background:#f4f8fc;color:#1e3264;font-size:20px;line-height:1.6;
}
body.sn-corporate-page #pr {height:auto;min-height:100px;padding:10px 0}
body.sn-corporate-page #pr .sn-page-title {
  box-sizing:border-box;display:flex;align-items:center;min-height:100px;height:auto;
  margin:0;padding:18px 24px;text-align:left;color:#1e3264;
  font:normal 24px/1.55 Meiryo,"Hiragino Kaku Gothic ProN",sans-serif;
  letter-spacing:.02em;background:linear-gradient(120deg,#fff 18%,#f4faff 57%,#b7dcec);
}
body.sn-corporate-page #pr .sn-page-title span {
  display:block;width:auto;height:auto;min-height:0;margin:0;padding:0;
  font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;background:none;
}
body.sn-corporate-page .sn-mobile-menu {display:none}

/* Contact blocks keep the existing images and telephone destinations. */
body.sn-corporate-page #cMain div.inquiry {
  box-sizing:border-box;width:100%;max-width:100%;padding:14px 16px;margin:26px 0;
}
body.sn-corporate-page #cMain div.inquiry .hedding {margin:0 0 12px;font-size:16px;line-height:1.7}
body.sn-corporate-page #cMain div.inquiry .tel,
body.sn-corporate-page #cMain div.inquiry .btnBox {box-sizing:border-box;max-width:100%;margin:0;line-height:1.75}
body.sn-corporate-page #cMain div.inquiry .tel {width:52%;padding-right:12px}
body.sn-corporate-page #cMain div.inquiry .btnBox {width:46%}
body.sn-corporate-page #cMain .relatedLink,
body.sn-corporate-page #cMain .infoBox,
body.sn-corporate-page #cMain .getAdobeReader {
  box-sizing:border-box;width:100%;max-width:100%;padding:14px;margin:24px 0;
}
body.sn-corporate-page #cMain .wrapRelatedLink,
body.sn-corporate-page #cMain .wrapInfoBox {box-sizing:border-box;width:100%;max-width:100%;background-image:none}
body.sn-corporate-page #cMain .getAdobeReader {display:flow-root;font-size:13px;line-height:1.75}
body.sn-corporate-page #cMain .getAdobeReader p {float:none;margin:0;line-height:1.75}
body.sn-corporate-page #cMain .getAdobeReader img {float:right;margin:0 0 8px 12px}

/* Strengths: retain the three illustrated axes and service directory. */
body.sn-corporate-page#pPoint #cMain .section0 {width:100%;height:auto;margin-bottom:24px}
body.sn-corporate-page#pPoint #cMain .section0 .wrap dl {display:flex;width:100%;height:auto}
body.sn-corporate-page#pPoint #cMain .section0 .wrap dl dt {display:flex;float:none;flex:2 1 0;min-width:0}
body.sn-corporate-page#pPoint #cMain .section0 .wrap dl dd {float:none;flex:1 1 0;min-width:0;margin:0}
body.sn-corporate-page#pPoint #cMain .section0 .wrap dl a {display:block;flex:1 1 0;min-width:0}
body.sn-corporate-page#pPoint #cMain .section0 .wrap dl img {display:block;float:none;width:100%;height:auto}
body.sn-corporate-page#pPoint #cMain .section0 .conductor {width:100%;max-width:100%;margin:0}
body.sn-corporate-page#pPoint #cMain .section1 strong {font-size:16px;line-height:1.7}
body.sn-corporate-page#pPoint #cMain .section2 dl {padding:0 10px}
body.sn-corporate-page#pPoint #cMain .section2 dt {padding:12px 0 0;font-size:16px;line-height:1.65}
body.sn-corporate-page#pPoint #cMain .section2 dd {padding:5px 0 13px;font-size:14px;line-height:1.85}

/* Company facts and downloads use their original table/list structures. */
body.sn-corporate-page#pCompany #cMain table {width:100%;table-layout:fixed}
body.sn-corporate-page#pCompany #cMain table th,
body.sn-corporate-page#pCompany #cMain table td {padding:10px;line-height:1.8}
body.sn-corporate-page#pCompany #cMain #company-outline th {width:29%}
body.sn-corporate-page#pCompany.history #cMain .wrap table td.year {width:8.5em;white-space:nowrap}
body.sn-corporate-page#pCompany.group #cMain .wrap table th {width:35%}
body.sn-corporate-page#pCompany #cMain #leaflet {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;height:auto}
body.sn-corporate-page#pCompany #cMain #leaflet #R,
body.sn-corporate-page#pCompany #cMain #leaflet #L {float:none;width:auto;min-width:0}
body.sn-corporate-page#pCompany #cMain .hedding3,
body.sn-corporate-page#pCompany #cMain .hedding4,
body.sn-corporate-page#pCompany #cMain .hedding5 {box-sizing:border-box;width:auto;margin:16px 0 8px;padding:6px 10px;font-size:15px;line-height:1.7}
body.sn-corporate-page#pCompany #cMain .wrapBox ul li {margin:5px 0 5px 10px;line-height:1.75;font-size:14px}
body.sn-corporate-page#pCompany #cMain .wrapServiceLink {box-sizing:border-box;width:100%;max-width:100%;margin:14px 0 24px;padding:8px}
body.sn-corporate-page#pCompany #cMain .wrapServiceLink ul {display:flex;flex-wrap:wrap;gap:4px 16px}
body.sn-corporate-page#pCompany #cMain .wrapServiceLink ul li {float:none;margin:0;padding:3px 0;line-height:1.7;font-size:14px}
body.sn-corporate-page#pCompany #cMain .wrapServiceLink ul li a {white-space:normal}
body.sn-corporate-page#pCompany #cMain #sanku-company-guide {padding:14px 16px;margin:16px 0 22px}
body.sn-corporate-page#pCompany #cMain #sanku-company-guide h3 {font-size:17px;line-height:1.7}
body.sn-corporate-page#pCompany #cMain #sanku-company-guide p {line-height:1.85}

/* FAQ questions, in-page navigation, and existing operational diagrams. */
body.sn-corporate-page#pFaq #cMain .faqIndex {box-sizing:border-box;width:100%;padding:10px 14px;margin:18px 0 26px}
body.sn-corporate-page#pFaq #cMain .faqIndex ul li {margin:8px 0;line-height:1.75}
body.sn-corporate-page#pFaq #cMain .section1 .hedding2 {font-size:17px;line-height:1.7;margin:26px 0 12px}
body.sn-corporate-page#pFaq #cMain .section1 p {padding:0 6px;line-height:1.85}
body.sn-corporate-page#pFaq #cMain .section2 {box-sizing:border-box;width:100%;max-width:100%;padding:12px;margin:24px 0}
body.sn-corporate-page#pFaq #cMain .section2 .hedding {font-size:15px;line-height:1.7}
body.sn-corporate-page#pFaq #cMain .section2 ul {display:flow-root;width:100%;max-width:100%}
body.sn-corporate-page#pFaq #cMain .section2 li {box-sizing:border-box;line-height:1.7;padding-right:12px;font-size:14px}
body.sn-corporate-page#pFaq #cMain .section2 li a {line-height:1.7}
body.sn-corporate-page #cMain .sn-p45-flow {font-size:14px;line-height:1.85;padding:16px;margin:22px 0}
body.sn-corporate-page #cMain .sn-p45-flow figcaption {font-size:16px;line-height:1.7}
body.sn-corporate-page #cMain .sn-p45-flow .sn-p45-step {min-width:0;padding:12px}
body.sn-corporate-page #cMain .sn-p45-flow .sn-p45-step strong {font-size:14px;line-height:1.75}
body.sn-corporate-page #cMain .sn-p45-flow p.sn-p45-note {font-size:13px;line-height:1.85}

/* Case pages: remove negative margins and oversized layout tables. */
body.sn-corporate-page#pCase #cMain .sn-case-section {font-size:18px;line-height:1.65;margin:24px 0 14px}
body.sn-corporate-page#pCase #cMain .sn-case-intro {margin:16px 0 22px}
body.sn-corporate-page#pCase #cMain .sn-case-toc {font-size:14px;line-height:1.9;padding:12px 14px}
body.sn-corporate-page#pCase #cMain .sn-case-note {font-size:13px;line-height:1.85}
body.sn-corporate-page#pCase #cMain .section .hedding {font-size:18px;line-height:1.65;margin:24px 0 14px}
body.sn-corporate-page#pCase #cMain .section .hedding a {font-size:inherit;line-height:inherit}
body.sn-corporate-page#pCase #cMain .section p.leadTxt {font-size:15px;line-height:1.85;padding:0;margin:0 0 14px}
body.sn-corporate-page#pCase #cMain .section .conductor {text-align:left;margin:12px 0 18px}
body.sn-corporate-page#pCase #cMain .section .conductor a {display:inline-block;font-size:15px;line-height:1.75}
body.sn-corporate-page#pCase #cMain .section table,
body.sn-corporate-page#pCase #cMain .section .wrap table.cases,
body.sn-corporate-page#pCase #cMain .section table.case {width:100%;max-width:100%;margin:14px 0 22px;table-layout:fixed}
body.sn-corporate-page#pCase #cMain .section table.cases {border-spacing:10px}
body.sn-corporate-page#pCase #cMain .section table.cases td {width:auto;min-width:0;vertical-align:top;text-align:left}
body.sn-corporate-page#pCase #cMain .section .wrap table.cases td h3.hedding {margin:0;padding:8px;font-size:15px;line-height:1.7}
body.sn-corporate-page#pCase #cMain .section .wrap table.cases td p {padding:8px;margin:0;font-size:14px;line-height:1.85}
body.sn-corporate-page#pCase #cMain .section table.cases td dl {box-sizing:border-box;width:auto;max-width:100%;margin:6px;padding:10px;font-size:14px;line-height:1.8}
body.sn-corporate-page#pCase #cMain .section table.cases td dd {margin-left:1.4em;line-height:1.8}
body.sn-corporate-page#pCase #cMain .section table.case td ul li {box-sizing:border-box;width:50%;max-width:100%;line-height:1.7}
body.sn-corporate-page#pCase #cMain .sn-case-navi {padding:14px 16px;margin:22px 0}
body.sn-corporate-page#pCase #cMain .sn-case-navi h2 {font-size:17px;line-height:1.7}
body.sn-corporate-page#pCase #cMain .sn-case-flow .sn-case-steps>li {grid-template-columns:135px minmax(0,1fr);gap:12px;padding:12px;line-height:1.8}
body.sn-corporate-page#pCase #cMain .sn-case-flow .sn-case-steps>li>strong {font-size:14px;line-height:1.75}
body.sn-corporate-page#pCase #cMain .sn-case-flow .sn-case-step-body {font-size:14px;line-height:1.85;min-width:0}
body.sn-corporate-page#pCase #cMain .sn-case-flow .sn-case-options>div {min-width:0;box-sizing:border-box}
body.sn-corporate-page#pCase #cMain .sn-case-flow .sn-case-options p {font-size:14px;line-height:1.85}
body.sn-corporate-page#pCase #cMain .sn-case-flow .sn-case-feedback {font-size:14px;line-height:1.85}
body.sn-corporate-page#pCase #cMain .sn-contact {box-sizing:border-box;padding:16px 18px;margin:26px 0}
body.sn-corporate-page#pCase #cMain .sn-contact h3 {font-size:16px;line-height:1.7}
body.sn-corporate-page#pCase #cMain .sn-case-choices {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;margin:18px 0;padding:0}
body.sn-corporate-page#pCase #cMain .sn-case-choices>li {box-sizing:border-box;min-width:0;margin:0;padding:12px 14px;border:1px solid #cbd2df;background:#f4f7fb;list-style:none}
body.sn-corporate-page#pCase #cMain .sn-case-choices a {line-height:1.75}

/* Policies keep their exact wording. Only spacing and wrapping change. */
body.sn-corporate-page#pPrivacy #cMain .wrap .hedding {font-size:17px;line-height:1.7;margin:26px 0 12px}
body.sn-corporate-page#pPrivacy #cMain .wrap p {line-height:1.85;margin:12px 0 18px 1em}
body.sn-corporate-page#pPrivacy #cMain .wrap p.leadTxt,
body.sn-corporate-page#pPrivacy #cMain .wrap p.sign {margin-left:0}
body.sn-corporate-page#pPrivacy #cMain .wrap li {line-height:1.85}

/* Partner and recruitment pages retain their existing visual assets. */
body.sn-corporate-page#pPartner #cMain .wrapBox {box-sizing:border-box;width:100%;max-width:100%;padding:14px}
body.sn-corporate-page#pPartner #cMain .wrapBox .hedding {font-size:16px;line-height:1.7}
body.sn-corporate-page#pPartner #cMain .wrapBox ol li {line-height:1.85}
body.sn-corporate-page#pPartner #cMain .infoBox .leadTxt {font-size:14px;line-height:1.85}
body.sn-corporate-page#pPartner #cMain .infoBox .btnBox {margin:14px 0 0}
body.sn-corporate-page#pRecruit #cMain .leadTxt p .hedding {font-size:16px;line-height:1.7}
body.sn-corporate-page#pRecruit #cMain .inquiry .tel {font-size:14px;line-height:1.85}

/* Dedicated-site directory uses two-column data tables, not layout cards. */
body.sn-corporate-page#pSitemap #cMain .section2 table {width:100%;max-width:100%;table-layout:fixed}
body.sn-corporate-page#pSitemap #cMain .section2 table th {width:38%}
body.sn-corporate-page#pSitemap #cMain .section2 table th,
body.sn-corporate-page#pSitemap #cMain .section2 table td {padding:10px;font-size:14px;line-height:1.8}
body.sn-corporate-page#pSitemap #cMain .section2 .hedding {font-size:16px;line-height:1.7;margin:24px 0 10px}

@media(max-width:960px) {
  body.sn-corporate-page {background:#fff}
  body.sn-corporate-page #header,
  body.sn-corporate-page #pr,
  body.sn-corporate-page #contain,
  body.sn-corporate-page #footer .wrap {box-sizing:border-box;width:calc(100% - 32px);max-width:920px;margin-left:auto;margin-right:auto}
  body.sn-corporate-page #header {height:auto;min-height:74px;padding:16px 0 12px;display:flex;flex-direction:column;gap:12px}
  body.sn-corporate-page #header p.logo {position:static;order:1;width:196px;height:38px;margin:0;padding:0}
  body.sn-corporate-page #header p.logo img {max-width:100%;height:auto}
  body.sn-corporate-page #header .siteDesc {order:2;padding:0;margin:0;font-size:11px;line-height:1.7}
  body.sn-corporate-page #header>.gNavi,
  body.sn-corporate-page #header>ul#gNavi {display:none}
  body.sn-corporate-page #header .sn-mobile-menu {display:block;position:absolute;right:0;top:16px;z-index:30;text-align:left;font:14px/1.6 Meiryo,sans-serif}
  body.sn-corporate-page #header .sn-mobile-menu summary {cursor:pointer;box-sizing:border-box;padding:8px 12px;border:1px solid #1e3264;background:#fff;color:#1e3264;border-radius:3px}
  body.sn-corporate-page #header .sn-mobile-menu[open] {width:min(320px,calc(100vw - 32px));border:1px solid #cbd2df;background:#fff;box-shadow:0 6px 20px #1e326426}
  body.sn-corporate-page #header .sn-mobile-menu[open] summary {border:0;border-bottom:1px solid #cbd2df;border-radius:0}
  body.sn-corporate-page #header .sn-mobile-links {margin:0;padding:8px 14px;list-style:none}
  body.sn-corporate-page #header .sn-mobile-links li {margin:0;padding:0;list-style:none;border-bottom:1px solid #edf1f6}
  body.sn-corporate-page #header .sn-mobile-links li:last-child {border-bottom:0}
  body.sn-corporate-page #header .sn-mobile-links a {display:block;padding:10px 0;color:#1e3264;line-height:1.6;text-decoration:none}
  body.sn-corporate-page #pr {min-height:0;height:auto;padding:0 0 14px}
  body.sn-corporate-page #pr .sn-page-title {min-height:88px;padding:16px 20px;font-size:22px;line-height:1.6}
  body.sn-corporate-page #contain {padding:16px;border:1px solid #d5dce7}
  body.sn-corporate-page #cHead .breadCrumb {line-height:1.8;overflow-wrap:anywhere}
  body.sn-corporate-page #cHead .breadCrumb li {font-size:12px}
  body.sn-corporate-page #cMain,
  body.sn-corporate-page #cSide {box-sizing:border-box;float:none;width:100%;min-width:0;padding-top:12px}
  body.sn-corporate-page #cMain {font-size:15px;line-height:1.85}
  body.sn-corporate-page #cMain .wrapL,
  body.sn-corporate-page #cMain .wrapR {box-sizing:border-box;float:none;width:auto;max-width:100%}
  body.sn-corporate-page #cMain .extraImgR {float:none;display:block;max-width:100%;height:auto;margin:12px auto 18px}
  body.sn-corporate-page#pCase #cMain .section .extraImgR,
  body.sn-corporate-page#pCompany.rinen #cMain .wrap .extraImgR {float:none;display:block;max-width:100%;height:auto;margin:12px auto 18px}
  body.sn-corporate-page#pCompany.about #cMain .section0 {width:100%;padding-bottom:16px}
  body.sn-corporate-page#pCompany.about #cMain .section0 .wrap {float:none;width:100%;padding-top:0}
  body.sn-corporate-page#pCompany.about #cMain .section0 .extraImgR {float:right;max-width:32%;margin:0 0 12px 16px}
  body.sn-corporate-page #cMain div.inquiry .tel,
  body.sn-corporate-page #cMain div.inquiry .btnBox {float:none;width:auto;max-width:100%;padding:0;margin:12px 0 0}
  body.sn-corporate-page #cMain div.inquiry .btnBox a {display:inline-block;max-width:100%}
  body.sn-corporate-page #cMain .relatedLink .btnBox {height:auto;width:auto;position:static}
  body.sn-corporate-page #cMain .relatedLink .btnBox a.download {position:static}
  body.sn-corporate-page #cMain .wrap .relatedLink .wrapL,
  body.sn-corporate-page #cMain .wrap .relatedLink .wrapR {float:none;width:auto;max-width:100%}
  body.sn-corporate-page #cMain .wrap .relatedLink .wrapR {margin-top:16px}
  body.sn-corporate-page #cSide {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px;border-top:1px solid #d5dce7;font-size:13px;line-height:1.7}
  body.sn-corporate-page #cSide>div {min-width:0;max-width:100%}
  body.sn-corporate-page #cSide .wrap {box-sizing:border-box;width:100%;max-width:100%}
  body.sn-corporate-page #cSide .bnrBox {margin:10px 0}
  body.sn-corporate-page #cSide img {max-width:100%;height:auto}
  body.sn-corporate-page #footer .gNavi {padding:18px 12px 12px;line-height:2;font-size:12px}
  body.sn-corporate-page #footer .gNavi li {display:inline-block;line-height:1.8;margin:3px 0;padding:0 7px}
  body.sn-corporate-page #footer .wrap {padding:14px 0}
  body.sn-corporate-page #footer .wrap .privacymark {box-sizing:border-box;width:100%;font-size:11px;overflow-wrap:anywhere}
  body.sn-corporate-page #footer .wrap .privacymark img {max-width:40%;object-fit:contain}
  body.sn-corporate-page #footer .wrap .privacymark table {float:none;width:100%;table-layout:fixed;padding:6px 0 0}
  body.sn-corporate-page #footer .wrap .privacymark table td:first-child {width:34%}
  body.sn-corporate-page #footer .wrap #pms a,
  body.sn-corporate-page #footer .wrap #isms a {position:static;display:inline;font-size:12px;line-height:1.8}
  body.sn-corporate-page #footer address {position:static;display:block;margin-top:16px;font-size:11px;line-height:1.8}
}

@media(max-width:600px) {
  body.sn-corporate-page #header,
  body.sn-corporate-page #pr,
  body.sn-corporate-page #contain,
  body.sn-corporate-page #footer .wrap {width:calc(100% - 24px)}
  body.sn-corporate-page #contain {padding:12px}
  body.sn-corporate-page #pr .sn-page-title {min-height:76px;padding:14px 16px;font-size:21px}
  body.sn-corporate-page #cMain .sn-section-title {font-size:19px;padding:8px 10px}
  body.sn-corporate-page #cMain div.inquiry {padding:12px}
  body.sn-corporate-page #cMain .getAdobeReader img {float:none;display:block;margin:0 0 10px}
  body.sn-corporate-page #cMain .getAdobeReader p {float:none}
  body.sn-corporate-page#pPoint #cMain .section0 .wrap dl {display:block}
  body.sn-corporate-page#pPoint #cMain .section0 .wrap dl dt {display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
  body.sn-corporate-page#pPoint #cMain .section0 .wrap dl dd {margin-top:8px}
  body.sn-corporate-page#pPoint #cMain .section0 .wrap dl a {width:200px;max-width:100%;margin:0 auto}
  body.sn-corporate-page#pPoint #cMain .section0 .conductor {height:auto;padding-top:26px;background-size:100% auto}
  body.sn-corporate-page#pCompany #cMain #leaflet {grid-template-columns:minmax(0,1fr);gap:4px}
  body.sn-corporate-page#pCompany.about #cMain .section0 .extraImgR {float:none;max-width:100%;margin:12px auto 18px}
  body.sn-corporate-page#pCompany #cMain #company-outline,
  body.sn-corporate-page#pCompany #cMain #company-outline>tbody,
  body.sn-corporate-page#pCompany.group #cMain .wrap table,
  body.sn-corporate-page#pCompany.group #cMain .wrap table>tbody {display:block;width:100%}
  body.sn-corporate-page#pCompany #cMain #company-outline tr,
  body.sn-corporate-page#pCompany.group #cMain .wrap table tr {display:block;width:100%;border-bottom:1px solid #ccd4df}
  body.sn-corporate-page#pCompany #cMain #company-outline th,
  body.sn-corporate-page#pCompany #cMain #company-outline td,
  body.sn-corporate-page#pCompany.group #cMain .wrap table th,
  body.sn-corporate-page#pCompany.group #cMain .wrap table td {display:block;width:100%;padding:9px 10px;border-bottom:0}
  body.sn-corporate-page#pCompany #cMain #company-outline th,
  body.sn-corporate-page#pCompany.group #cMain .wrap table th {background:#f4f7fb}
  body.sn-corporate-page#pCompany.history #cMain .wrap table td {padding:9px 7px;font-size:14px}
  body.sn-corporate-page#pCompany.history #cMain .wrap table td.year {width:7em;white-space:normal}
  body.sn-corporate-page#pFaq #cMain .section2 li {float:none;width:100%;padding-right:0;margin:9px 0}
  body.sn-corporate-page #cMain .sn-p45-flow {padding:12px}
  body.sn-corporate-page #cMain .sn-p45-flow .sn-p45-branches {grid-template-columns:minmax(0,1fr)}
  body.sn-corporate-page#pCase #cMain .section table.cases,
  body.sn-corporate-page#pCase #cMain .section table.cases>tbody {display:block;width:100%;margin:12px 0 20px;border-spacing:0}
  body.sn-corporate-page#pCase #cMain .section table.cases tr {display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:0 0 14px}
  body.sn-corporate-page#pCase #cMain .section table.cases td {display:block;width:100%;box-sizing:border-box}
  body.sn-corporate-page#pCase #cMain .section table.cases td.space,
  body.sn-corporate-page#pCase #cMain .section table.cases td.none {display:none}
  body.sn-corporate-page#pCase #cMain .section table.case td ul li {float:none;width:100%}
  body.sn-corporate-page#pCase #cMain .sn-case-flow .sn-case-steps>li {grid-template-columns:minmax(0,1fr);gap:6px}
  body.sn-corporate-page#pCase #cMain .sn-case-flow .sn-case-options,
  body.sn-corporate-page#pCase #cMain .sn-case-choices {grid-template-columns:minmax(0,1fr)}
  body.sn-corporate-page#pCase #cMain .sn-case-toc,
  body.sn-corporate-page#pCase #cMain .sn-case-navi,
  body.sn-corporate-page#pCase #cMain .sn-contact {padding:12px}
  body.sn-corporate-page#pPrivacy #cMain .wrap p {margin-left:0}
  body.sn-corporate-page#pPrivacy #cMain .wrap ol li {margin-left:1.8em}
  body.sn-corporate-page#pSitemap #cMain .section2 table,
  body.sn-corporate-page#pSitemap #cMain .section2 table>tbody {display:block;width:100%;background:none}
  body.sn-corporate-page#pSitemap #cMain .section2 table tr {display:block;width:100%;margin-bottom:10px;border:1px solid #ccd4df;box-sizing:border-box}
  body.sn-corporate-page#pSitemap #cMain .section2 table th,
  body.sn-corporate-page#pSitemap #cMain .section2 table td {display:block;width:100%;padding:9px 10px;font-size:14px;line-height:1.8}
  body.sn-corporate-page #cSide {grid-template-columns:minmax(0,1fr)}
  body.sn-corporate-page #cSide .bnrBox {max-width:360px}
}

@media print {
  body.sn-corporate-page #header .sn-mobile-menu {display:none}
  body.sn-corporate-page #cMain .sn-case-flow .sn-case-steps>li,
  body.sn-corporate-page #cMain .sn-p45-step {break-inside:avoid}
}

/* Point model: readable HTML replaces the wide image equation. */
body.sn-corporate-page#pPoint #cMain .sn-point-model {
  display:grid;grid-template-columns:minmax(0,1fr);gap:12px;
  box-sizing:border-box;width:100%;max-width:100%;height:auto;padding:0;margin:0 0 24px;
}
body.sn-corporate-page#pPoint #cMain .sn-point-model-inputs {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;
}
body.sn-corporate-page#pPoint #cMain .sn-point-model-card {
  display:block;box-sizing:border-box;min-width:0;max-width:100%;padding:14px;
  border:1px solid #b9cde0;background:#f4f8fc;color:#1e3264;
  font-size:15px;line-height:1.75;text-decoration:none;overflow:visible;overflow-wrap:anywhere;
}
body.sn-corporate-page#pPoint #cMain .sn-point-model-card strong {
  display:block;font-size:15px;line-height:1.75;text-decoration:underline;text-underline-offset:3px;
}
body.sn-corporate-page#pPoint #cMain .sn-point-model-card span {
  display:block;margin-top:5px;font-size:14px;line-height:1.8;color:#263c5c;
}
body.sn-corporate-page#pPoint #cMain .sn-point-model-result {
  padding:12px 14px;border-top:3px solid #1e3264;background:#e8f0f8;
}
body.sn-corporate-page#pPoint #cMain .sn-point-model-card:hover,
body.sn-corporate-page#pPoint #cMain .sn-point-model-card:focus-visible {background:#dfeaf5}
@media(max-width:600px) {
  body.sn-corporate-page#pPoint #cMain .sn-point-model-inputs {grid-template-columns:minmax(0,1fr)}
}
