/* Technology page specific styles */

/* Logo block sizing */
#header p img { width: 170px; height: 60px; }
/* Language button size fix */
#header .langbt img { width: 131px; height: 20px; }

/* tipi_head styling for technology page */
.tipi_head { 
	margin: 0 auto; 
	width: 959px; /* Match gmenu width */
	height: 20px; 
	border-bottom: 3px solid #c00000 !important; /* Add red line below tipi_head */
	position: relative;
	z-index: 10;
	background: white; /* Ensure background is visible */
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* Page title image (left-aligned) */
.pagetitle {
  background-image: url(/technology/images/title_main.jpg);
}
.pagetitle h1 {
  text-indent: -9999px;
  overflow: hidden;
  height: 36px;
  line-height: 36px;
}

/* Submenu column width for technology (text-based) */
#container #subMenu { width: 180px; }
#container #subMenu ul { width: 180px; height: auto; }

/* Technology submenu (parent list) */
#container #subMenu .menu_technology { list-style: none; padding: 0; margin: 0; }
#container #subMenu .menu_technology li { width: 180px; margin-bottom: 0; }
#container #subMenu .menu_technology li:last-child > a { border-bottom: none; }

#container #subMenu .menu_technology li > a {
  height: 50px;
  width: 180px;
  display: block;
  position: relative;
  text-decoration: none;
  color: #333333;
  font-size: 12px;
  line-height: 1.2;
  overflow: hidden;
  padding: 0;
  transition: all 0.3s ease;
  background: white;
  border-bottom: 1px solid #e0e0e0;
  box-shadow: none;
}
#container #subMenu .menu_technology li > a:hover { background: white; box-shadow: none; }

/* Nested (child) submenu under achievements */
#container #subMenu .menu_intxt { list-style: none; padding: 0; margin: 0; width: 180px; clear: left; }
#container #subMenu .menu_intxt li { width: 180px; }
#container #SubMenu .menu_intxt li a,
#container #subMenu .menu_intxt li a {
  height: 50px;
  width: 180px;
  display: block;
  position: relative;
  text-decoration: none;
  color: #333333;
  font-size: 12px;
  line-height: 1.2;
  overflow: hidden;
  padding: 0;
  transition: all 0.3s ease;
  background: white;
  border-bottom: 1px solid #e0e0e0;
  box-shadow: none;
}

/* Text container */
#container #subMenu .menu_technology li a .menu-text,
#container #subMenu .menu_intxt li a .menu-text {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 24px 0 0;
  position: relative;
  height: 100%;
  z-index: 1;
  text-shadow: 1px 1px 2px rgba(255,255,255,0.9);
}

/* International and domestic conference text alignment - align to English text position */
#container #subMenu .menu_intxt li.lecture-international a .menu-text,
#container #subMenu .menu_intxt li.lecture-internationalOn a .menu-text,
#container #subMenu .menu_intxt li.lecture-domestic a .menu-text,
#container #subMenu .menu_intxt li.lecture-domesticOn a .menu-text {
  justify-content: flex-start;
  padding-right: 0;
}

#container #subMenu .menu_intxt li.lecture-international a .english,
#container #subMenu .menu_intxt li.lecture-international a .japanese,
#container #subMenu .menu_intxt li.lecture-internationalOn a .english,
#container #subMenu .menu_intxt li.lecture-internationalOn a .japanese,
#container #subMenu .menu_intxt li.lecture-domestic a .english,
#container #subMenu .menu_intxt li.lecture-domestic a .japanese,
#container #subMenu .menu_intxt li.lecture-domesticOn a .english,
#container #subMenu .menu_intxt li.lecture-domesticOn a .japanese {
  position: absolute;
  right: 24px;
  left: auto;
  text-align: right;
}

/* Align English text for international and domestic conferences to match Japanese text position */
#container #subMenu .menu_intxt li.lecture-international a .english,
#container #subMenu .menu_intxt li.lecture-internationalOn a .english,
#container #subMenu .menu_intxt li.lecture-domestic a .english,
#container #subMenu .menu_intxt li.lecture-domesticOn a .english {
  right: 24px;
  left: auto;
  text-align: right;
}

