
/* PC -------------------------------------------------------------------------------------*/
@media screen and (min-width: 641px) {
    body {
      margin: 0;
      overflow-x: hidden;
    }


/*ヘッダー部分ここから------------------------------------------*/
h1.logo {
      position: absolute;
      width: 370px;
      height: 70px;
      left: 0px;
      top: 0px;
      z-index: 3;
}

/*検索窓ここから*/
#serch_top {
	position: absolute;
	width: 280px;
	height: 28px;
    right: 120px;
/*    right: 180px;*/
    top: 17px;
    z-index: 3;
}

#serch_top .serch_box {
	height: 28px;
	width: 160px;
/*	width: 177px;*/
    background: url("../img_2021/common/kensaku_mado_2.png") no-repeat;
    background-position: 0 0;
	border: none;
    background-color: #eee;
    padding-left: 33px;
    box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.4);
}
#serch_top .serch_btn {
	border: none;
	height: 28px;
	width: 50px;
/*	width: 59px;*/
	margin: 0 0 0 2px;
	padding: 0px;
    background-color: #01abdf;
    color: #fff;
    cursor: pointer;
    box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.4);
    border-radius:5px;
}
/*検索窓ここまで*/

/*ヘッダー部分ここから------------------------------------------*/

/*メインビジュアルここから------------------------------------------*/
.main-visual {
      height: 100vh;
      position: relative;
      overflow: hidden;
}

.background-img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: -1; /* 画像が背景として表示されるように */
}

.orbit-container {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
}

.orbit-button {
      position: absolute;
      width: 230px;/*円の大きさ*/
      height: 230px;/*円の大きさ*/
      overflow: hidden;
      transition: transform 0.3s;
      cursor: pointer;
      z-index: 10;
}

.orbit-button img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 50%;
}

.orbit-button:hover {
      transform: scale(1.13);/*リンクボタン拡大率*/
      z-index: 10;
}

.tooltip {/*フキダシ*/
      position: absolute;
      background: #333;
      color: #fff;
      padding: 8px 12px;
      border-radius: 6px;
      font-size: 14px;
      white-space: nowrap;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.2s;
      z-index: 100;
}

.tooltip::after {/*フキダシ*/
      content: "";
      position: absolute;
      bottom: -6px;
      left: 50%;
      transform: translateX(-50%);
      border-width: 6px 6px 0 6px;
      border-style: solid;
      border-color: #333 transparent transparent transparent;
}

/*スライド*/
.background-slideshow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
}

.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 2s ease-in-out;
}

.slide.active {
  opacity: 1;
}
/*スライドここまで*/

.catch_1 {
  position: absolute;
  top: 50%;
  left: 37%;
  transform: translate(-37%, -85%);
/*  left: 50%;
  transform: translate(-50%, -85%);*/
  z-index: 3;
}

.catch_1 img {
      width: 750px;
}

.catch_2 {
  position: absolute;
  top: 50%;
  left: 37%;
  transform: translate(-37%, 410%);
/*  left: 50%;
  transform: translate(-50%, 410%);*/
  z-index: 3;
}

.catch_2 img {
      width: 840px;
}

.arrow {
position: absolute;
width: 100%;
height: 72px;
bottom: 0;
/*text-align: center;*/
left: 42.5%;
transform-x: translate(-42.5%);
z-index: 5;
}

.arrow img {
transition: transform 0.3s;
width: 60px;
}

.arrow img:hover {
transform: scale(1.3);/*リンクボタン拡大率*/
}

/*メインビジュアルここまで------------------------------------------*/

/*コンテンツここから------------------------------------------*/
#top_content {
   width: 1040px;
   margin: 0 auto;
}

/*企業メッセージ*/
#policy {
}
#policy .poli_read_1 {
/*   width: 770px;
   margin: 0 auto;*/
padding: 0 0 6em 0;
font-size: 120%;
line-height: 2em;
text-align: center; /* 中身のdivを中央配置するため */
}
#policy .poli_read_2 {
display: inline-block; /* 中央揃え可能、かつ幅は中身に応じて */
text-align: left; /* テキストは左揃え */
}
#policy p {
   font-size: 270%;
   text-align: center;
   padding: 1.8em 0 0.8em 0;
}

.business_name {
color: #1d2087;
font-size: 260%;
border-bottom: #9e9e9e solid 1px;
padding: 1.5em 0 0.5em 0;
text-align: center;
}

.business_name span {
letter-spacing: 0.3em;
}

.bus_catch {
font-size: 180%;
text-align: center;
font-weight: 900;
padding: 1.3em 0 1em 0;
}

.bus_read_1 {
font-size: 120%;
/*width: 620px;*/
padding: 0 0 0 0;
margin: 0 auto;
line-height: 1.8em;
text-align: center; /* 中身のdivを中央配置するため */
}

.bus_read_2 {
display: inline-block; /* 中央揃え可能、かつ幅は中身に応じて */
text-align: left; /* テキストは左揃え */
}

