.container {
  margin: 0 auto;
  box-sizing: border-box;
  max-width: 1280px;
}
@media screen and (max-width: 780px) {
  .container {
    width: 82%;
  }
}

body {
  opacity: 0;
  transition: all 0.4s ease-out;
}
body.view {
  opacity: 1;
}

header {
  background-color: #fff;
  z-index: 50;
  width: 100%;
  font-size: 1.16em;
}
header .container {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 20px 50px 14px;
  width: 1280px;
}
header .option_wrap {
  display: flex;
  align-items: center;
  height: 1em;
}
header .option_wrap a {
  display: inline-block;
}
header .option_wrap p, header .option_wrap li, header .option_wrap input {
  line-height: 1em;
}
header .option__contact {
  margin-right: 40px;
}
header .option__language {
  display: flex;
  margin-right: 11px;
}
header .option__language li {
  line-height: 1em;
}
header .option__language li:first-child {
  padding-right: 12px;
  margin-right: 12px;
  border-right: 1px solid #000;
}
header .option__fz {
  display: flex;
}
header .option__fz li {
  margin-right: 7px;
  opacity: 0.5;
  cursor: pointer;
}
header .option__fz li.fz--active {
  opacity: 1;
}
header #SearchList {
  display: flex;
}
header #SearchList input[type=text] {
  border: 1px solid #cacaca;
  height: 22px;
  width: 184px;
  margin-right: 8px;
}
header #SearchList input[type=image] {
  border: none;
  width: 24px;
}
header .nav_trg {
  display: none;
}
@media screen and (max-width: 780px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
  }
  header .container {
    display: flex;
    padding: 0;
    width: 100%;
  }
  header .logo_wrap {
    width: 47%;
    padding: 2% 0 1% 3%;
  }
  header .logo_wrap img {
    vertical-align: bottom;
    width: 100%;
  }
  header .option_wrap {
    display: none;
  }
  header .nav_trg {
    display: inline-block;
    width: 12%;
  }
  header .nav_trg img {
    width: 100%;
    vertical-align: bottom;
  }
}

nav {
  position: absolute;
  top: 80px;
  left: 0;
  z-index: 50;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
}
nav .nav__container {
  position: relative;
  top: 0;
  left: 0;
}
nav .nav__container--top {
  background: url(/images/top/btn_bg.png) no-repeat center / 160% 100%;
  background-color: #fff;
}
nav .nav__list {
  display: flex;
  width: 1160px;
  margin: 0 auto;
}
nav .nav__list li {
  color: #fff;
}
nav .nav__list li.nav__item--sp {
  display: none;
}
nav .nav__list li a {
  color: #fff;
  box-sizing: border-box;
}
nav .nav__list li a.nav__trg {
  pointer-events: none;
  padding: 15px 0;
  display: inline-block;
  font-size: 1.18em;
  height: 100%;
}
nav .nav__list li a.nav__trg:hover {
  opacity: 1;
}
nav .nav__list li a.nav__trg span {
  display: flex;
  align-items: center;
  padding: 0 12px;
  border-left: 1px solid #fff;
  height: 100%;
}
nav .nav__list li a.nav__trg--active {
  background-color: #646464;
  pointer-events: auto;
}
nav .nav__list li a.nav__trg--top {
  padding: 15px 0;
  display: inline-block;
  font-size: 1.18em;
  pointer-events: auto;
  height: 100%;
}
nav .nav__list li a.nav__trg--top span {
  display: flex;
  align-items: center;
  padding: 0 17px;
  border-left: 1px solid #fff;
  height: 100%;
}
nav .nav__list li > li > a {
  height: 100%;
}
nav .nav__list li:last-child a.nav__trg span {
  border-right: 1px solid #fff;
}
nav .nav__list li:nth-child(10) a.nav__trg span {
  border-right: 1px solid #fff;
}
nav .nav__content {
  display: flex;
  align-items: center;
  width: 1160px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 30px 0;
}
nav .nav__content_wrap {
  position: absolute;
  top: 50px;
  left: 0;
  height: 0;
  width: 100%;
  overflow: hidden;
  background-color: #646464;
  transition: all 0.2s ease-out;
}
nav .nav__content_wrap--active {
  height: 170px;
}
nav .nav__content .content__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: 40px;
}
nav .nav__content .content__list li {
  margin-right: 40px;
  margin-bottom: 10px;
}
nav .nav__content .content__list li a {
  font-size: 1.166em;
}
nav .nav__content .content__title {
  /* height: 110px;
  min-width: 136px; */
  display: flex;
  align-items: center;
  border-right: 1px solid #fff;
  padding-right: 16px;
}
nav .nav__content .content__title a {
  line-height: 1em;
  padding: 0 18px;
  font-size: 1.33em;
  letter-spacing: 0.12em;
}
nav .nav__content_wrap .content__title a {
  width: 270px;
  min-width: 270px;
  height: 123px;
  display: flex;
  align-items: center;
  justify-content: center;
}
nav .nav__content_wrap .content__title--comp a {background: url(/images/common/menu_head_bg_comp.jpg) no-repeat center;}
nav .nav__content_wrap .content__title--domain a {background: url(/images/common/menu_head_bg_domain.jpg) no-repeat center;}
nav .nav__content_wrap .content__title--network a {background: url(/images/common/menu_head_bg_network.jpg) no-repeat center;}
nav .nav__content_wrap .content__title--maker a {background: url(/images/common/menu_head_bg_maker.jpg) no-repeat center;}
nav .nav__content_wrap .content__title--ir a {background: url(/images/common/menu_head_bg_ir.jpg) no-repeat center;}
nav .nav__content_wrap .content__title--recruit a {background: url(/images/common/menu_head_bg_recruit.jpg) no-repeat center;}
nav .nav__content_wrap .content__title--csr a {background: url(/images/common/menu_head_bg_csr.jpg) no-repeat center;}