/* Align Japanese text for reviews-en to match international conference position */
#container #subMenu .menu_intxt li.reviews-en a .japanese,
#container #subMenu .menu_intxt li.reviews-enOn a .japanese {
  position: absolute;
  right: 24px;
  left: auto;
  text-align: right;
}

/* Align Japanese text for reviews-ja to match reviews-en position */
#container #subMenu .menu_intxt li.reviews-ja a .japanese,
#container #subMenu .menu_intxt li.reviews-jaOn a .japanese {
  position: absolute;
  right: 24px;
  left: auto;
  text-align: right;
}

/* Align English text for reviews-en to right position */
#container #subMenu .menu_intxt li.reviews-en a .english,
#container #subMenu .menu_intxt li.reviews-enOn a .english {
  position: absolute;
  right: 24px;
  left: auto;
  text-align: right;
}

/* Align English text for reviews-ja to right position */
#container #subMenu .menu_intxt li.reviews-ja a .english,
#container #subMenu .menu_intxt li.reviews-jaOn a .english {
  position: absolute;
  right: 24px;
  left: auto;
  text-align: right;
}

#container #subMenu .menu_technology li a .menu-text::after,
#container #subMenu .menu_intxt li a .menu-text::after,
#container #subMenu .menu_intxt ul.grandchild li a .menu-text::after {
  content: '';
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid #c00000;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 3;
  pointer-events: none;
}

/* Suppress legacy arrow drawn on Japanese span */
#pageWrap #container #subMenu .menu_technology li a .japanese::after,
#pageWrap #container #subMenu .menu_intxt li a .japanese::after,
#pageWrap #container #subMenu .menu_intxt ul.grandchild li a .japanese::after {
  display: none !important;
}

/* Accent line (filled red by default) */
#container #subMenu .menu_technology li a .menu-text::before,
#container #subMenu .menu_intxt li a .menu-text::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 16px;
  background-color: #c00000;
  border: none;
  border-radius: 2px;
}

/* Override: second-level (menu_intxt) uses hollow red accent like topics */
#container #subMenu .menu_intxt li a .menu-text::before {
  width: 2px;            /* 2px content + 1px borders = 4px outer width */
  height: 14px;          /* 14px content + 1px top/bottom borders = 16px outer height */
  background: transparent;
  border: 1px solid #c00000;
  border-radius: 1px;
  left: calc(10px + 1em); /* Shift accent line to the right */
}

#container #subMenu .menu_intxt li a .english,
#container #subMenu .menu_intxt li a .japanese {
  padding-left: calc(18px + 1em);
}

/* Enforce second-level (menu_intxt) text shift by 1em - exclude grandchild items */
#container #subMenu .menu_intxt li:not([class*="reviews-"]) > a .english,
#container #subMenu .menu_intxt li:not([class*="reviews-"]) > a .japanese {
  padding-left: calc(18px + 1em) !important;
}

/* Language spans (stacked for hover toggle) */
#container #subMenu .menu_technology li a .english,
#container #subMenu .menu_technology li a .japanese,
#container #subMenu .menu_intxt li a .english,
#container #subMenu .menu_intxt li a .japanese {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding-left: 18px; /* red line (10px) + width(4px) + gap(4px) */
}

/* English default visible */
#container #subMenu .menu_technology li a .english,
#container #subMenu .menu_intxt li a .english {
  font-family: "chentry ゴシック", sans-serif;
  font-size: 14px;
  color: #1a1a1a; /* CMYK(0,0,0,90) converted to RGB */
  font-weight: bold;
  opacity: 1;
  transition: opacity 0.25s ease;
}

/* Japanese hidden by default */
#container #subMenu .menu_technology li a .japanese,
#container #subMenu .menu_intxt li a .japanese {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノマルゴシ", "Hiragino Maru Gothic", sans-serif;
  font-size: 14px;
  color: #c00000;
  font-weight: bold;
  opacity: 0;
  transition: opacity 0.25s ease;
}

