@charset "utf-8";

/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/
html {
  color: #333;
  font-size:14px;
  line-height:1.6;
  font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",'メイリオ',Meiryo,Osaka,sans-serif;
}

body {
  background: #333;
  margin: 0;
}

img {
  border: 0;
  margin: 0;
  vertical-align: top;
  max-width:100%;
}

p {
  line-height: 1.6;
  margin: 0 0 1em;
  padding: 0;
}

a {
  color: #333;
  text-decoration: none;
}

input, select, textarea {
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",'メイリオ',Meiryo,Osaka,sans-serif;
  -webkit-appearance: none;
}

.mincho{font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",'メイリオ',"ＭＳ Ｐゴシック", "MS P Gothic",Meiryo,Osaka,sans-serif!important;}

table{
  border-collapse:collapse;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 14px;
  font-weight: normal;
  margin: 0;
  padding: 0;
}

.clearfix {
  clear: both;
}
.clearfix:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
  font-size: 0;
  visibility: hidden;
}

.clear{
  clear:both;
}

.outer-block {
  min-width: 960px;
}

.inner-block {
  margin: 0 auto;
  padding: 0;
  position: relative;
  width: 960px;
}

.inner-block:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
  font-size: 0;
  visibility: hidden;
}

#wrapper.top{
  background:url(../img/top/bg.jpg) no-repeat;
  background-position: top center;
}

#wrapper {
  position: relative;
}

.title{
  color: #fff;
  border:1px solid #fff;
  width: 230px;
  height: 230px;
  border-radius: 115px;
  text-align: center;
  position: absolute;
  font-size: 24px;
  left: 50%;
  margin: 0 0 0 -115px;
  top: -255px;
  line-height: 315px;
}

.title2{
  font-size: 28px;
  font-weight: bold;
  text-align: center;
}

.title3{
  color: #232323;
  border:1px solid #232323;
  width: 230px;
  height: 230px;
  border-radius: 115px;
  text-align: center;
  position: absolute;
  font-size: 24px;
  left: 50%;
  margin: 0 0 0 -115px;
  top: 0;
  line-height: 315px;
  font-weight: bold;
}

.title4{
  color: #fff;
  border:1px solid #fff;
  width: 230px;
  height: 230px;
  border-radius: 115px;
  text-align: center;
  position: absolute;
  font-size: 24px;
  left: 50%;
  margin: 0 0 0 -115px;
  top: 0;
  line-height: 315px;
  font-weight: bold;
}
.recrut-block .title4 {
  color : #000;
  border:1px solid #000;
}

#page-top{
  position: relative;
}

.page-top {
  height: 60px;
  overflow: hidden;
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 120px;
  margin: 0 0 0 570px;
}

.page-top a{
  display: block;
  position: absolute;
  right: 10px;
  height: 100px;
  width: 100px;
  border-radius: 50px;
  border:1px solid #fff;
  text-align: center;
  vertical-align: middle;
  line-height: 65px;
  background: #232323;
}

.page-top a:hover {
  filter: alpha(opacity=80);
  -moz-opacity:0.8;
  opacity:0.8;
}

.page-top a img{
  vertical-align: middle;  
}

.bg-inner-block{
  background: rgba(255,255,255,0.83);
  width: 1580px;
  margin: 0 auto;
  overflow: hidden;
}

@media (max-width: 1579px) {
  .bg-inner-block{
    width: 100%;
  }
}

.bg-inner-block2{
  background: #232323;
  opacity: 1;
  color: #fff;
}

.bg-inner-block3{
  background: #fff;
  opacity: 1;
  color: #000000;
}
.title3,.title4{
  top: -275px;
}

.bg-inner-block{
  padding: 165px 0 80px;
}


/*------------------------------------------------------------------------------
  header
------------------------------------------------------------------------------*/

#header{
  height: 53px;
  position: fixed;
  top: 0;
  width: 100%;
  background: #000000; 
  z-index: 9999;
}

