/* =========================================================
   Whale Guide Index Common Style
   For Japanese and English whale guide index modules
   ========================================================= */

.whaleguide-index {
  margin: 2.2rem 0 1.5rem;
  padding: 1.2rem 1.2rem 1.2rem;
  background: #f3f3f3;
  font-size: 0.94rem;
  line-height: 1.8;
}

.whaleguide-index .index-title {
  font-size: 1.35rem;
  font-weight: 700;
  margin: 0 0 0.35rem;
}

.whaleguide-index .index-lead {
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 0.8rem;
}

.whaleguide-index .index-note {
  font-size: 0.9rem;
  font-weight: 400;
  color: #555;
  margin: -0.35rem 0 0.8rem;
}

.whaleguide-index .whaleguide-toggle {
  margin-top: 0.4rem;
}

.whaleguide-index .whaleguide-toggle summary {
  display: block;
  cursor: pointer;
  list-style: none;
  font-weight: 700;
  margin: 0;
  padding: 0.45rem 0 0.35rem;
  color: #333;
  background: transparent;
  border: 0;
}

.whaleguide-index .whaleguide-toggle summary::-webkit-details-marker {
  display: none;
}

.whaleguide-index .whaleguide-toggle summary::marker {
  content: "";
}

.whaleguide-index .whaleguide-toggle summary::before {
  content: "▶︎ ";
}

.whaleguide-index .whaleguide-toggle[open] summary::before {
  content: "▼ ";
}

.whaleguide-index .whaleguide-toggle .label-open {
  display: none;
}

.whaleguide-index .whaleguide-toggle[open] .label-closed {
  display: none;
}

.whaleguide-index .whaleguide-toggle[open] .label-open {
  display: inline;
}

.whaleguide-index .whaleguide-toggle-body {
  padding-top: 0.5rem;
}

.whaleguide-index .suborder-block {
  margin: 1.2rem 0 1rem;
}

.whaleguide-index .suborder {
  font-size: 1.08rem;
  font-weight: 700;
  margin: 0 0 0.55rem;
  padding-left: 0.35rem;
  border-left: 4px solid #999;
}

.whaleguide-index .family-block {
  margin: 0.55rem 0 0.75rem 1.2rem;
}

.whaleguide-index .family {
  font-size: 0.99rem;
  font-weight: 700;
  margin: 0 0 0.2rem;
}

.whaleguide-index .species {
  margin: 0 0 0 1.2rem;
}

.whaleguide-index a {
  text-decoration: none;
}

.whaleguide-index a:hover,
.whaleguide-index a:focus {
  text-decoration: underline;
}

.whaleguide-index .note,
.whaleguide-index .refs {
  font-size: 0.86rem;
}

.whaleguide-index ul.refs {
  margin: 0.35rem 0 0 1.2rem;
  padding-left: 1.2rem;
}

.whaleguide-index hr {
  margin: 1rem 0 0.8rem;
}

/* =========================================================
   IUCN Guide Style
   Japanese whale guide only
   ========================================================= */

.iucn-guide {
  margin: 0.35rem 0 0.9rem;
}

.iucn-toggle {
  margin: 0;
}

.iucn-toggle summary {
  display: block;
  cursor: pointer;
  list-style: none;
  font-weight: 700;
  color: #333;
}

.iucn-toggle summary::-webkit-details-marker {
  display: none;
}

.iucn-toggle summary::marker {
  content: "";
}

.iucn-toggle summary::before {
  content: "▶︎ ";
}

.iucn-toggle[open] summary::before {
  content: "▼ ";
}

.iucn-toggle .label-open {
  display: none;
}

.iucn-toggle[open] .label-closed {
  display: none;
}

.iucn-toggle[open] .label-open {
  display: inline;
}

.iucn-toggle-body {
  margin-top: 0.45rem;
  padding: 0.8rem 0.9rem;
  background: #f3f3f3;
  font-size: 0.92rem;
  line-height: 1.75;
}

.iucn-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0.4rem 0 0;
}

.iucn-table th,
.iucn-table td {
  border-top: 1px solid #ccc;
  padding: 0.35rem 0.45rem;
  vertical-align: top;
}

.iucn-table th {
  width: 5.5rem;
  white-space: nowrap;
  text-align: left;
  font-weight: 700;
}

/* =========================================================
   Small screen adjustment
   ========================================================= */

