@charset "utf-8";
body{font-family: var(--fontfamily),"游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;color: var(--charactercolor);}



/* ----------------------------- 2. トップページ */
/*=======================================
  メインビジュアル
  =========================================*/

.l-kv { display: block; width: 100%; position: relative;}
.l-kv .slide { margin-bottom: 0; padding-bottom: 0;}
.l-kv .slide .item { height: 800px; height: calc(100vw * (940 / 1920)); max-height: 940px;   background: url(../images/top/kv.jpg) center no-repeat; background-size: cover;aspect-ratio: 2/1;}
.l-kv .slide .item:nth-of-type(2) {background-image: url(../images/top/kv-dammy.jpg);}
.l-kv .catch { position: absolute; top: calc(100vw * (682 / 1920)); left: calc(100vw * (360 / 1920));}
.l-kv .catch .h { font-size: 46px; letter-spacing: .1em; line-height: 1.4; font-weight: 600; color: #FFF;}
.l-kv .catch .h span{ display: inline-block; background: var(--themecolor); margin-bottom: 20px;}
/*=======================================
  トップページ
  =========================================*/
.p-top .sect-about::after {content: "";display: block;background: #000;height: 1px;width: 15%;margin: 120px auto 0;}
.p-top .sect-about .lead {font-weight: bold;letter-spacing: 0.05em;font-size: 3.2rem;font-size: 177.77%;line-height: 1.55;text-align: center;}
.p-top .sect-about .txt1 {font-size: 2rem;font-size: 111.11%;text-align: center;line-height: 2;margin-top: 40px;}
.p-top .sect-bussiness .block {background: url(../images/top/bussiness-bg01.png) center no-repeat;background-size: cover;}
.p-top .sect-bussiness .block2 {background-image: url(../images/top/bussiness-bg02.png);}
.p-top .sect-bussiness .block3 {
background-image: url(../images/top/bussiness-bg03.png);}
.p-top .sect-bussiness .block .flex {height: 700px;display: flex;justify-content: flex-end;align-items: center;}
.p-top .sect-bussiness .block:nth-of-type(2n) .flex {justify-content: flex-start;}
.p-top .sect-bussiness .block .box {width: 60%;max-width: 600px;box-sizing: border-box;background-color: var(--backgroundcolora);padding: 6% 6%;box-shadow: 0px 3px 6px -1px rgba(0, 0, 0, 0.16);}
.p-top .sect-bussiness .block .box-title {font-size: 3rem;font-size: 166.66%;letter-spacing: 0.05em;margin-bottom: 30px;}
.p-top .sect-bussiness .block .box-txt {line-height: 2;margin-top: 10px;}
.p-top .sect-recruit {position: relative;margin-top: 200px;padding-bottom: 145px;}
.p-top .sect-recruit .bg {position: absolute;bottom: 0;left: 0;width: 100%;height: 67%;z-index: -2;background-color: #F2F2F2;}
.p-top .sect-recruit .title {text-align: left;margin-top: 70px;margin-bottom: 20px;}
.p-top .sect-recruit .title h3.h{color:var(--subthemecolor);}
.p-top .sect-recruit .block1 {position: relative;padding-top: 1px;}
.p-top .sect-recruit .block1 .slide-wrap {position: absolute;top: 0;right: 0;z-index: 1;width: 56.25%;min-width: 700px;max-width: 1080px;text-align: right;}
.p-top .sect-recruit .block1 .slide-wrap .slide {max-width: 1080px;margin-right: auto;}
.p-top .sect-recruit .block1 .slide-wrap .slide .slick-dots {bottom: 20px;right: 7.4%;text-align: right;}
.p-top .sect-recruit .block1 .slide-wrap .slide .slick-dots li {width: auto;height: auto;}
.p-top .sect-recruit .block1 .slide-wrap .slide .slick-dots button {border: none;outline: none;background: none;border-radius: 0;text-indent: -300vw;overflow: hidden;width: 1.2rem;height: 1.2rem;background: #F2F2F2;}
.p-top .sect-recruit .block1 .slide-wrap .slide .slick-dots button :before {content: none;}
.p-top .sect-recruit .block1 .slide-wrap .slide .slick-dots .slick-active button {background-color: #3396D1;}
.p-top .sect-recruit .block1 .c-wrap {position: relative;z-index: 2;}
.p-top .sect-recruit .block1 .box {padding-left: 10%;}
.p-top .sect-recruit .block1 .box .c-btn{width:100%; max-width: 300px;}
.p-top .sect-recruit .block1 .box .c-btn a{width:100%;}
.p-top .sect-recruit .block1 .lead {font-weight: bold;font-size: 8rem; letter-spacing: 0.05em;line-height: 1.4;margin-bottom: 120px;pointer-events: none;}
.p-top .sect-recruit .block1 .flex {display: flex;justify-content: space-between;align-items: flex-end;}
.p-top .sect-recruit .block1 .txt1 {font-size: 1.8rem;line-height: 2;width: 65%;}
.p-top .sect-recruit .block1 .btn {width: 30%;flex: none;pointer-events: all;}

.p-top .sect-news .c-block-news .list .post .date,.p-top .sect-news .c-block-news .list .post .main{font-family: var(--fontfamily),"游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}

@media screen and (max-width:1440px) and (min-width: 897px) {
  #container {padding-top: 130px;}
  .l-header {height: 130px;}
}
@media screen and (max-width:1366px) and (min-width: 897px) {}
@media screen and (max-width:1280px) and (min-width: 897px) {
  .l-header .btn-contact a {max-width: 140px;}
  .l-header .btn-contact a::before {width: 19px;height: 12px;}
  .l-header.over-kv .right-box .btn-contact a {padding-top: 19px;}
  .c-title01 {margin-top: 90px;margin-bottom: 35px;}
  .p-top .sect-about .txt1 {margin-top: 30px;}
  .p-top .sect-about::after {margin-top: 90px;}
  .p-top .sect-bussiness .block .flex {height: 525px;}
  .p-top .sect-recruit {margin-top: 150px;padding-bottom: 108px;}
  .p-top .sect-recruit .block1 .lead {margin-bottom: 90px;}
  .l-footer {margin-top: 105px;}
  .l-footer .block-menu {padding-top: 135px;margin-top: -90px;}
}

@media screen and (min-width:1921px) {
  .p-top .sect-recruit .block1 .slide-wrap {text-align: left;}
}

@media screen and (max-width: 896px),
(max-width: 896px) and (orientation:landscape) {
  /*=======================================
  メインビジュアル
  =========================================*/
  .l-kv {display: block;width: 100%;position: relative;margin-top: 0;}
  .l-kv .slide .item {background: url(../images/top/kv-sp.jpg) center no-repeat;background-size: cover!important;  /* height: 700px;height: calc(100vh - 110px);max-height: 700px;min-height: 400px; */}

  .l-kv .slide .item:nth-of-type(2) {background-image: url(../images/top/kv-dammy-sp.jpg);}
  .l-kv .catch { top: auto; bottom: 30px; left: 0; width: 100%;}
  .l-kv .catch .h {display: inline-block;width: 100%;max-width: 350px; font-size: 19px;margin-left: 10px;}
  .l-kv .catch .h span{margin-bottom: 10px; background:var(--themecolora);}
  /*=======================================
  トップページ
  =========================================*/
  .p-top .sect-about::after {content: "";display: block;background: #000;background-size: 35px 4px;height: 1px;width: 27%;width: 100px;margin: 60px auto 0;}
  .p-top .sect-about .lead {font-weight: bold;letter-spacing: 0.05em;font-size: 130%;line-height: 1.55;text-align: center;}
  .p-top .sect-about .txt1 {font-size: 111%;text-align: left;line-height: 2;margin-top: 30px;}
  .p-top .sect-bussiness .block {background: url(../images/top/bussiness-bg01.png) top no-repeat;background-size: contain; padding-top: calc(100vw * (700 / 1920));}
  .p-top .sect-bussiness .block2 {background-image: url(../images/top/bussiness-bg02.png);}
  .p-top .sect-bussiness .block3 {background-image: url(../images/top/bussiness-bg03.png);}
  .p-top .sect-bussiness .block .flex {height: auto;display: flex;justify-content: flex-end;align-items: center;}
  .p-top .sect-bussiness .block:nth-of-type(2n) .flex {justify-content: flex-start;}
  .p-top .sect-bussiness .block .box {width: 100%;margin-left: auto;margin-right: auto;max-width: 100%;box-sizing: border-box;background-color: rgba(255, 255, 255, 0.95);padding: 25px 10px;box-shadow:none; margin-bottom: 20px;}
  .p-top .sect-bussiness .block .c-wrap{padding: 0;}
  .p-top .sect-bussiness .block .box-title {font-size: 2rem; letter-spacing: 0.05em; margin-bottom: 20px;}
  .p-top .sect-bussiness .block .box-txt {line-height: 2;margin-top: 0; font-size: 15px;}
  .p-top .sect-bussiness .block .c-btn01{margin-top: 25px;}
  .p-top .sect-recruit {position: relative;margin-top: 80px;padding-bottom: 65px;}
  .p-top .sect-recruit .bg {position: absolute;bottom: 0;left: 0;width: 100%;height: 55%;z-index: -2;background-color: #F2F2F2;}
  .p-top .sect-recruit .title {text-align: left;margin-top: 10px;margin-bottom: 20px;}
  .p-top .sect-recruit .block1 {position: relative;padding-top: 1px;}
  .p-top .sect-recruit .block1 .box{padding-left: 0;}
  .p-top .sect-recruit .block1 .slide-wrap {position: static;top: 0;right: 0;z-index: 1;width: 100%;text-align: right; min-width: 0;}
  .p-top .sect-recruit .block1 .slide-wrap .slide {max-width: 1080px;margin-right: auto;margin-bottom: 0;}
  .p-top .sect-recruit .block1 .slide-wrap .slide .slick-dots {bottom: 20px;right: 7.4%;text-align: right;}
  .p-top .sect-recruit .block1 .slide-wrap .slide .slick-dots li {width: auto;height: auto;}
  .p-top .sect-recruit .block1 .slide-wrap .slide .slick-dots button {border: none;outline: none;background: none;border-radius: 0;text-indent: -300vw;overflow: hidden;width: 0.8rem;height: 0.8rem;background: #F2F2F2;}
  .p-top .sect-recruit .block1 .slide-wrap .slide .slick-dots button :before {content: none;}
  .p-top .sect-recruit .block1 .slide-wrap .slide .slick-dots .slick-active button {background-color: #3396D1;}
  .p-top .sect-recruit .block1 .c-wrap {position: relative;z-index: 2;pointer-events: none;}
  .p-top .sect-recruit .block1 .c-wrap a {pointer-events: auto;}
  .p-top .sect-recruit .block1 .box .c-btn{margin-top: 30px;}
  .p-top .sect-recruit .block1 .lead {font-weight: bold;font-size: 220%;letter-spacing: 0.05em;line-height: 1.4;margin-bottom: 20px;pointer-events: none;}
  .p-top .sect-recruit .block1 .flex {display: block;}
  .p-top .sect-recruit .block1 .txt1 {font-size: 111%;line-height: 2;width: auto;}
  .p-top .sect-recruit .block1 .btn {width: auto;flex: none;pointer-events: all;margin-top: 20px;text-align: left;}
  .l-pagetitle {text-align: center;background-color: #3396D1;padding: 40px 0;}
  .l-pagetitle .h {font-size: 32px;line-height: 1.2;color: #fff;font-weight: bold;}
}

@media screen and (max-width: 896px) and (orientation:landscape){
  .p-top .sect-bussiness .block{background-size: cover;}
}


@media screen and (min-width:1921px) {
  .p-top .sect-recruit .block1 .slide-wrap {text-align: left;}
}

@media screen and (max-width:300px) {
  .p-top .sect-recruit .block1 .lead {font-size: 230%;}
}

.c-block-news .post{padding: 10px 0}

@media screen and (max-width: 767px), (max-width: 896px) and (orientation:landscape){
    .c-title01 .h .en{font-size: 3.6rem;}
}
