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



/* ----------------------------- 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));*/ /*top: calc(100vw * (100 / 1920));*/top: calc(100vw * (250 / 1920)); /*right: calc(100vw * (360 / 1920));*/ right: calc(100vw * (90 / 1920));}
.l-kv .catch .h { font-size: clamp(34px, 2.4vw, 44px); letter-spacing: .1em; line-height: 2; font-weight: 600; color: #FFF;writing-mode: vertical-rl;}
.l-kv .catch .h span{ display: inline-block; /*background: var(--themecolor);*/ margin-bottom: 20px;text-shadow: 0 0 5px #222;}
.furigana{font-size: clamp(14px, 1vw, 16px);margin-left: 5px;}
/*=======================================
  トップページ
  =========================================*/
.p-top .sect-about::after {/*content: "";*/display: block;background: #222;height: 2px;width: 15%;margin: 120px auto 0;}
.p-top .sect-about .lead {font-weight: bold;letter-spacing: 0.05em;font-size: clamp(28px, 1.5vw, 32px);line-height: 1.55;text-align: center;}
.p-top .sect-about .txt1 {font-size: clamp(16px, 1.5vw, 20px);font-size: clamp(14px, 1.5vw, 20px);text-align: center;line-height: 2;margin-top: 40px;font-family: "Zen Old Mincho", serif;}
.p-top .sect-bussiness::before {content: "";display: block;background: #222;height: 2px;width: 15%;margin: 120px auto 0;}
.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: space-between;align-items: center;}
.p-top .sect-bussiness .block:nth-of-type(2n) .flex {justify-content: space-between;}
.p-top .sect-bussiness .block .box {width: 60%;max-width: 600px;box-sizing: border-box;background-color: white;/*opacity: 0.93;*/ padding: 6% 6%;box-shadow: 0px 3px 6px -1px rgba(0, 0, 0, 0.16);}
.p-top .sect-bussiness .block .box-title {font-size: clamp(25px, 1.5vw, 30px);font-size: clamp(25px, 1.5vw, 30px);letter-spacing: 0.05em;margin-bottom: 30px;font-family: "Zen Old Mincho", serif;font-weight: 600;}
.p-top .sect-bussiness .block .box-txt {line-height: 2;margin-top: 10px;font-size: clamp(14px, 1.5vw, 18px);font-family: "Zen Old Mincho", serif;}
.p-top .sect-recruit {position: relative;margin-top: 247px;padding-bottom: 145px;}
.p-top .sect-recruit .bg {position: absolute;bottom: 0;left: 0;width: 100%;height: 54%;z-index: -2;background-color: #F2F2F2;}
.p-top .sect-recruit .title {text-align: left;margin-bottom: 66px;}
.p-top .sect-recruit .title h3.h{color:#A29340;}
.p-top .sect-recruit .block1 {position: relative;padding-top: 1px;}
.p-top .sect-recruit .block1 .slide-wrap {position: absolute;top: -47px;right: 0;z-index: 1;width: 56.25%;min-width: 700px;max-width: 1080px;text-align: right;aspect-ratio: 54 / 35;}
.p-top .sect-recruit .block1 .slide-wrap .slide {max-width: 1080px;margin-right: auto;    height: 100%;}
.p-top .sect-recruit .block1 .slide-wrap .slide .slick-track, .p-top .sect-recruit .block1 .slide-wrap .slide .slick-list{height: 100%;}
.p-top .sect-recruit .block1 .slide-wrap .slide .slick-track .slick-slide{height: 100%;}
.p-top .sect-recruit .block1 .slide-wrap .slide .slick-track .slick-slide img {height: 100%;width: 100%;object-fit: cover;}
.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%;font-family: "Zen Old Mincho", serif;font-weight: 500;letter-spacing: 0.05em;}
.p-top .sect-recruit .block1 .lead {font-weight: 600;font-size: clamp(65px, 5vw, 80px); letter-spacing: 0.05em;line-height: 1.4;margin-bottom: 170px;pointer-events: none;font-family: "Zen Old Mincho", serif;}
.p-top .sect-recruit .block1 .flex {display: flex;justify-content: space-between;align-items: flex-end;}
.p-top .sect-recruit .block1 .txt1 {font-size: clamp(14px, 1.5vw, 18px);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),"Zen Old Mincho","游明朝体", "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: 170px;}
  .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;justify-content: space-around;}
  .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 (max-width: 1280px){
  .l-kv .catch {
    position: absolute;
    /* top: calc(100vw * (682 / 1920)); */
    /* top: calc(100vw * (100 / 1920)); */
    top: calc(100vw * (100 / 1920));
    /* right: calc(100vw * (360 / 1920)); */
    right: calc(100vw * (90 / 1920));
}
}

@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;height: 540px;}
  .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; */height: 540px;}

  .l-kv .slide .item:nth-of-type(2) {background-image: url(../images/top/kv-dammy-sp.jpg);}
  .l-kv .catch { top: 58px; bottom: 30px; left: 0px; width: 100%;}
  .l-kv .catch .h {display: inline-block;width: 100%; font-size: clamp(2.6rem, 1.5vw, 3rem);margin-left: 10px;line-height: 1.5;}
  .l-kv .catch .h span{margin-bottom: 10px;margin-right: 5%; /*background:var(--themecolora);*/}
  /*=======================================
  トップページ
  =========================================*/
  .p-top .sect-about::after {/*content: "";*/display: block;background: #222;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: 5.3vw;line-height: 1.55;text-align: center;}
  .p-top .sect-about .txt1 {font-size: 4.4vw;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: cover; /*padding-top: calc(100vw * (700 / 1920));padding-top: calc(100vw * (325 / 1920));*/padding-top: calc(100vw * (230 / 1920)); margin-bottom: 40px;aspect-ratio: 39 / 32;position: relative ;margin-bottom: 40%;background-position-x: 60%;}



  .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: block;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: 90%;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
        background-color: rgba(255, 255, 255, 0.95);
        padding: 20px 20px;
        box-shadow: none;
        /* margin-bottom: 40px; */
        margin-top: 40px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: -30%;
      box-shadow: 0px 1px 2px #bbbbbb;
    }
  .p-top .sect-bussiness .block .c-wrap{padding: 0;max-width: 80%;}
  .p-top .sect-bussiness .block .box-title {font-size: 5.2vw; letter-spacing: 0.05em; margin-bottom: 20px;}
  .p-top .sect-bussiness .block .box-txt {line-height: 2;margin-top: 0; font-size: 3.8vw;}
  .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: 46%;z-index: -2;background-color: #F2F2F2;}
  .p-top .sect-recruit .title {text-align: left;margin-top: 10px;margin-bottom: 46px;}
  .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;aspect-ratio: 35 / 30;}
  .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: 4.6vw;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: clamp(32px, 1.5vw, 36px);}
    .furigana{font-size: clamp(9.6px, 1vw, 16px);margin-left: 5px;margin-right: 10px;}
}

