:root {
  --color-black: #222;
  --color-red: #FA0C0F;
  --color-red2: #cc0000;
  --color-red3: #7D0008;
  --color-blue: #2D5686;
  --color-gray: #F4F4F4;
  --color-gray2: #D9D9D9;
  --color-gray3: #B3B3B3;
  --color-gray4: #737373;
  --color-gray5: #4D4D4D;
  --color-gray6: #222;
  --color-yellowTag: #F0A632;
  --headerH: 105px;
  --contW-max: 1275px;
  --transVals: 0.3s ease;
}
.un_searchFieldset {
  display: grid;
  margin-bottom: 60px;
}
@media not all and (max-width: 767px), print {
  .un_searchFieldset {
    gap: 3px 0;
    grid-template-columns: auto 1fr;
    border-radius: 10px;
    overflow: hidden;
  }
}
@media screen and (max-width: 767px) {
  .un_searchFieldset {
    gap: 2px;
    margin-inline: -20px;
    margin-bottom: 32px;
  }
}
.un_searchFieldset_item {
  display: grid;
  background-color: var(--color-gray);
}
@media not all and (max-width: 767px), print {
  .un_searchFieldset_item {
    gap: 30px;
    grid-template-columns: subgrid;
    grid-column: span 2;
    align-items: center;
    padding: 30px 20px 30px 0;
  }
}
@media screen and (max-width: 767px) {
  .un_searchFieldset_item {
    gap: 10px;
    padding: 15px;
  }
}
.un_searchFieldset_item_head {
  display: grid;
  position: relative;
  padding-left: 25px;
}
@media screen and (max-width: 767px) {
  .un_searchFieldset_item_head {
    gap: 10px;
    grid-auto-flow: column;
    justify-content: start;
    padding-left: 15px;
  }
}
.un_searchFieldset_item_head::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  border-left: 5px solid var(--color-red2);
}
.un_searchFieldset_item_head > span {
  font-size: 112.5%;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .un_searchFieldset_item_head > span {
    font-size: 100%;
  }
}
.un_searchFieldset_item_head small {
  font-size: 75%;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .un_searchFieldset_item_head small {
    translate: 0 4px;
  }
}
.un_searchFieldset_item_body {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .un_searchFieldset_item_body {
    gap: 6px;
  }
}
.un_searchFieldset_item_body button {
  display: grid;
  gap: 6px;
  grid-auto-flow: column;
  align-items: center;
  border: 1px solid var(--color-gray2);
  padding: 5px 11px;
  background-color: #fff;
  border-radius: 100px;
  color: inherit;
  font-size: 87.5%;
  cursor: pointer;
  transition: var(--transVals);
  transition-property: border-color, background-color, color;
}
.un_searchFieldset_item_body button:focus-visible {
  border-color: var(--color-red2);
  color: var(--color-red2);
}
@media (any-hover: hover) {
  .un_searchFieldset_item_body button:hover {
    border-color: var(--color-red2);
    color: var(--color-red2);
  }
}
@media screen and (max-width: 767px) {
  .un_searchFieldset_item_body button {
    padding-block: 7px;
    font-size: 75%;
  }
}
.un_searchFieldset_item_body button.is_active {
  border-color: var(--color-red2);
  background-color: var(--color-red2);
  color: #fff;
}
.un_searchFieldset_item_body button .icon {
  display: grid;
  place-content: center;
  border: 1px solid var(--color-gray2);
  width: 18px;
  aspect-ratio: 1;
  box-sizing: border-box;
  background-color: #fff;
  transition: var(--transVals);
  transition-property: border-color;
}
.un_searchFieldset_item_body button .icon::before {
  content: "";
  opacity: 0;
  translate: 0 -1px;
  rotate: -45deg;
  border-bottom: 2px solid var(--color-red2);
  border-left: 2px solid var(--color-red2);
  width: 7px;
  height: 4px;
}
.un_searchFieldset_item_body button:focus-visible .icon {
  border-color: var(--color-red2);
}
@media (any-hover: hover) {
  .un_searchFieldset_item_body button:hover .icon {
    border-color: var(--color-red2);
  }
}
.un_searchFieldset_item_body button.is_active .icon {
  border-color: #fff;
}
.un_searchFieldset_item_body button.is_active .icon::before {
  opacity: 1;
}
.un_searchFieldset_item_body button.msBtn {
  border-radius: 6px;
}

.un_searchResultHead {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .un_searchResultHead {
    margin-bottom: 18px;
  }
}
.un_searchResultHead_resultCount {
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .un_searchResultHead_resultCount {
    font-size: 81.25%;
  }
}
.un_searchResultHead .resetBtn {
  border: 1px solid var(--color-gray3);
  padding: 6px 12px;
  background: #fff;
  border-radius: 6px;
  color: inherit;
  font-size: 87.5%;
  cursor: pointer;
  transition: var(--transVals);
  transition-property: border-color, color;
}
.un_searchResultHead .resetBtn:focus-visible {
  border-color: var(--color-red2);
  color: var(--color-red2);
}
@media (any-hover: hover) {
  .un_searchResultHead .resetBtn:hover {
    border-color: var(--color-red2);
    color: var(--color-red2);
  }
}
@media screen and (max-width: 767px) {
  .un_searchResultHead .resetBtn {
    font-size: 75%;
  }
}

