@media print, screen and (min-width: 768px) {
  .en header .header-assist {
    flex-basis: 20em;
  }
  header .header-assist {
    flex-basis: 36em;
  }
  .en header .header-language {
    margin-right: 0;
  }
  .en #top .cover {
    margin-top: 100px;
  }
}

@media print, screen and (max-width: 767px) {
  header .header-language {
    margin-bottom: 15px;
  }
}

header .header-language {
  position: relative;
  margin-right: 21px;
}
header .header-language-trigger {
  background: #fff url(../images/common/ico_earth01.svg) no-repeat center left 12px / 16px 16px;
  border: 1px solid #c4c4c4;
  border-radius: 17px;
  color: #4F4F4F;
  cursor: pointer;
  font-size: 13px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 131px;
  height: 33px;
  transition: background-color 0.3s ease, color 0.3s ease;
  position: relative;
}
header .header-language-trigger:hover {
  background-color: #f0f0f0;
}
header .header-language-trigger::after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
  width: 9px;
  height: 6px;
  background: url(../images/common/ico_arrow_down01.svg) no-repeat center right / 9px 6px;
}

header .header-language-list {
  background-color: #fff;
  border: 1px solid #c4c4c4;
  border-radius: 17px;
  padding: 17px 34px;
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  width: 100%;
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 10px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.header-language-list::before {
  content: '';
  position: absolute;
  top: -6px; /* ギャップの高さ分だけ上に */
  left: 0;
  width: 100%;
  height: 6px;
  background: transparent;
}
header .header-language-list li {
  list-style: none;
}
header .header-language-list li a {
  text-decoration: none;
  color: #4F4F4F;
  font-size: 13px;
  font-weight: bold;
  position: relative;
}
header .header-language-list li a:after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #4E78BC;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: center top;
  transform-origin: center top;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s
}
header .header-language-list li a:hover {
  color: #4E78BC;
}
header .header-language-list li a:hover:after {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}
/* PC: ホバー時 */
@media (hover: hover) {
  .header-language:hover .header-language-list {
    opacity: 1;
    visibility: visible;
  }
}
  
/* スマホ対応: フォーカス時とアクティブ時にメニューを表示 */
.header-language:focus-within .header-language-list,
.header-language:active .header-language-list,
.header-language.is-open .header-language-list {
  opacity: 1;
  visibility: visible;
}

/* タッチデバイスでの確実な動作のため、ボタンがアクティブな時も表示 */
@media (hover: none) and (pointer: coarse) {
  .header-language-trigger:active + .header-language-list {
    opacity: 1;
    visibility: visible;
  }
}

.en #top .users-menu .menu-area li a.emergency i::before {
  background-image: url(../images/top/icon_inpatient.svg);
  filter: invert(1);
}

.en #top .users-menu .menu-area li a.guide i::before {
  background-image: url(../images/common/icon_access_wh.svg);
}