.navi-ul li{
  float: left;
}

.navi-ul li a{
  box-sizing: border-box;
  display: block;
  min-width: 112px;
  color: #fff;
  line-height: 50px;
  padding: 0 25px;
  text-align: center;
}

.navi-ul li a:hover{
  opacity: 1;
  border-bottom: 3px solid #fff100;
}

.navi-ul li a.current{
  border-bottom: 3px solid #fff100;
}

/*------------------------------------------------------------------------------
  kv
------------------------------------------------------------------------------*/

#kv{
  height: 570px;
  margin: 50px auto 0;
}

.top #kv{
  height: 620px;
  margin: 0 auto;
}

.logo{
  text-align: center;
  margin: -50px 0 0;
}

.top .logo{
  margin: 0;
}

/*------------------------------------------------------------------------------
  top
------------------------------------------------------------------------------*/

.point-block .bg-inner-block{
  padding: 0;
}

.point-inner-block{
  padding: 30px 0 0;
}

.point-inner-block .text{
  font-size: 16px;
  font-weight: bold;
}

.point-inner-block .mincho{
  font-size: 28px;
  font-weight: bold;
}

.point-block .while-icon{
  text-align: center;
  margin: 25px 0 0;
  width: 400px;
}

.point-block .while-icon .icon01{
  content: "";
  position: relative;
  background:url(../img/common/icon01.png) no-repeat;
  width: 12px;
  height: 15px;
  display: inline-block;
}

.point-inner-block p{
  margin: 0 0 15px;
}

.point-block .left {
  float: left;
  padding: 40px 0 60px;
  width: 700px;
}

.point-block .right {
  float: right;
  width: 255px;
}

.top-company {
  overflow: hidden;
}

.top-company .inner-block{
  margin: 140px auto 120px;
}

.top-company-table{
  width: 100%;
  color: #fff;
}

.top-company-table th,
.top-company-table td{
  box-sizing: border-box;
  padding: 20px 10px;
  font-size: 20px;
  font-weight: bold;
  text-align: left;
}

.top-company-table th{
  width:320px;
}

.top-company-table tr{
  border-top: 1px solid #888888;
}

.top-company-table td .sub-title{
  display: block;
  font-size: 12px;
  line-height: 1;
}

.top-company-table tr:first-child{
  border-top: none; 
}

.top-company-table td p{
  line-height: 1;
  margin: 0 0 5px;
}

/*------------------------------------------------------------------------------
  gallery
------------------------------------------------------------------------------*/

.gallery #kv{
  background: url(../img/gallery/kv.jpg) no-repeat;
  background-position: center;
}

.gallery-list li{
  float: left;
  width: 225px;
  height:160px;
  box-sizing: border-box;
  margin: 0 20px 15px 0;
  overflow:hidden;
}

.gallery-list li:nth-child(4n){
  margin:0;
}

.gallery-list li:nth-child(4n+1){
  clear:both;
}

.gallery-list li a{
  display:block;
  overflow:hidden;
  position:relative;
  width:100%;
  height:100%;
  background:#ccc;
}

.gallery-list li a img{
  width:110%;
  max-width:110%;
  position:absolute;
  left:0;
  right:0;
  top:-100%;
  bottom:-100%;
  margin:auto -5%;
}

.gallery-list li a:hover{
  filter: alpha(opacity=80);
  -moz-opacity:0.8;
  opacity:0.8;
}

.gallery-block .bg-inner-block{
  padding: 50px 0 100px;
}

.gallery-block .text{
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 10px 0 50px
}

/*------------------------------------------------------------------------------
  about
------------------------------------------------------------------------------*/

.about #kv{
  background: url(../img/about/kv.jpg) no-repeat;
  background-position: center;
}

.local-navi-list{
  margin: 20px 0 0;
}

.local-navi-list li{
  float: left;
  width: 50%;
  height: 150px;
  margin: 0 0 20px;
}