@media screen and (max-width: 767px) {
  .un_searchResult .bl_iconLinkCard_desc {
    display: none;
  }
}

.un_timeline {
  margin: 0 0 38px;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .un_timeline {
    margin-bottom: 24px;
  }
}
.un_timeline li {
  display: grid;
  border-bottom: 1px solid var(--color-gray2);
  padding-block: 24px;
}
@media not all and (max-width: 767px), print {
  .un_timeline li {
    gap: 20px;
    grid-template-columns: 140px 1fr;
  }
}
.un_timeline li:first-child {
  border-top: 1px solid var(--color-gray2);
}
.un_timeline dl {
  display: grid;
}
@media not all and (max-width: 767px), print {
  .un_timeline dl {
    grid-template-columns: subgrid;
    grid-column: span 2;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .un_timeline dl {
    gap: 12px;
  }
}
@media not all and (max-width: 767px), print {
  .un_timeline dt {
    text-align: center;
  }
}
.un_timeline dt time {
  color: var(--color-red);
  font-family: "Hitachi Sans";
  font-size: 200%;
  font-weight: 700;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .un_timeline dt time {
    font-size: 175%;
  }
}
.un_timeline dd {
  display: grid;
  gap: 15px;
  letter-spacing: 0.02em;
}
.un_timeline dd article {
  display: grid;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .un_timeline dd article {
    gap: 12px;
  }
}
.un_timeline dd time {
  font-weight: 700;
  line-height: 1;
}
.un_timeline dd p {
  font-size: 87.5%;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .un_timeline dd p {
    font-size: 81.25%;
  }
}

.un_timelineNote {
  font-size: 93.75%;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .un_timelineNote {
    margin-bottom: 40px;
    line-height: 1.6;
  }
}
.un_timelineNote small {
  display: grid;
  gap: 1em;
  grid-template-columns: auto 1fr;
  font-size: inherit;
}

.un_servOffices {
  display: grid;
  gap: 25px;
}
@media not all and (max-width: 767px), print {
  .un_servOffices {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .un_servOffices {
    gap: 40px;
  }
}
.un_servOffices_item img {
  width: 100%;
  height: auto;
}
.un_servOffices_item .el_circleChevronBtn {
  display: inline-grid;
}

@media screen and (max-width: 767px) {
  .JS body {
    background-color: #fff;
  }
}
@media screen and (max-width: 767px) {
  .JS .Grid1 {
    background-color: var(--color-gray3);
    padding-inline: 20px;
    margin-inline: -20px;
    padding: 20px 15px;
  }
}
@media screen and (max-width: 767px) {
  .JS .Grid1 #VerticalLocalNavi {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .JS .Grid3 {
    padding-left: 0;
  }
}
@media screen and (max-width: 994px) {
  .JS .Grid3 .Column1andHalf,
  .JS .Grid3 .Column2,
  .JS .Grid3 .Column2 .Column1,
  .JS .Grid3 .Column1,
  .JS .Grid3 .Column3 .Column1,
  .JS .Grid3 .Column3 {
    width: 100% !important;
  }
}
.JS .Grid3 .Column3:has(> *:only-child) {
  margin: 0;
}
@media screen and (max-width: 1304px) {
  .JS .Grid3 .Column3:has(> *:only-child) {
    width: 100%;
  }
}
@media not all and (max-width: 767px), print {
  .JS .Grid3 > *:last-child .PageTop {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .JS .Grid3 > *:last-child .PageTop {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 994px) {
  .JS .Grid4 {
    padding-inline: 0 !important;
  }
}
@media not all and (max-width: 767px), print {
  .JS #Contents {
    padding-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .JS #Contents {
    padding-top: 32px;
    padding-inline: 20px !important;
  }
}
@media not all and (max-width: 767px), print {
  .JS #Contents:has(.bl_bgPageTitleSet) {
    padding-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .JS #Contents:has(.bl_bgPageTitleSet) {
    padding-top: 0;
  }
}
@media not all and (max-width: 767px), print {
  .JS #Contents.minutesContents {
    padding-top: 0;
  }
}
@media screen and (max-width: 1304px) {
  .JS #Contents.minutesContents {
    padding-right: 0;
    padding-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .JS #Contents.minutesContents {
    padding-top: 0;
    padding-inline: 0 !important;
  }
}
.JS #Contents.minutesContents #ContactArea .bl_contactSect {
  margin-inline: 0;
}
@media screen and (max-width: 994px) {
  .JS .GridSet {
    margin-left: 0 !important;
    padding-inline: 0 !important;
  }
}
@media screen and (max-width: 994px) {
  .JS .ColumnSet {
    margin-left: 0 !important;
    padding-inline: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .JS .ColumnSet.ColumnSet_interview .ColumnText {
    padding-inline: 15px !important;
  }
}
.JS .ResponsiveLinkListStyle.BottomBorderSet {
  border-color: rgba(0, 0, 0, 0.1019607843);
}
.JS .ResponsiveLinkListStyle ul.LinkListStyle1 li,
.JS .ResponsiveLinkListStyle ul.LinkListStyle2 li,
.JS .ResponsiveLinkListStyle ul.LinkListStyle5 li,
.JS .ResponsiveLinkListStyle ul.LinkListStyle6 li {
  border-color: rgba(0, 0, 0, 0.1019607843);
}

@media screen and (max-width: 1304px) {
  .OptionWideRWD .ColumnSet {
    margin-bottom: 32px;
  }
}

#VerticalLocalNavi {
  line-height: 1.35;
}
@media not all and (max-width: 767px), print {
  #VerticalLocalNavi {
    font-size: 93.75%;
  }
}
#VerticalLocalNavi h2 a {
  padding: 15px 20px;
  width: 100%;
}
#VerticalLocalNavi h2 a[href=""] {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  #VerticalLocalNavi h2 a {
    width: calc(100% - 30px);
    padding: 15px;
  }
}
#VerticalLocalNavi h2.Current a {
  background: #c00 url(/image/jp/r1/bg_v_navi_current.gif) 0 50% no-repeat;
}
#VerticalLocalNavi .accordionBtn {
  position: relative;
  border: 0;
  border-top: 1px solid #fff;
  padding: 16px 40px 15px 20px;
  width: 100%;
  text-align: left;
  font-size: 100%;
  line-height: 1.4;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  #VerticalLocalNavi .accordionBtn {
    padding-block: 12px;
  }
}
#VerticalLocalNavi .accordionBtn::before, #VerticalLocalNavi .accordionBtn::after {
  content: "";
  position: absolute;
  right: 19px;
  top: 50%;
  translate: 0 -50%;
  border-top: 1px solid;
  width: 13px;
}
@media screen and (max-width: 767px) {
  #VerticalLocalNavi .accordionBtn::before, #VerticalLocalNavi .accordionBtn::after {
    right: 16px;
  }
}
#VerticalLocalNavi .accordionBtn::after {
  rotate: 90deg;
}
#VerticalLocalNavi .accordionBtn.is_active::after {
  opacity: 0;
}
@media not all and (max-width: 767px), print {
  #VerticalLocalNavi .accordionBtn:hover {
    background-color: #c00;
    color: #fff;
  }
}
#VerticalLocalNavi > ul ul {
  display: none;
}
#VerticalLocalNavi > ul ul li a {
  padding: 15px 15px 15px 30px;
}
#VerticalLocalNavi > ul ul li a:link, #VerticalLocalNavi > ul ul li a:visited {
  background-color: var(--color-gray2);
}
#VerticalLocalNavi > ul ul li a:link:hover, #VerticalLocalNavi > ul ul li a:visited:hover {
  background-color: var(--color-red2);
}
#VerticalLocalNavi > ul ul li.Current a strong {
  padding: 15px 15px 15px 30px;
  margin: -15px -15px -15px -30px;
  font-weight: 400;
}
#VerticalLocalNavi > ul > li.Current ul,
#VerticalLocalNavi > ul > li:has(li.Current) ul {
  display: block;
}
#VerticalLocalNavi li.Current a strong {
  margin: -16px -20px;
  padding: 15px 20px 17px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  #VerticalLocalNavi li.Current a strong {
    margin: -16px -15px;
  }
}
@media not all and (max-width: 767px), print {
  #VerticalLocalNavi li a {
    padding-block: 16px 15px;
    padding-inline: 20px;
  }
}
#VerticalLocalNavi li a[href=""] {
  pointer-events: none;
}
#VerticalLocalNavi .horLinkCardList {
  display: grid;
  gap: 20px;
  margin-top: 20px !important;
}

