@charset "utf-8";

/*-------------------------------------
* base
*-------------------------------------*/

html {
  font-size: 62.5%;
}
body {
  color: #333;
  font-size: 1.6rem;
  font-family: 'Open Sans', sans-serif,"Hiragino Kaku Gothic ProN", Meiryo;
}
/*footerを最下部に固定*/
body,
#container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
*,*::before,*::after {
  box-sizing: border-box;
}
h1,h2,h3,p,.list th,.list td {
  letter-spacing: 1px;
  line-height: 1.5;
}
h2 {
  margin: 0 0 20px -0;
  padding: 0 0 0 12px;
	font-size: 2.0rem;
  border-left: 12px solid #f90;
}
h3 {
	font-size: 1.6rem;
}
p {
  margin: 0 0 16px 0;
  text-indent: 1em;
}
a:link, a:visited, a:focus {
  outline: none;
  text-decoration: none;
}
a:hover, a:active {
  outline: none;
  text-decoration: underline;
}
a.external {
  display: inline-block;
  padding: 0 20px 0 0;
  background-image: url("imgs/icon_link.png");
  background-repeat: no-repeat;
  background-position: 100% 30%;
  color: #00f;
}
/*company.html ggmap 地図へ誘導*/
.ggmap2 .external {
  display:block;
  text-align: right;
  padding: 10px 0 0 0;
}
a.button {
  display: block;
}
/* header top-logo 回り込み回避*/
.clearfix::after {
  content: '';
  display: block;
  clear: both;
}
/*-------------------------------------
* header
*-------------------------------------*/
.header {
  position: fixed; /*header 固定*/
  width: 100%;
  padding: 10px 50px;
  background-color: #000;
  color: #fff;
  text-align: center;
  box-shadow: 0 0 10px 2px #696969;
}
.top-logo {
  display: inline-block;
  padding: 10px;
  background-color: #000;
}
.top-logo img {
  display: inline-block;
  width: 75%;
  margin: 0 0 -14px 0;
}
.top-logo a:hover {
  opacity: 0.8;
}
.global_nav {
  display: inline-block;
  vertical-align: middle;
}
.nav_item {
  display: inline-block;
  font-size: 1.6rem;
  margin-right: 20px;
}
.nav_item a {
  display: inline-block;
  width: 140px;
  height: 50px;
  color: #fff;
  /* transition: 0.3s ease-in-out; */
  line-height: 3;
  border-radius: 10px;
}
.nav_item a:hover {
  text-decoration: none;
  background-color: rgba(255,255,255,0.75);
  color: #000;
}
/*-------------------------------------
* main
*-------------------------------------*/
.main {
  padding: 150px;
}
/*index.html のみ*/
#index .main {
  min-height: 95vh; /*ブラウザの高さ 95%に指定*/
  padding-top: 8%; 
  background: #151515 url("../imgs/index_bg.jpg")no-repeat center;
  background-color:rgba(255,255,255,0.3); /*　背景画像 透過*/
  background-blend-mode:lighten; /*　背景画像 透過*/
  background-size: cover;
}
#index .footer {
  height: 5vh;/*mainと合わせて100%*/
}
.inner {
  position: relative;
  width: 50%;
  min-width: 600px;
  min-height: 500px;
  margin: 0 auto;
}
.intro {
  padding: 120px 0;
  color: #f90;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 2px;
}
.info {
  display: inline-block;
  position: absolute;
  bottom: 35%;
  right: 0;
}
.info a {
  position: relative;
  display: block;
  color: #333;
  border: 1px solid #a9a9a9;
  border-radius: 5px;
  font-size: 1.4rem;
  outline: none;
  text-decoration: none;
  transition: 0.3s ease-in-out;
}
.info a:hover {
  box-shadow: 5px 10px 5px rgba(0,0,0,0.20); /*　影をつける */
  transform: translateY(-4px); /*　影をつける */
}
.info .title {
  position: absolute;
  top: 0;
  left: 15%;
  font-size: 1.5rem;
}
.info dt {
  display: inline-block;
  margin-bottom:10px;
  font-weight: bold;
}
.info dd {
  margin: 10px 0 0 86px;
  font-size: 1.4rem;
  line-height: 1.5;
}
/* index.html以外*/
.content {
  width: 550px;
  margin: 0 auto 30px;
}
/* category logo*/
.logo {
  display: inline-block;
  position: absolute;
  top: 40%;
  left: 2%;
  width: 50px;
  height: 20px;
  color: #fff;
  font-size: 1.0rem;
  line-height: 2;
  border-radius: 5px;
}
.logo.product {
  width: 70px;
  background-color: #f90;
  padding-left: 15px;
}
/* --- recruit,company.html ---*/
.list {
  display: inline-block;
  border-collapse: collapse;
}
.list th {
  min-width: 150px;
  padding: 12px 20px 2px 0;
  vertical-align: top;
  text-align: left;
  font-weight: normal;
  border-bottom: 1px dashed #ccc;
}
.list td {
  padding: 12px 4px 2px 0;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px dashed #ccc;
  line-height: 2rem;
}
/* index.html 768px以下のみ出現*/
.hidden {
  display: none;
}
/* --- company.html googlegmap ---*/
.ggmap {
  position: relative;
  width: 100%;
  padding-top: 75%; /* = height ÷ width × 100 */
}
.ggmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*-------------------------------------
* footer
*-------------------------------------*/
.footer {
  margin-top: auto;
  padding: 15px 0;
  background: #000;
  color: #fff;
}
.copyright {
  margin: 0;
  background-color: #000;
  text-align: center;
  letter-spacing: 1px;
}