.business {
display: flex;
flex-wrap: wrap;
align-content: flex-start; /* 上揃えにする */
margin-top: 2.3em;
padding-bottom: 5em;
gap: 40px;
}

.business .box {
width: calc((100% - 80px)/3);/*gap×2の値*/
}

.business .box img {
width: 100%;
}

.business .box .pic {
top: 0;
left: 0;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.business .box .pic:hover {
transform: scale(1.09);
}

.business .box span {
font-size: 100%;
line-height: 1.8em;
}

/*調査事業*/
#research {
}

/*プラス事業*/
#device {
}

/*海外事業*/
#overseas {
}

#overseas .img {
width: 914px;
margin: 1.8em auto 1.8em auto;
}
#overseas .overseas {
padding-bottom: 5em;
}

/*NEWS*/
#news {
}

#news .news_name {
color: #1d2087;
font-size: 260%;
border-bottom: #9e9e9e solid 1px;
padding: 1.5em 0 0.5em 0;
text-align: center;
margin-bottom: 0.5em;
}

#news .news_name span {
letter-spacing: 0.15em;
}

#news .news {
padding-bottom: 5em;
width: 75%;
margin: 0 auto;
}

#news .news_top {
border-left: 8px solid #009fe8;
padding: 0.5em 0 0.5em 0.8em;
}

#news .data {
font-weight: bolder;
color: #009fe8;
font-size: 90%;
display: inline-block;
width: 8em;
}

#news .news_title {
font-weight: bolder;
font-size: 120%;
}

#news .news_txt {
font-size: 105%;
padding: 1em 0 1.5em 2em;
line-height: 1.6em;
border-bottom: 1px solid #9e9e9e;
margin-bottom: 1.5em;
margin-top: -1em;
}

#news .news_all {
font-size: 105%;
font-weight: bolder;
text-align: right;
}

/*採用情報*/
#recruitment .box_1 {
width: 100%;
height: 400px;
background-image: url("../img_2021/top_2025/saiyou.jpg");
background-size: cover;
background-repeat: no-repeat;
background-position: center center;
}

#recruitment .box_2 {
width: 1040px;
margin: 0 auto;
padding: 3em 0 0 0;
}

#recruitment .box_3 {
margin: 0 0 1.5em 0;
font-size: 150%;
line-height: 1.5em;
}

#recruitment h3 {
font-size: 300%;
font-weight: bolder;
color: #1d2087;
margin: 0 0 0.8em 0;
}

#recruitment h3 {
letter-spacing: 0.15em;
}

#recruitment .r_link {
margin: 0 0 1.8em 0;
}

/*コンテンツここまで------------------------------------------*/

/*右上／採用情報*/
.recruitment {
      width: 130px;
/*      width: 158px;*/
      height: 48px;
      position: absolute;
/*      position: fixed;*/
      right: 0px;
      top: 0px;
      z-index: 20;
}

#news .top_f {
display: block;
}
#news .top_r {
display: none;
}

}
/*PCここまで*/


/* SP -------------------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
body {
      margin: 0;
      overflow-x: hidden;
      scroll-behavior: auto; /* JSで制御するのでautoに */
}


/*ヘッダー部分ここから------------------------------------------*/
h1.logo {
position: absolute;
      width: 50%;
      left: 50%;
      top: 45%;
      z-index: 3;
transform: translate(-50%,-50%);
}

h1.logo img {
      width: 100%;
}

/*検索窓ここから*/
#serch_top {
    display: none;
}
/*検索窓ここまで*/

/*ヘッダー部分ここから------------------------------------------*/

/*メインビジュアルここから------------------------------------------*/
.main-visual {
      height: 100vh;
      position: relative;
      overflow: hidden;
}

.background-img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: -1; /* 画像が背景として表示されるように */
}

.orbit-container {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
}

.orbit-button {
      position: absolute;
      width: 31%;/*円の大きさ*/
/*      width: 230px;/*円の大きさ*/
/*      height: 230px;/*円の大きさ*/
      overflow: hidden;
      transition: transform 0.3s;
      cursor: pointer;
      z-index: 10;
}

.orbit-button img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 50%;
}

.tooltip {/*フキダシ*/
      display: none;
}

/*スライド*/
.background-slideshow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
}

.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 2s ease-in-out;
}

.slide.active {
  opacity: 1;
}
/*スライドここまで*/

.catch_1 {
  position: absolute;
  top: 0.3em;
  z-index: 3;
}

.catch_1 img {
      width: 100%;
}

.catch_2 {
width: 75%;
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 3;
}

.catch_2 img {
      width: 100%;
}

.arrow {
position: absolute;
width: 100%;
/*height: 72px;*/
bottom: 0;
text-align: center;
/*left: 50%;
transform: translateX(-50%);*/
z-index: 5;
}

.arrow img {
width: 10%;
}

/*メインビジュアルここまで------------------------------------------*/

/*コンテンツここから------------------------------------------*/
#top_content {
   width: 90%;
   margin: 0 auto;
}

