@charset "utf-8";
/* Static-restore layer: Japanese font stack, de-linked stubs, mobile-first fixes.
   Desktop geometry of the original is left untouched. */

html { -webkit-text-size-adjust: 100%; }
body, input, textarea, select, button {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Sans",
               "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",
               "Noto Sans JP", "Noto Sans CJK JP", Meiryo, メイリオ, sans-serif;
}
img { max-width: 100%; height: auto; }

/* de-linked targets that no longer exist in the restore */
.di { color: inherit; }

/* neutralised forms keep their look but cannot submit */
.inert-form .inputbtn { cursor: not-allowed; }

/* skip link */
.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 999;
  background: #000; color: #fff; padding: 12px 18px;
}
.skip-link:focus { left: 0; }

/* ---------- mobile-first layer (original desktop untouched) ---------- */
@media (max-width: 749px) {
  body { font-size: 16px; line-height: 1.75; }
  #contbox, #main { overflow-x: hidden; }
  .sp.navibox ul li a,
  #footer .navibox a,
  .morebtn a, .backlink a, .backbtn a, .linkbox a, .linkbtn a, .linkbtn2 a {
    display: block; min-height: 44px; line-height: 1.6; padding: 12px 6px;
  }
  #footer .navibox a { display: inline-block; padding: 12px 8px; }
  .spmenu { min-width: 44px; min-height: 44px; }
  /* grow hit-boxes to 44px without breaking line-boxes (padding, not height) */
  #contbox a, #footer a { padding-top: 14px; padding-bottom: 14px; }
  #contbox .listinbox a, #contbox li > a { padding-top: 14px; padding-bottom: 14px; }
  .slick-dots li, .slick-dots li button { width: 44px; height: 44px; }
  .logobox a { display: inline-block; padding: 10px 0; }
  table { width: 100% !important; }
  .plistbox table, .tbl { display: block; overflow-x: auto; }
  .cont, .subinfobox, .textbox, .sptextbox, .textarea1, .textarea2 { font-size: 16px; }
  .datebox, .catebox span, .copy { font-size: 14px; }
  h1 { font-size: 22px; line-height: 1.5; }
}
@media (max-width: 480px) {
  .plistbox ul li, .listbox ul li { width: 100%; }
}

/* screen-reader-only heading (homepage h1 lived in a commented-out block) */
.sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0;
  margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
/* WP in-article headings demoted from h1 keep their original look */
h2.wp-h1 { font-size: 2em; color: #fff; font-weight: bold; }

/* --------------------------------------------------------------------------
   /sitemap/ and /privacy/ shipped their own stylesheets (css/sitemap.css,
   css/privacy.css) which the archive never captured. Rebuilt here from the
   site's own conventions (products.css / press_release.css metrics) so the
   pages are not raw browser-default lists.
   -------------------------------------------------------------------------- */
#sitemap .innerbox, #privacy .innerbox,
#sitemap .listbox, #privacy dl, #privacy .subtitle {
  width: 960px; margin: 0 auto; max-width: 92%;
}
#sitemap .innerbox .tlbox, #privacy .innerbox .tlbox {
  text-align: center; font-size: 3em; padding: 80px 0 20px 0;
}
#sitemap .innerbox .subtl, #privacy .innerbox .subtl { padding: 0 0 60px 0; }
#sitemap .listbox { padding-bottom: 90px; }
#sitemap .listbox ul { display: block; overflow: hidden; margin: 0 0 20px 0; }
#sitemap .listbox ul li {
  list-style: none; float: left; width: 33.33%; box-sizing: border-box;
  padding: 0 20px 30px 0;
}
#sitemap .listbox ul li .tlbox { font-size: 1.25em; margin: 0 0 10px 0; }
#sitemap .listbox ul li .tlbox a { color: #fff; text-decoration: none; }
#sitemap .listbox ul li .tlbox a:hover { color: #00b5d1; }
#sitemap .listbox ul li .sublink a {
  display: block; color: #b9bcc2; text-decoration: none;
  font-size: 0.95em; padding: 4px 0 4px 14px; position: relative;
}
#sitemap .listbox ul li .sublink a:before { content: "－"; position: absolute; left: 0; }
#sitemap .listbox ul li .sublink a:hover { color: #00b5d1; }
#privacy .subtitle { padding: 0 0 40px 0; line-height: 1.9; }
#privacy dl { padding: 0 0 28px 0; line-height: 1.9; }
#privacy dl dt { font-size: 1.15em; font-weight: bold; margin: 0 0 8px 0; }
#privacy dl dd { color: #d5d7dc; }
#privacy .listbox, #privacy dl:last-of-type { padding-bottom: 90px; }

@media (max-width: 749px) {
  #sitemap .innerbox .tlbox, #privacy .innerbox .tlbox { font-size: 1.8em; padding: 60px 0 10px 0; }
  #sitemap .listbox ul li { float: none; width: 100%; padding: 0 0 22px 0; }
  #sitemap .innerbox, #privacy .innerbox, #sitemap .listbox, #privacy dl, #privacy .subtitle {
    width: 100%; max-width: 100%; padding-left: 18px; padding-right: 18px; box-sizing: border-box;
  }
}

/* content links that the original stylesheets never coloured (default UA blue
   on a black page = 2.3:1) */
#contbox .cont a, #contbox dd a, #contbox td a,
#privacy a, #overview a, #goiken a, #support a, #contact a { color: #5fd0e6; }
#contbox .cont a:hover, #privacy a:hover, #overview a:hover { color: #9ce4f2; }
@media (max-width: 749px) {
  #sitemap .listbox ul li .sublink a { padding-top: 14px; padding-bottom: 14px; }
}

/* The homepage shipped a cookie-gated 3s splash (.loading gif over a hidden
   .bodycontent). On a static restore it only produces a black screen and a
   CLS of 1.0, so the content is painted immediately; the rendered result is
   identical to the post-splash state. */
#index .bodycontent { display: block !important; }
#index .loading { display: none !important; }

/* On the homepage the header overlays the hero photo (#index #main carries
   39top_banner.jpg). Add a scrim so the white nav never sits on bare photo. */
#index #main #header {
  background: linear-gradient(to bottom, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.35) 55%, rgba(0,0,0,0) 100%);
}
#index #main #header .navibox ul li a,
#index #main #header .logobox a { text-shadow: 0 1px 3px rgba(0,0,0,0.9); }
