@charset "UTF-8";
/* ヘッダー
-------------------------------------- */
#SupportNavi {
  font-family: "Noto Sans JP", sans-serif;
}
#SupportNavi button {
  font-family: "Noto Sans JP", sans-serif;
}
@media (min-width: 1335px) {
  #SupportNavi button span {
    font-size: 1.4rem;
  }
}
@media (min-width: 1335px) {
  #SupportNavi a span {
    font-size: 1.4rem;
  }
}

@media (min-width: 320px) {
  #SpSupportNavi button span span {
    font-size: 1.44rem;
  }
}
#SpSupportNavi a span {
  font-size: 1.44rem;
}

#SpSupportNavi {
  font-family: "Noto Sans JP", sans-serif;
}
@media (min-width: 320px) {
  #SpSupportNavi li ul li a {
    font-size: 1.44rem;
  }
}

@media (min-width: 320px) {
  #SearchFormArea .SearchPhrease {
    font-size: 1.44rem;
  }
}
@media (min-width: 320px) {
  #SearchFormArea .SearchBtn {
    font-size: 1.44rem;
  }
}

#SiteID {
  font-size: clamp(1.6rem, 1.4327526132rem + 0.3484320557vw, 1.7rem);
  font-weight: 500;
}
@supports not (font-size: clamp(16 * 0.1rem, 1.4327526132rem + 0.3484320557vw, 17 * 0.1rem)) {
  #SiteID {
    font-size: 1.6rem;
  }
}
@media (min-width: 1335px) {
  #SiteID {
    font-size: 1.7rem;
  }
}

/* フッター
-------------------------------------- */
#FooterArea {
  background: #eeeeee;
}

@media (min-width: 1335px) {
  .Container {
    max-width: 1275px;
  }
}

#Footer1Menu a {
  line-height: 2;
}
@media (min-width: 320px) {
  #Footer1Menu a {
    font-size: 1.08rem;
  }
}
@media (min-width: 1335px) {
  #Footer1Menu a {
    font-size: 1.07rem;
  }
}

#Footer2Menu a {
  line-height: 1.9;
}
@media (min-width: 320px) {
  #Footer2Menu a {
    font-size: 1.4rem;
  }
}
@media (min-width: 1335px) {
  #Footer2Menu a {
    font-size: 1.4rem;
  }
}

#HitachiTop a {
  line-height: 1.6;
}
@media (min-width: 320px) {
  #HitachiTop a {
    font-size: 1.6rem;
  }
}
@media (min-width: 1335px) {
  #HitachiTop a {
    font-size: 1.6rem;
  }
}

#FooterPageTop {
  z-index: 2;
  background-color: #d90005;
}
@media (min-width: 1335px) {
  #FooterPageTop {
    width: 54px;
    height: 40px;
  }
  #FooterPageTop::before {
    left: 50%;
    transform: translateX(-50%);
  }
  #FooterPageTop::after {
    left: 50%;
    transform: translateX(-50%) rotate(-45deg);
  }
}

/* グローバルナビゲーション
-------------------------------------- */
@media (min-width: 768px) {
  #GlobalNaviMenu > li > a,
  #GlobalNaviMenu > li > button > span {
    padding-left: clamp(10px, 10px + 5 * (100vw - 768px) / 507, 15px);
    padding-right: clamp(10px, 10px + 5 * (100vw - 768px) / 507, 15px);
    font-size: clamp(1.1rem, 0.6455621302rem + 0.5917159763vw, 1.4rem);
    padding: 0 min(0.8vw, 15px);
  }
  @supports not (font-size: clamp(11 * 0.1rem, 0.6455621302rem + 0.5917159763vw, 14 * 0.1rem)) {
    #GlobalNaviMenu > li > a,
    #GlobalNaviMenu > li > button > span {
      font-size: 1.1rem;
    }
  }
  #GlobalNaviMenu > li > a {
    font-size: 1.4rem;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  #GlobalNaviMenu > li > a {
    font-size: 1.3rem;
  }
}
@media (min-width: 768px) and (min-width: 1024px) {
  #GlobalNaviMenu > li > a {
    font-size: 1.33rem;
  }
}
@media (min-width: 768px) {
  #GlobalNaviMenu > li.Current a {
    background: #b1000e;
    color: #fff;
  }
  #GlobalNaviMenu > li.Current > a > em {
    padding: 0 min(0.8vw, 15px);
    font-size: 1.4rem;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  #GlobalNaviMenu > li.Current > a > em {
    font-size: 1.3rem;
  }
}
@media (min-width: 768px) and (min-width: 1024px) {
  #GlobalNaviMenu > li.Current > a > em {
    font-size: 1.33rem;
  }
}