/*企業メッセージ*/
#policy {
}
#policy .poli_read_1 {
/*   width: 770px;
   margin: 0 auto;*/
padding: 0 0 4em 0;
font-size: 100%;
line-height: 1.8em;
/*text-align: center; /* 中身のdivを中央配置するため */
}
#policy .poli_read_2 {
/*display: inline-block; /* 中央揃え可能、かつ幅は中身に応じて */
text-align: left; /* テキストは左揃え */
}
#policy p {
   font-size: 190%;
   text-align: center;
   padding: 0.8em 0 0.5em 0;
line-height: 1.2em;
}

.business_name {
color: #1d2087;
font-size: 170%;
border-bottom: #9e9e9e solid 1px;
padding: 0.5em 0 0.5em 0;
text-align: center;
line-height: 1.1em;
}

.business_name span {
letter-spacing: 0.3em;
}

.bus_catch {
font-size: 120%;
text-align: center;
font-weight: 900;
padding: 1.3em 0 1em 0;
}

.bus_read_1 {
font-size: 100%;
/*width: 620px;*/
padding: 0 0 0 0;
margin: 0 auto;
line-height: 1.8em;
text-align: center; /* 中身のdivを中央配置するため */
}

.bus_read_2 {
display: inline-block; /* 中央揃え可能、かつ幅は中身に応じて */
text-align: left; /* テキストは左揃え */
}

.business {
display: flex;
flex-wrap: wrap;
align-content: flex-start; /* 上揃えにする */
margin-top: 1.5em;
padding-bottom: 1.5em;
gap: 5%;
line-height: 1.2em!important;
}

.business .box {
width: calc((100% - 5%)/2);/*gap×1の値*/
margin-bottom: 5vh;
}

.business .box img {
width: 100%;
}

.business .box .pic {
top: 0;
left: 0;
/*transition: transform 0.3s ease, box-shadow 0.3s ease;*/
}

.business .box .pic:hover {
/*transform: scale(1.09);*/
}

.business .box span {
font-size: 80%;
/*line-height: 1.3em!important;*/
}

/*調査事業*/
#research {
}

/*プラス事業*/
#device {
}

/*海外事業*/
#overseas {
}

#overseas .img {
width: 100%;
margin: 1em auto 1em auto;
}

#overseas .img img {
width: 100%;
}

#overseas .overseas {
padding-bottom: 3em;
}

/*NEWS*/
#news {
}

#news .news_name {
color: #1d2087;
font-size: 170%;
border-bottom: #9e9e9e solid 1px;
padding: 1em 0 0.5em 0;
text-align: center;
margin-bottom: 0.5em;
}

#news .news_name span {
letter-spacing: 0.15em;
}

#news .news {
padding-bottom: 5em;
width: 100%;
margin: 0 auto;
}

#news .news_top {
border-left: 8px solid #009fe8;
padding: 0.5em 0 0.5em 0.8em;
}

#news .data {
font-weight: bolder;
color: #009fe8;
font-size: 90%;
display: inline-block;
width: 8em;
}

#news .news_title {
font-weight: bolder;
font-size: 110%;
}

#news .news_txt {
font-size: 95%;
padding: 1em 0 1.5em 1.5em;
line-height: 1.5em;
border-bottom: 1px solid #9e9e9e;
margin-bottom: 1.5em;
margin-top: -1.5em;
}

#news .news_all {
display: none;
/*font-size: 100%;
font-weight: bolder;
text-align: right;*/
}

/*採用情報*/
#recruitment .box_1 {
width: 100%;
/*height: 400px;*/
background-image: url("../img_2021/top_2025/saiyou.jpg");
background-size: cover;
background-repeat: no-repeat;
background-position: center center;
margin-bottom: 10vh;
}

#recruitment .box_2 {
width: 90%;
margin: 0 auto;
padding: 1.3em 0 0 0;
}

#recruitment .box_3 {
margin: 0 0 1.5em 0;
font-size: 90%;
line-height: 1.5em;
}

#recruitment h3 {
font-size: 180%;
font-weight: bolder;
color: #1d2087;
margin: 0 0 0.3em 0;
letter-spacing: 0.15em;
}

#recruitment .r_link {
margin: 0 0 1em 0;
}

#recruitment .r_link2 {
display: none;
/*width: 42%;*/
}

#recruitment .r_link3 {
width: 55%;
margin: 3em 0 1em 0;
}

/*コンテンツここまで------------------------------------------*/

/*左下／採用情報*/
.recruitment {
width: 15%;
/*height: 75px;*/
position: fixed;
bottom: 2vh;
left: 2%;
/*opacity: 0;
visibility: hidden;
transition: opacity 0.7s, visibility 0.7s;
pointer-events: none;*/
z-index:100;
}

.recruitment img {
width: 100%;
}

.recruitment.show {
/*opacity: 1;
visibility: visible;
pointer-events: auto;*/
}

}/*SPここまで*/








