/*common CSS*/
@font-face {
  font-family: 'yasashiB';
  src: url('../font/yasashisaBold.ttf') format('truetype');
}
body {
    font-family:'Lucida Grande','Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
    overflow-y: scroll;
    top: 0px !important;
}

header {
  background: #fff;
}

footer {
  background: #eee;
}

.toggle,.close{
  display: none;
}

.toppage{
  float: left;
  margin: 6px 50px 8px;
}

a {
    color: #224466;
    text-decoration: none;
}

a:hover{
    color: #DD1144;
}



ul {
    list-style: none;
}


.nav-item{
    font-weight: bold;
    padding-left: 3px;
    padding-right: 3px;
}

nav .logo {
  font-size: 18px;
  color: #DD1144;
}

.topic_BL{
    border-left: 20px solid black;
    border-bottom:1px solid black;
    padding-left: 12px;
}

.topic {
  margin: 20px 20px 50px;
}


.section-1 {
  background-color: #fff;
}

img.photo {
  margin: 10px;
}

img.photo_1 {
  width: 100%;
}

.lplink a img{
  width: 100%;
  max-width: 400px;
  box-shadow: 5px 5px 5px rgba(138, 138, 138, 0.6);;
  transition:0.5s all;
}
.lplink a img:hover{
  transform: scale(1.1);
  transition:0.5s all;
}
/*フッター*/
.footer {
  padding-bottom: 120px;
}

.copyright {
  text-align: center;
}

li.low {
  padding-left: 20px;
}



/*topページ*/
#eyecatch {
  background: url('../img/top_01.jpg?01') no-repeat;
  background-size: contain;
  background-position: 50% 50%;
  height: 0;
  padding-top: calc(800 / 1600 * 100%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
  /*background-attachment: fixed;*/
  clear: both;
}



.logo {
  font-size: 80px;
  font-family: Times New Roman;
  font-style: oblique;
  font-weight: 600;
  color: red;
}

.red {
  color: red;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
/*.clear {
  overflow: hidden;
}*/

.building {
  float: right;
  position: relative;
  top: 100px;
  width: 300px;
  height: 200px;
}

.building p {
    color: #fff;
    font-size: 30px;
    font-weight: 500;
}

.map {
  clear: both;
  vertical-align: bottom;
  float: right;
  width: 500px;
  height: 150px;
  position: relative;
  top: 150px;
  left: 200px;
}

.map p {
    color: #246;
    font-size: 20px;
    font-weight: 400;
}

.top_02 {
  margin-bottom: 50px;
}

#company {
  background: url('../img/top_02.jpg') no-repeat;
  background-size: cover;
  background-position: 50% 30%;
  height: 400px;
}

.consultantMsg{
  background-color: #efffff;
  box-shadow: #efffff 0 0 15px 15px;
  padding: 10px;
  margin: 30px;
  color: #788080;
  font-family: 'yasashiB';
}
.consultantMsg h2{
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 1.2rem;
}
.consultantMsg p{
  font-size: 17px;
  margin-bottom: .5rem;
}
.consultantMsg p span{
  border-bottom: 1px dotted #788080;
  font-size: 15px;
}
/*社会貢献*/

.contribution {
  clear: both;
}

/*法人のお客様へ*/
.inquiry {
  margin-top: 20px;
}

.link_01 {
  display: block;
  background-color: #eee;
  border: 2px solid #fff;
  box-shadow: 0 0 0 2px #eee;
  padding: 1em;
  text-align: center;
}

/*採用情報*/
.recruit_h1 {
  text-align: center;
  margin: 2rem 0;
  color: #000;
  text-shadow:  3px 3px 2px #797ab8;
}

.recruit_h2 {
    position: absolute;
    bottom: 100px;
    left: 30%;
    text-align: center;
    color: white;
    text-shadow:  3px 3px 2px #663333;
}

table.type_01 {
  border-collapse: separate;
  border-spacing: 1px;
  text-align: left;
  line-height: 1.5;
  border-top: 1px solid #ccc;
}

table.type_01 th {
  padding: 10px 20px 10px 10px;
  border-bottom: 1px solid #ccc;
}

table.type_01 td {
  padding: 10px;
  border-bottom: 1px solid #ccc;
}
/*
.button {
margin: 50px 100px;
}
*/
.entry {
display: inline-block;
position: relative;
text-decoration: none;
color: #246;
width: 120px;
height: 50px;
line-height: 50px;
border-radius: 5px;
text-align: center;
vertical-align: middle;
overflow: hidden;
font-weight: bold;
background-image: -webkit-linear-gradient(#ea809d 0%, #DD1144 100%);
background-image: linear-gradient(#ea809d 0%, #DD1144 100%);
text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.66);
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.28);
}

.entry:hover {
  text-decoration: none;
  color: #ffffff;
}