#SpGlobalNavi > li.Current a {
  background: #b1000e;
  color: #fff;
}
#SpGlobalNavi > li.Current a em::after {
  border-top-color: #fff;
  border-right-color: #fff;
}
@media (min-width: 320px) {
  #SpGlobalNavi li a {
    font-size: 1.44rem;
  }
}

@media (min-width: 768px) {
  .SupportNaviIconText button span span {
    font-size: 1.4rem;
  }
}
@media (min-width: 768px) {
  .SupportNaviIconText a span {
    font-size: 1.4rem;
  }
}

/* サイドナビ
-------------------------------------- */
@media (max-width: 767.98px) {
  .JS .Grid1 {
    margin: 50px -18px 0;
  }
  .JS .Grid1 #VerticalLocalNavi li.Current a strong {
    margin-top: -11px !important;
  }
  .JS .Grid1 #VerticalLocalNavi a {
    border-top: none !important;
  }
}
#VerticalLocalNavi {
  font-family: "Noto Sans JP", sans-serif;
}
#VerticalLocalNavi h2 {
  font-size: 0.83rem;
}
@media (min-width: 1335px) {
  #VerticalLocalNavi h2 {
    font-size: 0.83rem;
  }
}
#VerticalLocalNavi li {
  border-top: 1px solid #b7b7b7;
}
#VerticalLocalNavi li.is-open a {
  background: #d1d1d1;
  color: #fff;
}
#VerticalLocalNavi li.is-open a:hover {
  background-color: #b1000e;
}
#VerticalLocalNavi li.is-open .text {
  background: #eee;
  color: #333;
}
#VerticalLocalNavi li.is-open span::before, #VerticalLocalNavi li.is-open span::after {
  background: #333;
}
#VerticalLocalNavi li.Current > a {
  color: #fff;
  font-weight: 700;
  background: #b1000e;
}
#VerticalLocalNavi li.Current > a span::before, #VerticalLocalNavi li.Current > a span::after {
  background: #fff;
}
#VerticalLocalNavi li.Current > a strong {
  background-color: #b1000e;
  margin-right: 0;
}
#VerticalLocalNavi li li a:link {
  background-color: #e1e1e1;
}
#VerticalLocalNavi li li a:hover {
  background-color: #b1000e;
}
#VerticalLocalNavi li li li a:hover {
  background-color: #b1000e;
}
#VerticalLocalNavi li a {
  position: relative;
  padding: 9px 15px;
}
#VerticalLocalNavi li a:link, #VerticalLocalNavi li a:visited {
  background-color: #f1f1f1;
}
#VerticalLocalNavi li a:hover {
  background-color: #b1000e;
}
#VerticalLocalNavi li a:hover span::before, #VerticalLocalNavi li a:hover span::after {
  background: #fff;
}
#VerticalLocalNavi li .text {
  position: relative;
  padding: 8px 15px;
  background-color: #f1f1f1;
}
#VerticalLocalNavi li .text span::before, #VerticalLocalNavi li .text span::after {
  background: #fff;
}
#VerticalLocalNavi a {
  padding-top: 11px !important;
  border-top: none;
}
@media (min-width: 768px) {
  #VerticalLocalNavi li {
    border-top: 1px solid #fff;
  }
}
@media (min-width: 1335px) {
  #VerticalLocalNavi li {
    border-top: 2px solid #fff;
  }
  #VerticalLocalNavi li.Current a strong {
    margin-top: -11px !important;
  }
}