/* Hover switch */
#container #subMenu .menu_technology li a:hover .english,
#container #subMenu .menu_intxt li a:hover .english { opacity: 0; }
#container #subMenu .menu_technology li a:hover .japanese,
#container #subMenu .menu_intxt li a:hover .japanese { opacity: 1; }

/* Hollow accent for year-like items not applicable here by default; technology can add specific classes later if needed */

/* Research papers list */
#container #main .paper-list { margin: 1em 0; padding-left: 1.4em; }
#container #main .paper-list li { list-style: disc; margin: 0 0 1em; line-height: 1.9; }
#container #main .paper-list li::marker { color: rgb(192, 0, 0); }

/* Ensure 3-line gap below subtitle image (technology pages) */
#container #main > img + .mainWrap { margin-top: 3em; }

/* Match business page paragraph spacing within main content */
#container #main .mainWrap p {
  margin: 0 0 1.2em;
}

/* Default text size reduction for technology content (excluding font-default pages) */
/* Removed font-size: 0.9em to use common default (1.2rem = 14.4px) */
/* #container #main:not(.font-default) .mainWrap p,
#container #main:not(.font-default) .mainWrap li {
  font-size: 0.9em;
} */

#container #main .mainWrap p:last-child {
  margin-bottom: 0;
}

/* Awards list (no bullets) */
#container #main .awards-list { margin: 0; padding: 0; }
#container #main .awards-list li { list-style: none; margin: 0 0 1em; line-height: 1.9; }
#container #main .awards-list li::before { content: "■"; color: rgb(192, 0, 0); margin-right: 0.4em; }

/* Press releases list (red square bullets) */
#container #main .press-list { margin: 0; padding: 0; }
#container #main .press-list li { list-style: none; margin: 0 0 1em; line-height: 1.9; }
#container #main .press-list li::before { content: "■"; color: rgb(192, 0, 0); margin-right: 0.4em; }
#container #main .press-list a { color: #0066cc; text-decoration: underline; }
/* utility: remove red square for specific items */
#container #main .press-list li.no-bullet::before { content: none; }

/* Content with video layout */
.content-with-video {
  display: flex;
  gap: 20px;
  margin: 3em 0; /* 3行分の余白 */
  align-items: flex-start;
}

.text-content {
  flex: 1; /* 1:1の比率のため1に設定 */
  min-width: 0; /* Allow text to wrap properly */
}

.video-content {
  flex: 1; /* 1:1の比率のため1に設定 */
  min-width: 0;
}

.video-placeholder {
  position: relative;
  width: 100%;
  height: 200px;
  background: #f0f0f0;
  border: 2px solid #ddd;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.video-mock {
  text-align: center;
  color: #666;
}

.play-button {
  font-size: 48px;
  color: #c00000;
  margin-bottom: 10px;
  cursor: pointer;
  transition: transform 0.2s;
}

.play-button:hover {
  transform: scale(1.1);
}

.video-title {
  font-size: 14px;
  font-weight: bold;
}

/* Video player styling */
.video-player {
  width: 100%;
  height: auto;
  max-height: 300px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  pointer-events: auto;
}

/* Disable right-click context menu */
.video-player::-webkit-media-controls {
  -webkit-user-select: none;
}

/* Hide download button in video controls */
.video-player::-webkit-media-controls-overlay-play-button {
  display: none !important;
}

.video-player::-webkit-media-controls-download-button {
  display: none !important;
}

/* Hide download option in context menu */
.video-player::-webkit-media-controls-panel {
  -webkit-appearance: none;
}

/* Additional protection for download button */

/* Hide any download-related controls */
.video-player::-webkit-media-controls-download-button,
.video-player::-webkit-media-controls-download-button:before {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Additional protection */
.video-content {
  position: relative;
}

.video-content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
}

/* Video placeholder styling */
.video-placeholder {
  position: relative;
  width: 100%;
  height: 200px;
  background: #f0f0f0;
  border: 2px solid #ddd;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  cursor: pointer;
  transition: all 0.3s ease;
}