.entry:active {  /*押したとき*/
  -ms-transform: translateY(2px);
  -webkit-transform: translateY(2px);
  transform: translateY(2px);/*沈むように*/
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.15);
  background-image: -webkit-linear-gradient(#ea809d 0%, #DD1144 100%);
  background-image: linear-gradient(#ea809d 0%, #DD1144 100%);/*グラデーションを明るく*/
}

.entry:focus {
    color: #246;
    text-decoration: none;
}

/*主な事業*/

/*.image_01 {
  background: url(../img/motor.jpg) center no-repeat;
  background-size: contain;
  height: 200px;
  max-width: 100%;
}*/


.image::before {
  background-color: rgba(0,0,0,0.3);
  max-width: 1000px;
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 15px;
  left: 15px;
  content: ' ';
}


a:hover .image::before {
  /*background-color: rgba(255,255,255,0);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: ' ';*/
  background-color: rgba(0,0,0,0.3);
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 75%;
  left: 15px;
  content: ' ';
}

.read-more {
  font-size: 18px;
  color: #ffffff;
  right: 15%;
  top: 8% ;
  position: absolute;
  /*z-index: 1;*/
}

.read-more::before {
  content: ">"
}

a:hover .read-more::before {
  content: ">"
}
#myTabContent .box1{
  padding: 10px;
  padding-bottom: 2rem;
  border: 1px solid #dee2e6;
  margin-bottom: 25px;
  height: 95%;
  position: relative;
}
#myTabContent .box1 a b{
  color: #000;
}
#myTabContent h2{
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  padding: 10px 5px;
  margin-bottom: 5px;
}
.bt-detail {
	position: absolute;
	bottom: 0.5rem;
	right: 1rem;
}
.seisan-table th{
  width: 25%;
}
.fusen-h5 {
    padding: 0.4em 0.5em;
    color: #494949;
    background: #f4f4f4;
    border-left: solid 5px #17A2B8;
    border-bottom: solid 3px #d7d7d7;
	font-size: 1.1rem;
}


/*Moter Project*/
.image_01::before {
  background-color: rgba(0,0,0,0.3);
  max-width: 100%;
  position: absolute;
  margin: auto;

/*

  top: 0;
  right: 15px;
  bottom: 0;
  left: 15px;
  content: ' ';
*/
}


a:hover .image_01::before {
  /*background-color: rgba(255,255,255,0);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: ' ';*/
  background-color: rgba(0,0,0,0.3);
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 75%;
  left: 15px;
  content: ' ';
}

.read-out {
  font-size: 20px;
  color: #ffffff;
  right: 15%;
  top: 10% ;
  position: absolute;
  /*z-index: 1;*/
}

.read-out::after {
  content: ">>"
}

a:hover .read-out::after {
  content: ">>"
}

/*アクセス*/
.gmap {
position: relative;
padding-bottom: 56%;
padding-top: 30px;
height: 0;
overflow: hidden;
}

.gmap iframe,
.gmap object,
.gmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/*スマホ*/
@media only screen and (max-width: 668px) {

  #eyecatch {
    background: url('../img/top_sp.jpg?01') no-repeat;
    background-size: contain;
    background-position: 50% 50%;
    height: 0;
    padding-top: calc(500 / 750 * 100%); /* calc(画像高さ ÷ 画像横幅 × 100%) */
    /*background-attachment: fixed;*/
    clear: both;
  }
  .greeting {
    font-size: 32px;
  }
  .recruit_h2{
      display: none;
  }
  .image {
      margin-bottom: 10px;
  }

}

/*フッターリンク設定*/
#offices-links{
    padding: 5px 5px 10px;
    list-style: none;
    margin: 0 auto;
    display: table;
}
#offices-links li{
    float: left;
    position: relative;
}
#offices-links li:first-child{
    margin-right: 10px;
}
#offices-links li:first-child:after{
    content: "";
    position: absolute;
    height: 100%;
    width: 1px;
    margin-left: 10px;
}
#offices-links li:last-child{
    margin-left: 10px;
}
#offices-links li a{
    text-decoration:none;
}
#offices-links li a:hover{
    text-decoration: underline;
}

/*ページ別設定*/
#offices-links li,
#offices-links li a{
    color: #212529;
    font-size: 15px;
}
#offices-links li:first-child:after{
    background: #212529;
}

.messageBox{
    border: solid 1px #aaa;
    padding: 10px;
    margin-bottom: 50px;
}
.messageTxet h2{
    text-align: center;
    font-size: 22px;
}
.messageBtn{
    text-align: center;
}
.messageBtn p{
    display: inline-block;
    cursor: pointer;
    margin: 0;
    padding: 3px 3px 0;
    position: relative;
    line-height: 1;
    color: #005599;
}
.messageBtn p span{
    text-decoration: underline;
}
.messageBtn p:hover span{
    text-decoration: none;
}
.messageDetails{
    display: none;
}
.messageDetails .details{
    padding: 10px;
    margin: 10px;
    background: #daf3f5;
    background: #cedfe0;
    border-radius: 5px;
}
.messageDetails .details2{
    flex-direction:row-reverse;
}
.messageDetails .details .detailsTxet{
    align-self: center;
}
.messageDetails .details h3{
    font-size: 20px;
}
.messageDetails .details p{
    margin-bottom: 10px;
}
.messageDetails .details img{
    width: 100%;
    padding: 4px;
    background: #FFF;
}
/*翻訳*/
.skiptranslate{
	display: none;
}
@media only screen and (max-width : 767px) {
    .messageDetails .details{
        padding: 10px 0;
        margin: 1px 0 20px;
    }
    .consultantMsg img{
      max-width: 250px;
      margin-bottom: 10px;
    }
}