@charset "utf-8";

/* リセット */
* {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {margin: 0;  padding: 0;}
table {border-collapse: collapse; border-spacing: 0;}
fieldset, img { border: 0;}
img{vertical-align: bottom;}
address, caption, cite, code, dfn, em, strong, th, var {font-style: normal;font-weight: normal;}
ol, ul {list-style: none;}
caption, th {text-align: left;}
h1, h2, h3, h4, h5, h6 {font-size: 100%; font-weight: normal; line-height: 1;}
q:before, q:after {content: ''}
abbr, acronym {border: 0; font-variant: normal;}
sup {vertical-align: text-top;}
sub {vertical-align: text-bottom;}
legend {color: #000;}
input, textarea, select {font-family: inherit; font-size: inherit; font-weight: inherit;}
figure {margin: 0;padding: 0;border: 0;outline: 0;line-height: 0;}
img {height: auto;line-height: 0;max-width: 100%;}
a {color: #0000ff; text-decoration: none; opacity: 0.9;transition: all .5s;}
a:hover {text-decoration: underline; opacity: 0.7;}
a:hover img {opacity: 0.8;}

/* 共通CSS */
html {font-size: 62.5%;}

body {
  position: relative;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-size: 1.5rem;
  line-height: 1.8;
  overflow-x: hidden;
  color: #333;
  word-break: break-all;
}

@media screen and (max-width: 768px) {
  body {font-size: 1.4rem;}
}

/* テキスト調整 */
h1{
  font-family: 'Shippori Mincho B1', serif;
  position:absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  color:#fff;
  font-size: 3.6rem;
  line-height: 1.4;
  text-shadow: 0 0 15px #666;
  letter-spacing: 5px;
  text-align: center;
  width: 90%;
  margin: 0 auto;
}
h2{
  font-family: 'Lora', serif;  font-size: 3.6rem;
  font-weight: 600;
  margin-bottom: 30px;
  text-align: center;
  color: #867666;
}
h3{
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 600;
}
h4{
  font-weight: 600;
}
h5{}
.section__text{
  font-family: 'Shippori Mincho B1', serif;
  font-size: 2.4rem;
  text-align: center;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/* レスポンシブ対応 */
.pc {display: block !important;}
.sp {display: none !important;}

@media screen and (max-width: 768px) {
  .pc {display: none !important;}
  .sp {display: block !important;}
}

/* スマホメニュー */
  nav.NavMenu{
    position: fixed;
    z-index: 20;
    top: 0;
    left: 0;
    background: #fff;
    color: #000;
    text-align: center;
    width: 100%;
    transform: translateY(-100%);
    transition: all 0.6s;
  }

  nav.NavMenu ul{
    background: #000;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    color: #fff;
  }

  nav.NavMenu ul li{
    font-size: 1.1em;
    list-style-type: none;
    padding: 10px 0;
    width: 100%;
    border-bottom: 1px dotted #333;
  }

  nav.NavMenu ul li:last-child{
    border-bottom: none;
  }

  nav.NavMenu ul li a{
    display: block;
    color: #fff;
    padding: 1em 0;
  }
  nav.NavMenu.active{
    transform: translateY(0%);
  }
  .Toggle {
    display: block;
    position: fixed;
    right: 13px;
    top: 12px;
    width: 42px;
    height: 42px;
    cursor: pointer;
    z-index: 30;
    background-color: rgba(255,255,255,0.5);
  }

  .Toggle span {
    display: block;
    position: absolute;
    width: 30px;
    border-bottom: solid 3px #000;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 6px;
  }

  .Toggle span:nth-child(1) {top: 9px;}
  .Toggle span:nth-child(2) {top: 18px;}
  .Toggle span:nth-child(3) {top: 27px;}
  .Toggle.active span:nth-child(1) {
    top: 18px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .Toggle.active span:nth-child(2),
  .Toggle.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
  }

/* ヘッダー */
.logo{
  text-align: center;
  width: 100%;
}
.logo img{
  max-height: 50px;
  margin: 15px 0; 
}
#video-bg{
  position: relative;
  height: 100vh;
} 

#video-area{
  position: fixed;
  z-index: -1;
  top: 0;
  right:0;
  left:0;
  bottom:0;
  overflow: hidden;
}

#video {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 177.77777778vh;
  height: 56.25vw;
  min-height: 100%;
  min-width: 100%;
}

/* コンテンツ */
main{
  background-color: #eae2d6;
  padding-top: 50px;
}
@media screen and (max-width: 768px) {
  .inner {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* mission */
.mission__image{
  background: url(../img/mission__image.jpg) no-repeat right ;
  background-size: cover;
  width: 90%;
  height: 500px;
  overflow: hidden;
  margin: 50px 0 50px auto;
}
@media screen and (max-width: 768px) {
  .mission__image{
    background: url(../img/mission__image.jpg) no-repeat right ;
    background-size: cover;
    margin: 50px 0;
    width:100vw; 
    height: 200px;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }
}  

/* works */
.works__item__kaitori{
  margin-top: 50px;
}
.works__item__kaitori .works__kaitori__image{
  background: url(../img/works__kaitori__image.jpg) no-repeat right ;
  background-size: cover;
  width: 70%;
  height: 360px;
  overflow: hidden;
  margin-right: auto;
  position: relative;
  z-index: 10;
}
.works__item__kaitori .works__content{
  background-color: #fff;
  width: 60%;
  padding: 30px 30px;
  margin-left: auto;
  text-align: right;
  position: relative;
  top: -100px;
  background-color: #867666;
  color: #fff;
}
.works__item__baibai{
  margin-bottom: -490px;
}
 
.works__item__baibai .works__baibai__image{
  background: url(../img/works__baibai__image.jpg) no-repeat right ;
  background-size: cover;
  width: 50%;
  height: 630px;
  overflow: hidden;
  margin-left: auto;
  position: relative;
  z-index: 10;
}
.works__item__baibai .works__content{
  background-color: #fff;
  width: 65%;
  padding: 30px 20% 30px 63px;
  margin-right: auto;
  text-align: left;
  position: relative;
  top: -550px;
  background-color: #867666;
  color: #fff;
}
.works__content h3{
  font-size: 2.5rem;
  line-height: 1.4;
  margin-bottom: 0;
}
.works__content h4{
  font-size: 1.8rem;
  margin: 30px 0 10px;
}
.works__content p{
  font-size: 1.5rem;
  margin-bottom: 1em;
}

@media screen and (max-width: 768px) {
  .works__item__kaitori .works__kaitori__image{
    margin: 50px 0 0;
    width:100vw; 
    height: 200px;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }
  .works__item__kaitori .works__content{
    width: 100%;
    padding: 20px 15px;
    text-align: left;
    top: 0;
    background-color: rgb(134 118 102 / 80%);
    color: #fff;
    margin-bottom: 50px;
    position: relative;
    top: -20px;
    z-index: 10;
  }
  .works__item__baibai{
    margin-bottom: 50px;
  }
  .works__item__baibai .works__baibai__image{
    margin: 50px 0 0;
    width:100vw; 
    height: 200px;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }
  .works__item__baibai .works__content{
    width: 100%;
    padding: 20px 15px;
    top: 0px;
    background-color: rgb(134 118 102 / 80%);
    position: relative;
    top: -20px;
    z-index: 10;
  }
}  


/* agent */
.agent__item{
  display: flex;
  flex-wrap: wrap;
  margin-top: 50px;
  margin-bottom: -10px;
}
.agent__item .agent__image{
  width: 15%;
  min-width: 240px;
  height: 250px;
  margin-right: auto;
  z-index: 10;
}
.agent__item .agent__kubota__image{
  background: url(../img/agent__kubota__image.jpg) no-repeat center top;
  background-size: cover;
}
.agent__item .agent__kimura__image{
  background: url(../img/agent__kimura__image.jpg) no-repeat center top;
  background-size: cover;
}
.agent__item .interview__btn a{
  background-color: #005BAC;
  color: #fff;
  text-align: center;
  display: block;
  padding: 10px;
  margin: 30px auto 20px 0;
  width: 95%;
  max-width: 300px;
  border-radius: 50px;
  border-bottom: 2px solid #999; 
}
.agent__item .agent__image .interview__btn a:hover{
  text-decoration: none;
  border-bottom: 0px solid #999; 
  top:2px;
  position: relative;
}
.agent__content{
  width: calc(100% - 300px);
  padding: 40px 60px;
  margin-left: auto;
}
.agent__content h3{
  font-size: 3rem;
  margin-bottom: 10px;
}
.agent__content h3 span{
  font-size: 2.1rem;
  margin-left: 1em;
}
.agent__content .agent__post{
  font-size: 2rem;
  margin-bottom: 30px;
}
.agent__content h4{
  font-size: 2.1rem;
  margin-bottom: 10px;
}
.agent__interview{
  background-color: #d5c3aa;
  width: 100%;
}
.agent__interview__text{
  width: calc(100% - 300px);
  padding: 40px 60px;
  margin-left: auto;
  margin-bottom: 80px;
}
.agent__interview h3{
  font-size: 2.1rem;
  line-height: 1.4;
  margin-bottom: 15px;
}
.agent__interview p{
  margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .agent__item .agent__image{
    width: 100%;
    min-width: auto;
    height: 180px;
    margin-right: auto;
    z-index: 10;
    margin-bottom: 60px;
  }
  .agent__item .agent__kubota__image{
    background: url(../img/agent__kubota__image.jpg) no-repeat center;
    background-size: cover;
  }
  .agent__item .agent__image .interview__btn a{
    margin: 200px auto 0;
    width: 95%;
  }
  .agent__interview__text{
    width: 100%;
    padding: 20px 15px 10px;
    margin-bottom: 80px;
  }
  .agent__content{
    width: 100%;
    padding: 30px 12px;
  }
  .agent__content h3 span{
    font-size: 1.8rem;
  }
  }


/* company */
.company__image__01{
  background: url(../img/company__image__03.jpg) no-repeat center ;
  background-size: cover;
  width: 90%;
  height: 600px;
  overflow: hidden;
  margin: 20px auto 50px 0;
}
.company__image__02{
  background: url(../img/company__image__04.jpg) no-repeat center ;
  background-size: cover;
  width: 90%;
  height: 500px;
  overflow: hidden;
  margin: 20px 0 50px auto;
}
.company__image__03{
  background: url(../img/company__image__05.jpg) no-repeat center ;
  background-size: cover;
  width: 90%;
  height: 500px;
  overflow: hidden;
  margin: 20px auto 50px 0;
}
.company__image__04{
  background: url(../img/company__image__06.jpg) no-repeat center ;
  background-size: cover;
  width: 90%;
  height: 600px;
  overflow: hidden;
  margin: 20px 0 50px auto;
}
.company__image__title{
  font-family: 'Shippori Mincho B1', serif;
  width: 88%;
  margin: 0 auto 0 0;
  text-align: right;
  font-size: 2rem;
  font-weight: 600;
  color: #867666;
}
.company__item{
  display: flex;
  flex-wrap: wrap;
  justify-content:space-between;
  margin-bottom: 60px;
  margin-top: 60px;
}
.company__item .company__map{
  width: 376px;
}
.company__item .company__map iframe{
  width: 100%;
  height: 376px;
}
.company__item .company__outline{
  width: calc(100% - 410px);
}
.company__item .company__outline dl{
  display: flex;
  flex-wrap: wrap;
  justify-content:left;
  border-bottom: 1px solid #CDD6DD;
  margin-bottom: 10px;
  padding-bottom: 10px;
}
.company__item .company__outline dl dt{
  width: 160px;
}
.company__item .company__outline dl dd{
  width: calc(100% - 180px);
}
#company .recruit__btn a{
  background-color: #005BAC;
  color: #fff;
  text-align: center;
  display: block;
  padding: 10px;
  margin: 0px auto 60px;
  width: 95%;
  max-width: 300px;
  border-radius: 50px;
  border-bottom: 2px solid #999; 
}
#company .recruit__btn a:hover{
  text-decoration: none;
  border-bottom: 0px solid #999; 
  top:2px;
  position: relative;
}

@media screen and (max-width: 768px) {
  /* .company__image{
    background: url(../img/company__image.jpg) no-repeat right ;
    background-size: cover;
    margin: 10px 0 50px;
    width:100vw; 
    height: 200px;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  } */
  /* .company__image__02{
    background: url(../img/company__image__02.jpg) no-repeat right ;
    background-size: cover;
    margin: 10px 0 50px;
    width:100vw; 
    height: 200px;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  } */
  .company__image__title{
    width: 100%;
    margin: 0 auto 0 0;
  }
    .company__item .company__map{
    width: 100%;
  }
  .company__item .company__map iframe{
    width: 100%;
    height: 300px;
  }
  .company__item .company__outline{
    width: 100%;
  }
  .company__item .company__outline dl dt{
    width: 100%;
  }
  .company__item .company__outline dl dd{
    width: 100%;
  }
}  


/* contact */
#contact{
  background-color: #d5c3aa;
  max-width: 980px;
  margin: 0 auto;
  padding: 50px 30px;
  position: relative;
  top: 50px;
}
.contact__form{
  max-width: 840px;
  margin: 0 auto;
}
.contact__form dl{
  margin-bottom: 15px;
}
input[type="text"],
input[type="email"],
input[type="tel"] {
  border: 1px solid #696969;
  width: 100%;
  height: 40px;
  line-height: 1.33;
  padding: 0 10px;
}
textarea {
  border: 1px solid #696969;
  width: 100%;
  line-height: 1.33;
  padding: 10px;
  resize: none;
}
#subject {
  height: 200px;
}