.video-placeholder:hover {
  background: #e0e0e0;
  border-color: #c00000;
  transform: scale(1.02);
}

.video-subtitle {
  font-size: 12px;
  color: #888;
  margin-top: 5px;
}

/* Video modal styling */
.video-modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}

.video-modal-content {
  position: relative;
  margin: 5% auto;
  width: 80%;
  max-width: 800px;
  background: #333;
  border-radius: 8px;
  overflow: hidden;
}

.video-close {
  position: absolute;
  top: 10px;
  right: 15px;
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
  z-index: 1001;
}

.video-close:hover {
  color: #c00000;
}

.modal-video {
  width: 100%;
  height: auto;
  max-height: 70vh;
}

/* Responsive design for smaller screens */
@media (max-width: 768px) {
  .content-with-video {
    flex-direction: column;
  }
  
  .video-content {
    flex: none;
    max-width: 100%;
  }
  
  .video-placeholder {
    height: 150px;
  }
}

/* Active (clicked) state: show Japanese like hover */
#container #subMenu .menu_technology li[class$="On"] > a .english,
#container #subMenu .menu_intxt      li[class$="On"] > a .english { opacity: 0; }
#container #subMenu .menu_technology li[class$="On"] > a .japanese,
#container #subMenu .menu_intxt      li[class$="On"] > a .japanese { opacity: 1; }

/* Persistent arrow for active menu (grandchild > child > parent) */
#container #subMenu .menu_intxt ul.grandchild li[class$="On"] > a .menu-text::after {
  opacity: 1 !important;
}
#container #subMenu .menu_intxt li.has-grandchildOn > a .menu-text::after {
  opacity: 0 !important;
}
#container #subMenu .menu_intxt li.has-grandchildOn:hover > a .menu-text::after {
  opacity: 1 !important;
}
#container #subMenu .menu_intxt li[class$="On"]:not(.has-grandchildOn):not(.reviewsOn) > a .menu-text::after {
  opacity: 1 !important;
}
#container #subMenu .menu_intxt li.reviewsOn > a .menu-text::after,
#container #subMenu .menu_intxt li.reviewsOn:hover > a .menu-text::after,
#container #subMenu .menu_intxt li.reviewsOn > a:hover .menu-text::after,
#container #subMenu .menu_intxt li.reviewsOn > a:focus .menu-text::after,
#container #subMenu .menu_intxt li.reviewsOn > a:active .menu-text::after {
  opacity: 0 !important;
  content: none !important;
  border: 0 !important;
}
#container #subMenu .menu_technology li.achievementsOn > a .menu-text::after {
  opacity: 0;
}
#container #subMenu .menu_intxt li.lectureOn > a .menu-text::after,
#container #subMenu .menu_intxt li.lectureOn:hover > a .menu-text::after,
#container #subMenu .menu_intxt li.lectureOn > a:hover .menu-text::after,
#container #subMenu .menu_intxt li.lectureOn > a:focus .menu-text::after,
#container #subMenu .menu_intxt li.lectureOn > a:active .menu-text::after {
  opacity: 0 !important;
  content: none !important;
  border: 0 !important;
}
#container #subMenu .menu_technology li.achievementsRoot > a .menu-text::after {
  opacity: 1 !important;
}
#container #subMenu .menu_technology li[class$="On"]:not(.achievementsOn) > a .menu-text::after {
  opacity: 1 !important;
}

/* Keep submenu link appearance consistent on visited/active/focus */
#container #subMenu .menu_technology li > a:visited,
#container #subMenu .menu_technology li > a:active,
#container #subMenu .menu_technology li > a:focus,
#container #subMenu .menu_intxt li > a:visited,
#container #subMenu .menu_intxt li > a:active,
#container #subMenu .menu_intxt li > a:focus {
  color: #333333;
  background: white;
  text-decoration: none;
  box-shadow: none;
  outline: none;
}