@media (max-width: 640px) {
  .whaleguide-index {
    padding: 1rem;
    font-size: 0.92rem;
  }

  .whaleguide-index .family-block {
    margin-left: 0.8rem;
  }

  .whaleguide-index .species {
    margin-left: 0.8rem;
  }

  .iucn-toggle-body {
    padding: 0.75rem;
    font-size: 0.9rem;
  }

  .iucn-table th,
  .iucn-table td {
    padding: 0.3rem 0.35rem;
  }
}

/* Top-intro */
.top-intro .top-intro-image-wrap {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 0 1rem !important;
}

.top-intro .top-intro-image-wrap > img.top-intro-image {
  display: block !important;
  width: auto !important;
  max-width: 700px !important;
  height: auto !important;
  margin: 0 auto !important;
}

@media (max-width: 700px) {
  .top-intro .top-intro-image-wrap > img.top-intro-image {
    max-width: 100% !important;
  }
}

/* Footer copyright */
.container-footer .mod-custom {
  width: 100%;
  max-width: 100%;
  text-align: center;
}

.container-footer .site-copyright {
  display: block;
  width: 100%;
  max-width: none;
  text-align: center;
  margin: 0 auto;
}

/* Actions submenu wrapper */
.actions-submenu-module {
  margin: 0 0 1rem;
}

/* 実際のメニューリスト本体を横並びにする */
.actions-submenu-module ul.mod-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

/* li の余白をリセット */
.actions-submenu-module ul.mod-menu > li {
  margin: 0;
  padding: 0;
}

/* カード風リンク */
.actions-submenu-module ul.mod-menu > li > a,
.actions-submenu-module ul.mod-menu > li > span {
  display: inline-block;
  padding: 0.6rem 0.9rem;
  border: 1px solid #cfd6dd;
  border-radius: 0.5rem;
  background: #f8f9fa;
  text-decoration: none;
  line-height: 1.4;
  white-space: nowrap;
}

/* hover / current */
.actions-submenu-module ul.mod-menu > li.active > a,
.actions-submenu-module ul.mod-menu > li.current > a,
.actions-submenu-module ul.mod-menu > li > a:hover {
  background: #eef5fb;
  border-color: #b8c9db;
  text-decoration: none;
}

/* Actions card navigation */
.actions-card-nav-module {
  margin: 0 0 1.25rem;
}

.actions-card-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: stretch;
  padding: 0;
  margin: 0;
}

.actions-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 0.85rem;
  border: 1px solid #cfd6dd;
  border-radius: 0.5rem;
  background: #f8f9fa;
  color: var(--link-color, #1f5f96);
  text-decoration: none;
  line-height: 1.4;
}

.actions-card:hover {
  background: #eef5fb;
  border-color: #b8c9db;
  text-decoration: none;
}

.actions-card-parent {
  font-weight: 700;
  background: #eaf2fb;
  border-color: #b8c9db;
}

@media (max-width: 700px) {
  .actions-card-nav {
    flex-direction: column;
    align-items: flex-start;
  }

  .actions-card {
    width: 100%;
    justify-content: flex-start;
  }
}

/* Action List table */
.action-list-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
}

.action-list-table th,
.action-list-table td {
  padding: 0.45rem 0.6rem;
  border-bottom: 1px solid #d7dce1;
  vertical-align: top;
}

.action-list-table th {
  text-align: left;
  background: #f5f6f7;
}

.action-list-table td:last-child,
.action-list-table th:last-child {
  white-space: nowrap;
  width: 8.5rem;
}

@media (max-width: 700px) {
  .action-list-table {
    font-size: 0.92rem;
  }

  .action-list-table th,
  .action-list-table td {
    padding: 0.4rem;
  }
}
/* OSMap sitemap: hide menu group titles only */
.com-osmap h2,
.com_osmap h2,
.osmap h2,
.osmap-items h2,
.sitemap h2 {
  display: none;
}
/* Header search form: old-site-like upper right placement */
.container-topbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.6rem;
}

.header-search {
  margin-left: auto;
}

.header-search form {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
}

.header-search input[type="search"],
.header-search input[type="text"] {
  width: 190px;
  max-width: 190px;
  height: 2rem;
  padding: 0.25rem 0.5rem;
}