@media all and (-ms-high-contrast: none) and (max-width: 780px) {
  nav .nav__list li a.nav__trg {
    height: auto;
  }
}
@media screen and (max-width: 780px) {
  nav {
    position: fixed;
    top: 0;
    left: 100%;
    height: 100%;
    background-color: #646464;
    transition: all 0.2s ease-out;
  }
  nav.nav--active {
    left: 0;
  }
  nav .nav__container {
    overflow-y: scroll;
    width: 100%;
    height: 100%;
  }
  nav .nav__container--top {
    background: none;
  }
  nav .nav__list {
    flex-direction: column;
    width: 100%;
  }
  nav .nav__list > li:first-child:first-child {
    display: none;
  }
  nav .nav__list li {
    width: 100%;
  }
  nav .nav__list li a {
    text-align: left;
    width: 100%;
  }
  nav .nav__list li a.nav__trg {
    pointer-events: none;
    padding: 10px 20px;
    font-size: 13px;
    border-bottom: 1px solid;
    position: relative;
    top: 0;
    left: 0;
  }
  nav .nav__list li a.nav__trg:after, nav .nav__list li a.nav__trg:before {
    content: "";
    position: absolute;
    transition: all 0.2s ease-out;
  }
  nav .nav__list li a.nav__trg:after {
    width: 14px;
    height: 12px;
    right: 19px;
    top: 10px;
    border-bottom: 2px solid #fff;
  }
  nav .nav__list li a.nav__trg:before {
    width: 13px;
    height: 14px;
    right: 12px;
    top: 16px;
    border-left: 2px solid #fff;
  }
  nav .nav__list li a.nav__trg span {
    padding: 0;
    border-left: none;
  }
  nav .nav__list li a.nav__trg--active {
    pointer-events: auto;
    border-bottom: none;
  }
  nav .nav__list li a.nav__trg--active:before, nav .nav__list li a.nav__trg--active:after {
    opacity: 0;
  }
  nav .nav__list li a.nav__trg--top {
    padding: 10px 20px;
    font-size: 13px;
    border-bottom: 1px solid;
    position: relative;
    top: 0;
    left: 0;
  }
  nav .nav__list li a.nav__trg--top span {
    padding: 0;
    border-left: none;
  }
  nav .nav__list li:last-child a.nav__trg span, nav .nav__list li:nth-child(10) a.nav__trg span {
    border-right: none;
  }
  nav .nav__list li.nav__item--sp {
    display: block;
  }
  nav .nav__list li.nav__item--sp a {
    display: block;
    pointer-events: auto;
    padding: 10px 20px;
    font-size: 13px;
    border-bottom: 1px solid;
  }
  nav .nav__list li.nav__item--en a {
    text-align: right;
    position: relative;
    top: 0;
    left: 0;
    padding-right: 44px;
  }
  nav .nav__list li.nav__item--en a:after {
    content: ">";
    position: absolute;
    right: 15px;
    top: 3px;
    font-size: 22px;
  }
  nav .nav__list li.nav__item--serch {
    box-sizing: border-box;
    padding: 30px 20px;
  }
  nav .nav__list li.nav__item--serch #SearchList {
    display: flex;
    justify-content: center;
  }
  nav .nav__list li.nav__item--serch #SearchList li:first-child {
    width: 100%;
  }
  nav .nav__list li.nav__item--serch #SearchList li:last-child {
    width: auto;
  }
  nav .nav__list li.nav__item--serch #SearchList input {
    background-color: #fff;
    display: block;
    border: none;
    border-radius: none;
  }
  nav .nav__list li.nav__item--serch #SearchList input[type=text] {
    font-size: 15px;
    box-sizing: border-box;
    padding: 10px;
    width: 100%;
    margin-right: 8px;
    height: 37px;
  }
  nav .nav__list li.nav__item--serch #SearchList input[type=image] {
    border: none;
    width: 29px;
    padding: 4px;
  }
  nav .nav__content {
    display: flex;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 3% 0;
    border-bottom: 1px solid #fff;
  }
  nav .nav__content_wrap {
    position: relative;
    top: 0;
    left: 0;
    height: 0;
    width: 100%;
    overflow: hidden;
    background-color: #646464;
    transition: all 0.2s ease-out;
  }
  nav .nav__content_wrap--active {
    height: auto;
  }
  nav .nav__content .content__list {
    display: flex;
    margin-left: 40px;
    text-align: left;
  }
  nav .nav__content .content__list li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2%;
  }
  nav .nav__content .content__list li a {
    font-size: 12px;
  }
  nav .nav__content .content__title {
    display: none;
  }
}