#ContactArea {
  margin-block: 60px -65px;
}
@media screen and (max-width: 767px) {
  #ContactArea {
    margin-block: 0;
  }
}

.Section:has(#tsSearchLinkSect:first-child):not(:first-child) {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .Section:has(#tsSearchLinkSect:first-child):not(:first-child) {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  div[id]:not(:has(+ h2)):has(> #tsSearchLinkSect) {
    margin-bottom: 2px;
  }
}

@media not all and (max-width: 767px), print {
  .Section:has(#casestudyLinkSect:first-child):not(:first-child) {
    margin-top: 20px;
  }
}

@media not all and (max-width: 767px), print {
  #casestudyLinkSect:not(:first-child) {
    margin-top: 54px;
  }
}

@media not all and (max-width: 767px), print {
  .Section.pg_home:has(> .highlightsArea):not(:last-child) {
    margin-bottom: 55px;
  }
}
.Section.pg_home .highlightsArea {
  margin-top: 0;
}
.Section.pg_home .highlightsArea .el_secTtl {
  min-height: 0;
}
.Section.pg_home .highlightsArea .el_secTtl::before, .Section.pg_home .highlightsArea .el_secTtl::after {
  content: none;
}
@media screen and (max-width: 767px) {
  .Section.pg_home .highlightsArea .el_secTtl > span::before, .Section.pg_home .highlightsArea .el_secTtl > span::after {
    content: none;
  }
}
.Section.pg_home .highlightsArea_body_inner {
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .Section.pg_home .highlightsArea_body_inner {
    margin-top: 32px;
  }
}