.logo-text{
  font-size: 12px;
  white-space: nowrap;
}

.contents-1{
  display: flex;
  margin-top: 110px;
  align-items: center;
  justify-content: space-between;

}
.contents-2{
  display: flex;
  margin-top: 120px;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  
}
.contents-text{
  font-size: 2.5vw;
  writing-mode: vertical-rl;
  line-height: 1.8;
  letter-spacing: 0.25em;
}

.contents-left{
  margin-left: 13.5%;
}

.contents-right{
  margin-right: 12.3%;
}

.contents-img{
  width: 60%;
}

.frame{
  position: relative;
  margin-top: 80px;
}
.frame-label{
  
}
.full-img-label{
  position: absolute;
    transform: translateY(-50%);
    top: 50%;
    left: 80%;
    margin-right: 5%;
}


.c-block-news .post:hover{
  background: rgba(162, 147, 64, 0.10);
}

.date:hover{
  pointer-events: none;
}

.blog-menu{
  display: flex;
  align-items: center;
}
.text-header{
  margin-left: 6%;
}
@media screen and (max-width: 896px){
.contents-1{
  display: block;
  margin-top: 40px;
}
.contents-2{
  display: block;
  margin-top: 14%;
}
.contents-text{
  font-size: 20px;
  margin: auto;
  letter-spacing: 5px;
}
.contents-img {
    margin-top: 10%;
    margin-left: 7%;
    width: 80%;
}
.full-img{
   width: 100%;
   height: 500px;
   object-fit: cover;
   margin-top: 10%;
   filter: brightness(0.8);
}
.img-left{

}
.logo-img{
  width: 60%;
}

.header-text{
  margin-right: 5%;
  white-space: nowrap;
  position: relative;
  left: -40px;
}
.full-img-label{
        top: 52%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin-right: 0;
}
.sect-bussiness{
  position: relative;
}
.p-top .sect-bussiness .block:nth-of-type(2n) .flex {
  display: flex;
  flex-direction: column-reverse;
  margin-left: auto;
}
#hoshikagami{

}
#inasaku{

}
.en{
  font-size: clamp(26px, 3vw, 35px);
}
.img-block{
  flex-direction: column-reverse;
  width: 100%;
}
.season-left {
    font-size: 13.5vw;
    color: white;
    text-shadow: 0 0 50px rgba(0, 0, 0, 0.25), 0 0 10px rgba(0, 0, 0, 0.25);
}
.season-right {
    font-size: 13.5vw;
    color: white;
    width: 100%;
    text-align: right;
    text-shadow: 0 0 50px rgba(0, 0, 0, 0.25), 0 0 10px rgba(0, 0, 0, 0.25);
}
.blog-menu{
  display: block;
}

.p-top .sect-bussiness::before {
    width: 30%;
}
.p-top .sect-recruit .block1 .slide-wrap .slide .slick-track .slick-slide img{

}

}