/* Ensure language span colors are unchanged on visited/active/focus */
#container #subMenu .menu_technology li > a:visited .english,
#container #subMenu .menu_technology li > a:active  .english,
#container #subMenu .menu_technology li > a:focus   .english,
#container #subMenu .menu_intxt li > a:visited .english,
#container #subMenu .menu_intxt li > a:active  .english,
#container #subMenu .menu_intxt li > a:focus   .english { color: #1a1a1a; /* CMYK(0,0,0,90) converted to RGB */ }

#container #subMenu .menu_technology li > a:visited .japanese,
#container #subMenu .menu_technology li > a:active  .japanese,
#container #SubMenu .menu_technology li > a:focus   .japanese,
#container #subMenu .menu_intxt li > a:visited .japanese,
#container #subMenu .menu_intxt li > a:active  .japanese,
#container #subMenu .menu_intxt li > a:focus   .japanese { color: #c00000; }

/* Keep red accent visible above text layers */
#container #subMenu .menu_technology li a .menu-text { position: relative; }
#container #subMenu .menu_intxt      li a .menu-text { position: relative; }
#container #subMenu .menu_technology li a .menu-text::before,
#container #subMenu .menu_intxt      li a .menu-text::before {
  z-index: 2;
}
#container #subMenu .menu_technology li a .english,
#container #subMenu .menu_technology li a .japanese,
#container #subMenu .menu_intxt      li a .english,
#container #subMenu .menu_intxt      li a .japanese {
  z-index: 1;
}

/* Normalize link states so appearance does not change on click */
#container #subMenu .menu_technology li > a:link,
#container #subMenu .menu_technology li > a:visited,
#container #subMenu .menu_technology li > a:active,
#container #subMenu .menu_technology li > a:focus,
#container #subMenu .menu_intxt      li > a:link,
#container #subMenu .menu_intxt      li > a:visited,
#container #subMenu .menu_intxt      li > a:active,
#container #SubMenu .menu_intxt      li > a:active,
#container #subMenu .menu_intxt      li > a:focus {
  color: inherit;
  text-decoration: none;
  background: white;
  border-bottom: 1px solid #e0e0e0;
  box-shadow: none;
  outline: none;
}

/* Keep Japanese visible for clicked/visited like hover */
#container #subMenu .menu_technology li > a:active .english,
#container #subMenu .menu_technology li > a:focus  .english,
#container #subMenu .menu_technology li > a:visited .english,
#container #subMenu .menu_intxt      li > a:active .english,
#container #subMenu .menu_intxt      li > a:focus  .english,
#container #subMenu .menu_intxt      li > a:visited .english { opacity: 0; }
#container #subMenu .menu_technology li > a:active .japanese,
#container #subMenu .menu_technology li > a:focus  .japanese,
#container #SubMenu .menu_technology li > a:visited .japanese,
#container #subMenu .menu_intxt      li > a:active .japanese,
#container #subMenu .menu_intxt      li > a:focus  .japanese,
#container #subMenu .menu_intxt      li > a:visited .japanese { opacity: 1; }

/* Hide second-level by default; show only when 研究業績 is selected */
#container #subMenu .menu_intxt { display: none; }
#container #subMenu .menu_technology li.achievementsOn > .menu_intxt { display: block; }

/* Grandchild (3rd level) visibility control */
#container #subMenu .menu_intxt ul.grandchild { display: none; }
#container #subMenu .menu_intxt li.reviewsOn  > ul.grandchild,
#container #subMenu .menu_intxt li.lectureOn  > ul.grandchild { display: block; }

/* ==== 3rd level (grandchild) - make same as parent lecture ==== */
#container #subMenu .menu_intxt ul.grandchild { 
  list-style: none; 
  padding: 0; 
  margin: 0; 
  width: 180px; 
  clear: left; 
}
#container #subMenu .menu_intxt ul.grandchild li { 
  width: 180px; 
}
#container #subMenu .menu_intxt ul.grandchild li a {
  height: 50px;
  width: 180px;
  display: block;
  position: relative;
  text-decoration: none;
  color: #333333;
  font-size: 12px;
  line-height: 1.2;
  overflow: hidden;
  padding: 0;
  transition: all 0.3s ease;
  background: white;
  border-bottom: 1px solid white;
  box-shadow: none;
}

