@charset "UTF-8";
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  max-width: 100%;
  line-height: 1.5;
}
html {
  font-size: 62.5%;
  color: #333;
}
.pc_only {
  display: block;
}
.sp_only {
  display: none;
}
@media screen and (min-width: 801px) {
  #header {
    position: relative !important;
    top: 0;
    left: 0;
    z-index: 99999;
    box-shadow: 0 1px 0 0 #e9eeef;
    background-color: #fff;
    width: 100%;
    height: 120px;
  }
  header>.sp_only {
    display: none;
    visibility: hidden;
    width: 0;
    height: 0;
  }
  header #cp_header #lang {
    /*#323232;*/
    display: flex;
    justify-content: flex-end;
    background: #000;
    padding: 11px 25px 12px 0;
    height: 40px;
  }
  header #cp_header #lang li {
    display: flex;
    align-items: center;
    border-left: solid 1px #fff;
  }
  header #cp_header #lang li:last-child {
    border-right: #fff solid 1px;
  }
  header #cp_header #lang li a {
    display: block;
    transition: opacity 0.1s ease-in;
    padding: 0 3rem;
    color: #fff;
    font-size: 1.6rem;
  }
  header #cp_header #lang li a:hover {
    opacity: 0.6;
  }
  /* header_contents */
  header #header_contents {
    display: flex;
    position: relative;
    justify-content: space-between;
    align-items: center;
  }
  header #header_contents nav {
    display: flex;
  }
  header #header_contents nav ul {
    display: flex;
  }
  header #header_contents nav ul li {
    display: flex;
    align-items: center;
    padding: 0 20px;
  }
  header #header_contents nav ul li,
  header #header_contents nav ul li a {
    color: #000;
    font-weight: 400;
    font-size: 1.6rem;
    font-size: clamp(1.4rem, 1.25vw, 1.8rem);
    line-height: 1.4;
  }
  header #header_contents nav ul li small {
    font-size: 1.4rem;
    font-size: clamp(1.2rem, 0.725vw, 1.4rem);
  }
  header #header_contents nav ul li a[target=_blank]::after {
    display: inline-block;
    margin-left: 0.5rem;
    background: url("../../common/img/icon_nw.svg") no-repeat center;
    width: 13px;
    height: 13px;
    content: "";
  }
  /* mega menu Common*/
  header #header_contents .child_menu {
    position: absolute;
    top: 100%;
    left: 0;
    visibility: hidden;
    opacity: 0;
    z-index: 99999999;
    transition: 0.5s opacity;
    background: #e1e9f7;
    padding: 30px 2% 70px;
    width: 100%;
  }
  header #header_contents .child_menu>* {
    margin-right: auto;
    margin-left: auto;
    max-width: 1500px;
  }
  header #header_contents .parent_menu:hover .child_menu {
    visibility: visible;
    opacity: 1;
  }
  header #header_contents .child_menu ul {
    display: block;
  }
  header #header_contents .child_menu a {
    display: inline-block;
    position: relative;
    transition: 0.2s ease-out;
    color: #0c3391;
    white-space: nowrap;
  }
  header #header_contents .child_menu a::after {
    display: inline-block;
    position: relative;
    transition: 0.2s ease-out;
    margin-left: 0.5rem;
    background-size: contain;
    content: "";
  }
  header #header_contents .child_menu a:hover {
    scale: 1.05;
    opacity: 0.75;
  }
  header #header_contents .child_menu a:hover::after {
    translate: 3px;
    scale: 1.2;
    opacity: 0.75;
  }
  header #header_contents .child_menu .child_menu_ttl {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
  }
  header #header_contents .child_menu .child_menu_ttl p {
    margin-right: 3rem;
    color: #323232;
    font-weight: 600;
    font-size: 1.5em;
  }
  header #header_contents .child_menu .child_menu_ttl>p>a {
    display: flex;
    align-items: center;
    font-weight: normal;
  }
  header #header_contents [id^=cp_header_] .child_menu .child_menu_ttl>p>a::after {
    margin-top: 0.2rem;
    background: url("../../common/img/icon_arrow_1.svg") no-repeat center;
    width: 2.2rem;
    height: 2.2rem;
  }
  /* mega menu #cp_header_service */
  header #cp_header_service .child_menu .child_menu_detail ul li {
    margin: 0 0 1rem 0;
    font-feature-settings: "palt";
  }
  header #header_contents #cp_header_service .child_menu .child_menu_detail a::after {
    background: url("../../common/img/icon_nw.svg") no-repeat center;
    width: 11px;
    height: 11px;
  }
  header #cp_header_service .child_menu .child_menu_detail {
    display: flex;
    justify-content: space-between;
    gap: 0 1rem;
  }
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box dl dt {
    margin-bottom: 1rem;
  }
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box dl dt>a {
    display: inline-block;
    margin-bottom: 10px;
    padding: 0.4rem 0 0 4.8rem;
    color: #0c3391;
    font-weight: bold;
    font-size: 1.8rem;
    font-size: clamp(0.7em, 1.4vw, 1.1em);
  }
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box:not(:last-child) {
    margin-right: 1.5rem;
  }
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box dl+dl {
    margin-top: 50px;
  }
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box dl dt.cate_housing {
    background: url(../../common/img/header/biz_housing.png) no-repeat left bottom 0.6rem;
    background-size: contain;
  }
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box dl dt.cate_cloud {
    background: url(../../common/img/header/biz_cloud.png) no-repeat left bottom 0.5rem;
    background-size: contain;
  }
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box dl dt.cate_stream {
    background: url(../../common/img/header/biz_streaming.png) no-repeat left bottom 0.5rem;
    background-size: contain;
  }
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box dl dt.cate_workstyle {
    background: url(../../common/img/header/biz_data.png) no-repeat left bottom 0.5rem;
    background-size: contain;
  }
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box dl dt.no_icon,
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box dl dt.no_icon>a {
    padding-left: 1rem;
  }
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box dl dd ul li:last-child {
    margin-bottom: 0;
  }
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box dl dd {
    margin-left: 1.8em;
  }
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box:nth-child(2) dl dd {
    display: flex;
  }
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box dl dd ul li a {
    font-size: clamp(1.4rem, 1.2vw, 1.8rem);
  }
  /* mega menu #cp_header_company */
  header #cp_header_company .child_menu_detail ul:first-child {
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
  }
  header #cp_header_company .child_menu_detail ul:first-child li a {
    display: flex;
    align-items: center;
    padding: 0 20px;
    width: 416px;
    height: 126px;
  }
  header #cp_header_company .child_menu_detail ul:first-child li a span {
    display: inline-block;
    font-weight: bold;
    font-size: 1.8rem;
  }
  header #cp_header_company .child_menu_detail ul:first-child li a:before {
    display: none;
  }
  header #cp_header_company .child_menu_detail ul:first-child li a {
    transition: 0.3s ease-in;
    background-size: 120%;
  }
  header #cp_header_company .child_menu_detail ul:first-child li:first-child a {
    background: url(../../common/img/header/bg_vision.jpg) no-repeat center;
  }
  header #cp_header_company .child_menu_detail ul:first-child li:last-child a {
    background: url(../../common/img/header/bg_business.jpg) no-repeat center;
  }
  header #cp_header_company .child_menu_detail ul:first-child li a:hover {
    /* background-size: 135%; */
    transform: scale(1.1);
  }
  header #cp_header_company .child_menu_detail ul:first-child li:last-child a span {
    color: #0c3391;
  }
  header #cp_header_company .child_menu_detail ul:first-child li:first-child a span {
    color: #fff;
  }
  header #cp_header_company .child_menu_detail ul:first-child li a::after {
    margin-left: auto;
  }
  header #cp_header_company .child_menu_detail ul:last-child {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-right: auto;
    margin-left: auto;
    max-width: 900px;
  }
  header #cp_header_company .child_menu_detail ul:last-child li {
    margin-bottom: 1.5rem;
    width: 31%;
  }
  header #cp_header_company .child_menu .child_menu_detail a::after {
    top: 0.5rem;
    background: url("../../common/img/icon_arrow_1.svg") no-repeat center;
    width: 2.2rem;
    height: 2.2rem;
  }
  /* Btn Link contact */
  header #header_contents nav p.btn_contact {
    border-left: #0c3391 solid 1px;
    text-align: center;
  }
  header #header_contents nav p.btn_contact a {
    display: block;
    position: relative;
    padding: 45px 30px 6px 30px;
    background-color: #0c3391;
    color: #FFF;
    font-weight: 500;
    font-size: 1.15rem;
    line-height: 1.2;
    white-space: nowrap;
  }
  header #header_contents nav p.btn_contact a:before {
    position: absolute;
    top: 6px;
    right: 0;
    left: 0;
    margin: auto;
    background: url(/common/img/header/icon_inquire_wh.svg) no-repeat;
    background-size: contain;
    width: 36px;
    height: 36px;
    content: "";
  }
  header #header_contents nav p.btn_contact a:hover {
    opacity: 1;
    /* border-bottom: solid 3px #0c3391; */
    background-color: #fff;
    color: #0c3391;
  }
  header #header_contents nav p.btn_contact a:hover:before {
    background: url(/common/img/header/icon_inquire_bl.svg) no-repeat;
  }
  /* header_logo */
  header #header_logo {
    display: flex;
    align-items: center;
  }
  header #header_logo>a {
    display: inline-block;
    margin-right: 1.8em;
    margin-left: 1.8em;
    width: 174px;
    width: clamp(148px, 3vw, 178px);
    /* height: 48px; */
  }
  header #header_logo p {
    font-size: 1.2rem;
    font-size: clamp(1rem, 1vw, 1.2rem);
    line-height: 1.5;
  }
}
@media screen and (max-width: 1025px) {
  header .pc_only>#cp_header>#header_contents>nav {
    justify-content: flex-end;
    width: calc(100% - 198px);
  }
  header .pc_only>#cp_header>#header_contents>nav>ul>li {
    padding: 0 1em;
  }
  header #header_logo p {
    display: none;
  }
}
@media screen and (max-width: 1200px) {
  /* header #cp_header_service .child_menu {
    padding: 30px 30px 50px 30px;
  }
     */
  header #cp_header_service .child_menu .child_menu_detail {
    justify-content: flex-start;
  }
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box {
    margin-right: 5%;
  }
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box:nth-child(2) dl dd {
    display: block;
  }
  /*
  header #cp_header_service .child_menu .child_menu_detail .cp_header_service_box:nth-child(2) dl dd ul:first-child {
    margin: 0 0 10px 0;
  } */
}
/*# sourceMappingURL=header.css.map */


@media screen and (max-width: 800px) {
  header>.pc_only {
    display: none;
    visibility: hidden;
    width: 0;
    height: 0;
  }
  header>.sp_only {
    display: block;
    visibility: visible;
  }
  header {
    width: 100%;
    position: absolute !important;
  }
  header nav {
    position: relative !important;
  }
  header nav.dropdown_sp {
    z-index: 9999;
  }
}