/* パンくずリスト
-------------------------------------- */
#TopicPath {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Arial, Helvetica, sans-serif;
  background-color: inherit;
}
#TopicPath.l-breadcrumb ul {
  width: 100%;
  padding: 2px 0 7px;
}
#TopicPath.l-breadcrumb ul li {
  font-size: clamp(1.1rem, 0.7655052265rem + 0.6968641115vw, 1.3rem);
  color: #000;
  line-height: 1.7;
}
@supports not (font-size: clamp(11 * 0.1rem, 0.7655052265rem + 0.6968641115vw, 13 * 0.1rem)) {
  #TopicPath.l-breadcrumb ul li {
    font-size: 1.1rem;
  }
}
#TopicPath.l-breadcrumb ul li a {
  color: #b1000e;
}
#TopicPath.l-breadcrumb--white ul li {
  color: #fff;
  background: url("/../../img/common/icon/icon_topic_path_transition_hd.gif") no-repeat 7px center;
  background-size: 6px 6px;
}
#TopicPath.l-breadcrumb--white ul li.FirstItem {
  background: none;
}
#TopicPath.l-breadcrumb--white ul li a {
  color: #fff;
}
@media (min-width: 1335px) {
  #TopicPath.l-breadcrumb li {
    font-size: 1.3rem;
  }
}

* {
  --inner-propotion: min(4vw, 30px);
  --header-height: 50px;
  --hover-opacity: .75;
  margin: 0;
  padding: 0;
}
*::before, *::after {
  pointer-events: none;
}
@media (min-width: 1024px) {
  * {
    --inner-propotion: 50px;
  }
}

html {
  overflow: auto;
  font-size: 62.5%;
}

body {
  position: relative;
  overflow: hidden;
  min-width: 320px;
}

.l-wrapper {
  line-height: 1.8;
  background-color: #fff;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  color: #000;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0;
  font-size: clamp(1.3rem, 0.7982578397rem + 1.0452961672vw, 1.6rem);
}
.l-wrapper *:where(:not(html, iframe, canvas, img, svg, video):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}
@supports not (font-size: clamp(13 * 0.1rem, 0.7982578397rem + 1.0452961672vw, 16 * 0.1rem)) {
  .l-wrapper {
    font-size: 1.3rem;
  }
}
@media (min-width: 1335px) {
  .l-wrapper {
    font-size: 1.5rem;
  }
}
.l-wrapper h1, .l-wrapper h2, .l-wrapper h3, .l-wrapper h4, .l-wrapper h5, .l-wrapper h6, .l-wrapper p {
  all: unset;
  display: revert;
}
.l-wrapper h1:has(wbr), .l-wrapper h2:has(wbr), .l-wrapper h3:has(wbr), .l-wrapper h4:has(wbr), .l-wrapper h5:has(wbr), .l-wrapper h6:has(wbr), .l-wrapper p:has(wbr) {
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.l-wrapper a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease-in;
}
.l-wrapper span {
  font-weight: inherit;
}
.l-wrapper img {
  display: block;
  width: 100%;
  height: auto;
}
.l-wrapper ul, .l-wrapper ol {
  list-style: none;
}
.l-wrapper input,
.l-wrapper textarea,
.l-wrapper button {
  border: none;
  appearance: none;
  caret-color: #d90005;
}
.l-wrapper input:focus-visible,
.l-wrapper textarea:focus-visible,
.l-wrapper button:focus-visible {
  outline-color: #d90005;
}
@media not all and (pointer: coarse) {
  .l-wrapper input:hover,
  .l-wrapper textarea:hover,
  .l-wrapper button:hover {
    cursor: pointer;
  }
}
@media (max-width: 767.98px) {
  .l-wrapper input,
  .l-wrapper textarea,
  .l-wrapper button {
    font-size: 1.6rem;
  }
}

.l-container {
  padding: min(40px, 11vw, 83px) 0 min(85px, 23vw, 135px);
}
.l-container.column2 {
  padding-left: var(--inner-propotion);
  padding-right: var(--inner-propotion);
}
@media (min-width: 768px) {
  .l-container.column2 {
    display: flex;
    align-items: start;
    justify-content: space-between;
  }
  .l-container.column2 .l-contents {
    width: 75%;
  }
}
@media (min-width: 1335px) {
  .l-container {
    padding: 95px 0 136px;
  }
  .l-container.column2 {
    max-width: 1275px;
    margin: auto;
    padding-left: 0;
    padding-right: 0;
  }
  .l-container.column2 .l-contents {
    width: calc(75% - 25px);
  }
}

.l-sidebar #VerticalLocalNavi {
  font-size: 1.4rem;
}
@media (min-width: 768px) {
  .l-sidebar {
    width: 25%;
    padding-left: 25px;
  }
}
@media (min-width: 1270px) {
  .l-sidebar {
    width: 300px;
    margin: 0;
  }
}
@media (min-width: 1335px) {
  .l-sidebar #VerticalLocalNavi li {
    font-size: 1.4rem;
  }
}