.header-search button,
.header-search .btn {
  height: 2rem;
  padding: 0.25rem 0.65rem;
  white-space: nowrap;
}
/* ===== IKAN layout width tuning ===== */

/* Header should not span full browser width */
.container-header {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

/* Body width: slightly narrower than current */
.site-grid,
.container-component,
.container-breadcrumbs,
.container-bottom-a,
.container-bottom-b,
.container-footer {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

/* Keep content comfortably inside the frame */
.container-component {
  padding-left: 0.8rem;
  padding-right: 0.8rem;
}

/* Header inner alignment */
.container-header .grid-child {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
}

/* Topbar: old-site-like upper right search area */
.container-topbar {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* Hide search module title/header */
.header-search h3,
.header-search .moduletable > h3,
.header-search .card-header,
.header-search .module-title {
  display: none !important;
}

/* Compact search form */
.header-search {
  margin-left: auto;
  margin-bottom: 0.4rem;
}

.header-search form {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
}

.header-search input[type="search"],
.header-search input[type="text"] {
  width: 190px;
  max-width: 190px;
  height: 2rem;
  padding: 0.25rem 0.5rem;
}

.header-search button,
.header-search .btn {
  height: 2rem;
  padding: 0.25rem 0.65rem;
  white-space: nowrap;
}

/* Main menu line should remain separate from search */
.container-header .mod-menu {
  margin-top: 0.2rem;
}

/* ===== IKAN fixed page width ===== */

:root {
  --ikan-page-width: 1040px;
}

/* Force header/body to use the same width */
body.site {
  background: #fff;
}

.container-header {
  width: min(var(--ikan-page-width), calc(100vw - 2rem));
  max-width: var(--ikan-page-width);
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

.container-header .grid-child,
.container-topbar,
.container-nav,
.container-breadcrumbs,
.site-grid,
.container-component,
.container-bottom-a,
.container-bottom-b,
.container-footer {
  width: min(var(--ikan-page-width), calc(100vw - 2rem));
  max-width: var(--ikan-page-width);
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

/* Prevent English header from shrink-wrapping */
.container-header,
.container-header .grid-child {
  min-width: min(var(--ikan-page-width), calc(100vw - 2rem));
}

/* Header search: keep upper-right, compact */
.container-topbar {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}

.header-search {
  margin-left: auto;
  margin-bottom: 0.4rem;
}

/* Hide mod_finder label/title text: Search / 検索 */
.header-search h3,
.header-search .moduletable > h3,
.header-search .module-title,
.header-search .card-header,
.header-search label,
.header-search .mod-finder__label,
.header-search .finder__label {
  display: none !important;
}

.header-search form,
.header-search .mod-finder,
.header-search .mod-finder__search {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 0;
}

.header-search input[type="search"],
.header-search input[type="text"] {
  width: 190px;
  max-width: 190px;
  height: 2.1rem;
  padding: 0.25rem 0.5rem;
}

.header-search button,
.header-search .btn {
  height: 2.1rem;
  padding: 0.25rem 0.65rem;
  white-space: nowrap;
}
/* ===== Topbar: search + language text links ===== */

.container-topbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.65rem;
}

/* Search first */
.header-search {
  order: 10;
  margin: 0;
}

/* Language switcher to the right of search */
.header-language {
  order: 20;
  margin: 0;
  white-space: nowrap;
  font-size: 0.9rem;
}

/* Hide language module title */
.header-language h3,
.header-language .module-title,
.header-language .card-header {
  display: none !important;
}

/* Language list as inline text links */
.header-language ul,
.header-language .mod-languages ul,
.header-language .mod-languages__list {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Hide flag images even if rendered */
.header-language img {
  display: none !important;
}

.header-language a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

.header-language a:hover,
.header-language a:focus {
  text-decoration: underline;
}

/* Compact search form */
.header-search form,
.header-search .mod-finder,
.header-search .mod-finder__search {
  display: flex;
  align-items: center;
  margin: 0;
}

.header-search label,
.header-search .mod-finder__label,
.header-search .finder__label {
  display: none !important;
}

/* Language switcher: hide flags completely */
.header-language img,
.header-language .mod-languages img,
.header-language .mod-languages__item img,
.header-language button img,
.header-language a img {
  display: none !important;
}

/* Compact language dropdown */
.header-language button,
.header-language .btn,
.header-language select,
.header-language .inputbox {
  height: 2.1rem;
  font-size: 0.9rem;
  padding: 0.25rem 0.5rem;
}

/* Remove excess width from language dropdown */
.header-language .dropdown-menu {
  min-width: 9rem;
}
/* Language switcher: remove flag icons */
#language_btn_116 img,
.mod-languages img,
.mod-languages__select img,
.mod-languages__select .dropdown-toggle img,
.lang-block img {
  display: none !important;
}

/* Remove extra gap left by hidden flag */
#language_btn_116,
.mod-languages__select .dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

/* Compact language dropdown button */
#language_btn_116 {
  height: 2.1rem;
  padding: 0.25rem 0.55rem;
  font-size: 0.9rem;
  white-space: nowrap;
}

/* Dropdown menu without flags */
.mod-languages .dropdown-menu img,
.lang-block.dropdown-menu img {
  display: none !important;
}

.mod-languages .dropdown-menu a {
  display: block;
  padding-left: 0.75rem;
}

/* ===== Whale Guide category blog display ===== */

/* Hide only parent category heading/description, not article titles or subcategory titles */
.itemid-106 .com-content-category-blog > .page-header,
.itemid-107 .com-content-category-blog > .page-header,
.itemid-106 .com-content-category-blog > h1,
.itemid-107 .com-content-category-blog > h1,
.itemid-106 .com-content-category-blog > .category-desc,
.itemid-107 .com-content-category-blog > .category-desc {
  display: none !important;
}

/* Article title bar: old-site-like */
.itemid-106 .blog-item .page-header,
.itemid-107 .blog-item .page-header {
  display: block !important;
  margin: 0.8rem 0 0.6rem;
  padding: 0.45rem 0.6rem;
  border-left: 5px solid #f0c400;
  border-bottom: 1px solid #f0c400;
  background: #efefef;
}

.itemid-106 .blog-item .page-header h2,
.itemid-107 .blog-item .page-header h2 {
  display: block !important;
  margin: 0;
  font-size: 1.45rem;
  font-weight: 500;
}

/* Article info / category label */
.itemid-106 .article-info,
.itemid-107 .article-info {
  display: block !important;
  margin: 0.45rem 0 0.9rem;
  font-size: 0.92rem;
}

.itemid-106 .article-info dd,
.itemid-107 .article-info dd,
.itemid-106 .category-name,
.itemid-107 .category-name {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-left: 0;
}

/* Hide only the "Details" label */
.itemid-106 .article-info-term,
.itemid-107 .article-info-term {
  display: none !important;
}

/* related-links */
.related-links {
  margin: 1rem 0;
  font-size: 0.92rem;
  line-height: 1.55;
}

.related-links h2 {
  display: none;
}

.related-links h3 {
  margin: 1rem 0 0.4rem;
  font-size: 1rem;
  border-bottom: 1px solid #ddd;
}

.related-links-list {
  margin: 0 0 1rem;
  padding-left: 1.1rem;
}

.related-links-list li {
  margin-bottom: 0.55rem;
}

.related-link-desc {
  margin-top: 0.2rem;
  color: #555;
  font-size: 0.86rem;
}
/* Step 2: neutralize Cassiopeia header background */
.container-header {
  background: #fff !important;
  background-image: none !important;
  box-shadow: none;
}
/* Step 3: make Cassiopeia top menu visible on white header */
.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span,
.container-header .mod-menu a {
  color: #222 !important;
}
/* Step 4: old-site-like yellow menu bar */
.container-header .mod-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0.4rem 0 0;
  padding: 0;
  background: linear-gradient(to bottom, #fff8a8 0%, #f8e84c 55%, #e8cf00 100%);
  border-top: 1px solid #eadb55;
  border-bottom: 1px solid #c9b300;
}

.container-header .mod-menu > li {
  margin: 0;
  padding: 0;
  border-right: 1px solid rgba(0, 0, 0, 0.16);
}

.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span {
  display: block;
  padding: 0.5rem 0.64rem;
  color: #111 !important;
  font-weight: 700;
  font-size: 0.96rem;
  line-height: 1.2;
  text-decoration: none;
}

.container-header .mod-menu > li.active > a,
.container-header .mod-menu > li > a:hover {
  color: #006fd0 !important;
  background: rgba(255, 255, 255, 0.45);
}

/* Remove Cassiopeia default spacing between top menu items */
@media (min-width: 992px) {
  .container-header .mod-menu > li + li {
    margin-left: 0 !important;
  }
}
/* Step 5: make active / hover menu item clearer */
.container-header .mod-menu > li.active > a,
.container-header .mod-menu > li.current > a,
.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li > a:focus {
  background: #fff !important;
  color: #005eb8 !important;
  box-shadow: inset 0 -3px 0 #005eb8;
}

/* Mobile: make top menu horizontal scroll instead of vertical column */
@media (max-width: 991.98px) {
  .container-header .mod-menu {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch;
  }

  .container-header .mod-menu > li {
    flex: 0 0 auto !important;
    margin-left: 0 !important;
  }
}
/* Mobile: show horizontal scroll indicators on menu */
@media (max-width: 991.98px) {
  .container-header .container-nav {
    position: relative;
  }

  .container-header .container-nav::before,
  .container-header .container-nav::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    bottom: auto;
    z-index: 2;
    display: flex;
    align-items: center;
    height: 1.2rem;
    width: 1.2rem;
    font-weight: 700;
    color: #005eb8;
    pointer-events: none;
    text-shadow: 0 1px 0 #fff;
  }

  .container-header .container-nav::before {
    content: "‹‹";
    left: 0;
    justify-content: flex-start;
    background: linear-gradient(
      to right,
      rgba(255, 255, 255, 0.95),
      rgba(255, 255, 255, 0)
    );
  }

  .container-header .container-nav::after {
    content: "››";
    right: 0;
    justify-content: flex-end;
    background: linear-gradient(
      to left,
      rgba(255, 255, 255, 0.95),
      rgba(255, 255, 255, 0)
    );
  }

  .container-header .mod-menu {
    padding-left: 1.65rem !important;
    padding-right: 1.65rem !important;
  }
}

/* Mobile: compact actions card submenu */
@media (max-width: 991.98px) {
  .actions-card-nav-module {
    margin-top: 0.6rem;
    margin-bottom: 1rem;
  }

  .actions-card-nav-module .card-body {
    padding: 0.75rem !important;
  }

  .actions-card-nav {
    gap: 0.45rem;
  }

  .actions-card-nav .actions-card {
    padding: 0.45rem 0.65rem !important;
    min-height: 0 !important;
    line-height: 1.25;
    font-size: 0.92rem;
    border-radius: 0.45rem;
  }
}
/* IKAN header image as Cassiopeia topbar background: desktop only */
@media (min-width: 992px) {
  .container-header {
    padding-top: 0.35rem;
  }

  .container-header .container-topbar {
    min-height: 190px;
    background-image: url("/images/top_e.jpg");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
    align-items: flex-start;
    padding-top: 0.2rem;
  }

  html[lang="ja-jp"] .container-header .container-topbar,
  html[lang="ja-JP"] .container-header .container-topbar {
    background-image: url("/images/top_j.jpg");
  }

  html[lang="en-gb"] .container-header .container-topbar,
  html[lang="en-GB"] .container-header .container-topbar {
    background-image: url("/images/top_e.jpg");
  }

  .container-header .container-topbar .mod-finder,
  .container-header .container-topbar .mod-languages {
    position: relative;
    z-index: 2;
  }
}
/* Tighten space between header image and menu */
@media (min-width: 992px) {
  .container-header .container-nav {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}
/* Header search: compact size */
@media (min-width: 992px) {
  .container-header .container-topbar .mod-finder input {
    height: 1.75rem;
    width: 11rem;
    max-width: 11rem;
    padding: 0.15rem 0.45rem;
    font-size: 0.82rem;
  }

  .container-header .container-topbar .mod-finder button {
    height: 1.75rem;
    padding: 0.15rem 0.55rem;
    font-size: 0.82rem;
    line-height: 1;
  }
}
/* Mobile: header image, menu, then compact search/language controls */
@media (max-width: 991.98px) {
  .container-header {
    display: flex;
    flex-direction: column;
  }

  .container-header::before {
    content: "";
    order: 1;
    display: block;
    width: 100%;
    height: clamp(105px, 24vw, 145px);
    background-image: url("/images/top_e.jpg");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 100% auto;
  }

  html[lang="ja-jp"] .container-header::before,
  html[lang="ja-JP"] .container-header::before {
    background-image: url("/images/top_j.jpg");
  }

  html[lang="en-gb"] .container-header::before,
  html[lang="en-GB"] .container-header::before {
    background-image: url("/images/top_e.jpg");
  }

  .container-header .container-nav {
    order: 2;
  }

  .container-header .container-topbar {
    order: 3;
    min-height: 0;
    padding: 0.25rem 0.35rem 0.15rem;
    background-image: none !important;
    justify-content: flex-end;
    align-items: center;
    gap: 0.35rem;
  }

  .container-header .container-topbar .mod-finder input {
    width: 7.5rem;
    max-width: 42vw;
    height: 1.65rem;
    padding: 0.1rem 0.35rem;
    font-size: 0.78rem;
  }

  .container-header .container-topbar .mod-finder button {
    height: 1.65rem;
    padding: 0.1rem 0.45rem;
    font-size: 0.78rem;
    line-height: 1;
  }

  .container-header .container-topbar .mod-languages select,
  .container-header .container-topbar .mod-languages button {
    height: 1.65rem;
    padding: 0.1rem 0.35rem;
    font-size: 0.78rem;
  }
}

/* Article / page heading: old-site-like IKAN heading */
.page-header h1,
.com-content-article h1,
.com-content-category-blog h1,
.com-content-featured h1 {
  color: #005eb8;
  background: #eeeeee;
  border-left: 6px solid #ffd800;
  border-bottom: 1px solid #ffd800;
  padding: 0.35rem 0.75rem;
  margin: 0 0 1rem;
  font-weight: 400;
  font-size: 1.45rem;
  line-height: 1.35;
}

/* TOP featured article title: old-site-like compact heading
   Scope: itemid-103 only
*/
.itemid-103 .item-title {
  color: #005eb8;
  background: #eeeeee;
  border-left: 6px solid #ffd800;
  border-bottom: 1px solid #ffd800;
  padding: 0.35rem 0.75rem;
  margin: 0 0 0.8rem;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.35;
}

.itemid-103 .item-title a {
  color: #005eb8 !important;
  text-decoration: none;
}

.itemid-103 .item-title a:hover,
.itemid-103 .item-title a:focus {
  color: #003f8f !important;
  text-decoration: underline;
}

/* News blog item title: old-site-like IKAN heading
   Scope: itemid-105 only
*/
.itemid-105 .blog-item .page-header {
  margin: 0 0 0.8rem;
}

.itemid-105 .blog-item .page-header h2 {
  color: #005eb8;
  background: #eeeeee;
  border-left: 6px solid #ffd800;
  border-bottom: 1px solid #ffd800;
  padding: 0.35rem 0.75rem;
  margin: 0;
  font-weight: 400;
  font-size: 1.45rem;
  line-height: 1.35;
}

.itemid-105 .blog-item .page-header h2 a {
  color: #005eb8 !important;
  text-decoration: none;
}

.itemid-105 .blog-item .page-header h2 a:hover,
.itemid-105 .blog-item .page-header h2 a:focus {
  color: #003f8f !important;
  text-decoration: underline;
}

/* Mobile heading adjustment */
@media (max-width: 768px) {
  .itemid-103 .item-title {
    font-size: 1.1rem;
    padding: 0.3rem 0.6rem;
    border-left-width: 5px;
  }

  .itemid-105 .blog-item .page-header h2 {
    font-size: 1.25rem;
    padding: 0.3rem 0.6rem;
    border-left-width: 5px;
  }
}
/* TOP intro module headings: old-site-like IKAN heading
   Scope: Japanese and English TOP Intro custom modules only
*/
.main-top .top-intro h2 {
  color: #005eb8;
  background: #eeeeee;
  border-left: 6px solid #ffd800;
  border-bottom: 1px solid #ffd800;
  padding: 0.35rem 0.75rem;
  margin: 0 0 0.8rem;
  font-weight: 400;
  font-size: 1.35rem;
  line-height: 1.35;
}

@media (max-width: 768px) {
  .main-top .top-intro h2 {
    font-size: 1.15rem;
    padding: 0.3rem 0.6rem;
    border-left-width: 5px;
  }
}
/* Footer color */
.container-footer {
  background: #005eb8 !important;
  background-image: none !important;
  color: #fff;
}

.container-footer a {
  color: #fff;
  text-decoration: underline;
}

.container-footer a:hover,
.container-footer a:focus {
  color: #e8f2ff;
}