/*---------------------------------------
    common
----------------------------------------*/
img {
  width: 100%;
  height: auto;
}

body {
  min-width: initial;
  -webkit-text-size-adjust: 100%;
  padding-top: 43px;
}

body.has_submenu {
  padding-top: 88px;
}

.wrapper {
  width: auto;
}

.inner {
  width: auto;
  margin: 0 20px;
}

.sp_class {
  display: block;
}

* {
  -webkit-appearance: none;
  border-radius: 0;
}

/*----------------------------------------
  header
----------------------------------------*/
.header .inner {
  max-width: inherit;
  min-width: inherit;
  width: auto;
  margin: 0;
}

.header .logo {
  float: left;
  margin: 14px 0 13px 20px;
}

.header .logo svg {
  width: 130px;
  height: 21px;
}

.header .btn_menu_sub {
  opacity: 0;
  display: inline-flex;
  float: right;
  margin: 14px 10px 0 0;
}

.header .open_status .btn_menu_sub {
  opacity: 1;
}

.header .btn_menu_sub_language {
  font-family: "RobotoCondensed";
  font-weight: bold;
  color: #999999;
  text-decoration: none;
  font-size: 1.8rem;
  margin-right: 15px;
  line-height: 1em;
}

.header .btn_menu_sub_search {
  border: none;
  background-color: transparent;
  outline: 0;
  cursor: pointer;
  margin: 0;
  padding: 0;
}

.header .menu_sub_search_icon {
  color: #333;
  display: block;
  width: 15px;
  height: 15px;
  margin-top: 1px;
  fill: currentColor;
}

.header .global_header {
  margin: 0;
  display: none;
  position: absolute;
  background: none;
  z-index: 1000;
  width: 100%;
  top: 0;
  left: 0;
  float: none;
  overflow-y: scroll;
  min-height: 110px;
  max-height: calc(100vh - 45px);
}

.header .global_header .btn_close {
  display: block;
  text-align: right;
  background: #fff;
}

.header .global_header .btn_close svg {
  cursor: pointer;
  padding: 16px 20px;
  width: 14px;
  height: 14px;
  display: inline-block;
  margin-right: 4px;
}

.header .global_header.vertical {
  max-height: 100vh;
}

.header .global_header.vertical .global_menu {
  margin-bottom: 82px;
}

.header .wrapper_menu {
  background: #fff;
  position: relative;
  z-index: 1;
  opacity: 1;
  transition: all 0.3s linear;
}

.global_header.open.open_search .wrapper_menu {
  opacity: 0;
  z-index: 1;
}

.global_header.open .search_keyword {
  opacity: 1;
  z-index: 0;
}

.global_header.open.open_search .search_keyword {
  z-index: 1;
}

.header .global_menu {
  width: 94.66%;
  margin: 0 auto 80px;
  float: none;
  /* padding: 20px 0 0; */
  border-bottom: 1px solid #eee;
}

.header .global_menu > li {
  border-top: 1px solid #eee;
  float: none;
  margin-left: 0;
  display: block;
  height: auto;
  padding: 0;
}

.header .global_menu > li.accordion .category_anchor,
.header .global_menu > li.accordion .category_top_anchor {
  position: relative;
}

.header .global_menu > li.accordion .category_anchor::before, .header .global_menu > li.accordion .category_anchor:hover::before,
.header .global_menu > li.accordion .category_top_anchor::before,
.header .global_menu > li.accordion .category_top_anchor:hover::before {
  content: '';
  display: block;
  width: 4.65%;
  height: 0;
  padding-top: 2.53%;
  position: absolute;
  top: 40%;
  right: 5.6%;
  background: url(../img/share/ico-spmenu_arrow_down.png) no-repeat center top;
  background-size: contain;
  transform: rotate(0deg);
}

@media screen and (orientation: landscape) {
  .header .global_menu > li.accordion .category_anchor::before, .header .global_menu > li.accordion .category_anchor:hover::before,
  .header .global_menu > li.accordion .category_top_anchor::before,
  .header .global_menu > li.accordion .category_top_anchor:hover::before {
    width: 3.15%;
  }
}

.header .global_menu > li.accordion .category_anchor.open::before,
.header .global_menu > li.accordion .category_top_anchor.open::before {
  content: '';
  display: block;
  width: 4.65%;
  height: 0;
  padding-top: 2.53%;
  position: absolute;
  top: 40%;
  right: 5.6%;
  background: url(../img/share/ico-spmenu_arrow_up.png) no-repeat center top;
  background-size: contain;
}

@media screen and (orientation: landscape) {
  .header .global_menu > li.accordion .category_anchor.open::before,
  .header .global_menu > li.accordion .category_top_anchor.open::before {
    width: 3.15%;
  }
}