/* 最後のgrandchild項目（booksの前）は元の色の区切り線 */
#container #subMenu .menu_intxt ul.grandchild li:last-child a {
  border-bottom: 1px solid #e0e0e0;
}

/* reviewsOnとreviews-enOnの間の区切り線を白に */
#container #subMenu .menu_intxt li.reviewsOn a {
  border-bottom: 1px solid white;
}

/* lectureOnとlecture-internationalOn/lecture-domesticOnの間の区切り線を白に */
#container #subMenu .menu_intxt li.lectureOn a {
  border-bottom: 1px solid white;
}

/* Text container for grandchild */
#container #subMenu .menu_intxt ul.grandchild li a .menu-text {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 24px 0 60px;
  position: relative;
  height: 100%;
  z-index: 1;
  text-shadow: 1px 1px 2px rgba(255,255,255,0.9);
}

/* Grandchild items don't show the accent line */
#container #subMenu .menu_intxt ul.grandchild li a .menu-text::before {
  display: none;
}

#container #subMenu .menu_technology li a:hover .menu-text::after,
#container #subMenu .menu_intxt li:not(.reviewsOn):not(.lectureOn) > a:hover .menu-text::after,
#container #subMenu .menu_intxt ul.grandchild li a:hover .menu-text::after {
  opacity: 1;
}

/* Language spans for grandchild (stacked for hover toggle) */
#container #subMenu .menu_intxt ul.grandchild li a .english,
#container #subMenu .menu_intxt ul.grandchild li a .japanese {
  padding-left: 60px;
}

/* English default visible for grandchild */
#container #subMenu .menu_intxt ul.grandchild li a .english {
  font-family: "chentry ゴシック", sans-serif;
  font-size: 14px;
  color: #1a1a1a; /* CMYK(0,0,0,90) converted to RGB */
  font-weight: bold;
  opacity: 1;
  transition: opacity 0.25s ease;
}

/* Japanese hidden by default for grandchild */
#container #subMenu .menu_intxt ul.grandchild li a .japanese {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノマルゴシ", "Hiragino Maru Gothic", sans-serif;
  font-size: 14px;
  color: #c00000;
  font-weight: bold;
  opacity: 0;
  transition: opacity 0.25s ease;
}

/* Hover switch for grandchild */
#container #subMenu .menu_intxt ul.grandchild li a:hover .english { opacity: 0; }
#container #subMenu .menu_intxt ul.grandchild li a:hover .japanese { opacity: 1; }

/* Active grandchild (class ending with On): keep Japanese visible */
#container #subMenu .menu_intxt ul.grandchild li[class$="On"] a .english {
  opacity: 0 !important;
}
#container #subMenu .menu_intxt ul.grandchild li[class$="On"] a .japanese {
  opacity: 1 !important;
}

/* Active/focus/visited states for grandchild */
#container #subMenu .menu_intxt ul.grandchild li a:visited,
#container #subMenu .menu_intxt ul.grandchild li a:active,
#container #subMenu .menu_intxt ul.grandchild li a:focus {
  color: #333333;
  background: white;
  text-decoration: none;
  box-shadow: none;
  outline: none;
}

#container #subMenu .menu_intxt ul.grandchild li a:visited .english,
#container #subMenu .menu_intxt ul.grandchild li a:active .english,
#container #subMenu .menu_intxt ul.grandchild li a:focus .english { 
  color: #1a1a1a; /* CMYK(0,0,0,90) converted to RGB */ 
}

#container #subMenu .menu_intxt ul.grandchild li a:visited .japanese,
#container #subMenu .menu_intxt ul.grandchild li a:active .japanese,
#container #subMenu .menu_intxt ul.grandchild li a:focus .japanese { 
  color: #c00000; 
}

/* Keep red accent visible above text layers for grandchild */
#container #subMenu .menu_intxt ul.grandchild li a .menu-text::before {
  z-index: 2;
}
#container #subMenu .menu_intxt ul.grandchild li a .english,
#container #subMenu .menu_intxt ul.grandchild li a .japanese {
  z-index: 1;
}