.form__button {
  text-align: center;
  margin-top: 30px;
}
input[type="submit"] {
  display: inline-block;
  background-color: #005BAC;
  text-decoration: none;
  color: #fff;
  font-family: a-otf-futo-go-b101-pr6n;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  padding: 14px 114px;
  border-radius: 50px;
}

@media not screen and (min-width: 768px) {
  input[type="submit"] {
    width: 100%;
    padding: 14px 0;
  }
  #contact{
    top: 0;
    padding: 50px 15px;  
  }
}


/* フッター */
footer {
  background-color: #444444;
  padding: 80px 0 30px;
  text-align: center;
}
footer .footer__inner{
  margin: 0 auto;
}
footer .footer__inner .copyright{
  color: #fff;
}

@media screen and (max-width: 768px) {
  footer{
    padding: 0;
  }
  footer .footer__inner .copyright{
    color: #fff;
    padding: 10px 0;
  }
}

.map--gray iframe{
  filter: grayscale(100%) invert(92%) contrast(83%);
}


/* recruit */
.recruit__image{
  background: url(../img/company__image__03.jpg) no-repeat center ;
  background-size: cover;
  width: 90%;
  height: 600px;
  overflow: hidden;
  margin: 20px auto 50px 0;
}
.recruit__image__title{
  font-family: 'Shippori Mincho B1', serif;
  width: 100%;
  font-size: 2rem;
  font-weight: 600;
  background-color: #867666;
  color: #fff;
  padding: 10px;
  margin-bottom: 20px;
}
.recruit__item{
  padding-bottom: 50px;
}
.recruit__item .recruit__outline{
  margin: 0 auto 80px;
  max-width: 800px;
}
.recruit__item .recruit__outline dl{
  display: flex;
  flex-wrap: wrap;
  justify-content:left;
  border-bottom: 1px solid #CDD6DD;
  margin-bottom: 10px;
  padding-bottom: 10px;
}
.recruit__item .recruit__outline dl dt{
  width: 160px;
  font-weight: bold;
}
.recruit__item .recruit__outline dl dd{
  width: calc(100% - 180px);
}
.recruit__item .recruit__btn a{
  background-color: #005BAC;
  color: #fff;
  text-align: center;
  display: block;
  padding: 10px;
  margin: 30px auto 20px;
  width: 95%;
  max-width: 300px;
  border-radius: 50px;
  border-bottom: 2px solid #999; 
}
.recruit__item .recruit__btn a:hover{
  text-decoration: none;
  border-bottom: 0px solid #999; 
  top:2px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .recruit__image{
    background: url(../img/company__image__03.jpg) no-repeat right ;
    background-size: cover;
    margin: 10px 0 50px;
    width:100vw; 
    height: 200px;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
  }
  .recruit__item .recruit__outline{
    width: 100%;
    margin-bottom: 40px;
  }
  .recruit__item .recruit__outline dl dt{
    width: 100%;
  }
  .recruit__item .recruit__outline dl dd{
    width: 100%;
  }
}  