.header .global_menu > li.home {
  display: block;
}

.header .global_menu > li:nth-child(2) {
  padding: 0;
}

.header .global_menu > li.language {
  width: auto;
  margin: 0;
  padding: 0;
  position: relative;
  border-left: 0;
}

.header .global_menu > li.language > a {
  font-size: 1.6rem;
}

.header .global_menu > li > a {
  font-size: 2rem;
  display: block;
  padding: 10px 20px;
  overflow: hidden;
}

.header .global_menu > li > a span {
  display: inline-block;
  float: left;
}

.header .global_menu > li > a:hover {
  color: #000;
}

.header .global_menu > li > a:hover, .header .global_menu > li > a.active, .header .global_menu > li > a.open {
  border-bottom: none;
}

.header .global_menu > li > a.open {
  color: #888888;
}

.header .global_menu > li.recruit svg {
  width: 10px;
  height: 8px;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  top: 0;
  right: 0;
  margin: 10px 0 0 6px;
  float: left;
}

.header .global_menu > li.recruit a:hover {
  color: #000;
}

.header .global_menu > li.recruit a:hover svg {
  fill: #b8b8b8;
}

.header .btn_search {
  display: none;
}

.header .btn_search svg {
  width: 15px;
  height: 15px;
  display: block;
  fill: #333;
}

.header .btn_search a:hover svg {
  fill: #f2aa00;
}

.header .search_keyword {
  overflow: hidden;
  top: 0;
  left: 0;
  width: 100%;
  box-shadow: none;
  background: none;
  border-top: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  transition: all 0.3s linear;
  display: block;
  opacity: 0;
  pointer-events: none;
}