/* Spacer row under Reviews: no red accent line */
#container #subMenu .menu_intxt li.reviews-spacer a .menu-text::before { content: none; }

/* Reviews spacer label styling (two-line small text, no accent) */
#container #subMenu .menu_intxt li.reviews-spacer a {
  height: auto;
  min-height: 28px;
  padding: 6px 0;
  background: white;
  border-bottom: 1px solid #e0e0e0;
}
#container #subMenu .menu_intxt li.reviews-spacer a .menu-text { padding: 0; display: flex; justify-content: flex-end; }
#container #SubMenu .menu_intxt li.reviews-spacer a .menu-text { padding: 0; display: flex; justify-content: flex-end; }
#container #subMenu .menu_intxt li.reviews-spacer a .spacer-label { display: inline-block; padding-left: 0; text-align: left; margin-right: 10px; }
#container #subMenu .menu_intxt li.reviews-spacer a .spacer-label .sp-en:hover { color: #c00000; }
#container #subMenu .menu_intxt li.reviews-spacer a .spacer-label .sp-ja:hover { color: #c00000; }

/* Hover conversion for spacer label: swap to Japanese only (no arrow) */
#container #subMenu .menu_intxt li.reviews-spacer a .spacer-label .sp-en,
#container #subMenu .menu_intxt li.reviews-spacer a .spacer-label .sp-ja { position: relative; }
#container #subMenu .menu_intxt li.reviews-spacer a .spacer-label .sp-en:hover { color: transparent; }
#container #subMenu .menu_intxt li.reviews-spacer a .spacer-label .sp-en:hover::after {
  content: '英文';
  color: #c00000;
  position: absolute;
  left: 0;
  top: 0;
}
#container #subMenu .menu_intxt li.reviews-spacer a .spacer-label .sp-ja:hover { color: transparent; }
#container #subMenu .menu_intxt li.reviews-spacer a .spacer-label .sp-ja:hover::after {
  content: '和文';
  color: #c00000;
  position: absolute;
  left: 0;
  top: 0;
}

/* Lecture spacer label styling (two-line small text, no accent) */
#container #subMenu .menu_intxt li.lecture-spacer a { height: auto; min-height: 28px; padding: 6px 0; background: white; border-bottom: 1px solid #e0e0e0; }
#container #subMenu .menu_intxt li.lecture-spacer a .menu-text { padding: 0 0 0 calc(18px + 1em); display: flex; justify-content: flex-start; }
#container #SubMenu .menu_intxt li.lecture-spacer a .menu-text { padding: 0 0 0 calc(18px + 1em); display: flex; justify-content: flex-start; }
#container #subMenu .menu_intxt li.lecture-spacer a .menu-text::before { content: none; }
#container #subMenu .menu_intxt li.lecture-spacer a .spacer-label { display: block; padding-left: 0; text-align: left; font-size: 11px; line-height: 1.2; color: #666666; margin-right: 0; }

/* Fix overlap: keep EN in flow, overlay JA; parent sizes to EN width */
#container #subMenu .menu_intxt li.lecture-spacer a .spacer-label .pair { position: relative; display: inline-block; cursor: default; }
#container #subMenu .menu_intxt li.lecture-spacer a .spacer-label .pair .en { position: static; opacity: 1; transition: opacity 0.2s ease; }
#container #subMenu .menu_intxt li.lecture-spacer a .spacer-label .pair .ja { position: absolute; left: 0; top: 0; opacity: 0; transition: opacity 0.2s ease; }
/* change hover trigger to each pair individually */
#container #subMenu .menu_intxt li.lecture-spacer a .spacer-label .pair:hover .en { opacity: 0; }
#container #subMenu .menu_intxt li.lecture-spacer a .spacer-label .pair:hover .ja { opacity: 1; color: #c00000; }

/* Reviews spacer visibility: only when Reviews is selected */
#container #subMenu .menu_intxt li.reviews-spacer { display: none; }
#container #subMenu .menu_intxt li.reviewsOn + li.reviews-spacer { display: block; }