.local-navi-list li .local-navi{
  display: block;
}

.local-navi-list li .local-navi:hover{
  opacity: 1;
}

.local-navi-list li .local-navi:hover .left{
  background: #444444;
  color: #ffffff;
}

.local-navi-list li .local-navi .left{
  display: inline-block;
  width: 150px;
  height: 150px;
  border-radius: 75px;
  border:1px solid #323232;
  box-sizing: border-box;
  text-align: center;
  line-height: 150px;
  margin: 0 20px 0 0;
  position: relative;
  font-size: 16px;
  font-weight: bold;
}

.local-navi-list li .local-navi .left:before{
  content: "";
  position: absolute;
  background: url(../img/common/icon02.png) no-repeat;
  width: 12px;
  height: 8px;
  left: 66px;
  bottom:50px;
}

.local-navi-list li .sub-text{
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
}

.local-navi-list li .text-margin{
  padding: 10px 0 0;
}

.navi-block .bg-inner-block{
  padding: 50px 0;
}

.description-block .description-list li{
  float: left;
  width: 49%;
}

.description-block .description-list li.list-left{
  margin: 0 1% 5px 0;
}

.description-block .description-list li.list-right{
  margin: 0 0 5px;
}


.description-block .left{
  float: left;
  width: 176px
}

.description-block .right{
  float: left;
  width: 57%;
  margin: 0 0 0 15px;
}

.description-block2 .left{
  float: left;
  width: 36%;
}

.description-block2 .right{
  float: left;
  width: 62%;
}

.description-block2 .text-block{
  margin: 0 0 35px;
}

.description-block .right .head-line{
  font-size: 18px;
  font-weight: bold;
  position: relative;
  padding: 0 0 0 20px;
  margin: 0 0 8px;
}

.description-block .right .head-line:before{
  content: "";
  position: absolute;
  background: url(../img/common/icon03.png) no-repeat;
  width: 12px;
  height: 15px;
  left: 0;
  top: 50%;
  margin: -8px 0 0;
}

.description-block .right .head-line.head-line01:before{
  background: url(../img/common/icon01.png) no-repeat;
}

.anchor-link{
  position: relative;
  top: -193px;
}

.anchor-link.anchor-link01{
  top:auto;
  bottom:40px;
  position:absolute;
}

/*------------------------------------------------------------------------------
  recrut
------------------------------------------------------------------------------*/

.recrut #kv{
  background: url(../img/recrut/kv.jpg) no-repeat;
  background-position: center;
}

.recrut-info .bg-inner-block{
  padding: 50px 0;
}

.recrut-info-block{
  margin: 50px 0 0;
}

.recrut-info-block .left{
  float: left;
  width: 360px;
}

.recrut-info-block .right{
  float: left;
}

.recrut-info .recrut-info-list li{
  display: inline-block;
  width: 170px;
  height: 170px;
  border-radius: 85px;
  border:1px solid #323232;
  box-sizing: border-box;
  text-align: center;
  position: relative;
  font-size: 16px;
  font-weight: bold;
  padding: 55px 0 0;
  margin: 0 20px 0 0;
}

.recrut-info-block .right .text{
  position: relative;
  padding: 0 0 0 10px;
  font-size: 16px;
  font-weight: bold;
  margin: 40px 0 0;
}

.recrut-info-block .right .text:before{
  position: absolute;
  content: "";
  background: url(../img/common/icon04.png)no-repeat;
  width: 7px;
  height: 8px;
  left: 0;
  top: 7px;
}

.recrut-table-block{
  padding: 40px 0 0;
}

.recrut-table-block + .recrut-table-block{
  padding: 60px 0 0;
}

.recrut-table-block2{
  padding: 60px 0 0;
}

.recrut-title{
  position: relative;
  padding: 0 0 0 20px;
  font-size: 20px;
  font-weight: bold;
}

