.p-ttl {
  text-align: center; }
  @media only screen and (max-width: 1024px) {
    .p-ttl {
      padding: 100px 0; } }
  @media print, screen and (min-width: 1025px) {
    .p-ttl {
      padding: 200px 0; } }

.p-ttl-en {
  font-family: "Roboto";
  color: #ccc; }
  @media only screen and (max-width: 1024px) {
    .p-ttl-en {
      font-size: 40px;
      font-size: 4rem; } }
  @media print, screen and (min-width: 1025px) {
    .p-ttl-en {
      font-size: 80px;
      font-size: 8rem; } }

@media only screen and (max-width: 1024px) {
  .p-ttl-ja {
    font-size: 18px;
    font-size: 1.8rem; } }
@media print, screen and (min-width: 1025px) {
  .p-ttl-ja {
    font-size: 20px;
    font-size: 2rem; } }

@media print, screen and (min-width: 1025px) {
  .p-sitemap {
    display: flex; } }

@media only screen and (max-width: 1024px) {
  .p-sitemap-item:not(:first-child) {
    padding-top: 30px;
    margin-top: 30px;
    border-top: 1px solid #ccc; } }
@media print, screen and (min-width: 1025px) {
  .p-sitemap-item {
    flex: 0 0 calc((100% - 80px * 2) / 3);
    position: relative; }
    .p-sitemap-item:not(:last-child) {
      margin-right: 80px; }
      .p-sitemap-item:not(:last-child):after {
        content: "";
        display: block;
        width: 1px;
        height: 100%;
        background: #ccc;
        position: absolute;
        top: 0;
        right: -40px; } }

.p-sitemap-links {
  padding: 0 1em; }
  .p-sitemap-links:not(:first-child) {
    margin-top: 1em; }
  .p-sitemap-links dt {
    font-weight: bold; }
  .p-sitemap-links dd,
  .p-sitemap-links li {
    margin-left: 1em;
    margin-top: .4em; }

/*# sourceMappingURL=404.css.map */