/*-------------------------------------
* smartphone
*-------------------------------------*/
@media (max-width:768px) {
/* --- base ---*/
h2 {
  font-size: 1.2rem;
}
h3,p {
  font-size: 1.0rem;
}
/* --- header ---*/
.header {
  z-index: 1;
  padding: 10px 0 5px 0;
}
.top-logo {
  padding-bottom: 5px;
}
.global_nav {
  display: block;
}
.nav_item {
  margin: 0;
  font-size: 1.0rem;
}
.nav_item a {
  width: 80px;
  height: 25px;
  line-height: 2.2;
}
/* --- main ---*/
.main {
  padding: 0;
  padding-top: 130px;
}
/*index.html のみ*/
#index .main {
  background: none;
  min-height: 150px;
  padding-top: 100px;
}
#index .footer {
  height: auto;
}
.inner {
  position: static;  /*position 解除*/
  width: 80%;
  min-width: 300px;
  min-height: initial;  /*min-height 解除*/
}
.intro {
  display: none;
}
.info {
  display: block;
  position: static;  /*position 解除*/
  min-width: 300px;
  margin: 50px auto 20px;
}
.info a {
  position: relative; 
}
.info .title {
  position: absolute;
  top: 5%;
  left: 15%;
  margin: 0; 
  font-size: 1.0rem;
}
.info dd {
  margin: 10px 0 0 53px;
  font-size: 1.0rem;
}
/* index.html以外*/
.content {
  width: 250px;
}
/* category用logo*/
.logo {
  position: absolute;
  top: 0;
  left: 0;
}
.logo.product {
  width: 45px;
  padding-left: 3px;
  background-color: #f90;
}
.logo.company {
  background-color: skyblue;
  padding-left: 1px;
}
.logo.recruit{
  width: 45px;
  padding-left: 5px;
  background-color: greenyellow;
}
/* --- recruit,company.html ---*/
.list th {
  min-width: initial;
  width: 25%;
  padding: 5px 10px 2px 0;
  font-size: 1.1rem;
}
.list td {
  width: 70%;
  padding: 5px 2px 2px;
  font-size: 1.0rem;
}
/* --- company.html googlegmap ---*/
.ggmap2 .external {
  font-size: 1.2rem;
}
/* --- footer ---*/
.footer {
  font-size: 1.2rem;
}
}