.recrut-title:before{
  position: absolute;
  content: "";
  background: url(../img/common/icon03.png) no-repeat;
  width: 12px;
  height: 15px;
  left: 0;
  top: 50%;
  margin: -8px 0 0;
}

.recrut-table{
  width: 100%;
  color: #000;
}

.recrut-table th,
.recrut-table td{
  box-sizing: border-box;
  padding: 20px 10px;
  font-size: 20px;
  text-align: left;
}

.recrut-table th{
  width:320px;
  padding: 20px 10px 20px 40px;
  vertical-align: top;
  font-weight: bold;
  background-color: #efefef;
}
.recrut-table td{
  padding-left : 20px;
}
.recrut-table tr{
  border-bottom: 1px solid #888888;
}

.recrut-table tr:first-child{
  border-top: 1px solid #888888;  
}

.recrut-table td .sub-title{
  display: block;
  font-size: 12px;
  line-height: 1;
}

.recrut-table td p{
  line-height: 1;
  margin: 0 0 5px;
}

.application-info1{
  text-align: center;
  margin: 0 0 30px;
  font-size: 18px;
  font-weight: bold;
}

.application-info2{
  width: 434px;
  height: 98px;
  line-height: 98px;
  background: #e7ebf2;
  text-align: center;
  margin: 0 auto 20px;
  font-size: 18px;
  font-weight: bold;
}

/*------------------------------------------------------------------------------
  access
------------------------------------------------------------------------------*/

.access #kv{
  background: url(../img/access/kv.jpg) no-repeat;
  background-position: center;
}

.access-outer-block .bg-inner-block{
  padding: 50px 0 120px;
}

.access-block{
  margin: 40px 0 0;
}

.access-block .left{
  float: left;
  width: 500px;
}

.access-block .left iframe{
  width: 480px;
  height: 370px;
}

.access-block .right{
  float: left;
}

.access-block .right .head-line{
  font-size: 16px;
  font-weight: bold;
}

.access-block .right .text{
  margin: 30px 0 0;
}

/*------------------------------------------------------------------------------
  footer
------------------------------------------------------------------------------*/
#footer {
  padding: 50px 0;
  background: #323232;
}

#footer .copyright {
  text-align: center;
  margin: 60px 0 25px;
  color: #cccccc;
  font-size: 12px;
}

.contact-block .contact-title{
  float: left;
  width: 217px;
  height: 60px;
  text-align: center;
  line-height: 60px;
  color: #fff;
  font-size: 18px;
  background: #545454;
  margin: 0 15px 0 0;
}

.contact-block .contact-number{
  float: left;
  width: 255px;
}

.contact-block .contact-number .sub-text{
  color: #fff100;
  font-size: 16px;
  display: block;
  font-weight:bold;
}

.contact-block .contact-number .number{
  display: block;
  font-size: 30px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
}

.contact-block .contact-link{
  float: left;
  display: block;
  width: 214px;
  height: 60px;
  background: #000;
  border:1px solid #999999;
  box-sizing: border-box;
  color: #fff100;
  text-align: center;
  line-height: 60px;
  font-size: 18px;
  font-weight: bold;
}

.contact-block .contact-link:hover{
  background: #c9be07;
  color: #313131;
  opacity: 1;
}

.private-info{
  margin: 20px 0 0;
}

.private-info a{
  width: 161px;
  height: 33px;
  display: block;
  line-height: 33px;
  text-align: center;
  background: #000;
  color: #fff;
  margin: 0 auto;
  font-weight: bold;
}

.private-info a:hover{
  opacity: 1;
  background: #545454;
  color: #efe200;
}



/*------------------------------------------------------------------------------
  contact
------------------------------------------------------------------------------*/
.contact #kv{
  background: url(../img/contact/kv.jpg) no-repeat;
  background-position: center;
}

.contact-block .bg-inner-block {
  padding: 50px 0 65px;
}

.contact_box01{
  text-align:center;
  padding:50px 0 0;
}