@media not all and (max-width: 767px), print {
  .Section {
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .Section {
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .Section:has(.clickable) {
    padding-bottom: 10px;
  }
}
@media not all and (max-width: 767px), print {
  .Section > * {
    margin-bottom: 32px;
  }
}
@media screen and (max-width: 767px) {
  .Section > * {
    margin-bottom: 24px;
  }
}
.Section > *:last-child {
  margin-bottom: 0;
}
@media not all and (max-width: 767px), print {
  .Section > h2,
  .Section .ClearFix h2 {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .Section > h2,
  .Section .ClearFix h2 {
    margin-bottom: 20px;
  }
  .Section > h2:has(+ h3),
  .Section .ClearFix h2:has(+ h3) {
    margin-bottom: 30px;
  }
}
.Section > h2.note1,
.Section .ClearFix h2.note1 {
  display: block;
}
@media screen and (max-width: 767px) {
  .Section > .bl_productImg {
    margin-bottom: 20px;
  }
}
.Section--pb40 {
  padding-bottom: 40px;
}
.Section[id] > h3 {
  padding-block: 65px 0;
  margin-block: -65px 32px;
  padding-left: 0;
}
.Section[id] > h3::before {
  content: none;
}
.Section[id] > h3 span {
  display: block;
  position: relative;
  padding-left: 20px;
}
.Section[id] > h3 span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background-color: var(--color-red2);
}

.PageTitleStyle1 {
  font-weight: bold;
  letter-spacing: -0.02em;
}
@media not all and (max-width: 767px), print {
  .PageTitleStyle1 {
    margin-bottom: 22px;
    font-size: 250%;
  }
}
@media screen and (max-width: 767px) {
  .PageTitleStyle1 {
    font-size: 200% !important;
  }
}
.PageTitleStyle1 h1 {
  color: var(--color-gray6);
  font-size: 100%;
}
@media not all and (max-width: 767px), print {
  .PageTitleStyle1 h1 {
    line-height: 1.2;
  }
}
@media screen and (max-width: 767px) {
  .PageTitleStyle1 h1 {
    font-size: 100% !important;
    line-height: 1.35;
  }
}
.PageTitleStyle1 h1 + .SubTitle {
  margin-top: 12px;
}
.PageTitleStyle1 + .Section .TextStyle1 {
  letter-spacing: -0.02em;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .PageTitleStyle1 + .Section .TextStyle1 {
    font-size: 81.25%;
  }
}
.PageTitleStyle1 .SubTitle {
  margin-bottom: 12px;
}
@media not all and (max-width: 767px), print {
  .PageTitleStyle1 .SubTitle {
    margin-top: 5px;
    font-size: 50%;
  }
}
@media screen and (max-width: 767px) {
  .PageTitleStyle1 .SubTitle {
    font-size: 46.875% !important;
  }
}
.PageTitleStyle1 .SubTitle > strong {
  color: #222222;
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media not all and (max-width: 767px), print {
  .PageTitleStyle1:has(.SubTitle) {
    margin-top: 35px;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  .PageTitleStyle1:has(.SubTitle) {
    margin-top: -8px;
    margin-bottom: 20px;
  }
}

h2 {
  display: flex;
  background: none;
  margin-bottom: 0;
  padding-bottom: 0 !important;
}
@media not all and (max-width: 767px), print {
  h2 {
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
}
@media screen and (max-width: 767px) {
  h2 {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-inline: 0 !important;
  }
}
@media not all and (max-width: 767px), print {
  h2:has(> span) {
    position: relative;
    min-height: 99px;
  }
  h2:has(> span)::before, h2:has(> span)::after {
    z-index: 2;
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
  }
  h2:has(> span)::before {
    width: 100%;
    background-color: var(--color-gray2);
  }
  h2:has(> span)::after {
    background-color: var(--color-red2);
  }
  @media not all and (max-width: 767px), print {
    h2:has(> span)::after {
      width: 13.63%;
    }
  }
  @media screen and (max-width: 767px) {
    h2:has(> span)::after {
      width: 35.8%;
    }
  }
}
@media screen and (max-width: 767px) {
  h2:has(> span) > span {
    position: relative;
  }
  h2:has(> span) > span::before, h2:has(> span) > span::after {
    z-index: 2;
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
  }
  h2:has(> span) > span::before {
    width: 100%;
    background-color: var(--color-gray2);
  }
  h2:has(> span) > span::after {
    width: 35.8%;
    background-color: var(--color-red2);
  }
}
h2 > span {
  padding-inline: 0;
  color: var(--color-gray6);
  font-weight: bold;
  letter-spacing: -0.02em;
  background: none;
}
@media not all and (max-width: 767px), print {
  h2 > span {
    padding-block: 10px 11px;
    width: 100%;
    font-size: 200%;
    line-height: 1;
  }
}
@media screen and (max-width: 767px) {
  h2 > span {
    margin: 0 !important;
    padding-block: 20px 25px;
    width: 100%;
    font-size: 150%;
    line-height: 1.2;
  }
}
@media not all and (max-width: 767px), print {
  h2 > img {
    padding-block: 10px 11px;
  }
}
h2 span {
  line-height: 1.3;
}
h2[id] {
  margin-top: -60px;
  padding-top: 60px;
  clear: both;
}
@media screen and (max-width: 994px) {
  h2[id] {
    margin-top: -120px;
    padding-top: 120px;
  }
}
@media screen and (max-width: 767px) {
  h2[id] {
    margin-top: -45px;
    padding-top: 45px;
  }
}

h3 {
  position: relative;
  margin-bottom: 0;
  color: var(--color-gray6);
  font-weight: bold;
  line-height: 1.55;
  letter-spacing: 0.04em;
}
@media not all and (max-width: 767px), print {
  h3 {
    padding-block: 10px;
    padding-left: 20px;
    font-size: 125%;
  }
}
@media screen and (max-width: 767px) {
  h3 {
    padding-block: 4px;
    padding-left: 16px;
    font-size: 112.5%;
  }
}
h3::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background-color: var(--color-red2);
}
h3[id] {
  margin-top: -60px;
  padding-top: 60px;
  clear: both;
}
@media screen and (max-width: 994px) {
  h3[id] {
    margin-top: -120px;
    padding-top: 120px;
  }
}
@media screen and (max-width: 767px) {
  h3[id] {
    margin-top: -45px;
    padding-top: 45px;
  }
}

h4 {
  margin-bottom: 0;
  font-weight: bold;
  line-height: 1.55;
  letter-spacing: 0.04em;
  margin-bottom: 15px !important;
}
@media not all and (max-width: 767px), print {
  h4 {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  h4 {
    font-size: 93.75%;
  }
}

h5 {
  margin-bottom: 0;
  display: inline-block;
  padding-block: 4px;
  padding-inline: 10px;
  background-color: var(--color-gray);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.04em;
  margin-bottom: 15px !important;
}
@media not all and (max-width: 767px), print {
  h5 {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  h5 {
    font-size: 93.75%;
  }
}

a:link {
  color: var(--color-red2);
}

a:visited {
  color: var(--color-red3);
}

a.el_circleChevronLink {
  color: var(--color-black);
}

.TextStyle1 {
  line-height: 1.55;
  letter-spacing: 0.04em;
}
@media not all and (max-width: 767px), print {
  .TextStyle1 {
    font-size: 93.75% !important;
  }
}
@media screen and (max-width: 767px) {
  .TextStyle1 {
    font-size: 87.5% !important;
  }
}

.LinkListStyle1 {
  width: 100%;
  font-size: 93.75%;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.01em;
}
.LinkListStyle1 a {
  color: var(--color-red2);
}
.LinkListStyle1 a:visited {
  color: var(--color-red3);
}
.LinkListStyle1 li a {
  overflow-wrap: break-word;
}

.newsList .LinkListStyle1 {
  font-weight: normal;
}
.newsList .LinkListStyle1 a {
  color: var(--color-black);
  background-image: none;
  transition: color 0.3s ease;
}
.newsList .LinkListStyle1 a:focus-visible {
  color: var(--color-red2);
}
@media (any-hover: hover) {
  .newsList .LinkListStyle1 a:hover {
    color: var(--color-red2);
  }
}

.ImgOnlyStyle {
  color: var(--color-gray4);
  font-size: 87.5%;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.ImgOnlyStyle img {
  margin-bottom: 15px;
  max-width: 100%;
}

.DataTableStyle4 {
  margin-bottom: 0;
  width: 100%;
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-word;
}
.DataTableStyle4 th {
  text-align: center;
}
.DataTableStyle4 th,
.DataTableStyle4 td {
  padding: 14px 15px;
  font-size: 100%;
  line-height: 1;
}
@media not all and (max-width: 767px), print {
  .DataTableStyle4 caption,
  .DataTableStyle4 p {
    margin-bottom: 12px;
    font-size: 100% !important;
    line-height: 1;
    letter-spacing: 0.04em;
  }
}
@media not all and (max-width: 767px), print {
  .DataTableStyle4 + p {
    margin-top: 14px;
    font-size: 100% !important;
    line-height: 1;
    letter-spacing: 0.04em;
  }
}

.HorizontalInnerLinks ul {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  margin-bottom: 0;
}
.HorizontalInnerLinks ul > li {
  margin-right: 0;
}
.HorizontalInnerLinks ul > li a {
  display: flex;
  position: relative;
  align-items: center;
  -moz-column-gap: 10px;
  column-gap: 10px;
  color: var(--color-gray6);
  font-weight: bold;
  text-decoration: none;
  line-height: 1;
  letter-spacing: -0.02em;
  background-image: none;
  z-index: 2;
}
@media not all and (max-width: 767px), print {
  .HorizontalInnerLinks ul > li a {
    padding-right: 38px;
    font-size: 100%;
  }
}
@media screen and (max-width: 767px) {
  .HorizontalInnerLinks ul > li a {
    padding-right: 30px;
    font-size: 87.5%;
  }
}
.HorizontalInnerLinks ul > li a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-image: url(/image/jp/hps/common/icon/icon_arw_04.svg);
  background-size: cover;
}
@media not all and (max-width: 767px), print {
  .HorizontalInnerLinks ul > li a::after {
    width: 28px;
    height: 28px;
  }
}
@media screen and (max-width: 767px) {
  .HorizontalInnerLinks ul > li a::after {
    width: 20px;
    height: 20px;
  }
}
.HorizontalInnerLinks ul > li a:hover, .HorizontalInnerLinks ul > li a:active, .HorizontalInnerLinks ul > li a:link, .HorizontalInnerLinks ul > li a:visited {
  color: var(--color-gray6);
}

@media screen and (max-width: 994px) {
  .ColumnSet {
    display: grid;
    margin-left: 0;
  }
  .ColumnSet::after {
    display: none;
  }
}
.ColumnSet > div > *:last-child {
  margin-bottom: 0;
}
.ColumnSet > div > h2,
.ColumnSet > div h3,
.ColumnSet > div h5 {
  margin-bottom: 30px;
}
@media screen and (max-width: 994px) {
  .ColumnSet .Column1andHalf,
  .ColumnSet .Column1 {
    width: auto;
    padding-left: 0 !important;
  }
}
.ColumnSet:has(.Column1.LastItem) .Column1 {
  margin-bottom: 60px;
}
.ColumnSet:has(.Column1.LastItem) .Column1:nth-last-child(-n+3) {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .ColumnSet:has(.Column1.LastItem) .Column1 {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 994px) {
  .ColumnSet:has(.Column1andHalf), .ColumnSet:has(.Column1) {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 25px;
  }
  .ColumnSet:has(.Column1andHalf):has(.ImgOnlyStyle) > *:last-child:nth-child(odd), .ColumnSet:has(.Column1):has(.ImgOnlyStyle) > *:last-child:nth-child(odd) {
    max-width: calc(50% - 12px);
    grid-column: span 2;
  }
}
@media screen and (max-width: 994px) {
  .ColumnSet:has(.Column1andHalf):has(h2), .ColumnSet:has(.Column1):has(h2) {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 994px) {
  .ColumnSet:has(.Column1andHalf):has(h2):has(.ImgOnlyStyle), .ColumnSet:has(.Column1):has(h2):has(.ImgOnlyStyle) {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 994px) {
  .ColumnSet:has(.ImgOnlyStyle) {
    gap: 32px 25px;
  }
}
.ColumnSet:has(.ImgOnlyStyle) .Column1andHalf .ImgOnlyStyle {
  margin-bottom: 0;
}
.ColumnSet:has(.ImgOnlyStyle) .Column1andHalf .ImgOnlyStyle img {
  margin-bottom: 0;
}
.ColumnSet:has(.CenterAdjust) .Column1andHalf .ImgOnlyStyle {
  text-align: center !important;
}
.ColumnSet:has(.CenterAdjust) .Column1andHalf .ImgOnlyStyle img {
  margin-bottom: 15px;
}
@media screen and (max-width: 994px) {
  .ColumnSet--spCenter {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}
@media screen and (max-width: 767px) {
  .ColumnSet:has(.Column2.bl_spColumn), .ColumnSet:has(.Column1andHalf.bl_spColumn) {
    grid-template-columns: 1fr;
  }
}
.ColumnSet .bl_movieBlock_link img {
  margin-bottom: 15px !important;
}

@media screen and (max-width: 994px) {
  .BoxPatternB .Inner,
  .BoxPatternB-arrange .Inner,
  .BoxPatternC .Inner {
    padding-inline: 15px !important;
  }
}
.BoxPatternB .Inner > *:last-child,
.BoxPatternB-arrange .Inner > *:last-child,
.BoxPatternC .Inner > *:last-child {
  margin-bottom: 0;
}
.BoxPatternB h5,
.BoxPatternB-arrange h5,
.BoxPatternC h5 {
  background-color: #fff;
  margin-bottom: 12px;
}
@media screen and (max-width: 994px) {
  .BoxPatternB .ColumnSet,
  .BoxPatternB-arrange .ColumnSet,
  .BoxPatternC .ColumnSet {
    grid-template-columns: repeat(1, 1fr);
  }
}
.BoxPatternB .ColumnSet .Column1andHalf,
.BoxPatternB-arrange .ColumnSet .Column1andHalf,
.BoxPatternC .ColumnSet .Column1andHalf {
  width: calc(50% - 16px);
}
.BoxPatternB .ColumnSet .Column1andHalf > h5,
.BoxPatternB-arrange .ColumnSet .Column1andHalf > h5,
.BoxPatternC .ColumnSet .Column1andHalf > h5 {
  margin-bottom: 0;
}
.BoxPatternB .ColumnSet .Column1andHalf > h5 + *,
.BoxPatternB-arrange .ColumnSet .Column1andHalf > h5 + *,
.BoxPatternC .ColumnSet .Column1andHalf > h5 + * {
  margin-top: 15px;
}
.BoxPatternB .ColumnSet > div > h2,
.BoxPatternB .ColumnSet > div > h3,
.BoxPatternB .ColumnSet > div > h4,
.BoxPatternB .ColumnSet > div > h5,
.BoxPatternB-arrange .ColumnSet > div > h2,
.BoxPatternB-arrange .ColumnSet > div > h3,
.BoxPatternB-arrange .ColumnSet > div > h4,
.BoxPatternB-arrange .ColumnSet > div > h5,
.BoxPatternC .ColumnSet > div > h2,
.BoxPatternC .ColumnSet > div > h3,
.BoxPatternC .ColumnSet > div > h4,
.BoxPatternC .ColumnSet > div > h5 {
  margin-bottom: 12px;
}

.BoxPatternB {
  padding-block: 25px;
}
.BoxPatternB > * {
  margin-bottom: 16px !important;
}
.BoxPatternB > *:last-child {
  margin-bottom: 0 !important;
}
.BoxPatternB .Title,
.BoxPatternB h2,
.BoxPatternB h3,
.BoxPatternB h4 {
  margin: 0;
  margin-bottom: 18px !important;
  font-weight: bold;
  color: var(--color-gray6);
  letter-spacing: 0.04em;
  border: none;
  padding: 0 30px 10px;
}
@media not all and (max-width: 767px), print {
  .BoxPatternB .Title,
  .BoxPatternB h2,
  .BoxPatternB h3,
  .BoxPatternB h4 {
    font-size: 100%;
  }
}
@media screen and (max-width: 767px) {
  .BoxPatternB .Title,
  .BoxPatternB h2,
  .BoxPatternB h3,
  .BoxPatternB h4 {
    font-size: 93.75%;
  }
}
@media screen and (max-width: 767px) {
  .BoxPatternB .Title + .Inner,
  .BoxPatternB h2 + .Inner,
  .BoxPatternB h3 + .Inner,
  .BoxPatternB h4 + .Inner {
    padding-left: 30px;
  }
}
.BoxPatternB p {
  margin-bottom: 0;
  padding: 0;
}
@media not all and (max-width: 767px), print {
  .BoxPatternB h5 {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  .BoxPatternB h5 {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .BoxPatternB ul {
    padding-inline: 0;
  }
}
.BoxPatternB ul.ListStyle1 {
  margin-bottom: 0;
  padding-inline: 10px;
}
@media not all and (max-width: 767px), print {
  .BoxPatternB ul.ListStyle1 {
    font-size: 93.75%;
  }
}
@media screen and (max-width: 767px) {
  .BoxPatternB ul.ListStyle1 {
    font-size: 87.5%;
  }
}
.BoxPatternB ul.ListStyle1 li {
  margin-bottom: 0;
  font-size: 100%;
}
.BoxPatternB ul.ListStyle1 li + li {
  margin-top: 15px;
}
@media not all and (max-width: 767px), print {
  .BoxPatternB .Inner {
    padding-inline: 30px;
  }
}
@media screen and (max-width: 767px) {
  .BoxPatternB .Inner {
    padding-inline: 20px;
  }
}
.BoxPatternB:has(h5) {
  padding-block: 30px;
}

@media not all and (max-width: 767px), print {
  .BoxPatternB-arrange {
    padding-block: 60px;
    padding-inline: 0;
  }
}
@media screen and (max-width: 767px) {
  .BoxPatternB-arrange {
    margin-top: 65px !important;
    margin-inline: -20px;
    padding-block: 60px 60px;
    padding-inline: 30px;
  }
}
.BoxPatternB-arrange h2,
.BoxPatternB-arrange h3,
.BoxPatternB-arrange h4,
.BoxPatternB-arrange h5 {
  align-items: center;
  justify-content: center;
  margin-bottom: 16px !important;
  padding-inline: 0;
  padding-bottom: 0;
  font-weight: bold;
  line-height: 1.35;
}
@media not all and (max-width: 767px), print {
  .BoxPatternB-arrange h2,
  .BoxPatternB-arrange h3,
  .BoxPatternB-arrange h4,
  .BoxPatternB-arrange h5 {
    font-size: 175%;
  }
}
@media screen and (max-width: 767px) {
  .BoxPatternB-arrange h2,
  .BoxPatternB-arrange h3,
  .BoxPatternB-arrange h4,
  .BoxPatternB-arrange h5 {
    font-size: 150%;
  }
}
.BoxPatternB-arrange p {
  margin-bottom: 23px;
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0.02em;
}
@media not all and (max-width: 767px), print {
  .BoxPatternB-arrange p {
    font-size: 100%;
  }
}
@media screen and (max-width: 767px) {
  .BoxPatternB-arrange p {
    font-size: 87.5%;
  }
}
.BoxPatternB-arrange .Button {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.BoxPatternB-arrange .Button .ButtonStyle2 {
  display: flex;
  justify-content: center;
  margin-bottom: 0;
}
@media not all and (max-width: 767px), print {
  .BoxPatternB-arrange .Button .ButtonStyle2 {
    gap: 24px;
  }
}
@media screen and (max-width: 767px) {
  .BoxPatternB-arrange .Button .ButtonStyle2 {
    gap: 16px;
    align-items: center;
    flex-direction: column;
  }
}
.BoxPatternB-arrange .Button .ButtonStyle2 li {
  margin-right: 0;
}
.BoxPatternB-arrange .Button .ButtonStyle2 li a {
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 0;
  min-width: auto;
  text-decoration: none !important;
  background-color: var(--color-red2);
  border: 2px solid var(--color-red2);
  border-radius: 100px;
  background-image: none;
  font-size: 112.5%;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.01em;
}
.BoxPatternB-arrange .Button .ButtonStyle2 li a::before, .BoxPatternB-arrange .Button .ButtonStyle2 li a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.BoxPatternB-arrange .Button .ButtonStyle2 li a::before {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #fff;
}
@media not all and (max-width: 767px), print {
  .BoxPatternB-arrange .Button .ButtonStyle2 li a::before {
    right: 24px;
  }
}
@media screen and (max-width: 767px) {
  .BoxPatternB-arrange .Button .ButtonStyle2 li a::before {
    right: 16px;
  }
}
.BoxPatternB-arrange .Button .ButtonStyle2 li a::after {
  width: 6px;
  height: 10px;
  -webkit-mask-image: url(/image/jp/hps/common/icon/icon_arw_01.svg);
  mask-image: url(/image/jp/hps/common/icon/icon_arw_01.svg);
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: var(--color-red2);
}
@media not all and (max-width: 767px), print {
  .BoxPatternB-arrange .Button .ButtonStyle2 li a::after {
    right: 38px;
  }
}
@media screen and (max-width: 767px) {
  .BoxPatternB-arrange .Button .ButtonStyle2 li a::after {
    right: 30px;
  }
}
@media not all and (max-width: 767px), print {
  .BoxPatternB-arrange .Button .ButtonStyle2 li a {
    padding-block: 23px;
    padding-inline: 30px 90px;
  }
}
@media screen and (max-width: 767px) {
  .BoxPatternB-arrange .Button .ButtonStyle2 li a {
    padding-block: 20px;
    padding-inline: 24px 82px;
  }
}
.BoxPatternB-arrange .Button .ButtonStyle2 li a span {
  text-decoration: none !important;
}
.BoxPatternB-arrange .Button .ButtonStyle2 li.white a {
  background-color: #fff;
}
.BoxPatternB-arrange .Button .ButtonStyle2 li.white a span {
  color: var(--color-gray6);
}
.BoxPatternB-arrange .Button .ButtonStyle2 li.white a::before {
  background-color: var(--color-red2);
}
.BoxPatternB-arrange .Button .ButtonStyle2 li.white a::after {
  background-color: #fff;
}
.BoxPatternB-arrange > *:first-child {
  margin-top: 0;
}

@media not all and (max-width: 767px), print {
  .BoxPatternC {
    padding-block: 30px;
    padding-inline: 10px;
  }
}
@media screen and (max-width: 767px) {
  .BoxPatternC {
    padding-block: 20px;
  }
  .BoxPatternC .HorizontalInnerLinks {
    padding-inline: 20px;
  }
}
.BoxPatternC::after {
  display: none;
}
.BoxPatternC > * {
  margin-bottom: 16px !important;
}
.BoxPatternC > *:last-child {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 767px) {
  .BoxPatternC ul {
    padding-inline: 0;
  }
}
.BoxPatternC .ClearFix::after {
  display: none;
}
@media screen and (max-width: 767px) {
  .BoxPatternC:has(.HorizontalInnerLinks) {
    margin-inline: -20px;
  }
}

ul.ListStyle1 li {
  position: relative;
  background: none;
}
ul.ListStyle1 li::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.5lh;
  left: 4px;
  translate: 0 -1px;
  background-color: var(--color-gray6);
  width: 4px;
  height: 4px;
  border-radius: 50%;
}

ul.ListStyle1,
ol.ListStyle1 {
  font-size: 90%;
}
ul.ListStyle1 li,
ol.ListStyle1 li {
  line-height: 1.55;
}

ol.ListStyle1 .TextStyle1 {
  font-size: 100% !important;
  margin-bottom: 30px;
}

.PageTop {
  color: var(--color-red2);
  font-size: 100%;
  line-height: 1.55;
  letter-spacing: 0.04em;
}
.PageTop a {
  position: relative;
  text-decoration: none;
  background-image: none;
  padding-right: 38px;
  z-index: 2;
}
.PageTop a::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background-image: url(/image/jp/hps/common/icon/icon_arw_03.svg);
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .ImgRightAdjust--spCenter {
    clear: both;
    text-align: center;
  }
}

#TopicPath ul li a {
  color: var(--color-red2);
}
#TopicPath ul li a:visited {
  color: var(--color-red3);
}
#TopicPath.TopicPath__white ul li a {
  color: #fff;
}
#TopicPath.TopicPath__white ul li a:visited {
  color: var(--color-gray2);
}

.TableStyle3 td .ListStyle1 {
  font-size: 100%;
}
.TableStyle3 td .ListStyle1 li {
  font-size: 100%;
  line-height: 160%;
}
.TableStyle3 td .ListStyle1:last-child {
  margin-bottom: 0;
}

.DataTableStyle1 .LinkListStyle1:last-child {
  margin-bottom: 0;
}

h2 .bl_titleSmall {
  background-color: transparent;
  padding: 0;
  font-size: 50%;
}
h2 > span:has(.bl_titleSmall) {
  line-height: 1.5;
}

.BoxPatternA h2 {
  padding-bottom: 8px !important;
}

.OptionWideRWD .Grid3 .ColumnSet__4col .Column1 {
  width: 212px;
}
@media screen and (max-width: 1304px) {
  .OptionWideRWD .Grid3 .ColumnSet__4col .Column1 {
    width: 25%;
  }
}

sup {
  font-size: 68.75%;
}