.group {
  margin-bottom: 80px;
}
.group h2 {
  color: #1e96dc;
  margin-bottom: 16px;
  text-align: center;
  font-size: 2em;
  margin-bottom: 14px;
  font-weight: bold;
}
.group ul {
  width: 810px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.group li a {
  line-height: 1em;
  display: inline-block;
  font-size: 1.5em;
  color: #fff;
  width: 360px;
  text-align: center;
  background: url(../images/top/group_btn_bg_pc.jpg) no-repeat center/100% 100%;
  box-sizing: border-box;
  padding: 26px 0;
}
@media screen and (max-width: 780px) {
  .group {
    margin-bottom: 11%;
  }
  .group h2 {
    margin-bottom: 16px;
    font-size: 1.4em;
    margin-bottom: 14px;
  }
  .group ul {
    width: 100%;
  }
  .group li {
    width: 48%;
  }
  .group li a {
    line-height: 1em;
    font-size: 1.2em;
    width: 100%;
    background: url(../images/top/group_btn_bg_sp.jpg) no-repeat top left/cover;
    box-sizing: border-box;
    padding: 22% 0;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

footer .footer__option_wrap {
  text-align: center;
  width: 100%;
  position: relative;
  top: 0;
  left: 0;
}
footer .footer__option_wrap .foot__logo {
  display: none;
}
footer .footer__option_wrap .top_rt {
  cursor: pointer;
  display: none;
  position: absolute;
  top: -44px;
  right: 0;
}
footer .footer__option_wrap .top_rt img {
  vertical-align: bottom;
}
footer .footer__option_wrap .top_rt--fix {
  position: fixed;
  top: auto;
  bottom: 0;
  opacity: 0;
}
footer .footer__content {
  background: #dadbdb;
  text-align: center;
  box-sizing: border-box;
  padding: 30px 0 20px;
}
footer .footer__content .foot_wrap {
  display: inline-block;
}
footer .footer__content ul {
  display: flex;
  margin-bottom: 20px;
  font-size: 1.16em;
}
footer .footer__content ul li:not(:last-child) {
  padding-right: 20px;
  border-right: 1px solid #000;
  margin-right: 20px;
}
footer .footer__content small {
  display: block;
}
@media screen and (max-width: 780px) {
  footer .footer__option_wrap {
    width: 100%;
  }
  footer .footer__option_wrap .foot__logo {
    display: inline-block;
    width: 100%;
    margin-bottom: 7%;
  }
  footer .footer__option_wrap .foot__logo img {
    width: 100%;
  }
  footer .footer__option_wrap .top_rt {
    display: none;
    position: absolute;
    right: 0;
  }
  footer .footer__option_wrap .top_rt--fix {
    position: fixed;
    top: auto;
    bottom: 0;
    opacity: 0;
  }
  footer .footer__content {
    padding: 6% 0 2%;
  }
  footer .footer__content .container {
    width: 100%;
  }
  footer .footer__content .foot_wrap {
    display: inline-block;
  }
  footer .footer__content ul {
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 10px;
    font-size: 1em;
  }
  footer .footer__content ul li{
    width: 45%;
    margin-bottom: 6px;
  }
  footer .footer__content ul li:not(:last-child) {
    padding-right: 0;
    border-right: none;
    margin-right: 0;
  }
}