.contact_box01 .text01,
.contact_box01 .text02{
  font-size:16px;
  font-weight:bold;
}

.contact_box01 .btn_wrap{
  text-align:center;
}

.contact_box01 .btn_wrap .contact-number{
  background:#fff;
  padding:10px;
  display:inline-block;
  margin:20px 15px 30px;
  float:none;
}

.contact_box01 .contact-number .number{
  color:#000;
}
.contact_box01 .contact-number .sub-text{
  text-align:left;
  padding:0 0 0 10px;
  color:#afa500;
}

.formtable th,
.formtable td{
  border-bottom:1px solid #888888;
  box-sizing:border-box;
  padding:15px 10px;
  vertical-align:middle;
}

.formtable th{
  width:315px;
  text-align:left;
  font-size:18px;
  padding:15px 30px;
  font-weight:bold;
}

input[type="text"],textarea{
  background:#e3e7ef;
  border:1px solid #fff;
  width:270px;
  padding:8px 10px;
  box-sizing:border-box;
  box-shadow:2px 2px 2px #999 inset;
}

input.input01{
  width:410px;
}

textarea{
  width:600px;
  height:210px;
}

.submit_box{
  margin:50px 0 20px;
  text-align:center;
}

.submit_box input{
  background:#c9be07;
  width:434px;
  height:98px;
  line-height:98px;
  color:#232323;
  font-size:30px;
  border:none;
  font-weight:bold;
  cursor:pointer;
}

.submit_box input:hover{
  background:#fff100;
}

/*------------------------------------------------------------------------------
  privacy
------------------------------------------------------------------------------*/
.privacy #kv{
  background: url(../img/access/kv.jpg) no-repeat;
  background-position: center;
}

.privacy_box01{
  margin:40px 0 0;
}

.privacy_box01 p{
  margin:0 0 25px;
}

/*------------------------------------------------------------------------------
  results
------------------------------------------------------------------------------*/
.results #kv {
  background: url(../img/results/kv.jpg) no-repeat;
  background-position: center 53px;
}

.results-block .inner-block {
  width: 900px;
}

.results-table {
  width: 100%;
}

.results-table th,
.results-table td {
  border-bottom: 1px solid #888;
  text-align: left;
}

.results-table th {
  font-size: 18px;
  font-weight: bold;
  padding: 0 40px 15px 0;
}

.results-table td {
  font-size: 14px;
  padding: 18px 40px 10px 0;
}

.results-table tbody tr:last-child th,
.results-table tbody tr:last-child td {
  border-bottom: 0;
}

.results .local-navi-list{
}

.results .local-navi-list li {
  width: 150px;
  height: 150px;
  margin: 25px 50px 25px 0;
}

.results .local-navi-list li:nth-child(5n) {
  margin-right: 0;
}

.results .local-navi-list li .local-navi .left{
  margin: 0;
}

.results .content:nth-child(even) .bg-inner-block {
  background: #232323;
  opacity: 1;
  color: #fff;
}

.results .content:nth-child(even) .title3 {
  color: #fff;
  border: 1px solid #fff;
}
.recruit_list > li {
  position: relative;
  padding: 0px 0px 0px 1em;
  list-style: none;
}
.recruit_list > li::before {
  position: absolute;
  top: 50%;
  left: 0px;
  transform: translateY(-50%) rotate(45deg);
  width: 0.4em;
  height: 0.4em;
  background-color: #fff;
  content: "";
}

/*------------------------------------------------------------------------------
  clearfix
------------------------------------------------------------------------------*/
.btn_wrap:after,
.navi-ul:after,
.contact-block:after,
.gallery-list:after,
.local-navi-list:after,
.description-block:after,
.recrut-info-block:after,
.access-block:after,
.description-block .description-list:after {
  clear: both;
  content: "";
  display: block;
  height: 1px;
  font-size: 0;
  visibility: hidden;
}
