@charset "utf-8";
/*============================================================
	main
*/
.main {
  overflow: hidden;
  position: relative;
  height: 610px;
}
.main .base {
  position: absolute;
  top: 100px;
  bottom: 0;
  left: 50%;
  right: 0;
  color: #fff;
}
.main .base .kv {
  position: absolute;
  left: -540px;
  right: 0;
  height: 100%;
}
.main .inner {
  position: relative;
  margin: 0 auto;
  padding: 30px 0 0 40px;
  max-width: 1280px;
  height: 100%;
}
.main-pc {
    display: block;
}
.main-sp {
    display: none;
}
.main .inner h1 span {
  background-image: url('../images/h-main.svg');
}
.main .inner h1 i {
  opacity: 0;
}
.main .inner h1 span {
  display: block;
  height: 350px;
  background-size: contain;
}
.main .inner h2 {
  margin: 50px 0 0 0;
  font-family: 'Amiri', serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
}
@media screen and (max-width: 1280px) {
  .main .base {
    left: 100px;
  }
  .main .base .kv {
    left: 0;
  }
}
@media screen and (max-width: 980px) {
  .main {
    overflow: hidden;
    position: relative;
    height: 450px;
  }
.main-pc {
    display: none;
}
.main-sp {
    display: block;
}
.main .inner h1 span {
  height: 250px;
}
}
@media screen and (max-width: 768px) {
  .main {
    height: 450px;
    letter-spacing: 0.08em;
  }
  .main .base {
    top: auto;
    left: 0;
    height: 320px;
  }
  .main .inner {
    padding: 40px 0 0 20px;
  }
  .main .inner h1 span {
    margin: 0;
    height: 200px;
  }
  .main .inner h2 {
    margin: 30px 0 0 0;
    font-size: 14px;
  }
}
/*============================================================
	lead
*/
.lead {
  display: flex;
  justify-content: center;
  padding: 80px 0 0 0;
  height: 520px;
  font-size: 16px;
  line-height: 2.14;
}
.lead .inner-pc {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.lead .inner-pc .block {
  margin: 0 2.34em;
}
.lead .inner-pc .block:first-child {
  margin-right: 0;
}
.lead .inner-pc .author {
  margin: 0 4.1em 0 0;
  font-family: 'Sawarabi Gothic', sans-serif;
}
.lead .inner-pc .author p:first-child {
  text-indent: -0.5em;
}
.lead .inner-pc .author span {
  display: inline-block;
  transform: skewX(-10deg);
}
.lead .inner-pc .author.sp {
  display: none;
}
.lead .inner-sp {
  display: none;
}
.lead .inner-sp {
  padding: 0 20px;
}
.lead .inner-sp .text {
  overflow: hidden;
  position: relative;
  height: 390px;
}
.lead .inner-sp .block {
  padding: 0 0 1.8em 0;
}
.lead .inner-sp .author {
  padding: 0 0 1.8em 0;
  font-family: 'Noto Serif JP', serif;
}
.lead .inner-sp .author p {
  transform: skewX(-10deg);
}
.lead .inner-sp .author.pc {
  display: none;
}
@media screen and (max-width: 980px) {
  .lead {
    line-height: 1.9;
  }
  .lead .inner-pc .block {
    margin: 0 1.5em;
  }
  .lead .inner-pc .author {
    margin: 0 2em 0 0;
  }
}
@media screen and (max-width: 768px) {
  .lead {
    display: block;
    padding: 40px 0 0 0;
    height: auto;
    line-height: 1.86;
  }
  .lead .inner-pc {
    display: none;
  }
  .lead .inner-sp {
    display: block;
  }
}
/*============================================================
	bk-banner-home
*/
.bk-banner-home {
  margin: 0 auto;
  padding: 50px 40px;
  max-width: 1280px;
}
.bk-banner-home .row::after {
  content: '';
  display: block;
  clear: both;
}
.bk-banner-home .block {
  float: left;
  width: 50%;
  min-height: 420px;
}
.bk-banner-home .about {
  padding: 0 80px 0 0;
}
.bk-banner-home .recruit {
  margin: 70px 0 0 0;
  padding: 0 60px 0 20px;
}
.bk-banner-home .block .inner {
  position: relative;
}
.bk-banner-home .block .kv {
  overflow: hidden;
  position: absolute;
  top: 95px;
  left: 60px;
  right: 0;
  height: 300px;
}
.bk-banner-home .block .kv span {
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
}
.bk-banner-home .about .kv span {
  background-image: url('../images/kv-about.jpg');
  background-position: 40% 80%;
}
.bk-banner-home .recruit .kv span {
  background-image: url('../images/kv-recruit.jpg');
  background-position: 40% 30%;
}
.bk-banner-home .block .head {
  position: relative;
}
.bk-banner-home .block h2 {}
.bk-banner-home .block h2 span {
  display: block;
  /*	margin: 28px 0 0 0;*/
  height: 110px;
  background-size: contain;
}
.bk-banner-home .block h2 span {
  margin: 0;
}
.bk-banner-home .block h2 span i {
  opacity: 0;
}
.bk-banner-home .about h2 span {
  background-image: url('../images/h-about.svg');
}
.bk-banner-home .recruit h2 span:nth-child(1) {
  background-image: url('../images/h-recruit.svg');
}
.bk-banner-home .block h3 {
  margin: 30px 0 0 0;
  font-family: 'Amiri', serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
}
.bk-banner-home .block .btn {
  margin: 40px 0 0 0;
}
@media screen and (max-width: 980px) {
  .bk-banner-home .block {
    float: none;
    width: 80%;
  }
  .bk-banner-home .about {
    padding: 0;
  }
  .bk-banner-home .recruit {
    float: right;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .bk-banner-home {
    padding: 0;
    letter-spacing: 0.08em;
  }
  .bk-banner-home .block {
    float: none !important;
    margin: 50px 0 0 0 !important;
    width: 100%;
    min-height: 10px;
  }
  .bk-banner-home .block .inner {
    min-height: 370px;
  }
  .bk-banner-home .block .kv {
    top: 85px;
    bottom: 25px;
    height: auto;
  }
  .bk-banner-home .about .kv {
    left: 0;
    right: 20px;
  }
  .bk-banner-home .about .kv span {
    background-image: url('../images/kv-about.jpg');
    background-position: 50% 80%;
  }
  .bk-banner-home .recruit .kv {
    left: 20px;
    right: 0;
  }
  .bk-banner-home .recruit .kv span {
    background-image: url('../images/kv-recruit.jpg');
    background-position: 50% 30%;
  }
  .bk-banner-home .block .head {
    position: absolute;
    top: 0;
    bottom: 0;
    padding: 0 20px;
    width: 100%;
  }
  .bk-banner-home .block h2 span {
    margin: 20px 0 0 0;
    height: 80px;
  }
  .bk-banner-home .block h3 {
    margin: 20px 0 0 0;
    font-size: 14px;
  }
  .bk-banner-home .block .btn {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 0;
    margin: 0;
    width: auto;
  }
  .bk-banner-home .btn-wrap {
    padding: 60px 20px 0 20px;
  }
}