.header .open_search .search_keyword {
  display: block !important;
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

@media screen and (max-width: 320px) {
  .header .search_keyword {
    padding-bottom: 60px;
  }
}

.header .search_keyword .search_box {
  width: auto;
  min-width: initial;
  padding: 0px;
  z-index: 10;
}

.header .search_keyword .search_box::before {
  display: none;
}

.header .search_keyword .input_keyword {
  width: 92.5%;
}

.header .search_keyword .input_keyword input[type="text"] {
  font-size: 1.3rem;
  outline: none;
  border: 0;
}

.header .search_keyword .button_search {
  width: 7.5%;
  margin-top: 2px;
}

.header .search_keyword .button_search svg {
  margin-right: 10px;
}

.header .search_keyword .button_search input[type="submit"] {
  font-size: 1.3rem;
  background: #f8be00;
}

.header .search_keyword .close_search {
  display: none;
}

.header .search_keyword .cse_form {
  padding: 15px 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}

.header .overlay {
  display: none !important;
}

.header .overlay_sp {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
}

.header .top_menu {
  position: relative;
  z-index: 2000;
  background: #fff;
}

.header .top_menu::after {
  content: '';
  clear: both;
  display: table;
}

.header .top_menu.open_status {
  -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
}

.header .btn_menu {
  background-color: transparent;
  border: none;
  float: right;
  position: relative;
  margin: 15px 20px 0 0;
}

.header .btn_menu span {
  display: block;
  cursor: pointer;
}

.header .btn_menu svg {
  display: block;
  width: 20px;
  height: 14px;
}

.header .btn_menu .close_icon {
  display: none;
}

.header .btn_menu.open .menu_icon {
  display: none;
}

.header .btn_menu.open .close_icon {
  display: block;
}

.header .sub_menu {
  z-index: 1;
  padding-right: 21px;
}

.header .sub_menu ul {
  width: 9999px;
}

.header .sub_menu li {
  width: 100px;
  margin-left: 21px;
}

.header .sub_menu li:first-child {
  margin-left: 21px;
}

.header table.gsc-search-box {
  direction: rtl;
}

.header .cse_field .cse_input {
  padding-left: 45px;
  padding-right: 20px;
}

.header .cse_field .cse_input input {
  font-size: 1.3rem;
  height: 20px;
}

.header .cse_field .cse_submit {
  padding: 0px 10px 0 20px;
  border-left: 0;
  position: absolute;
  top: 17px;
  left: 0;
}

.header .cse_field .cse_submit svg {
  color: #888;
}

.swiper-slide {
  float: left;
  width: auto !important;
  display: inline-block;
}

/* hover_menu
----------------------------------------*/
.hover_menu {
  border-top: none;
  position: relative;
  top: 0;
  display: none;
}

.hover_menu_close {
  display: none;
}

.hover_content {
  padding: 0 20px;
}

.hover_content_inner {
  max-width: calc(100% - 40px);
  margin-left: 20px;
  margin-bottom: 10px;
  display: block;
}

.hover_content_inner .category {
  display: none;
}

.ir .hover_content_inner .category {
  display: block;
  margin-top: 20px;
  margin-left: -20px;
  border-right: none;
}

.ir .hover_content_inner .category svg {
  display: none;
}

.hover_content .about_content,
.hover_content .service_content,
.hover_content .ir_content,
.hover_content .ir_content_sub {
  width: 100%;
  display: inline-block;
  padding: 0;
}

.hover_content .about_content_item,
.hover_content .service_content_item,
.hover_content .service_content_item.no_images {
  width: 100%;
  max-width: 100%;
  margin-top: 0;
  display: block;
}

.hover_content .service_content .service_list.dx .service_list_item:not(:nth-child(3n+1)) {
  margin-left: 0;
}

.hover_content .ir_content_item,
.hover_content .ir_content_item:first-child,
.hover_content .ir_content_item + .ir_content_item {
  margin-top: 20px;
}

.hover_content .about_content_anchor,
.hover_content .service_content_anchor {
  padding: 10px 0;
  font-size: 1.6rem;
  display: inline-block;
  width: 100%;
}

.hover_content .about_content_anchor::before,
.hover_content .service_content_anchor::before,
.hover_content .ir_content_anchor::before {
  content: none;
}

.hover_content .service_content .service_list {
  margin-left: 15px;
  margin-bottom: 10px;
}

.hover_content .service_content .service_list_item {
  margin-bottom: 15px;
  width: 100%;
}

.hover_content .service_content .service_list_item:not(:nth-child(3n+3)) {
  margin-right: 0;
}

.hover_content .service_content .service_list_item:nth-child(3n+1), .hover_content .service_content .service_list_item:nth-child(3n+2) {
  width: 100%;
}

.hover_content .ir_content {
  margin-left: 0;
  border-right: none;
}

.hover_content .ir_content_anchor {
  font-size: 1.6rem;
}

.hover_content .ir_content_sub {
  margin-left: 0;
  margin-top: 30px;
}

.hover_content .ir_content_sub_btn {
  padding: 12px 10px;
}

.hover_content .ir_content_sub_anchor {
  color: #999999;
}

.hover_content .ir_content_sub .ir_sublist.btn {
  display: flex;
  justify-content: space-between;
}

.hover_content .ir_content_sub .ir_sublist.btn li {
  width: 48%;
}

.hover_content .ir_content_sub .ir_sublist.btn li + li {
  margin-top: 0;
}

.hover_content .ir_content_sub .ir_sublist.txtlink {
  margin-bottom: 20px;
}

.hover_content .ir_content_item {
  width: 100%;
}

/*----------------------------------------
  content
----------------------------------------*/
.block_content {
  display: none;
}

main {
  margin: 0 0 90px;
  text-align: left;
}

/*----------------------------------------
  footer
----------------------------------------*/
.footer .inner {
  width: auto;
  min-width: initial;
  max-width: 100%;
  margin: 0 2.2%;
}

.footer a:hover {
  opacity: 1;
}

/*  page_top
----------------------------------------*/
.footer .page_top {
  display: none;
  padding: 5px 0 7px;
}

.footer .page_top > a {
  font-size: 1rem;
  color: #fff;
}

.footer .page_top > a svg {
  width: 7px;
  height: 4px;
}

/*  .footer_main
----------------------------------------*/
.footer .footer_main {
  padding-bottom: 12px;
}

.footer .footer_info {
  display: none;
}

.footer .sns {
  padding-top: 20px;
  margin: 0 auto;
  text-align: center;
}

.footer .sns a {
  display: block;
}

/*  .footer_bottom
----------------------------------------*/
.footer .footer_bottom {
  height: auto;
  border-top: 0;
}

.footer .bottom_info {
  text-align: center;
}

.footer .copyright {
  float: none;
  margin-top: 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 8px 0 9px;
  text-align: center;
}

.footer .footer_navi {
  float: none;
  margin-top: 0;
  padding-bottom: 10px;
  text-align: center;
  width: 250px;
  margin: 0 auto;
}

.footer .footer_navi li {
  display: inline-block;
  float: none;
  text-align: left;
}

.footer .footer_navi a {
  display: block;
}

.footer .footer_navi li:not(:first-child) {
  margin-left: 1px;
}

.footer .footer_navi li:nth-child(3) a {
  border-right: 1px solid #5f5f53;
  padding-right: 4px;
}

.footer .footer_navi li:nth-child(4) {
  margin-left: 0;
}

.footer .footer_navi li:nth-child(4) a {
  border-left: 0;
  padding-left: 0;
}

.footer .footer_navi li:first-child {
  margin-left: 0px;
}

.footer .footer_navi li a,
.footer .footer_navi li span {
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  text-rendering: auto;
}

.footer .footer_navi li:not(:first-child) a,
.footer .footer_navi li:not(:first-child) span {
  padding-left: 4px;
}
